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

```asm
<WebRtcIsac_NormLatticeFilterMa>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x1000,%rsp
  orq    $0x0,(%rsp)
  sub    $0x1a0,%rsp
  mov    %edi,-0x1174(%rbp)
  mov    %rsi,-0x1180(%rbp)
  mov    %rdx,-0x1188(%rbp)
  mov    %rcx,-0x1190(%rbp)
  mov    %r8,-0x1198(%rbp)
  mov    %r9,-0x11a0(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    -0x1174(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x1158(%rbp)
  movl   $0x0,-0x1160(%rbp)
  jmp    L57
L104:
  mov    -0x1160(%rbp),%eax
  imul   -0x1158(%rbp),%eax
  mov    %eax,-0x1154(%rbp)
  movsd  D6(%rip),%xmm0
  movsd  %xmm0,-0x10c0(%rbp)
  mov    -0x1158(%rbp),%eax
  sub    $0x1,%eax
  cltq
  shl    $0x3,%eax
  mov    %eax,%edx
  mov    -0x1154(%rbp),%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,8),%rcx
  mov    -0x1198(%rbp),%rax
  add    %rax,%rcx
  lea    -0x10c0(%rbp),%rax
  add    $0x8,%rax
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <memcpy@plt>
  lea    -0x1120(%rbp),%rcx
  lea    -0x1150(%rbp),%rdx
  mov    -0x1174(%rbp),%esi
  lea    -0x10c0(%rbp),%rax
  mov    %rax,%rdi
  call   <WebRtcIsac_Dir2Lat@plt>
  mov    -0x1154(%rbp),%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x1198(%rbp),%rax
  add    %rdx,%rax
  movsd  (%rax),%xmm0
  cvtsd2ss %xmm0,%xmm0
  movss  %xmm0,-0x115c(%rbp)
  movl   $0x0,-0x1168(%rbp)
  jmp    L12
L134:
  mov    -0x1168(%rbp),%eax
  cltq
  movss  -0x1120(%rbp,%rax,4),%xmm0
  movss  -0x115c(%rbp),%xmm1
  mulss  %xmm1,%xmm0
  movss  %xmm0,-0x115c(%rbp)
  mov    -0x1168(%rbp),%eax
  cltq
  movss  -0x1120(%rbp,%rax,4),%xmm1
  movss  D4(%rip),%xmm0
  divss  %xmm1,%xmm0
  mov    -0x1168(%rbp),%eax
  cltq
  movss  %xmm0,-0x10f0(%rbp,%rax,4)
  addl   $0x1,-0x1168(%rbp)
L12:
  mov    -0x1168(%rbp),%eax
  cmp    -0x1174(%rbp),%eax
  jl     L134
  movl   $0x0,-0x1164(%rbp)
  jmp    L154
L132:
  mov    -0x1160(%rbp),%edx
  mov    %edx,%eax
  shl    $0x2,%eax
  add    %edx,%eax
  shl    $0x3,%eax
  mov    %eax,%edx
  mov    -0x1164(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x1190(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x1164(%rbp),%eax
  cltq
  movss  %xmm0,-0x1050(%rbp,%rax,4)
  mov    -0x1160(%rbp),%edx
  mov    %edx,%eax
  shl    $0x2,%eax
  add    %edx,%eax
  shl    $0x3,%eax
  mov    %eax,%edx
  mov    -0x1164(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x1190(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mov    -0x1164(%rbp),%eax
  cltq
  movss  %xmm0,-0x830(%rbp,%rax,4)
  addl   $0x1,-0x1164(%rbp)
L154:
  cmpl   $0x27,-0x1164(%rbp)
  jle    L132
  movl   $0x1,-0x1164(%rbp)
  jmp    L43
L161:
  mov    -0x1164(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movss  -0x10f0(%rbp,%rax,4),%xmm1
  mov    -0x1164(%rbp),%eax
  sub    $0x1,%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  add    %rbp,%rax
  sub    $0x1050,%rax
  movss  (%rax),%xmm2
  mov    -0x1164(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movss  -0x1150(%rbp,%rax,4),%xmm3
  mov    -0x1164(%rbp),%eax
  cltq
  shl    $0x2,%rax
  lea    -0x4(%rax),%rdx
  mov    -0x1188(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  %xmm3,%xmm0
  addss  %xmm2,%xmm0
  mulss  %xmm1,%xmm0
  mov    -0x1164(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  add    %rbp,%rax
  sub    $0x1050,%rax
  movss  %xmm0,(%rax)
  mov    -0x1164(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movss  -0x1120(%rbp,%rax,4),%xmm1
  mov    -0x1164(%rbp),%eax
  cltq
  shl    $0x2,%rax
  lea    -0x4(%rax),%rdx
  mov    -0x1188(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  mulss  %xmm0,%xmm1
  mov    -0x1164(%rbp),%eax
  sub    $0x1,%eax
  cltq
  movss  -0x1150(%rbp,%rax,4),%xmm2
  mov    -0x1164(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  add    %rbp,%rax
  sub    $0x1050,%rax
  movss  (%rax),%xmm0
  mulss  %xmm2,%xmm0
  addss  %xmm1,%xmm0
  mov    -0x1164(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  add    %rbp,%rax
  sub    $0x830,%rax
  movss  %xmm0,(%rax)
  addl   $0x1,-0x1164(%rbp)
L43:
  mov    -0x1164(%rbp),%eax
  cmp    -0x1158(%rbp),%eax
  jl     L161
  movl   $0x0,-0x1168(%rbp)
  jmp    L51
L65:
  movl   $0x0,-0x116c(%rbp)
  jmp    L168
L130:
  mov    -0x1168(%rbp),%eax
  cltq
  movss  -0x10f0(%rbp,%rax,4),%xmm1
  mov    -0x116c(%rbp),%eax
  add    $0x1,%eax
  movslq %eax,%rcx
  mov    -0x1168(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  add    %rcx,%rax
  movss  -0x1050(%rbp,%rax,4),%xmm2
  mov    -0x1168(%rbp),%eax
  cltq
  movss  -0x1150(%rbp,%rax,4),%xmm3
  mov    -0x116c(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x1168(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  add    %rcx,%rax
  movss  -0x830(%rbp,%rax,4),%xmm0
  mulss  %xmm3,%xmm0
  addss  %xmm2,%xmm0
  mov    -0x1168(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    -0x116c(%rbp),%eax
  add    $0x1,%eax
  mulss  %xmm1,%xmm0
  movslq %eax,%rcx
  movslq %edx,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  add    %rcx,%rax
  movss  %xmm0,-0x1050(%rbp,%rax,4)
  mov    -0x1168(%rbp),%eax
  cltq
  movss  -0x1120(%rbp,%rax,4),%xmm1
  mov    -0x116c(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x1168(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  add    %rcx,%rax
  movss  -0x830(%rbp,%rax,4),%xmm0
  mulss  %xmm0,%xmm1
  mov    -0x1168(%rbp),%eax
  cltq
  movss  -0x1150(%rbp,%rax,4),%xmm2
  mov    -0x1168(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    -0x116c(%rbp),%eax
  add    $0x1,%eax
  movslq %eax,%rcx
  movslq %edx,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  add    %rcx,%rax
  movss  -0x1050(%rbp,%rax,4),%xmm0
  mulss  %xmm2,%xmm0
  mov    -0x1168(%rbp),%eax
  lea    0x1(%rax),%edx
  mov    -0x116c(%rbp),%eax
  add    $0x1,%eax
  addss  %xmm1,%xmm0
  movslq %eax,%rcx
  movslq %edx,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  add    %rcx,%rax
  movss  %xmm0,-0x830(%rbp,%rax,4)
  addl   $0x1,-0x116c(%rbp)
L168:
  cmpl   $0x26,-0x116c(%rbp)
  jle    L130
  addl   $0x1,-0x1168(%rbp)
L51:
  mov    -0x1168(%rbp),%eax
  cmp    -0x1174(%rbp),%eax
  jl     L65
  movl   $0x0,-0x116c(%rbp)
  jmp    L27
L46:
  mov    -0x116c(%rbp),%eax
  movslq %eax,%rcx
  mov    -0x1174(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x3,%rax
  add    %rcx,%rax
  movss  -0x1050(%rbp,%rax,4),%xmm0
  mulss  -0x115c(%rbp),%xmm0
  mov    -0x1160(%rbp),%edx
  mov    %edx,%eax
  shl    $0x2,%eax
  add    %edx,%eax
  shl    $0x3,%eax
  mov    %eax,%edx
  mov    -0x116c(%rbp),%eax
  add    %edx,%eax
  cltq
  lea    0x0(,%rax,8),%rdx
  mov    -0x11a0(%rbp),%rax
  add    %rdx,%rax
  cvtss2sd %xmm0,%xmm0
  movsd  %xmm0,(%rax)
  addl   $0x1,-0x116c(%rbp)
L27:
  cmpl   $0x27,-0x116c(%rbp)
  jle    L46
  movl   $0x0,-0x1164(%rbp)
  jmp    L32
L60:
  mov    -0x1164(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x1180(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x1164(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  add    %rbp,%rax
  sub    $0xfb4,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,(%rcx)
  mov    -0x1164(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x1188(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x1164(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  shl    $0x2,%rax
  add    %rdx,%rax
  shl    $0x5,%rax
  add    %rbp,%rax
  sub    $0x794,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,(%rcx)
  addl   $0x1,-0x1164(%rbp)
L32:
  mov    -0x1164(%rbp),%eax
  cmp    -0x1158(%rbp),%eax
  jl     L60
  addl   $0x1,-0x1160(%rbp)
L57:
  cmpl   $0x5,-0x1160(%rbp)
  jle    L104
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L52
  call   <__stack_chk_fail@plt>
L52:
  leave
  ret
```

