user: What would the C source look like for the assembly code provided here?

```asm
<getEditorCommandLine>:
  endbr64
  sub    $0x198,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x188(%rsp)
  xor    %eax,%eax
  lea    D68(%rip),%rax
  mov    %rax,(%rsp)
  lea    D165(%rip),%rax
  mov    %rax,0x8(%rsp)
  lea    D83(%rip),%rax
  mov    %rax,0x10(%rsp)
  lea    D101(%rip),%rax
  mov    %rax,0x18(%rsp)
  lea    D0(%rip),%rax
  mov    %rax,0x20(%rsp)
  lea    D16(%rip),%rax
  mov    %rax,0x28(%rsp)
  lea    D224(%rip),%rax
  mov    %rax,0x30(%rsp)
  lea    D113(%rip),%rax
  mov    %rax,0x38(%rsp)
  lea    D192(%rip),%rax
  mov    %rax,0x40(%rsp)
  lea    D144(%rip),%rax
  mov    %rax,0x48(%rsp)
  lea    D111(%rip),%rax
  mov    %rax,0x50(%rsp)
  lea    D185(%rip),%rax
  mov    %rax,0x58(%rsp)
  lea    D206(%rip),%rax
  mov    %rax,0x60(%rsp)
  lea    D135(%rip),%rax
  mov    %rax,0x68(%rsp)
  lea    D158(%rip),%rax
  mov    %rax,0x70(%rsp)
  lea    D213(%rip),%rax
  mov    %rax,0x78(%rsp)
  lea    D96(%rip),%rax
  mov    %rax,0x80(%rsp)
  mov    %rax,0x88(%rsp)
  mov    %rax,0x90(%rsp)
  mov    %rax,0x98(%rsp)
  mov    %rax,0xa0(%rsp)
  mov    %rax,0xa8(%rsp)
  mov    %rax,0xb0(%rsp)
  mov    %rax,0xb8(%rsp)
  mov    %rax,0xc0(%rsp)
  mov    %rax,0xc8(%rsp)
  mov    %rax,0xd0(%rsp)
  mov    %rax,0xd8(%rsp)
  mov    %rax,0xe0(%rsp)
  lea    D201(%rip),%rax
  mov    %rax,0xe8(%rsp)
  mov    %rax,0xf0(%rsp)
  mov    %rax,0xf8(%rsp)
  lea    D197(%rip),%rax
  mov    %rax,0x100(%rsp)
  mov    %rax,0x108(%rsp)
  mov    %rax,0x110(%rsp)
  mov    %rax,0x118(%rsp)
  lea    D219(%rip),%rcx
  mov    %rcx,0x120(%rsp)
  lea    D84(%rip),%rcx
  mov    %rcx,0x128(%rsp)
  lea    D78(%rip),%rdx
  mov    %rdx,0x130(%rsp)
  mov    %rdx,0x138(%rsp)
  mov    %rax,0x140(%rsp)
  mov    %rax,0x148(%rsp)
  lea    D222(%rip),%rdx
  mov    %rdx,0x150(%rsp)
  mov    %rax,0x158(%rsp)
  mov    %rax,0x160(%rsp)
  mov    %rax,0x168(%rsp)
  mov    %rax,0x170(%rsp)
  mov    %rax,0x178(%rsp)
  lea    0x80(%rsp),%rcx
  mov    %rsp,%rdx
  mov    $0x10,%r9d
  lea    0x100(%rsp),%r8
  call   <getApplicationCommandLine@plt>
  mov    0x188(%rsp),%rdx
  sub    %fs:0x28,%rdx
  jne    L2
  add    $0x198,%rsp
  ret
L2:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: data_tag: D68
type: string
name: unpack_data
arguments: data_tag: D165
type: string
name: unpack_data
arguments: data_tag: D83
type: string
name: unpack_data
arguments: data_tag: D101
type: string
name: unpack_data
arguments: data_tag: D0
type: string
name: unpack_data
arguments: data_tag: D16
type: string
name: unpack_data
arguments: data_tag: D224
type: string
name: unpack_data
arguments: data_tag: D113
type: string
name: unpack_data
arguments: data_tag: D192
type: string
name: unpack_data
arguments: data_tag: D144
type: string
name: unpack_data
arguments: data_tag: D111
type: string
name: unpack_data
arguments: data_tag: D185
type: string
name: unpack_data
arguments: data_tag: D206
type: string
name: unpack_data
arguments: data_tag: D135
type: string
name: unpack_data
arguments: data_tag: D158
type: string
name: unpack_data
arguments: data_tag: D213
type: string
name: unpack_data
arguments: data_tag: D96
type: string
name: unpack_data
arguments: data_tag: D201
type: string
name: unpack_data
arguments: data_tag: D197
type: string
name: unpack_data
arguments: data_tag: D219
type: string
name: unpack_data
arguments: data_tag: D84
type: string
name: unpack_data
arguments: data_tag: D78
type: string
name: unpack_data
arguments: data_tag: D222
type: string

tool: D68: nedit

tool: D165: gedit

tool: D83: xedit

tool: D101: textedit

tool: D0: /Applications/TextEdit.app/Contents/MacOS/TextEdit

tool: D16: /Applications/TextWrangler.app/Contents/MacOS/TextWrangler

tool: D224: /Applications/Eclipse.app/Contents/MacOS/eclipse

tool: D113: /Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse

tool: D192: xemacs

tool: D144: emacs

tool: D111: /Applications/Emacs.app/Contents/MacOS/Emacs

tool: D185: gvim

tool: D206: kedit

tool: D135: vi

tool: D158: nano

tool: D213: pico

tool: D96: n

tool: D201: y

tool: 

tool: D219: TextEdit

tool: D84: TextWrangler

tool: D78: Eclipse

tool: D222: Emacs

assistant: ```c
char *getEditorCommandLine(char *editor, char *filename) {
  const char *known[] = {"nedit", "gedit", "xedit", "textedit", "/Applications/TextEdit.app/Contents/MacOS/TextEdit", "/Applications/TextWrangler.app/Contents/MacOS/TextWrangler", "/Applications/Eclipse.app/Contents/MacOS/eclipse", "/Applications/eclipse/Eclipse.app/Contents/MacOS/eclipse", "xemacs", "emacs", "/Applications/Emacs.app/Contents/MacOS/Emacs", "gvim", "kedit", "vi", "nano", "pico"};
  char *xterm[] = {"n", "n", "n", "n", "n", "n", "n", "n", "n", "n", "n", "n", "n", "y", "y", "y"};
  char *opencmd[] = {"", "", "", "", "TextEdit", "TextWrangler", "Eclipse", "Eclipse", "", "", "Emacs", "", "", "", "", ""};
  size_t total = sizeof(known) / sizeof(known[0]);
  return getApplicationCommandLine(editor, filename, known, xterm, opencmd, total);
}
```