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

```asm
<jitter_in>:
  endbr64
  push   %r15
  sub    $0x8,%esi
  push   %r14
  movslq %esi,%rax
  push   %r13
  mov    %edx,%r13d
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x28,%rsp
  mov    %rdi,0x8(%rsp)
  mov    %rax,(%rsp)
  movq   $0xb,0x18(%rsp)
L155:
  mov    0x8(%rsp),%r14
  mov    0x18(%rsp),%rax
  add    %rax,%r14
  cmp    %rax,(%rsp)
  jle    L126
L54:
  movsbw (%r14),%r15w
  movsbw 0x4(%r14),%bp
  movsbw -0x4(%r14),%bx
  mov    %r15d,%r12d
  sub    %ebp,%r12d
  movswl %r12w,%edi
  call   <abs@plt>
  cwtl
  cmp    %r13d,%eax
  jle    L92
  mov    %ebx,%esi
  sub    %r15d,%esi
  movswl %si,%edi
  mov    %esi,0x14(%rsp)
  call   <abs@plt>
  cwtl
  cmp    %r13d,%eax
  jle    L92
  cmp    %bx,%r15w
  mov    0x14(%rsp),%esi
  jle    L309
  cmp    %bp,%r15w
  jl     L92
L309:
  cmp    %bp,%r15w
  jle    L296
  cmp    %bx,%r15w
  jge    L296
  nopl   0x0(%rax)
L92:
  add    $0x4,%r14
  mov    %r14,%rax
  sub    0x8(%rsp),%rax
  cmp    %rax,(%rsp)
  jg     L54
L126:
  subq   $0x2,0x18(%rsp)
  mov    0x18(%rsp),%rax
  cmp    $0x7,%rax
  jne    L155
  add    $0x28,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  cs nopw 0x0(%rax,%rax,1)
L296:
  movsbl 0x4(%r14),%edi
  movsbw -0x8(%r14),%cx
  sub    %edi,%ecx
  mov    %edi,%eax
  test   %cx,%cx
  jle    L238
  test   %r12w,%r12w
  jle    L51
  cmp    %cx,%r12w
  jl     L92
L51:
  test   %si,%si
  jle    L183
  cmp    %cx,%si
  jl     L92
L183:
  movsbl -0x4(%r14),%ecx
  movsbw 0x8(%r14),%r8w
  mov    %ecx,%edi
  sub    %r8d,%ecx
  test   %cx,%cx
  jle    L45
  test   %r12w,%r12w
  jle    L99
  cmp    %cx,%r12w
  jl     L92
L99:
  test   %si,%si
  jle    L318
  cmp    %cx,%si
  jl     L92
L318:
  add    %edi,%eax
  xor    %esi,%esi
  mov    $0xb,%edi
  mov    %eax,%ecx
  shr    $0x1f,%ecx
  add    %ecx,%eax
  sar    %eax
  mov    %al,(%r14)
  call   <view_status@plt>
  jmp    L92
  nopl   0x0(%rax)
L238:
  je     L183
  test   %r12w,%r12w
  jns    L164
  cmp    %cx,%r12w
  jg     L92
L164:
  test   %si,%si
  jns    L183
  cmp    %cx,%si
  jle    L183
  jmp    L92
  nopl   0x0(%rax)
L45:
  je     L318
  test   %r12w,%r12w
  jns    L282
  cmp    %cx,%r12w
  jg     L92
L282:
  test   %si,%si
  jns    L318
  cmp    %cx,%si
  jle    L318
  jmp    L92
```

assistant: ```c
void jitter_in(register char *pp, int length, int opt_delta) {
  signed short m, l, r, h, hr, hl, hll, which;
  register char *p;
  int i;
  for (which = 3; which > 0; which -= 2)
    for (p = pp + which + 2 * 4; (p - pp) < length - 2 * 4; p += 4) {
      m = *p;
      l = *(p - 4);
      r = *(p + 4);
      h = abs(hr = m - r);
      if (h <= opt_delta)
        continue;
      h = abs(hl = l - m);
      if (h <= opt_delta)
        continue;
      if ((l < m && m < r) || (r < m && m < l))
        continue;
      for (i = -2 * 4; i; i += 4) {
        hll = *(p + i) - *(p + i + 3 * 4);
        if (hll > 0)
          if ((hr > 0 && hr < hll) || (hl > 0 && hl < hll))
            goto is_ok;
        if (hll < 0)
          if ((hr < 0 && hr > hll) || (hl < 0 && hl > hll))
            goto is_ok;
      }
      *p = (*(p + 4) + *(p - 4)) / 2;
      view_status(11, NULL);
    is_ok:;
    }
}
```