user: Please show me the C implementation that matches the assembly code listed below:

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  mov    $0x0,%eax
  call   <test1@plt>
  lea    D126(%rip),%rax
  mov    %rax,%rdi
  call   <test2@plt>
  lea    D197(%rip),%rax
  mov    %rax,%rdi
  call   <test2@plt>
  lea    D31(%rip),%rax
  mov    %rax,%rdi
  call   <test2@plt>
  mov    $0x61,%esi
  lea    D126(%rip),%rax
  mov    %rax,%rdi
  call   <test3@plt>
  mov    $0x41,%esi
  lea    D126(%rip),%rax
  mov    %rax,%rdi
  call   <test3@plt>
  mov    $0x6c,%esi
  lea    D126(%rip),%rax
  mov    %rax,%rdi
  call   <test3@plt>
  mov    $0x24,%esi
  lea    D126(%rip),%rax
  mov    %rax,%rdi
  call   <test3@plt>
  mov    $0x65,%esi
  lea    D126(%rip),%rax
  mov    %rax,%rdi
  call   <test3@plt>
  mov    $0x4d,%esi
  lea    D31(%rip),%rax
  mov    %rax,%rdi
  call   <test3@plt>
  mov    $0x71,%esi
  lea    D31(%rip),%rax
  mov    %rax,%rdi
  call   <test3@plt>
  mov    $0x35,%esi
  lea    D31(%rip),%rax
  mov    %rax,%rdi
  call   <test3@plt>
  lea    D111(%rip),%rax
  mov    %rax,%rsi
  lea    D126(%rip),%rax
  mov    %rax,%rdi
  call   <test4@plt>
  lea    D42(%rip),%rax
  mov    %rax,%rsi
  lea    D126(%rip),%rax
  mov    %rax,%rdi
  call   <test4@plt>
  lea    D110(%rip),%rax
  mov    %rax,%rsi
  lea    D126(%rip),%rax
  mov    %rax,%rdi
  call   <test4@plt>
  lea    D222(%rip),%rax
  mov    %rax,%rsi
  lea    D126(%rip),%rax
  mov    %rax,%rdi
  call   <test4@plt>
  lea    D6(%rip),%rax
  mov    %rax,%rsi
  lea    D197(%rip),%rax
  mov    %rax,%rdi
  call   <test4@plt>
  lea    D19(%rip),%rax
  mov    %rax,%rsi
  lea    D31(%rip),%rax
  mov    %rax,%rdi
  call   <test4@plt>
  lea    D198(%rip),%rax
  mov    %rax,%rsi
  lea    D31(%rip),%rax
  mov    %rax,%rdi
  call   <test4@plt>
  mov    $0x0,%eax
  call   <test5@plt>
  mov    $0x0,%eax
  call   <test6@plt>
  mov    $0x5,%edi
  call   <test7@plt>
  mov    $0x14,%edi
  call   <test7@plt>
  mov    $0x0,%eax
  pop    %rbp
  ret
```

tool_calls: name: extract_symbolic_data
arguments: label: D126
type_guessed: string
name: extract_symbolic_data
arguments: label: D197
type_guessed: string
name: extract_symbolic_data
arguments: label: D31
type_guessed: string
name: extract_symbolic_data
arguments: label: D111
type_guessed: string
name: extract_symbolic_data
arguments: label: D42
type_guessed: string
name: extract_symbolic_data
arguments: label: D110
type_guessed: string
name: extract_symbolic_data
arguments: label: D222
type_guessed: string
name: extract_symbolic_data
arguments: label: D6
type_guessed: string
name: extract_symbolic_data
arguments: label: D19
type_guessed: string
name: extract_symbolic_data
arguments: label: D198
type_guessed: string

tool: D126: lexicon.txt

tool: D197: small.txt

tool: D31: allwords.txt

tool: D111: APPLE

tool: D42: Apple

tool: D110: apple

tool: D222: appl

tool: D6: abalone

tool: D19: interdigitation

tool: D198: interdigalizing

assistant: ```c
int main(void) {
  test1();
  test2("lexicon.txt");
  test2("small.txt");
  test2("allwords.txt");
  test3("lexicon.txt", 'a');
  test3("lexicon.txt", 'A');
  test3("lexicon.txt", 'l');
  test3("lexicon.txt", '$');
  test3("lexicon.txt", 'e');
  test3("allwords.txt", 'M');
  test3("allwords.txt", 'q');
  test3("allwords.txt", '5');
  test4("lexicon.txt", "APPLE");
  test4("lexicon.txt", "Apple");
  test4("lexicon.txt", "apple");
  test4("lexicon.txt", "appl");
  test4("small.txt", "abalone");
  test4("allwords.txt", "interdigitation");
  test4("allwords.txt", "interdigalizing");
  test5();
  test6();
  test7(5);
  test7(20);
  return 0;
}
```