user: 请将以下的汇编代码转换成C语言代码:

```asm
<main>:
  endbr64
  push   %r15
  pxor   %xmm0,%xmm0
  xor    %edx,%edx
  push   %r14
  push   %r13
  lea    D130(%rip),%r13
  push   %r12
  mov    %r13,%rdi
  push   %rbp
  push   %rbx
  sub    $0x68,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x58(%rsp)
  xor    %eax,%eax
  lea    0x18(%rsp),%rsi
  mov    %dx,0x50(%rsp)
  movaps %xmm0,0x30(%rsp)
  movaps %xmm0,0x40(%rsp)
  movq   $0x30,0x20(%rsp)
  movq   $0x0,0x28(%rsp)
  call   <scanf@plt>
  xor    %eax,%eax
  call   <getchar@plt>
  mov    0x18(%rsp),%ecx
  test   %ecx,%ecx
  jle    L49
  lea    0x1c(%rsp),%rax
  xor    %r12d,%r12d
  mov    %rax,0x8(%rsp)
  nopl   (%rax)
L39:
  mov    0x8(%rsp),%rsi
  mov    %r13,%rdi
  xor    %eax,%eax
  xor    %r14d,%r14d
  call   <scanf@plt>
  xor    %eax,%eax
  call   <getchar@plt>
  mov    0x1c(%rsp),%eax
  test   %eax,%eax
  jle    L86
  xor    %r15d,%r15d
  lea    0x20(%rsp),%rbx
  lea    D94(%rip),%rbp
  nopl   0x0(%rax)
L139:
  mov    %rbx,%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  mov    %rbx,%rdi
  call   <strlen@plt>
  movdqa D21(%rip),%xmm3
  test   %eax,%eax
  mov    %eax,%edx
  jle    L155
  lea    -0x1(%rax),%eax
  cmp    $0xe,%eax
  jbe    L141
  movdqa 0x20(%rsp),%xmm1
  pxor   %xmm5,%xmm5
  movd   %r15d,%xmm6
  mov    %edx,%eax
  movdqa %xmm5,%xmm0
  pshufd $0x0,%xmm6,%xmm4
  pxor   %xmm6,%xmm6
  shr    $0x4,%eax
  pcmpgtb %xmm1,%xmm0
  movdqa %xmm1,%xmm2
  movdqa %xmm6,%xmm7
  punpcklbw %xmm0,%xmm2
  punpckhbw %xmm0,%xmm1
  paddw  %xmm3,%xmm2
  paddw  %xmm3,%xmm1
  pcmpgtw %xmm2,%xmm7
  movdqa %xmm2,%xmm0
  movdqa %xmm1,%xmm8
  punpcklwd %xmm7,%xmm0
  punpckhwd %xmm7,%xmm2
  movdqa %xmm6,%xmm7
  pcmpgtw %xmm1,%xmm7
  paddd  %xmm4,%xmm0
  paddd  %xmm4,%xmm2
  paddd  D39(%rip),%xmm0
  paddd  D125(%rip),%xmm2
  punpcklwd %xmm7,%xmm8
  punpckhwd %xmm7,%xmm1
  paddd  %xmm4,%xmm8
  paddd  %xmm4,%xmm1
  paddd  D109(%rip),%xmm8
  paddd  D154(%rip),%xmm1
  cmp    $0x1,%eax
  je     L162
  movdqa 0x30(%rsp),%xmm9
  movdqa %xmm5,%xmm10
  movdqa %xmm6,%xmm11
  pcmpgtb %xmm9,%xmm10
  movdqa %xmm9,%xmm7
  punpcklbw %xmm10,%xmm7
  punpckhbw %xmm10,%xmm9
  paddw  %xmm3,%xmm7
  paddw  %xmm3,%xmm9
  pcmpgtw %xmm7,%xmm11
  movdqa %xmm7,%xmm10
  punpckhwd %xmm11,%xmm7
  punpcklwd %xmm11,%xmm10
  paddd  %xmm2,%xmm7
  movdqa %xmm6,%xmm2
  paddd  %xmm0,%xmm10
  pcmpgtw %xmm9,%xmm2
  movdqa %xmm9,%xmm0
  paddd  %xmm4,%xmm10
  paddd  %xmm4,%xmm7
  punpcklwd %xmm2,%xmm0
  paddd  %xmm0,%xmm8
  movdqa %xmm9,%xmm0
  punpckhwd %xmm2,%xmm0
  movdqa D102(%rip),%xmm2
  paddd  %xmm4,%xmm8
  paddd  D44(%rip),%xmm8
  paddd  %xmm0,%xmm1
  movdqa D155(%rip),%xmm0
  paddd  %xmm4,%xmm1
  paddd  %xmm7,%xmm2
  paddd  D52(%rip),%xmm1
  paddd  %xmm10,%xmm0
  cmp    $0x2,%eax
  je     L162
  movdqa 0x40(%rsp),%xmm10
  pcmpgtb %xmm10,%xmm5
  movdqa %xmm10,%xmm7
  movdqa %xmm5,%xmm9
  punpcklbw %xmm5,%xmm7
  movdqa %xmm10,%xmm5
  paddw  %xmm3,%xmm7
  punpckhbw %xmm9,%xmm5
  movdqa %xmm6,%xmm10
  paddw  %xmm3,%xmm5
  pcmpgtw %xmm7,%xmm10
  movdqa %xmm7,%xmm9
  pcmpgtw %xmm5,%xmm6
  punpckhwd %xmm10,%xmm7
  punpcklwd %xmm10,%xmm9
  paddd  %xmm2,%xmm7
  movdqa %xmm5,%xmm2
  punpckhwd %xmm6,%xmm5
  punpcklwd %xmm6,%xmm2
  paddd  %xmm1,%xmm5
  paddd  %xmm9,%xmm0
  paddd  %xmm2,%xmm8
  paddd  %xmm4,%xmm5
  movdqa D56(%rip),%xmm2
  paddd  D136(%rip),%xmm5
  paddd  %xmm4,%xmm0
  paddd  %xmm4,%xmm7
  paddd  %xmm4,%xmm8
  paddd  D105(%rip),%xmm0
  paddd  %xmm7,%xmm2
  movdqa %xmm5,%xmm1
  paddd  D40(%rip),%xmm8
L162:
  paddd  %xmm2,%xmm0
  paddd  %xmm8,%xmm0
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%eax
  add    %eax,%r14d
  mov    %edx,%eax
  and    $0xfffffff0,%eax
  test   $0xf,%dl
  je     L155
L186:
  movslq %eax,%rsi
  movsbl 0x20(%rsp,%rsi,1),%esi
  lea    -0x41(%r14,%rsi,1),%r8d
  lea    0x1(%rax),%esi
  add    %r15d,%r8d
  lea    (%r8,%rax,1),%r14d
  cmp    %esi,%edx
  jle    L155
  movslq %esi,%rdi
  movsbl 0x20(%rsp,%rdi,1),%edi
  lea    -0x41(%r14,%rdi,1),%r8d
  add    %r15d,%r8d
  lea    (%rsi,%r8,1),%r14d
  lea    0x2(%rax),%esi
  cmp    %edx,%esi
  jge    L155
  movslq %esi,%rdi
  movsbl 0x20(%rsp,%rdi,1),%edi
  lea    -0x41(%r14,%rdi,1),%r8d
  add    %r15d,%r8d
  lea    (%rsi,%r8,1),%r14d
  lea    0x3(%rax),%esi
  cmp    %esi,%edx
  jle    L155
  movslq %esi,%rdi
  movsbl 0x20(%rsp,%rdi,1),%edi
  lea    -0x41(%r14,%rdi,1),%r8d
  add    %r15d,%r8d
  lea    (%rsi,%r8,1),%r14d
  lea    0x4(%rax),%esi
  cmp    %esi,%edx
  jle    L155
  movslq %esi,%rdi
  movsbl 0x20(%rsp,%rdi,1),%edi
  lea    -0x41(%r14,%rdi,1),%r8d
  add    %r15d,%r8d
  lea    (%rsi,%r8,1),%r14d
  lea    0x5(%rax),%esi
  cmp    %esi,%edx
  jle    L155
  movslq %esi,%rdi
  movsbl 0x20(%rsp,%rdi,1),%edi
  lea    -0x41(%r14,%rdi,1),%r8d
  add    %r15d,%r8d
  lea    (%rsi,%r8,1),%r14d
  lea    0x6(%rax),%esi
  cmp    %esi,%edx
  jle    L155
  movslq %esi,%rdi
  movsbl 0x20(%rsp,%rdi,1),%edi
  lea    -0x41(%r14,%rdi,1),%r8d
  add    %r15d,%r8d
  lea    (%rsi,%r8,1),%r14d
  lea    0x7(%rax),%esi
  cmp    %esi,%edx
  jle    L155
  movslq %esi,%rdi
  movsbl 0x20(%rsp,%rdi,1),%edi
  lea    -0x41(%r14,%rdi,1),%r8d
  add    %r15d,%r8d
  lea    (%rsi,%r8,1),%r14d
  lea    0x8(%rax),%esi
  cmp    %esi,%edx
  jle    L155
  movslq %esi,%rdi
  movsbl 0x20(%rsp,%rdi,1),%edi
  lea    -0x41(%r14,%rdi,1),%r8d
  add    %r15d,%r8d
  lea    (%rsi,%r8,1),%r14d
  lea    0x9(%rax),%esi
  cmp    %esi,%edx
  jle    L155
  movslq %esi,%rdi
  movsbl 0x20(%rsp,%rdi,1),%edi
  lea    -0x41(%r14,%rdi,1),%r8d
  add    %r15d,%r8d
  lea    (%rsi,%r8,1),%r14d
  lea    0xa(%rax),%esi
  cmp    %esi,%edx
  jle    L155
  movslq %esi,%rdi
  movsbl 0x20(%rsp,%rdi,1),%edi
  lea    -0x41(%r14,%rdi,1),%r8d
  add    %r15d,%r8d
  lea    (%rsi,%r8,1),%r14d
  lea    0xb(%rax),%esi
  cmp    %esi,%edx
  jle    L155
  movslq %esi,%rdi
  movsbl 0x20(%rsp,%rdi,1),%edi
  lea    -0x41(%r14,%rdi,1),%r8d
  add    %r15d,%r8d
  lea    (%rsi,%r8,1),%r14d
  lea    0xc(%rax),%esi
  cmp    %esi,%edx
  jle    L155
  movslq %esi,%rdi
  movsbl 0x20(%rsp,%rdi,1),%edi
  lea    -0x41(%r14,%rdi,1),%r8d
  add    %r15d,%r8d
  lea    (%rsi,%r8,1),%r14d
  lea    0xd(%rax),%esi
  cmp    %esi,%edx
  jle    L155
  movslq %esi,%rdi
  add    $0xe,%eax
  movsbl 0x20(%rsp,%rdi,1),%edi
  lea    -0x41(%r14,%rdi,1),%r8d
  add    %r15d,%r8d
  lea    (%rsi,%r8,1),%r14d
  cmp    %eax,%edx
  jle    L155
  movslq %eax,%rdx
  movsbl 0x20(%rsp,%rdx,1),%edx
  lea    -0x41(%r14,%rdx,1),%r8d
  add    %r15d,%r8d
  lea    (%r8,%rax,1),%r14d
L155:
  add    $0x1,%r15d
  cmp    %r15d,0x1c(%rsp)
  jg     L139
L86:
  mov    %r14d,%esi
  lea    D159(%rip),%rdi
  add    $0x1,%r12d
  call   <printf@plt>
  cmp    %r12d,0x18(%rsp)
  jg     L39
L49:
  mov    0x58(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L124
  add    $0x68,%rsp
  xor    %eax,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L141:
  xor    %eax,%eax
  jmp    L186
L124:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: disassemble_data
arguments: data_label: D130
data_type: string
name: disassemble_data
arguments: data_label: D94
data_type: string
name: disassemble_data
arguments: data_label: D21
data_type: byte[16]
name: disassemble_data
arguments: data_label: D39
data_type: byte[16]
name: disassemble_data
arguments: data_label: D125
data_type: byte[16]
name: disassemble_data
arguments: data_label: D109
data_type: byte[16]
name: disassemble_data
arguments: data_label: D154
data_type: byte[16]
name: disassemble_data
arguments: data_label: D102
data_type: byte[16]
name: disassemble_data
arguments: data_label: D44
data_type: byte[16]
name: disassemble_data
arguments: data_label: D155
data_type: byte[16]
name: disassemble_data
arguments: data_label: D52
data_type: byte[16]
name: disassemble_data
arguments: data_label: D56
data_type: byte[16]
name: disassemble_data
arguments: data_label: D136
data_type: byte[16]
name: disassemble_data
arguments: data_label: D105
data_type: byte[16]
name: disassemble_data
arguments: data_label: D40
data_type: byte[16]
name: disassemble_data
arguments: data_label: D159
data_type: string

tool: D130: %d

tool: D94: %s

tool: {"D21": [0xbf,0xff,0xbf,0xff,0xbf,0xff,0xbf,0xff,0xbf,0xff,0xbf,0xff,0xbf,0xff,0xbf,0xff]}

tool: {"D39": [0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x03,0x00,0x00,0x00]}

tool: {"D125": [0x04,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x06,0x00,0x00,0x00,0x07,0x00,0x00,0x00]}

tool: {"D109": [0x08,0x00,0x00,0x00,0x09,0x00,0x00,0x00,0x0a,0x00,0x00,0x00,0x0b,0x00,0x00,0x00]}

tool: {"D154": [0x0c,0x00,0x00,0x00,0x0d,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x0f,0x00,0x00,0x00]}

tool: {"D102": [0x14,0x00,0x00,0x00,0x15,0x00,0x00,0x00,0x16,0x00,0x00,0x00,0x17,0x00,0x00,0x00]}

tool: {"D44": [0x18,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x1a,0x00,0x00,0x00,0x1b,0x00,0x00,0x00]}

tool: {"D155": [0x10,0x00,0x00,0x00,0x11,0x00,0x00,0x00,0x12,0x00,0x00,0x00,0x13,0x00,0x00,0x00]}

tool: {"D52": [0x1c,0x00,0x00,0x00,0x1d,0x00,0x00,0x00,0x1e,0x00,0x00,0x00,0x1f,0x00,0x00,0x00]}

tool: {"D56": [0x24,0x00,0x00,0x00,0x25,0x00,0x00,0x00,0x26,0x00,0x00,0x00,0x27,0x00,0x00,0x00]}

tool: {"D136": [0x2c,0x00,0x00,0x00,0x2d,0x00,0x00,0x00,0x2e,0x00,0x00,0x00,0x2f,0x00,0x00,0x00]}

tool: {"D105": [0x20,0x00,0x00,0x00,0x21,0x00,0x00,0x00,0x22,0x00,0x00,0x00,0x23,0x00,0x00,0x00]}

tool: {"D40": [0x28,0x00,0x00,0x00,0x29,0x00,0x00,0x00,0x2a,0x00,0x00,0x00,0x2b,0x00,0x00,0x00]}

tool: D159: %d


assistant: ```c
int main(int argc, char const *argv[]) {
  int i, j, k = 0;
  int nCasos, lStrings, valorHash = 0, tamString = 0;
  char frase[50] = {'0'};
  scanf("%d", &nCasos);
  getchar();
  for (i = 0; i < nCasos; i++) {
    scanf("%d", &lStrings);
    getchar();
    for (j = 0; j < lStrings; j++) {
      scanf("%s", frase);
      tamString = strlen(frase);
      for (k = 0; k < tamString; k++)
        valorHash = valorHash + ((int)frase[k] - 65) + j + k;
    }
    printf("%d\n", valorHash);
    valorHash = 0;
  }
  return 0;
}
```