user: Converte this assembly snippet into its equivalent C code:

```asm
<LLVMFuzzerTestOneInput>:
  endbr64
  push   %r12
  mov    %rsi,%r12
  push   %rbp
  mov    %rdi,%rbp
  sub    $0x8,%rsp
  call   <test_uper_c_source_a@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_ab@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_ac@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_ad@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_b@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_c@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_d@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_e@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_f@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_g@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_h@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_i@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_j@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_k@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_l@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_m@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_n@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_o@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_p@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_q@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_r@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_s@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_t@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_u@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_v@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_w@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_x@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_y@plt>
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <test_uper_c_source_z@plt>
  add    $0x8,%rsp
  xor    %eax,%eax
  pop    %rbp
  pop    %r12
  ret
```

assistant: ```c
int LLVMFuzzerTestOneInput(const uint8_t *data_p, size_t size) {
  test_uper_c_source_a(data_p, size);
  test_uper_c_source_ab(data_p, size);
  test_uper_c_source_ac(data_p, size);
  test_uper_c_source_ad(data_p, size);
  test_uper_c_source_b(data_p, size);
  test_uper_c_source_c(data_p, size);
  test_uper_c_source_d(data_p, size);
  test_uper_c_source_e(data_p, size);
  test_uper_c_source_f(data_p, size);
  test_uper_c_source_g(data_p, size);
  test_uper_c_source_h(data_p, size);
  test_uper_c_source_i(data_p, size);
  test_uper_c_source_j(data_p, size);
  test_uper_c_source_k(data_p, size);
  test_uper_c_source_l(data_p, size);
  test_uper_c_source_m(data_p, size);
  test_uper_c_source_n(data_p, size);
  test_uper_c_source_o(data_p, size);
  test_uper_c_source_p(data_p, size);
  test_uper_c_source_q(data_p, size);
  test_uper_c_source_r(data_p, size);
  test_uper_c_source_s(data_p, size);
  test_uper_c_source_t(data_p, size);
  test_uper_c_source_u(data_p, size);
  test_uper_c_source_v(data_p, size);
  test_uper_c_source_w(data_p, size);
  test_uper_c_source_x(data_p, size);
  test_uper_c_source_y(data_p, size);
  test_uper_c_source_z(data_p, size);
  return (0);
}
```