tool_calls: name: read_data
arguments: label: D6
type_guessed: byte[8]
name: read_data
arguments: label: D4
type_guessed: byte[4]

tool: {"D6": [0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x3f]}

tool: {"D4": [0x00,0x00,0x80,0x3f]}

assistant: ```c
void WebRtcIsac_NormLatticeFilterMa(int orderCoef, float *stateF, float *stateG, float *lat_in, double *filtcoeflo, double *lat_out) {
  int n, k, i, u, temp1;
  int ord_1 = orderCoef + 1;
  float sth[12];
  float cth[12];
  float inv_cth[12];
  double a[12 + 1];
  float f[12 + 1][(80 / 2)], g[12 + 1][(80 / 2)];
  float gain1;
  for (u = 0; u < 6; u++) {
    temp1 = u * ord_1;
    a[0] = 1;
    memcpy(a + 1, filtcoeflo + temp1 + 1, sizeof(double) * (ord_1 - 1));
    WebRtcIsac_Dir2Lat(a, orderCoef, sth, cth);
    gain1 = (float)filtcoeflo[temp1];
    for (k = 0; k < orderCoef; k++) {
      gain1 *= cth[k];
      inv_cth[k] = 1 / cth[k];
    }
    for (i = 0; i < (80 / 2); i++) {
      f[0][i] = lat_in[i + u * (80 / 2)];
      g[0][i] = lat_in[i + u * (80 / 2)];
    }
    for (i = 1; i < ord_1; i++) {
      f[i][0] = inv_cth[i - 1] * (f[i - 1][0] + sth[i - 1] * stateG[i - 1]);
      g[i][0] = cth[i - 1] * stateG[i - 1] + sth[i - 1] * f[i][0];
    }
    for (k = 0; k < orderCoef; k++) {
      for (n = 0; n < ((80 / 2) - 1); n++) {
        f[k + 1][n + 1] = inv_cth[k] * (f[k][n + 1] + sth[k] * g[k][n]);
        g[k + 1][n + 1] = cth[k] * g[k][n] + sth[k] * f[k + 1][n + 1];
      }
    }
    for (n = 0; n < (80 / 2); n++) {
      lat_out[n + u * (80 / 2)] = gain1 * f[orderCoef][n];
    }
    for (i = 0; i < ord_1; i++) {
      stateF[i] = f[i][(80 / 2) - 1];
      stateG[i] = g[i][(80 / 2) - 1];
    }
  }
  return;
}
```