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

```asm
<getEditorCommandLine>:
  endbr64
  sub    $0x198,%rsp
  lea    D62(%rip),%rdx
  lea    D13(%rip),%rcx
  mov    $0x10,%r9d
  mov    %fs:0x28,%rax
  mov    %rax,0x188(%rsp)
  lea    D218(%rip),%rax
  lea    0x100(%rsp),%r8
  mov    %rax,(%rsp)
  lea    D189(%rip),%rax
  mov    %rax,0x8(%rsp)
  lea    D25(%rip),%rax
  mov    %rax,0x10(%rsp)
  lea    D6(%rip),%rax
  mov    %rax,0x18(%rsp)
  lea    D57(%rip),%rax
  mov    %rax,0x20(%rsp)
  lea    D61(%rip),%rax
  mov    %rax,0x28(%rsp)
  lea    D29(%rip),%rax
  mov    %rax,0x30(%rsp)
  lea    D21(%rip),%rax
  mov    %rax,0x38(%rsp)
  lea    D191(%rip),%rax
  mov    %rax,0x40(%rsp)
  lea    D88(%rip),%rax
  mov    %rax,0x48(%rsp)
  lea    D197(%rip),%rax
  mov    %rax,0x50(%rsp)
  lea    D45(%rip),%rax
  mov    %rax,0x58(%rsp)
  lea    D55(%rip),%rax
  mov    %rax,0x60(%rsp)
  lea    D89(%rip),%rax
  mov    %rax,0x68(%rsp)
  lea    D152(%rip),%rax
  mov    %rax,0x70(%rsp)
  lea    D201(%rip),%rax
  mov    %rax,0x78(%rsp)
  lea    D155(%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    D27(%rip),%rax
  mov    %rax,0xe8(%rsp)
  mov    %rcx,0x120(%rsp)
  lea    D209(%rip),%rcx
  mov    %rdx,0x130(%rsp)
  mov    %rdx,0x138(%rsp)
  lea    D167(%rip),%rdx
  mov    %rax,0xf0(%rsp)
  mov    %rax,0xf8(%rsp)
  lea    D178(%rip),%rax
  mov    %rcx,0x128(%rsp)
  lea    0x80(%rsp),%rcx
  mov    %rdx,0x150(%rsp)
  mov    %rsp,%rdx
  mov    %rax,0x100(%rsp)
  mov    %rax,0x108(%rsp)
  mov    %rax,0x110(%rsp)
  mov    %rax,0x118(%rsp)
  mov    %rax,0x140(%rsp)
  mov    %rax,0x148(%rsp)
  mov    %rax,0x158(%rsp)
  mov    %rax,0x160(%rsp)
  mov    %rax,0x168(%rsp)
  mov    %rax,0x170(%rsp)
  mov    %rax,0x178(%rsp)
  call   <getApplicationCommandLine@plt>
  mov    0x188(%rsp),%rdx
  sub    %fs:0x28,%rdx
  jne    L9
  add    $0x198,%rsp
  ret
L9:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: disassemble_data
arguments: data_tag: D62
type_infered: string
name: disassemble_data
arguments: data_tag: D13
type_infered: string
name: disassemble_data
arguments: data_tag: D218
type_infered: string
name: disassemble_data
arguments: data_tag: D189
type_infered: string
name: disassemble_data
arguments: data_tag: D25
type_infered: string
name: disassemble_data
arguments: data_tag: D6
type_infered: string
name: disassemble_data
arguments: data_tag: D57
type_infered: string
name: disassemble_data
arguments: data_tag: D61
type_infered: string
name: disassemble_data
arguments: data_tag: D29
type_infered: string
name: disassemble_data
arguments: data_tag: D21
type_infered: string
name: disassemble_data
arguments: data_tag: D191
type_infered: string
name: disassemble_data
arguments: data_tag: D88
type_infered: string
name: disassemble_data
arguments: data_tag: D197
type_infered: string
name: disassemble_data
arguments: data_tag: D45
type_infered: string
name: disassemble_data
arguments: data_tag: D55
type_infered: string
name: disassemble_data
arguments: data_tag: D89
type_infered: string
name: disassemble_data
arguments: data_tag: D152
type_infered: string
name: disassemble_data
arguments: data_tag: D201
type_infered: string
name: disassemble_data
arguments: data_tag: D155
type_infered: string
name: disassemble_data
arguments: data_tag: D27
type_infered: string
name: disassemble_data
arguments: data_tag: D209
type_infered: string
name: disassemble_data
arguments: data_tag: D167
type_infered: string
name: disassemble_data
arguments: data_tag: D178
type_infered: string

tool: D62: Eclipse

tool: D13: TextEdit

tool: D218: nedit

tool: D189: gedit

tool: D25: xedit

tool: D6: textedit

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

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

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

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

tool: D191: xemacs

tool: D88: emacs

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

tool: D45: gvim

tool: D55: kedit

tool: D89: vi

tool: D152: nano

tool: D201: pico

tool: D155: n

tool: D27: y

tool: D209: TextWrangler

tool: D167: Emacs

tool: 

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);
}
```