user: 提供的汇编代码用C语言表示会是什么样子:

```asm
<larp_to_rp>:
  endbr64
  push   %rbx
  mov    %rdi,%rbx
  mov    (%rdi),%edi
  test   %edi,%edi
  js     L297
  lea    (%rdi,%rdi,1),%eax
  cmp    $0x2b32,%edi
  jg     L144
L540:
  mov    0x4(%rbx),%edi
  mov    %eax,(%rbx)
  test   %edi,%edi
  js     L650
  lea    (%rdi,%rdi,1),%eax
  cmp    $0x2b32,%edi
  jg     L647
L390:
  mov    0x8(%rbx),%edi
  mov    %eax,0x4(%rbx)
  test   %edi,%edi
  js     L122
L345:
  lea    (%rdi,%rdi,1),%eax
  cmp    $0x2b32,%edi
  jg     L105
L108:
  mov    0xc(%rbx),%edi
  mov    %eax,0x8(%rbx)
  test   %edi,%edi
  js     L643
L250:
  lea    (%rdi,%rdi,1),%eax
  cmp    $0x2b32,%edi
  jg     L713
L511:
  mov    0x10(%rbx),%edi
  mov    %eax,0xc(%rbx)
  test   %edi,%edi
  js     L227
L217:
  lea    (%rdi,%rdi,1),%eax
  cmp    $0x2b32,%edi
  jg     L102
L312:
  mov    0x14(%rbx),%edi
  mov    %eax,0x10(%rbx)
  test   %edi,%edi
  js     L126
L213:
  lea    (%rdi,%rdi,1),%eax
  cmp    $0x2b32,%edi
  jg     L618
L290:
  mov    0x18(%rbx),%edi
  mov    %eax,0x14(%rbx)
  test   %edi,%edi
  js     L211
L45:
  lea    (%rdi,%rdi,1),%eax
  cmp    $0x2b32,%edi
  jg     L748
L548:
  mov    0x1c(%rbx),%edi
  mov    %eax,0x18(%rbx)
  test   %edi,%edi
  js     L89
L364:
  cmp    $0x2b32,%edi
  jg     L155
  add    %edi,%edi
L67:
  mov    %edi,0x1c(%rbx)
  pop    %rbx
  ret
  nopl   0x0(%rax,%rax,1)
L155:
  cmp    $0x4e65,%edi
  jg     L495
  add    $0x2b33,%edi
  mov    %edi,0x1c(%rbx)
  pop    %rbx
  ret
  nop
L748:
  lea    0x2b33(%rdi),%eax
  cmp    $0x4e65,%edi
  jle    L548
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  jmp    L548
  nopl   (%rax)
L618:
  lea    0x2b33(%rdi),%eax
  cmp    $0x4e65,%edi
  jle    L290
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  jmp    L290
  nopl   0x0(%rax)
L102:
  lea    0x2b33(%rdi),%eax
  cmp    $0x4e65,%edi
  jle    L312
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  jmp    L312
  nopl   0x0(%rax)
L713:
  lea    0x2b33(%rdi),%eax
  cmp    $0x4e65,%edi
  jle    L511
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  jmp    L511
  nopl   0x0(%rax)
L105:
  lea    0x2b33(%rdi),%eax
  cmp    $0x4e65,%edi
  jle    L108
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  jmp    L108
  nopl   0x0(%rax)
L647:
  lea    0x2b33(%rdi),%eax
  cmp    $0x4e65,%edi
  jle    L390
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  jmp    L390
  nopl   0x0(%rax)
L144:
  lea    0x2b33(%rdi),%eax
  cmp    $0x4e65,%edi
  jle    L540
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  jmp    L540
  nopl   0x0(%rax)
L650:
  mov    D73(%rip),%rax
  cmp    (%rax),%edi
  je     L374
  neg    %edi
L141:
  lea    (%rdi,%rdi,1),%eax
  cmp    $0x2b32,%edi
  jle    L270
  lea    0x2b33(%rdi),%eax
  cmp    $0x4e65,%edi
  jg     L553
L270:
  neg    %eax
L355:
  mov    0x8(%rbx),%edi
  mov    %eax,0x4(%rbx)
  test   %edi,%edi
  jns    L345
L122:
  mov    D73(%rip),%rax
  cmp    (%rax),%edi
  je     L585
  neg    %edi
L628:
  lea    (%rdi,%rdi,1),%eax
  cmp    $0x2b32,%edi
  jle    L640
  lea    0x2b33(%rdi),%eax
  cmp    $0x4e65,%edi
  jg     L616
L640:
  neg    %eax
L652:
  mov    0xc(%rbx),%edi
  mov    %eax,0x8(%rbx)
  test   %edi,%edi
  jns    L250
L643:
  mov    D73(%rip),%rax
  cmp    (%rax),%edi
  je     L172
  neg    %edi
L587:
  lea    (%rdi,%rdi,1),%eax
  cmp    $0x2b32,%edi
  jle    L382
  lea    0x2b33(%rdi),%eax
  cmp    $0x4e65,%edi
  jg     L52
L382:
  neg    %eax
L269:
  mov    0x10(%rbx),%edi
  mov    %eax,0xc(%rbx)
  test   %edi,%edi
  jns    L217
L227:
  mov    D73(%rip),%rax
  cmp    (%rax),%edi
  je     L740
  neg    %edi
L452:
  lea    (%rdi,%rdi,1),%eax
  cmp    $0x2b32,%edi
  jle    L581
  lea    0x2b33(%rdi),%eax
  cmp    $0x4e65,%edi
  jg     L662
L581:
  neg    %eax
L247:
  mov    0x14(%rbx),%edi
  mov    %eax,0x10(%rbx)
  test   %edi,%edi
  jns    L213
L126:
  mov    D73(%rip),%rax
  cmp    (%rax),%edi
  je     L449
  neg    %edi
L629:
  lea    (%rdi,%rdi,1),%eax
  cmp    $0x2b32,%edi
  jle    L610
  lea    0x2b33(%rdi),%eax
  cmp    $0x4e65,%edi
  jg     L57
L610:
  neg    %eax
L745:
  mov    0x18(%rbx),%edi
  mov    %eax,0x14(%rbx)
  test   %edi,%edi
  jns    L45
L211:
  mov    D73(%rip),%rax
  cmp    (%rax),%edi
  je     L372
  neg    %edi
L24:
  lea    (%rdi,%rdi,1),%eax
  cmp    $0x2b32,%edi
  jle    L739
  lea    0x2b33(%rdi),%eax
  cmp    $0x4e65,%edi
  jg     L588
L739:
  neg    %eax
L106:
  mov    0x1c(%rbx),%edi
  mov    %eax,0x18(%rbx)
  test   %edi,%edi
  jns    L364
L89:
  mov    D73(%rip),%rdx
  mov    %edi,%eax
  neg    %eax
  cmp    %edi,(%rdx)
  jne    L347
  mov    D70(%rip),%rax
  mov    (%rax),%eax
L347:
  cmp    $0x2b32,%eax
  jg     L579
  lea    (%rax,%rax,1),%edi
L262:
  neg    %edi
L336:
  mov    %edi,0x1c(%rbx)
  pop    %rbx
  ret
  nopl   (%rax)
L297:
  mov    D73(%rip),%rax
  cmp    %edi,(%rax)
  je     L408
  neg    %edi
L658:
  lea    (%rdi,%rdi,1),%eax
  cmp    $0x2b32,%edi
  jle    L335
  lea    0x2b33(%rdi),%eax
  cmp    $0x4e65,%edi
  jg     L233
L335:
  neg    %eax
  jmp    L540
  nopl   (%rax)
L579:
  lea    0x2b33(%rax),%edi
  cmp    $0x4e65,%eax
  jle    L262
  sar    $0x2,%eax
  mov    $0x6600,%esi
  mov    %eax,%edi
  call   <saturated_add16@plt>
  mov    %eax,%edi
  neg    %edi
  jmp    L336
  nopw   0x0(%rax,%rax,1)
L495:
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  mov    %eax,%edi
  jmp    L67
L588:
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  neg    %eax
  jmp    L106
L57:
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  neg    %eax
  jmp    L745
L616:
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  neg    %eax
  jmp    L652
L662:
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  neg    %eax
  jmp    L247
L553:
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  neg    %eax
  jmp    L355
L52:
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  neg    %eax
  jmp    L269
L233:
  sar    $0x2,%edi
  mov    $0x6600,%esi
  call   <saturated_add16@plt>
  neg    %eax
  jmp    L540
L172:
  mov    D70(%rip),%rax
  mov    (%rax),%edi
  jmp    L587
  xchg   %ax,%ax
L408:
  mov    D70(%rip),%rax
  mov    (%rax),%edi
  jmp    L658
  xchg   %ax,%ax
L585:
  mov    D70(%rip),%rax
  mov    (%rax),%edi
  jmp    L628
  xchg   %ax,%ax
L372:
  mov    D70(%rip),%rax
  mov    (%rax),%edi
  jmp    L24
  xchg   %ax,%ax
L740:
  mov    D70(%rip),%rax
  mov    (%rax),%edi
  jmp    L452
  xchg   %ax,%ax
L449:
  mov    D70(%rip),%rax
  mov    (%rax),%edi
  jmp    L629
  xchg   %ax,%ax
L374:
  mov    D70(%rip),%rax
  mov    (%rax),%edi
  jmp    L141
```

assistant: ```c
void larp_to_rp(int16_t LARp[8]) {
  int i;
  int16_t *LARpx;
  int16_t temp;
  LARpx = LARp;
  for (i = 1; i <= 8; i++, LARpx++) {
    temp = *LARpx;
    if (temp < 0) {
      if (temp == INT16_MIN)
        temp = INT16_MAX;
      else
        temp = -temp;
      if (temp < 11059)
        temp <<= 1;
      else if (temp < 20070)
        temp += 11059;
      else
        temp = saturated_add16(temp >> 2, 26112);
      *LARpx = -temp;
    } else {
      if (temp < 11059)
        temp <<= 1;
      else if (temp < 20070)
        temp += 11059;
      else
        temp = saturated_add16(temp >> 2, 26112);
      *LARpx = temp;
    }
  }
}
```