user: 请从给定的汇编指令推导出C源代码：

```asm
<get_last_path_component_tests>:
  endbr64
  push   %rbx
  lea    D222(%rip),%rbx
  mov    %rbx,%rdi
  call   <seatest_test_fixture_start@plt>
  lea    D246(%rip),%rsi
  mov    %rbx,%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L103
L13:
  lea    D28(%rip),%rsi
  lea    D222(%rip),%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L62
L145:
  lea    D237(%rip),%rsi
  lea    D222(%rip),%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L76
L137:
  lea    D240(%rip),%rsi
  lea    D222(%rip),%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L58
L1:
  lea    D180(%rip),%rsi
  lea    D222(%rip),%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L147
L93:
  lea    D174(%rip),%rsi
  lea    D222(%rip),%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L84
L43:
  lea    D83(%rip),%rsi
  lea    D222(%rip),%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L41
L65:
  lea    D193(%rip),%rsi
  lea    D222(%rip),%rdi
  call   <seatest_should_run@plt>
  test   %rax,%rax
  jne    L2
L118:
  mov    $0x0,%eax
  call   <seatest_test_fixture_end@plt>
  pop    %rbx
  ret
L103:
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_empty_path_ok@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D246(%rip),%rsi
  mov    %rbx,%rdi
  call   <seatest_run_test@plt>
  jmp    L13
L62:
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_no_slashes_ok@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D28(%rip),%rsi
  lea    D222(%rip),%rdi
  call   <seatest_run_test@plt>
  jmp    L145
L76:
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_path_does_not_end_with_slash_ok@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D237(%rip),%rsi
  lea    D222(%rip),%rdi
  call   <seatest_run_test@plt>
  jmp    L137
L58:
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_path_ends_with_slash_ok@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D240(%rip),%rsi
  lea    D222(%rip),%rdi
  call   <seatest_run_test@plt>
  jmp    L1
L147:
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_path_ends_with_multiple_slashes_ok@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D180(%rip),%rsi
  lea    D222(%rip),%rdi
  call   <seatest_run_test@plt>
  jmp    L93
L84:
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_path_has_separators_of_multiple_slashes_ok@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D174(%rip),%rsi
  lea    D222(%rip),%rdi
  call   <seatest_run_test@plt>
  jmp    L43
L41:
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_one_element_ok@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D83(%rip),%rsi
  lea    D222(%rip),%rdi
  call   <seatest_run_test@plt>
  jmp    L65
L2:
  mov    $0x0,%eax
  call   <seatest_suite_setup@plt>
  mov    $0x0,%eax
  call   <seatest_setup@plt>
  mov    $0x0,%eax
  call   <test_root_ok@plt>
  mov    $0x0,%eax
  call   <seatest_teardown@plt>
  mov    $0x0,%eax
  call   <seatest_suite_teardown@plt>
  lea    D193(%rip),%rsi
  lea    D222(%rip),%rdi
  call   <seatest_run_test@plt>
  jmp    L118
```

tool_calls: name: extract_symbolic_data
arguments: data_label: D222
type_infered: string
name: extract_symbolic_data
arguments: data_label: D246
type_infered: string
name: extract_symbolic_data
arguments: data_label: D28
type_infered: string
name: extract_symbolic_data
arguments: data_label: D237
type_infered: string
name: extract_symbolic_data
arguments: data_label: D240
type_infered: string
name: extract_symbolic_data
arguments: data_label: D180
type_infered: string
name: extract_symbolic_data
arguments: data_label: D174
type_infered: string
name: extract_symbolic_data
arguments: data_label: D83
type_infered: string
name: extract_symbolic_data
arguments: data_label: D193
type_infered: string

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

tool: D246: test_empty_path_ok

tool: D28: test_no_slashes_ok

tool: D237: test_path_does_not_end_with_slash_ok

tool: D240: test_path_ends_with_slash_ok

tool: D180: test_path_ends_with_multiple_slashes_ok

tool: D174: test_path_has_separators_of_multiple_slashes_ok

tool: D83: test_one_element_ok

tool: D193: test_root_ok

assistant: ```c
void get_last_path_component_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/misc/get_last_path_component.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/misc/get_last_path_component.c", "test_empty_path_ok")) {
      seatest_suite_setup();
      seatest_setup();
      test_empty_path_ok();
      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/misc/get_last_path_component.c", "test_empty_path_ok");
    }
  } 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/misc/get_last_path_component.c", "test_no_slashes_ok")) {
      seatest_suite_setup();
      seatest_setup();
      test_no_slashes_ok();
      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/misc/get_last_path_component.c", "test_no_slashes_ok");
    }
  } 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/misc/get_last_path_component.c", "test_path_does_not_end_with_slash_ok")) {
      seatest_suite_setup();
      seatest_setup();
      test_path_does_not_end_with_slash_ok();
      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/misc/get_last_path_component.c", "test_path_does_not_end_with_slash_ok");
    }
  } 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/misc/get_last_path_component.c", "test_path_ends_with_slash_ok")) {
      seatest_suite_setup();
      seatest_setup();
      test_path_ends_with_slash_ok();
      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/misc/get_last_path_component.c", "test_path_ends_with_slash_ok");
    }
  } 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/misc/get_last_path_component.c", "test_path_ends_with_multiple_slashes_ok")) {
      seatest_suite_setup();
      seatest_setup();
      test_path_ends_with_multiple_slashes_ok();
      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/misc/get_last_path_component.c", "test_path_ends_with_multiple_slashes_ok");
    }
  } 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/misc/get_last_path_component.c", "test_path_has_separators_of_multiple_slashes_ok")) {
      seatest_suite_setup();
      seatest_setup();
      test_path_has_separators_of_multiple_slashes_ok();
      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/misc/get_last_path_component.c", "test_path_has_separators_of_multiple_slashes_ok");
    }
  } 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/misc/get_last_path_component.c", "test_one_element_ok")) {
      seatest_suite_setup();
      seatest_setup();
      test_one_element_ok();
      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/misc/get_last_path_component.c", "test_one_element_ok");
    }
  } 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/misc/get_last_path_component.c", "test_root_ok")) {
      seatest_suite_setup();
      seatest_setup();
      test_root_ok();
      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/misc/get_last_path_component.c", "test_root_ok");
    }
  } while (0);
  do {
    seatest_test_fixture_end();
  } while (0);
}
```