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

```asm
<insert_into_peaks>:
  endbr64
  mov    (%rdi),%ecx
  movd   %esi,%xmm1
  movd   %edx,%xmm2
  mov    %rdi,%rax
  punpckldq %xmm2,%xmm1
  cmp    %esi,%ecx
  jge    L9
  movq   0xe0(%rdi),%xmm0
  movhps 0xd8(%rdi),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0xe0(%rdi)
  movq   0xd0(%rdi),%xmm0
  movhps 0xc8(%rdi),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0xd0(%rdi)
  movq   0xc0(%rdi),%xmm0
  movhps 0xb8(%rdi),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0xc0(%rdi)
  movq   0xb0(%rdi),%xmm0
  movhps 0xa8(%rdi),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0xb0(%rdi)
  movq   0xa0(%rdi),%xmm0
  movhps 0x98(%rdi),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0xa0(%rdi)
  movq   0x90(%rdi),%xmm0
  movhps 0x88(%rdi),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x90(%rdi)
  movq   0x80(%rdi),%xmm0
  movhps 0x78(%rdi),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x80(%rdi)
  movq   0x70(%rdi),%xmm0
  movhps 0x68(%rdi),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x70(%rdi)
  movq   0x60(%rdi),%xmm0
  movhps 0x58(%rdi),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x60(%rdi)
  movq   0x50(%rdi),%xmm0
  movhps 0x48(%rdi),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x50(%rdi)
  movq   0x40(%rdi),%xmm0
  movhps 0x38(%rdi),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x40(%rdi)
  movq   0x30(%rdi),%xmm0
  mov    %esi,(%rdi)
  movhps 0x28(%rdi),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x30(%rdi)
  movq   0x20(%rdi),%xmm0
  movhps 0x18(%rdi),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x20(%rdi)
  movq   0x10(%rdi),%xmm0
  movhps 0x8(%rdi),%xmm0
  mov    %ecx,0x8(%rdi)
  mov    0x4(%rdi),%ecx
  mov    %edx,0x4(%rdi)
  shufpd $0x1,%xmm0,%xmm0
  mov    %ecx,0xc(%rdi)
  movups %xmm0,0x10(%rdi)
L9:
  mov    $0x1c,%ecx
  xor    %edx,%edx
  jmp    L125
  nopl   0x0(%rax)
L105:
  add    $0x1,%rdx
  sub    $0x1,%ecx
  cmp    $0x1b,%rdx
  je     L83
L125:
  cmp    %esi,(%rax,%rdx,8)
  jle    L105
  cmp    %esi,0x8(%rax,%rdx,8)
  jge    L105
  movq   0xe0(%rax),%xmm0
  mov    %ecx,%edi
  shr    %edi
  movhps 0xd8(%rax),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0xe0(%rax)
  cmp    $0x1,%edi
  je     L48
  movq   0xd0(%rax),%xmm0
  movhps 0xc8(%rax),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0xd0(%rax)
  cmp    $0x2,%edi
  je     L48
  movq   0xc0(%rax),%xmm0
  movhps 0xb8(%rax),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0xc0(%rax)
  cmp    $0x3,%edi
  je     L48
  movq   0xb0(%rax),%xmm0
  movhps 0xa8(%rax),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0xb0(%rax)
  cmp    $0x4,%edi
  je     L48
  movq   0xa0(%rax),%xmm0
  movhps 0x98(%rax),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0xa0(%rax)
  cmp    $0x5,%edi
  je     L48
  movq   0x90(%rax),%xmm0
  movhps 0x88(%rax),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x90(%rax)
  cmp    $0x6,%edi
  je     L48
  movq   0x80(%rax),%xmm0
  movhps 0x78(%rax),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x80(%rax)
  cmp    $0x7,%edi
  je     L48
  movq   0x70(%rax),%xmm0
  movhps 0x68(%rax),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x70(%rax)
  cmp    $0x8,%edi
  je     L48
  movq   0x60(%rax),%xmm0
  movhps 0x58(%rax),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x60(%rax)
  cmp    $0x9,%edi
  je     L48
  movq   0x50(%rax),%xmm0
  movhps 0x48(%rax),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x50(%rax)
  cmp    $0xa,%edi
  je     L48
  movq   0x40(%rax),%xmm0
  movhps 0x38(%rax),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x40(%rax)
  cmp    $0xb,%edi
  je     L48
  movq   0x30(%rax),%xmm0
  movhps 0x28(%rax),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x30(%rax)
  cmp    $0xc,%edi
  je     L48
  movq   0x20(%rax),%xmm0
  movhps 0x18(%rax),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x20(%rax)
  cmp    $0xe,%edi
  jne    L48
  movq   0x10(%rax),%xmm0
  movhps 0x8(%rax),%xmm0
  shufpd $0x1,%xmm0,%xmm0
  movups %xmm0,0x10(%rax)
  nopl   0x0(%rax)
L48:
  mov    %ecx,%edi
  and    $0xfffffffe,%edi
  test   $0x1,%cl
  je     L153
  neg    %rdi
  shl    $0x3,%rdi
  mov    0xe0(%rax,%rdi,1),%r8
  mov    %r8,0xe8(%rax,%rdi,1)
L153:
  movq   %xmm1,0x8(%rax,%rdx,8)
  add    $0x1,%rdx
  sub    $0x1,%ecx
  cmp    $0x1b,%rdx
  jne    L125
  nopl   0x0(%rax,%rax,1)
L83:
  cmp    %esi,0xe0(%rax)
  jle    L72
  cmp    %esi,0xe8(%rax)
  jge    L72
  movq   %xmm1,0xe8(%rax)
L72:
  mov    $0x1,%eax
  ret
```

assistant: ```c
int insert_into_peaks(peaks, max, max_place)
int max, max_place, peaks[30][2];
{
  int i, j;
  if (max > peaks[0][0]) {
    for (i = 30 - 1; i > 0; i--) {
      peaks[i][0] = peaks[i - 1][0];
      peaks[i][1] = peaks[i - 1][1];
    }
    peaks[0][0] = max;
    peaks[0][1] = max_place;
  }
  for (j = 0; j < 30 - 3; j++) {
    if (max < peaks[j][0] && max > peaks[j + 1][0]) {
      for (i = 30 - 1; i > j + 1; i--) {
        peaks[i][0] = peaks[i - 1][0];
        peaks[i][1] = peaks[i - 1][1];
      }
      peaks[j + 1][0] = max;
      peaks[j + 1][1] = max_place;
    }
  }
  if (max < peaks[30 - 2][0] && max > peaks[30 - 1][0]) {
    peaks[30 - 1][0] = max;
    peaks[30 - 1][1] = max_place;
  }
  return (1);
}
```