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

```asm
<main>:
  endbr64
  push   %rbx
  mov    %rsi,%rbx
  cmp    $0x1,%edi
  jle    L98
L131:
  mov    0x8(%rbx),%rbx
  mov    %rbx,%rsi
  lea    D89(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  lea    D48(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L164
  call   <test1@plt>
L70:
  mov    $0x0,%eax
  pop    %rbx
  ret
L98:
  lea    D113(%rip),%rdi
  call   <puts@plt>
  mov    $0x1,%edi
  call   <exit@plt>
  jmp    L131
L164:
  lea    D17(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L2
  call   <test2@plt>
  jmp    L70
L2:
  lea    D140(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L179
  call   <test3@plt>
  jmp    L70
L179:
  lea    D114(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L38
  call   <test4@plt>
  jmp    L70
L38:
  lea    D53(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L63
  call   <test5@plt>
  jmp    L70
L63:
  lea    D107(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L155
  call   <test6@plt>
  jmp    L70
L155:
  lea    D132(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L253
  call   <test7@plt>
  jmp    L70
L253:
  lea    D18(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L120
  call   <test8@plt>
  jmp    L70
L120:
  lea    D55(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L210
  call   <test9@plt>
  jmp    L70
L210:
  lea    D5(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L190
  call   <test10@plt>
  jmp    L70
L190:
  lea    D49(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L27
  call   <test11@plt>
  jmp    L70
L27:
  lea    D75(%rip),%rsi
  mov    %rbx,%rdi
  call   <strcmp@plt>
  test   %rax,%rax
  jne    L44
  call   <test12@plt>
  jmp    L70
L44:
  lea    D131(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x1,%edi
  call   <exit@plt>
  jmp    L70
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D89
type_infered: string
name: extract_symbolic_data
arguments: data_label: D48
type_infered: string
name: extract_symbolic_data
arguments: data_label: D113
type_infered: string
name: extract_symbolic_data
arguments: data_label: D17
type_infered: string
name: extract_symbolic_data
arguments: data_label: D140
type_infered: string
name: extract_symbolic_data
arguments: data_label: D114
type_infered: string
name: extract_symbolic_data
arguments: data_label: D53
type_infered: string
name: extract_symbolic_data
arguments: data_label: D107
type_infered: string
name: extract_symbolic_data
arguments: data_label: D132
type_infered: string
name: extract_symbolic_data
arguments: data_label: D18
type_infered: string
name: extract_symbolic_data
arguments: data_label: D55
type_infered: string
name: extract_symbolic_data
arguments: data_label: D5
type_infered: string
name: extract_symbolic_data
arguments: data_label: D49
type_infered: string
name: extract_symbolic_data
arguments: data_label: D75
type_infered: string
name: extract_symbolic_data
arguments: data_label: D131
type_infered: string

tool: D89: Running %s


tool: D48: test1

tool: D113: Usage: test_linked_list test1|test2|...test12

tool: D17: test2

tool: D140: test3

tool: D114: test4

tool: D53: test5

tool: D107: test6

tool: D132: test7

tool: D18: test8

tool: D55: test9

tool: D5: test10

tool: D49: test11

tool: D75: test12

tool: D131: Test not found!!n

assistant: ```c
int main(int argc, char **argv) {
  char *test;
  if (argc < 2) {
    printf("Usage: test_linked_list test1|test2|...test12\n");
    exit(1);
  }
  test = argv[1];
  printf("Running %s\n", test);
  if (strcmp(test, "test1") == 0) {
    test1();
  } else if (strcmp(test, "test2") == 0) {
    test2();
  } else if (strcmp(test, "test3") == 0) {
    test3();
  } else if (strcmp(test, "test4") == 0) {
    test4();
  } else if (strcmp(test, "test5") == 0) {
    test5();
  } else if (strcmp(test, "test6") == 0) {
    test6();
  } else if (strcmp(test, "test7") == 0) {
    test7();
  } else if (strcmp(test, "test8") == 0) {
    test8();
  } else if (strcmp(test, "test9") == 0) {
    test9();
  } else if (strcmp(test, "test10") == 0) {
    test10();
  } else if (strcmp(test, "test11") == 0) {
    test11();
  } else if (strcmp(test, "test12") == 0) {
    test12();
  } else {
    printf("Test not found!!n");
    exit(1);
  }
  return 0;
}
```