user: What is the c source code of the assembly code below?

```asm
<main>:
  endbr64
  push   %rbp
  lea    D60(%rip),%rbp
  mov    %rbp,%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <test_path_check@plt>
  mov    %rbp,%rdi
  test   %rax,%rax
  jne    L12
  call   <printf@plt>
  lea    D22(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <test_file_read@plt>
  mov    %rbp,%rdi
  test   %rax,%rax
  jne    L22
  call   <printf@plt>
  lea    D61(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  xor    %eax,%eax
  call   <test_file_write@plt>
  mov    %rbp,%rdi
  test   %rax,%rax
  jne    L27
  call   <printf@plt>
  lea    D55(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  xor    %eax,%eax
  pop    %rbp
  ret
L12:
  call   <printf@plt>
  lea    D26(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  or     $0xffffffff,%eax
  pop    %rbp
  ret
L22:
  call   <printf@plt>
  lea    D40(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  or     $0xffffffff,%eax
  pop    %rbp
  ret
L27:
  call   <printf@plt>
  lea    D49(%rip),%rdi
  call   <printf@plt>
  mov    %rbp,%rdi
  call   <printf@plt>
  or     $0xffffffff,%eax
  pop    %rbp
  ret
```

tool_calls: name: unpack_data
arguments: label: D60
type_infered: string
name: unpack_data
arguments: label: D22
type_infered: string
name: unpack_data
arguments: label: D61
type_infered: string
name: unpack_data
arguments: label: D55
type_infered: string
name: unpack_data
arguments: label: D26
type_infered: string
name: unpack_data
arguments: label: D40
type_infered: string
name: unpack_data
arguments: label: D49
type_infered: string

tool: D60: ----------------------------------------------------------


tool: D22: eslib_file_path_check: passed


tool: D61: test_file_read: passed


tool: D55: test_file_write: passed


tool: D26: eslib_file_path_check: fail


tool: D40: test_file_read: failed


tool: D49: test_file_write: failed


assistant: ```c
int main() {
  printf("----------------------------------------------------------\n");
  if (test_path_check()) {
    printf("----------------------------------------------------------\n");
    printf("eslib_file_path_check: fail\n");
    printf("----------------------------------------------------------\n");
    return -1;
  }
  printf("----------------------------------------------------------\n");
  printf("eslib_file_path_check: passed\n");
  printf("----------------------------------------------------------\n");
  if (test_file_read()) {
    printf("----------------------------------------------------------\n");
    printf("test_file_read: failed\n");
    printf("----------------------------------------------------------\n");
    return -1;
  }
  printf("----------------------------------------------------------\n");
  printf("test_file_read: passed\n");
  printf("----------------------------------------------------------\n");
  if (test_file_write()) {
    printf("----------------------------------------------------------\n");
    printf("test_file_write: failed\n");
    printf("----------------------------------------------------------\n");
    return -1;
  }
  printf("----------------------------------------------------------\n");
  printf("test_file_write: passed\n");
  printf("----------------------------------------------------------\n");
  return 0;
}
```