user: 提供的汇编代码用C语言表示会是什么样子：

```asm
<showMenu>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  lea    D87(%rip),%rax
  mov    %rax,%rdi
  call   <system@plt>
  lea    D81(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D66(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D98(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D75(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D85(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D51(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D61(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D50(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D24(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D111(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  lea    D95(%rip),%rax
  mov    %rax,%rdi
  call   <printf@plt>
  mov    $0x0,%eax
  call   <getch@plt>
  cmp    $0x34,%eax
  je     L18
  cmp    $0x34,%eax
  jg     L38
  cmp    $0x33,%eax
  je     L75
  cmp    $0x33,%eax
  jg     L38
  cmp    $0x31,%eax
  je     L49
  cmp    $0x32,%eax
  je     L39
  jmp    L38
L49:
  mov    $0x0,%eax
  call   <doInsert@plt>
  jmp    L48
L39:
  mov    $0x0,%eax
  call   <doDelete@plt>
  jmp    L48
L75:
  mov    $0x0,%eax
  call   <doSearch@plt>
  jmp    L48
L18:
  mov    $0x0,%eax
  call   <doInOrder@plt>
  jmp    L48
L38:
  mov    $0x0,%edi
  call   <exit@plt>
  nop
L48:
  nop
  pop    %rbp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: tag: D87
type: string
name: extract_symbolic_data
arguments: tag: D81
type: string
name: extract_symbolic_data
arguments: tag: D66
type: string
name: extract_symbolic_data
arguments: tag: D98
type: string
name: extract_symbolic_data
arguments: tag: D75
type: string
name: extract_symbolic_data
arguments: tag: D85
type: string
name: extract_symbolic_data
arguments: tag: D51
type: string
name: extract_symbolic_data
arguments: tag: D61
type: string
name: extract_symbolic_data
arguments: tag: D50
type: string
name: extract_symbolic_data
arguments: tag: D24
type: string
name: extract_symbolic_data
arguments: tag: D111
type: string
name: extract_symbolic_data
arguments: tag: D95
type: string

tool: D87: cls

tool: D81:      ___   ___      _____ ___ ___ ___       


tool: D66:      /_\ \ / / |    |_   _| _ \ __| __|  


tool: D98:     / _ \ - /| |__    | | |   / _|| _|     


tool: D75:    /_/ \_\_/ |____|   |_| |_|_\___|___|  


tool: D85:                      By: Raven G. Duran     


tool: D51: 



tool: D61: (1) Insert a Node


tool: D50: (2) Delete a Node


tool: D24: (3) Search a Node


tool: D111: (4) Print In Order


tool: D95: (5) Exit


assistant: ```c
void showMenu() {
  system("cls");
  printf("     ___   ___      _____ ___ ___ ___       \n");
  printf("     /_\\ \\ / / |    |_   _| _ \\ __| __|  \n");
  printf("    / _ \\ - /| |__    | | |   / _|| _|     \n");
  printf("   /_/ \\_\\_/ |____|   |_| |_|_\\___|___|  \n");
  printf("                     By: Raven G. Duran     \n");
  printf("\n\n");
  printf("(1) Insert a Node\n");
  printf("(2) Delete a Node\n");
  printf("(3) Search a Node\n");
  printf("(4) Print In Order\n");
  printf("(5) Exit\n");
  switch (getch()) {
  case '1':
    doInsert();
    break;
  case '2':
    doDelete();
    break;
  case '3':
    doSearch();
    break;
  case '4':
    doInOrder();
    break;
  default:
    exit(0);
  }
}
```