user: 这段汇编代码用C语言表示是什么样的？

```asm
<parseScriptCmd>:
  endbr64
  push   %r13
  mov    %esi,%r13d
  lea    D55(%rip),%rsi
  push   %r12
  push   %rbp
  mov    %rdi,%rbp
  sub    $0x470,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x468(%rsp)
  xor    %eax,%eax
  lea    0x80(%rsp),%r12
  mov    %r12,%rdx
  call   <sscanf@plt>
  cmpb   $0x23,0x80(%rsp)
  je     L9
  cmpl   $0x6374616d,0x80(%rsp)
  je     L157
L84:
  mov    $0x6,%edx
  lea    D81(%rip),%rsi
  mov    %r12,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  je     L118
  cmpl   $0x746c6966,0x80(%rsp)
  je     L63
L8:
  mov    %rbp,%rsi
  lea    D105(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
L9:
  mov    0x468(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L71
  add    $0x470,%rsp
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
  nopl   0x0(%rax)
L157:
  cmpw   $0x68,0x84(%rsp)
  jne    L84
  mov    %r12,%rdx
  lea    D51(%rip),%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <sscanf@plt>
  mov    $0x4,%edx
  lea    D39(%rip),%rsi
  mov    %r12,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L9
  mov    %r13d,%esi
  lea    D2(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  xor    %edi,%edi
  call   <GetResponses@plt>
  jmp    L9
  nopl   0x0(%rax)
L118:
  mov    %r13d,%esi
  lea    D61(%rip),%rdi
  xor    %eax,%eax
  call   <printf@plt>
  mov    %r13d,%esi
  xor    %edi,%edi
  call   <ConvRespTrace@plt>
  jmp    L9
  nopl   0x0(%rax,%rax,1)
L63:
  cmpw   $0x7265,0x84(%rsp)
  jne    L8
  cmpb   $0x0,0x86(%rsp)
  jne    L8
  lea    0x10(%rsp),%r12
  lea    0x8(%rsp),%rcx
  mov    %rbp,%rdi
  xor    %eax,%eax
  lea    0xc(%rsp),%r8
  mov    %r12,%rdx
  mov    $0x1,%ebp
  lea    D75(%rip),%rsi
  call   <sscanf@plt>
  mov    %r13d,%edx
  mov    %r12,%rsi
  pxor   %xmm0,%xmm0
  lea    D79(%rip),%rdi
  pxor   %xmm1,%xmm1
  mov    $0x2,%eax
  cvtss2sd 0x8(%rsp),%xmm0
  cvtss2sd 0xc(%rsp),%xmm1
  call   <printf@plt>
  mov    $0x4,%edx
  lea    D68(%rip),%rsi
  mov    %r12,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L112
  nopl   0x0(%rax)
L44:
  movss  0xc(%rsp),%xmm1
  movss  0x8(%rsp),%xmm0
  xor    %esi,%esi
  mov    %ebp,%edi
  mov    %r13d,%edx
  call   <filterTrc@plt>
  jmp    L9
L112:
  mov    $0x3,%edx
  lea    D65(%rip),%rsi
  mov    %r12,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  jne    L158
  mov    $0x3,%ebp
  jmp    L44
  nopl   0x0(%rax)
L158:
  mov    $0x2,%edx
  lea    D56(%rip),%rsi
  mov    %r12,%rdi
  call   <strncmp@plt>
  test   %eax,%eax
  mov    $0x5,%eax
  cmove  %eax,%ebp
  jmp    L44
L71:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: parse_data
arguments: tag: D55
datatype: string
name: parse_data
arguments: tag: D81
datatype: string
name: parse_data
arguments: tag: D105
datatype: string
name: parse_data
arguments: tag: D51
datatype: string
name: parse_data
arguments: tag: D39
datatype: string
name: parse_data
arguments: tag: D2
datatype: string
name: parse_data
arguments: tag: D61
datatype: string
name: parse_data
arguments: tag: D75
datatype: string
name: parse_data
arguments: tag: D79
datatype: string
name: parse_data
arguments: tag: D68
datatype: string
name: parse_data
arguments: tag: D65
datatype: string
name: parse_data
arguments: tag: D56
datatype: string

tool: D55: %s

tool: D81: deconv

tool: D105: Unrecognize line: %s


tool: D51: %*s %s

tool: D39: resp

tool: D2: : match response (trc #%d)


tool: D61: : deconvolve (trc #%d)


tool: D75: %*s %s %f %f

tool: D79: : filter %s %f - %f Hz (trc #%d)


tool: D68: band

tool: D65: low

tool: D56: hi

assistant: ```c
void parseScriptCmd(char *line, int itrc) {
  char cmd[1000];
  sscanf(line, "%s", cmd);
  if (*cmd == '#')
    return;
  if (!strcmp(cmd, "match")) {
    sscanf(line, "%*s %s", cmd);
    if (!strncmp(cmd, "resp", 4)) {
      printf(": match response (trc #%d)\n", itrc);
      GetResponses(NULL);
    }
  } else if (!strncmp(cmd, "deconv", 6)) {
    printf(": deconvolve (trc #%d)\n", itrc);
    ConvRespTrace(0, itrc);
  } else if (!strcmp(cmd, "filter")) {
    char name[100];
    float flo, fhi;
    int which;
    sscanf(line, "%*s %s %f %f", name, &flo, &fhi);
    printf(": filter %s %f - %f Hz (trc #%d)\n", name, flo, fhi, itrc);
    if (!strncmp(name, "band", 4)) {
      which = 1;
    } else if (!strncmp(name, "low", 3)) {
      which = 3;
    } else if (!strncmp(name, "hi", 2)) {
      which = 5;
    }
    filterTrc(which, 0, itrc, flo, fhi);
  } else {
    printf("Unrecognize line: %s\n", line);
  }
}
```