user: 请将这段汇编代码片段转换成等效的C代码：

```asm
<main>:
  endbr64
  push   %rbx
  lea    D64(%rip),%rdi
  call   <printf@plt>
  mov    $0x0,%eax
  call   <test_path_check@plt>
  test   %rax,%rax
  jne    L29
  lea    D64(%rip),%rbx
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D59(%rip),%rdi
  call   <printf@plt>
  mov    %rbx,%rdi
  call   <printf@plt>
  mov    $0x0,%eax
  call   <test_file_read@plt>
  test   %rax,%rax
  jne    L35
  lea    D64(%rip),%rbx
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D94(%rip),%rdi
  call   <printf@plt>
  mov    %rbx,%rdi
  call   <printf@plt>
  mov    $0x0,%eax
  call   <test_file_write@plt>
  test   %rax,%rax
  jne    L30
  lea    D64(%rip),%rbx
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D78(%rip),%rdi
  call   <printf@plt>
  mov    %rbx,%rdi
  call   <printf@plt>
  mov    $0x0,%eax
L25:
  pop    %rbx
  ret
L29:
  lea    D64(%rip),%rbx
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D92(%rip),%rdi
  call   <printf@plt>
  mov    %rbx,%rdi
  call   <printf@plt>
  mov    $0xffffffff,%eax
  jmp    L25
L35:
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D2(%rip),%rdi
  call   <printf@plt>
  mov    %rbx,%rdi
  call   <printf@plt>
  mov    $0xffffffff,%eax
  jmp    L25
L30:
  mov    %rbx,%rdi
  call   <printf@plt>
  lea    D105(%rip),%rdi
  call   <printf@plt>
  mov    %rbx,%rdi
  call   <printf@plt>
  mov    $0xffffffff,%eax
  jmp    L25
```

tool_calls: name: disassemble_data
arguments: label: D64
type: string
name: disassemble_data
arguments: label: D59
type: string
name: disassemble_data
arguments: label: D94
type: string
name: disassemble_data
arguments: label: D78
type: string
name: disassemble_data
arguments: label: D92
type: string
name: disassemble_data
arguments: label: D2
type: string
name: disassemble_data
arguments: label: D105
type: string

tool: D64: ----------------------------------------------------------


tool: D59: eslib_file_path_check: passed


tool: D94: test_file_read: passed


tool: D78: test_file_write: passed


tool: D92: eslib_file_path_check: fail


tool: D2: test_file_read: failed


tool: D105: 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;
}
```