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

```asm
<test_jnxhash>:
  endbr64
  push   %r12
  lea    D117(%rip),%r12
  xor    %edi,%edi
  mov    $0x6f,%ecx
  push   %rbp
  lea    D111(%rip),%rbp
  mov    %r12,%rdx
  xor    %eax,%eax
  mov    %rbp,%rsi
  lea    D101(%rip),%r8
  sub    $0x8,%rsp
  call   <jnx_log@plt>
  mov    %r12,%rdx
  mov    %rbp,%rsi
  xor    %edi,%edi
  lea    D23(%rip),%r8
  mov    $0x70,%ecx
  xor    %eax,%eax
  call   <jnx_log@plt>
  xor    %eax,%eax
  call   <test_key_deletion@plt>
  mov    %r12,%rdx
  mov    %rbp,%rsi
  xor    %edi,%edi
  lea    D96(%rip),%r8
  mov    $0x72,%ecx
  xor    %eax,%eax
  call   <jnx_log@plt>
  mov    %r12,%rdx
  mov    %rbp,%rsi
  xor    %edi,%edi
  lea    D126(%rip),%r8
  mov    $0x73,%ecx
  xor    %eax,%eax
  call   <jnx_log@plt>
  xor    %eax,%eax
  call   <test_hash_deletion@plt>
  mov    %r12,%rdx
  mov    %rbp,%rsi
  xor    %edi,%edi
  lea    D96(%rip),%r8
  mov    $0x75,%ecx
  xor    %eax,%eax
  call   <jnx_log@plt>
  mov    %r12,%rdx
  mov    %rbp,%rsi
  xor    %edi,%edi
  lea    D57(%rip),%r8
  mov    $0x76,%ecx
  xor    %eax,%eax
  call   <jnx_log@plt>
  xor    %eax,%eax
  call   <test_hash_get_keys@plt>
  mov    %r12,%rdx
  mov    %rbp,%rsi
  xor    %edi,%edi
  lea    D96(%rip),%r8
  mov    $0x78,%ecx
  xor    %eax,%eax
  call   <jnx_log@plt>
  mov    %r12,%rdx
  mov    %rbp,%rsi
  mov    $0x79,%ecx
  lea    D70(%rip),%r8
  xor    %edi,%edi
  xor    %eax,%eax
  call   <jnx_log@plt>
  xor    %eax,%eax
  call   <test_hash_keys_that_hash_to_same_index@plt>
  mov    %r12,%rdx
  mov    %rbp,%rsi
  mov    $0x7b,%ecx
  lea    D96(%rip),%r8
  xor    %edi,%edi
  xor    %eax,%eax
  call   <jnx_log@plt>
  mov    %r12,%rdx
  mov    %rbp,%rsi
  mov    $0x7c,%ecx
  lea    D86(%rip),%r8
  xor    %edi,%edi
  xor    %eax,%eax
  call   <jnx_log@plt>
  xor    %eax,%eax
  call   <test_hashing_function@plt>
  mov    %r12,%rdx
  mov    %rbp,%rsi
  mov    $0x7e,%ecx
  lea    D96(%rip),%r8
  xor    %edi,%edi
  xor    %eax,%eax
  call   <jnx_log@plt>
  add    $0x8,%rsp
  xor    %eax,%eax
  pop    %rbp
  pop    %r12
  ret
```

tool_calls: name: unpack_data
arguments: data_label: D117
type: string
name: unpack_data
arguments: data_label: D111
type: string
name: unpack_data
arguments: data_label: D101
type: string
name: unpack_data
arguments: data_label: D23
type: string
name: unpack_data
arguments: data_label: D96
type: string
name: unpack_data
arguments: data_label: D126
type: string
name: unpack_data
arguments: data_label: D57
type: string
name: unpack_data
arguments: data_label: D70
type: string
name: unpack_data
arguments: data_label: D86
type: string

tool: D117: test_jnxhash

tool: D111: /scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/AlexsJones/jnxlibc/refs/heads/master/test/unit/test_jnxhash.c

tool: D101: Running test for jnxhash


tool: D23: - test_key_deletion: 

tool: D96: OK

tool: D126: - test_hash_deletion: 

tool: D57: - test_hash_get_keys: 

tool: D70: - test_hash_keys_that_hash_to_same_index: 

tool: D86: - test_hashing_function: 

assistant: ```c
int test_jnxhash() {
  jnx_log(0, "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/AlexsJones/jnxlibc/refs/heads/master/test/unit/test_jnxhash.c", __FUNCTION__, 111, "Running test for jnxhash\n");
  ;
  jnx_log(0, "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/AlexsJones/jnxlibc/refs/heads/master/test/unit/test_jnxhash.c", __FUNCTION__, 112, "- test_key_deletion: ");
  ;
  test_key_deletion();
  jnx_log(0, "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/AlexsJones/jnxlibc/refs/heads/master/test/unit/test_jnxhash.c", __FUNCTION__, 114, "OK");
  ;
  jnx_log(0, "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/AlexsJones/jnxlibc/refs/heads/master/test/unit/test_jnxhash.c", __FUNCTION__, 115, "- test_hash_deletion: ");
  ;
  test_hash_deletion();
  jnx_log(0, "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/AlexsJones/jnxlibc/refs/heads/master/test/unit/test_jnxhash.c", __FUNCTION__, 117, "OK");
  ;
  jnx_log(0, "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/AlexsJones/jnxlibc/refs/heads/master/test/unit/test_jnxhash.c", __FUNCTION__, 118, "- test_hash_get_keys: ");
  ;
  test_hash_get_keys();
  jnx_log(0, "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/AlexsJones/jnxlibc/refs/heads/master/test/unit/test_jnxhash.c", __FUNCTION__, 120, "OK");
  ;
  jnx_log(0, "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/AlexsJones/jnxlibc/refs/heads/master/test/unit/test_jnxhash.c", __FUNCTION__, 121, "- test_hash_keys_that_hash_to_same_index: ");
  ;
  test_hash_keys_that_hash_to_same_index();
  jnx_log(0, "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/AlexsJones/jnxlibc/refs/heads/master/test/unit/test_jnxhash.c", __FUNCTION__, 123, "OK");
  ;
  jnx_log(0, "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/AlexsJones/jnxlibc/refs/heads/master/test/unit/test_jnxhash.c", __FUNCTION__, 124, "- test_hashing_function: ");
  ;
  test_hashing_function();
  jnx_log(0, "/scratch/repos/new/home/jordi_armengol_estape/c-scraper/outputs/2022-01-22/02-19-57/repos/AlexsJones/jnxlibc/refs/heads/master/test/unit/test_jnxhash.c", __FUNCTION__, 126, "OK");
  ;
  return 0;
}
```