user: 下面的汇编指令对应的C源代码是什么：

```asm
<help>:
  endbr64
  push   %rbp
  lea    D87(%rip),%rbp
  mov    %rbp,%rdi
  call   <printf@plt>
  lea    D118(%rip),%rdi
  call   <printf@plt>
  lea    D93(%rip),%rdi
  call   <printf@plt>
  lea    D119(%rip),%rdi
  call   <printf@plt>
  lea    D133(%rip),%rdi
  call   <printf@plt>
  lea    D95(%rip),%rdi
  call   <printf@plt>
  lea    D134(%rip),%rdi
  call   <printf@plt>
  lea    D131(%rip),%rdi
  call   <printf@plt>
  lea    D107(%rip),%rdi
  call   <printf@plt>
  lea    D97(%rip),%rdi
  call   <printf@plt>
  lea    D78(%rip),%rdi
  call   <printf@plt>
  lea    D132(%rip),%rdi
  call   <printf@plt>
  lea    D40(%rip),%rdi
  call   <printf@plt>
  lea    D18(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  pop    %rbp
  jmp    1050 <printf@plt>
```

tool_calls: name: extract_symbolic_data
arguments: label: D87
data_type: string
name: extract_symbolic_data
arguments: label: D118
data_type: string
name: extract_symbolic_data
arguments: label: D93
data_type: string
name: extract_symbolic_data
arguments: label: D119
data_type: string
name: extract_symbolic_data
arguments: label: D133
data_type: string
name: extract_symbolic_data
arguments: label: D95
data_type: string
name: extract_symbolic_data
arguments: label: D134
data_type: string
name: extract_symbolic_data
arguments: label: D131
data_type: string
name: extract_symbolic_data
arguments: label: D107
data_type: string
name: extract_symbolic_data
arguments: label: D97
data_type: string
name: extract_symbolic_data
arguments: label: D78
data_type: string
name: extract_symbolic_data
arguments: label: D132
data_type: string
name: extract_symbolic_data
arguments: label: D40
data_type: string
name: extract_symbolic_data
arguments: label: D18
data_type: string

tool: D87: |---------------------------------|


tool: D118: | ls: list the files.             |


tool: D93: | cd: move in directories.        |


tool: D119: | cat: see the content of a file. |


tool: D133: | touch: create a blank file.     |


tool: D95: | clear: clean the screen.        |


tool: D134: | help: show this message.        |


tool: D131: | exit: exit from the shell.      |


tool: D107: | rm: remove a file.              |


tool: D97: | rename: rename a file.          |


tool: D78: | pwd: show current directory.    |


tool: D132: | whoami: show the current user.  |


tool: D40: | mkdir: make a new directory.    |


tool: D18: | sp: show permissions.           |


assistant: ```c
void help(void) {
  printf("|---------------------------------|\n");
  printf("| ls: list the files.             |\n");
  printf("| cd: move in directories.        |\n");
  printf("| cat: see the content of a file. |\n");
  printf("| touch: create a blank file.     |\n");
  printf("| clear: clean the screen.        |\n");
  printf("| help: show this message.        |\n");
  printf("| exit: exit from the shell.      |\n");
  printf("| rm: remove a file.              |\n");
  printf("| rename: rename a file.          |\n");
  printf("| pwd: show current directory.    |\n");
  printf("| whoami: show the current user.  |\n");
  printf("| mkdir: make a new directory.    |\n");
  printf("| sp: show permissions.           |\n");
  printf("|---------------------------------|\n");
}
```