user: 这段汇编代码用C语言表示是什么样的?

```asm
<showMenu>:
  endbr64
  sub    $0x8,%rsp
  lea    D108(%rip),%rdi
  call   <system@plt>
  lea    D79(%rip),%rdi
  call   <printf@plt>
  lea    D71(%rip),%rdi
  call   <printf@plt>
  lea    D96(%rip),%rdi
  call   <printf@plt>
  lea    D103(%rip),%rdi
  call   <printf@plt>
  lea    D100(%rip),%rdi
  call   <printf@plt>
  lea    D132(%rip),%rdi
  call   <printf@plt>
  lea    D51(%rip),%rdi
  call   <printf@plt>
  lea    D15(%rip),%rdi
  call   <printf@plt>
  lea    D67(%rip),%rdi
  call   <printf@plt>
  lea    D97(%rip),%rdi
  call   <printf@plt>
  lea    D77(%rip),%rdi
  call   <printf@plt>
  lea    D78(%rip),%rdi
  call   <printf@plt>
  mov    $0x0,%eax
  call   <getch@plt>
  sub    $0x31,%eax
  cmp    $0x4,%eax
  ja     L16
  mov    %eax,%eax
  lea    D46(%rip),%rdx
  movslq (%rdx,%rax,4),%rax
  add    %rdx,%rax
  notrack jmp *%rax
  mov    $0x0,%eax
  call   <doInsert@plt>
L44:
  add    $0x8,%rsp
  ret
  mov    $0x0,%eax
  call   <doDelete@plt>
  jmp    L44
  mov    $0x0,%eax
  call   <doSearch@plt>
  jmp    L44
  mov    $0x0,%eax
  call   <doInOrder@plt>
  jmp    L44
  mov    $0x0,%eax
  call   <doShowHeight@plt>
  jmp    L44
L16:
  mov    $0x0,%edi
  call   <exit@plt>
  jmp    L44
```

tool_calls: name: read_data
arguments: data_label: D108
type_guessed: string
name: read_data
arguments: data_label: D79
type_guessed: string
name: read_data
arguments: data_label: D71
type_guessed: string
name: read_data
arguments: data_label: D96
type_guessed: string
name: read_data
arguments: data_label: D103
type_guessed: string
name: read_data
arguments: data_label: D100
type_guessed: string
name: read_data
arguments: data_label: D132
type_guessed: string
name: read_data
arguments: data_label: D51
type_guessed: string
name: read_data
arguments: data_label: D15
type_guessed: string
name: read_data
arguments: data_label: D67
type_guessed: string
name: read_data
arguments: data_label: D97
type_guessed: string
name: read_data
arguments: data_label: D77
type_guessed: string
name: read_data
arguments: data_label: D78
type_guessed: string

tool: D108: cls

tool: D79:      ___   ___      _____ ___ ___ ___       


tool: D71:      /_\ \ / / |    |_   _| _ \ __| __|  


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


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


tool: D100:                      By: Raven G. Duran     


tool: D132: 



tool: D51: (1) Insert a Node


tool: D15: (2) Delete a Node


tool: D67: (3) Search a Node


tool: D97: (4) Print In Order


tool: D77: (5) Show Heights of Root


tool: D78: (6) 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) Show Heights of Root\n");
  printf("(6) Exit\n");
  switch (getch()) {
  case '1':
    doInsert();
    break;
  case '2':
    doDelete();
    break;
  case '3':
    doSearch();
    break;
  case '4':
    doInOrder();
    break;
  case '5':
    doShowHeight();
    break;
  default:
    exit(0);
  }
}
```