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

```asm
<completion_tests>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_test_fixture_start@plt>
  lea    D224(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  je     L13
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_general@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D224(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_run_test@plt>
L13:
  lea    D107(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  je     L42
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_sorting@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D107(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_run_test@plt>
L42:
  lea    D21(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  je     L99
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_one_element_completion@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D21(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_run_test@plt>
L99:
  lea    D50(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  je     L85
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_one_unambiguous_completion@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D50(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_run_test@plt>
L85:
  lea    D126(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  je     L33
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_rewind_one_unambiguous_completion@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D126(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_run_test@plt>
L33:
  lea    D141(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  je     L78
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_rewind@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D141(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_run_test@plt>
L78:
  lea    D264(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  je     L24
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_order@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D264(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_run_test@plt>
L24:
  lea    D74(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  je     L17
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_umbiguous_begin@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D74(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_run_test@plt>
L17:
  lea    D222(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  je     L21
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_two_matches@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D222(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_run_test@plt>
L21:
  lea    D1(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  je     L20
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_removes_duplicates@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D1(%rip),%rax
  mov    %rax,%rsi
  lea    D210(%rip),%rax
  mov    %rax,%rdi
  call   <seatest_run_test@plt>
L20:
  mov    $0x0,%eax
  call   <seatest_test_fixture_end@plt>
  nop
  pop    %rbp
  ret
```

tool_calls: name: read_data
arguments: data_tag: D210
data_type: string
name: read_data
arguments: data_tag: D224
data_type: string
name: read_data
arguments: data_tag: D107
data_type: string
name: read_data
arguments: data_tag: D21
data_type: string
name: read_data
arguments: data_tag: D50
data_type: string
name: read_data
arguments: data_tag: D126
data_type: string
name: read_data
arguments: data_tag: D141
data_type: string
name: read_data
arguments: data_tag: D264
data_type: string
name: read_data
arguments: data_tag: D74
data_type: string
name: read_data
arguments: data_tag: D222
data_type: string
name: read_data
arguments: data_tag: D1
data_type: string

tool: D210: /scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c

tool: D224: test_general

tool: D107: test_sorting

tool: D21: test_one_element_completion

tool: D50: test_one_unambiguous_completion

tool: D126: test_rewind_one_unambiguous_completion

tool: D141: test_rewind

tool: D264: test_order

tool: D74: test_umbiguous_begin

tool: D222: test_two_matches

tool: D1: test_removes_duplicates

assistant: ```c
void completion_tests(void) {
  do {
    seatest_test_fixture_start("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c");
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_general")) {
      seatest_suite_setup();
      seatest_setup();
      test_general();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_general");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_sorting")) {
      seatest_suite_setup();
      seatest_setup();
      test_sorting();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_sorting");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_one_element_completion")) {
      seatest_suite_setup();
      seatest_setup();
      test_one_element_completion();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_one_element_completion");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_one_unambiguous_completion")) {
      seatest_suite_setup();
      seatest_setup();
      test_one_unambiguous_completion();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_one_unambiguous_completion");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_rewind_one_unambiguous_completion")) {
      seatest_suite_setup();
      seatest_setup();
      test_rewind_one_unambiguous_completion();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_rewind_one_unambiguous_completion");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_rewind")) {
      seatest_suite_setup();
      seatest_setup();
      test_rewind();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_rewind");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_order")) {
      seatest_suite_setup();
      seatest_setup();
      test_order();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_order");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_umbiguous_begin")) {
      seatest_suite_setup();
      seatest_setup();
      test_umbiguous_begin();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_umbiguous_begin");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_two_matches")) {
      seatest_suite_setup();
      seatest_setup();
      test_two_matches();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_two_matches");
    }
  } while (0);
  do {
    if (seatest_should_run("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_removes_duplicates")) {
      seatest_suite_setup();
      seatest_setup();
      test_removes_duplicates();
      seatest_teardown();
      seatest_suite_teardown();
      seatest_run_test("/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/sshilovsky/vifm/refs/heads/master/tests/completion/completion_tests.c", "test_removes_duplicates");
    }
  } while (0);
  do {
    seatest_test_fixture_end();
  } while (0);
}
```