user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<adjust>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x90,%rsp
  mov    %rdi,-0x88(%rbp)
  mov    %esi,-0x8c(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    $0x4,%esi
  mov    $0xe5,%edi
  mov    $0x0,%eax
  call   <__CrestCall@plt>
  lea    -0x8c(%rbp),%rax
  mov    %rax,%rsi
  mov    $0xe4,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  mov    $0x0,%edx
  mov    $0x0,%esi
  mov    $0xe6,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  lea    -0x70(%rbp),%rax
  mov    %rax,%rsi
  mov    $0xe7,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  movl   $0x0,-0x70(%rbp)
  mov    -0x70(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x68(%rbp)
  mov    -0x68(%rbp),%rax
  mov    (%rax),%eax
  movslq %eax,%rdx
  mov    -0x68(%rbp),%rax
  mov    %rax,%rsi
  mov    $0xe8,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  lea    -0x6c(%rbp),%rax
  mov    %rax,%rsi
  mov    $0xe9,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  mov    -0x68(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x6c(%rbp)
  mov    $0x2,%edx
  mov    $0x0,%esi
  mov    $0xee,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x70(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x70(%rbp),%rax
  mov    %rax,%rsi
  mov    $0xed,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x70(%rbp),%eax
  add    %eax,%eax
  cltq
  mov    %rax,%rdx
  mov    $0x2,%esi
  mov    $0xec,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    $0x1,%edx
  mov    $0x0,%esi
  mov    $0xeb,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x70(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  cltq
  mov    %rax,%rdx
  mov    $0x0,%esi
  mov    $0xea,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0xef,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  mov    -0x70(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  mov    %eax,-0x74(%rbp)
  mov    -0x74(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0xf4,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x8c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x8c(%rbp),%rax
  mov    %rax,%rsi
  mov    $0xf3,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    $0x1,%edx
  mov    $0x0,%esi
  mov    $0xf2,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x8c(%rbp),%eax
  sub    $0x1,%eax
  cltq
  mov    %rax,%rdx
  mov    $0x1,%esi
  mov    $0xf1,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    -0x8c(%rbp),%edx
  mov    -0x74(%rbp),%eax
  cmp    %eax,%edx
  setg   %al
  movzbl %al,%eax
  mov    %rax,%rdx
  mov    $0xf,%esi
  mov    $0xf0,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    -0x8c(%rbp),%edx
  mov    -0x74(%rbp),%eax
  cmp    %eax,%edx
  jle    L38
  mov    $0x1,%edx
  mov    $0x4b,%esi
  mov    $0xf5,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
  mov    -0x74(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0xfd,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    $0x1,%edx
  mov    $0x0,%esi
  mov    $0xfc,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x74(%rbp),%eax
  add    $0x1,%eax
  cltq
  mov    %rax,%rdx
  mov    $0x0,%esi
  mov    $0xfb,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    -0x8c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x8c(%rbp),%rax
  mov    %rax,%rsi
  mov    $0xfa,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    $0x1,%edx
  mov    $0x0,%esi
  mov    $0xf9,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x8c(%rbp),%eax
  sub    $0x1,%eax
  cltq
  mov    %rax,%rdx
  mov    $0x1,%esi
  mov    $0xf8,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    -0x8c(%rbp),%eax
  lea    -0x1(%rax),%edx
  mov    -0x74(%rbp),%eax
  cmp    %eax,%edx
  setg   %al
  movzbl %al,%eax
  mov    %rax,%rdx
  mov    $0xf,%esi
  mov    $0xf7,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    -0x8c(%rbp),%eax
  lea    -0x1(%rax),%edx
  mov    -0x74(%rbp),%eax
  cmp    %eax,%edx
  jle    L88
  mov    $0x1,%edx
  mov    $0x4c,%esi
  mov    $0xfe,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x60(%rbp)
  mov    -0x74(%rbp),%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,4),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x58(%rbp)
  mov    -0x60(%rbp),%rax
  mov    (%rax),%eax
  movslq %eax,%rdx
  mov    -0x60(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x102,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x58(%rbp),%rax
  mov    (%rax),%eax
  movslq %eax,%rdx
  mov    -0x58(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x101,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x60(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x58(%rbp),%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  setl   %al
  movzbl %al,%eax
  mov    %rax,%rdx
  mov    $0x10,%esi
  mov    $0x100,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    -0x60(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x58(%rbp),%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jge    L164
  mov    $0x1,%edx
  mov    $0x4f,%esi
  mov    $0x103,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
  mov    -0x74(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x107,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    $0x1,%edx
  mov    $0x0,%esi
  mov    $0x106,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x74(%rbp),%eax
  add    $0x1,%eax
  cltq
  mov    %rax,%rdx
  mov    $0x0,%esi
  mov    $0x105,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x108,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  mov    -0x74(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x74(%rbp)
  jmp    L7
L164:
  mov    $0x0,%edx
  mov    $0x50,%esi
  mov    $0x104,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
  jmp    L7
L88:
  mov    $0x0,%edx
  mov    $0x51,%esi
  mov    $0xff,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
L7:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x50(%rbp)
  mov    -0x6c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x6c(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x10b,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x50(%rbp),%rax
  mov    (%rax),%eax
  movslq %eax,%rdx
  mov    -0x50(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x10a,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x50(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x6c(%rbp),%eax
  cmp    %eax,%edx
  setg   %al
  movzbl %al,%eax
  mov    %rax,%rdx
  mov    $0x10,%esi
  mov    $0x109,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    -0x50(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x6c(%rbp),%eax
  cmp    %eax,%edx
  jle    L130
  mov    $0x1,%edx
  mov    $0x55,%esi
  mov    $0x10c,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
  mov    -0x70(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x48(%rbp)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x40(%rbp)
  mov    -0x40(%rbp),%rax
  mov    (%rax),%eax
  movslq %eax,%rdx
  mov    -0x40(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x10e,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x48(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x10f,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  mov    -0x40(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x48(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x74(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x110,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  lea    -0x70(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x111,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  mov    -0x74(%rbp),%eax
  mov    %eax,-0x70(%rbp)
  mov    $0x2,%edx
  mov    $0x0,%esi
  mov    $0x116,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x70(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x70(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x115,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x70(%rbp),%eax
  add    %eax,%eax
  cltq
  mov    %rax,%rdx
  mov    $0x2,%esi
  mov    $0x114,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    $0x1,%edx
  mov    $0x0,%esi
  mov    $0x113,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x70(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  cltq
  mov    %rax,%rdx
  mov    $0x0,%esi
  mov    $0x112,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x117,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  mov    -0x70(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  mov    %eax,-0x74(%rbp)
  jmp    L2
L130:
  mov    $0x0,%edx
  mov    $0x56,%esi
  mov    $0x10d,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
  mov    -0x8c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x8c(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x118,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x119,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  mov    -0x8c(%rbp),%eax
  mov    %eax,-0x74(%rbp)
  jmp    L2
L38:
  mov    $0x0,%edx
  mov    $0x57,%esi
  mov    $0xf6,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
L2:
  mov    -0x74(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x11e,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x8c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x8c(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x11d,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    $0x1,%edx
  mov    $0x0,%esi
  mov    $0x11c,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x8c(%rbp),%eax
  sub    $0x1,%eax
  cltq
  mov    %rax,%rdx
  mov    $0x1,%esi
  mov    $0x11b,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    -0x8c(%rbp),%edx
  mov    -0x74(%rbp),%eax
  cmp    %eax,%edx
  setg   %al
  movzbl %al,%eax
  mov    %rax,%rdx
  mov    $0xf,%esi
  mov    $0x11a,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    -0x8c(%rbp),%edx
  mov    -0x74(%rbp),%eax
  cmp    %eax,%edx
  jle    L91
  mov    $0x1,%edx
  mov    $0x59,%esi
  mov    $0x11f,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
  mov    -0x74(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x127,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    $0x1,%edx
  mov    $0x0,%esi
  mov    $0x126,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x74(%rbp),%eax
  add    $0x1,%eax
  cltq
  mov    %rax,%rdx
  mov    $0x0,%esi
  mov    $0x125,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    -0x8c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x8c(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x124,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    $0x1,%edx
  mov    $0x0,%esi
  mov    $0x123,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x8c(%rbp),%eax
  sub    $0x1,%eax
  cltq
  mov    %rax,%rdx
  mov    $0x1,%esi
  mov    $0x122,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    -0x8c(%rbp),%eax
  lea    -0x1(%rax),%edx
  mov    -0x74(%rbp),%eax
  cmp    %eax,%edx
  setg   %al
  movzbl %al,%eax
  mov    %rax,%rdx
  mov    $0xf,%esi
  mov    $0x121,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    -0x8c(%rbp),%eax
  lea    -0x1(%rax),%edx
  mov    -0x74(%rbp),%eax
  cmp    %eax,%edx
  jle    L167
  mov    $0x1,%edx
  mov    $0x5a,%esi
  mov    $0x128,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x38(%rbp)
  mov    -0x74(%rbp),%eax
  cltq
  add    $0x1,%rax
  lea    0x0(,%rax,4),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x30(%rbp)
  mov    -0x38(%rbp),%rax
  mov    (%rax),%eax
  movslq %eax,%rdx
  mov    -0x38(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x12c,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x30(%rbp),%rax
  mov    (%rax),%eax
  movslq %eax,%rdx
  mov    -0x30(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x12b,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x38(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x30(%rbp),%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  setl   %al
  movzbl %al,%eax
  mov    %rax,%rdx
  mov    $0x10,%esi
  mov    $0x12a,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    -0x38(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x30(%rbp),%rax
  mov    (%rax),%eax
  cmp    %eax,%edx
  jge    L60
  mov    $0x1,%edx
  mov    $0x5d,%esi
  mov    $0x12d,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
  mov    -0x74(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x131,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    $0x1,%edx
  mov    $0x0,%esi
  mov    $0x130,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x74(%rbp),%eax
  add    $0x1,%eax
  cltq
  mov    %rax,%rdx
  mov    $0x0,%esi
  mov    $0x12f,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x132,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  mov    -0x74(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,-0x74(%rbp)
  jmp    L44
L60:
  mov    $0x0,%edx
  mov    $0x5e,%esi
  mov    $0x12e,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
  jmp    L44
L167:
  mov    $0x0,%edx
  mov    $0x5f,%esi
  mov    $0x129,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
L44:
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x28(%rbp)
  mov    -0x6c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x6c(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x135,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x28(%rbp),%rax
  mov    (%rax),%eax
  movslq %eax,%rdx
  mov    -0x28(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x134,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x28(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x6c(%rbp),%eax
  cmp    %eax,%edx
  setg   %al
  movzbl %al,%eax
  mov    %rax,%rdx
  mov    $0x10,%esi
  mov    $0x133,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    -0x28(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x6c(%rbp),%eax
  cmp    %eax,%edx
  jle    L13
  mov    $0x1,%edx
  mov    $0x63,%esi
  mov    $0x136,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
  mov    -0x70(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x20(%rbp)
  mov    -0x74(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x18(%rbp)
  mov    -0x18(%rbp),%rax
  mov    (%rax),%eax
  movslq %eax,%rdx
  mov    -0x18(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x138,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x20(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x139,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  mov    -0x18(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x20(%rbp),%rax
  mov    %edx,(%rax)
  mov    -0x74(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x13a,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  lea    -0x70(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x13b,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  mov    -0x74(%rbp),%eax
  mov    %eax,-0x70(%rbp)
  mov    $0x2,%edx
  mov    $0x0,%esi
  mov    $0x140,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x70(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x70(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x13f,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x70(%rbp),%eax
  add    %eax,%eax
  cltq
  mov    %rax,%rdx
  mov    $0x2,%esi
  mov    $0x13e,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  mov    $0x1,%edx
  mov    $0x0,%esi
  mov    $0x13d,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x70(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  cltq
  mov    %rax,%rdx
  mov    $0x0,%esi
  mov    $0x13c,%edi
  mov    $0x0,%eax
  call   <__CrestApply2@plt>
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x141,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  mov    -0x70(%rbp),%eax
  add    %eax,%eax
  add    $0x1,%eax
  mov    %eax,-0x74(%rbp)
  jmp    L132
L13:
  mov    $0x0,%edx
  mov    $0x64,%esi
  mov    $0x137,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
  mov    -0x8c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x8c(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x142,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  lea    -0x74(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x143,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  mov    -0x8c(%rbp),%eax
  mov    %eax,-0x74(%rbp)
  jmp    L132
L91:
  mov    $0x0,%edx
  mov    $0x65,%esi
  mov    $0x120,%edi
  mov    $0x0,%eax
  call   <__CrestBranch@plt>
L132:
  mov    -0x70(%rbp),%eax
  cltq
  lea    0x0(,%rax,4),%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  mov    %rax,-0x10(%rbp)
  mov    -0x6c(%rbp),%eax
  movslq %eax,%rdx
  lea    -0x6c(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x144,%edi
  mov    $0x0,%eax
  call   <__CrestLoad@plt>
  mov    -0x10(%rbp),%rax
  mov    %rax,%rsi
  mov    $0x145,%edi
  mov    $0x0,%eax
  call   <__CrestStore@plt>
  mov    -0x6c(%rbp),%edx
  mov    -0x10(%rbp),%rax
  mov    %edx,(%rax)
  mov    $0x146,%edi
  mov    $0x0,%eax
  call   <__CrestReturn@plt>
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L19
  call   <__stack_chk_fail@plt>
L19:
  leave
  ret
```

assistant: ```c
void adjust(int *a, int n) {
  int i;
  int j;
  int item;
  int *mem_6;
  int *mem_7;
  int *mem_8;
  int *mem_9;
  int *mem_10;
  int *mem_11;
  int *mem_12;
  int *mem_13;
  int *mem_14;
  int *mem_15;
  int *mem_16;
  int *mem_17;
  {
    __CrestCall(229, 4);
    __CrestStore(228, (unsigned long)(&n));
    __CrestLoad(230, (unsigned long)0, (long long)0);
    __CrestStore(231, (unsigned long)(&j));
    j = 0;
    mem_6 = a + j;
    __CrestLoad(232, (unsigned long)mem_6, (long long)*mem_6);
    __CrestStore(233, (unsigned long)(&item));
    item = *mem_6;
    __CrestLoad(238, (unsigned long)0, (long long)2);
    __CrestLoad(237, (unsigned long)(&j), (long long)j);
    __CrestApply2(236, 2, (long long)(2 * j));
    __CrestLoad(235, (unsigned long)0, (long long)1);
    __CrestApply2(234, 0, (long long)(2 * j + 1));
    __CrestStore(239, (unsigned long)(&i));
    i = 2 * j + 1;
    {
      {
        __CrestLoad(244, (unsigned long)(&i), (long long)i);
        __CrestLoad(243, (unsigned long)(&n), (long long)n);
        __CrestLoad(242, (unsigned long)0, (long long)1);
        __CrestApply2(241, 1, (long long)(n - 1));
        __CrestApply2(240, 15, (long long)(i <= n - 1));
        if (i <= n - 1) {
          __CrestBranch(245, 75, 1);
          {
            __CrestLoad(253, (unsigned long)(&i), (long long)i);
            __CrestLoad(252, (unsigned long)0, (long long)1);
            __CrestApply2(251, 0, (long long)(i + 1));
            __CrestLoad(250, (unsigned long)(&n), (long long)n);
            __CrestLoad(249, (unsigned long)0, (long long)1);
            __CrestApply2(248, 1, (long long)(n - 1));
            __CrestApply2(247, 15, (long long)(i + 1 <= n - 1));
            if (i + 1 <= n - 1) {
              __CrestBranch(254, 76, 1);
              {
                mem_7 = a + i;
                mem_8 = a + (i + 1);
                {
                  __CrestLoad(258, (unsigned long)mem_7, (long long)*mem_7);
                  __CrestLoad(257, (unsigned long)mem_8, (long long)*mem_8);
                  __CrestApply2(256, 16, (long long)(*mem_7 < *mem_8));
                  if (*mem_7 < *mem_8) {
                    __CrestBranch(259, 79, 1);
                    __CrestLoad(263, (unsigned long)(&i), (long long)i);
                    __CrestLoad(262, (unsigned long)0, (long long)1);
                    __CrestApply2(261, 0, (long long)(i + 1));
                    __CrestStore(264, (unsigned long)(&i));
                    i++;
                  } else {
                    __CrestBranch(260, 80, 0);
                  }
                }
              }
            } else {
              __CrestBranch(255, 81, 0);
            }
          }
          {
            mem_9 = a + i;
            {
              __CrestLoad(267, (unsigned long)(&item), (long long)item);
              __CrestLoad(266, (unsigned long)mem_9, (long long)*mem_9);
              __CrestApply2(265, 16, (long long)(item < *mem_9));
              if (item < *mem_9) {
                __CrestBranch(268, 85, 1);
                mem_10 = a + j;
                mem_11 = a + i;
                __CrestLoad(270, (unsigned long)mem_11, (long long)*mem_11);
                __CrestStore(271, (unsigned long)mem_10);
                *mem_10 = *mem_11;
                __CrestLoad(272, (unsigned long)(&i), (long long)i);
                __CrestStore(273, (unsigned long)(&j));
                j = i;
                __CrestLoad(278, (unsigned long)0, (long long)2);
                __CrestLoad(277, (unsigned long)(&j), (long long)j);
                __CrestApply2(276, 2, (long long)(2 * j));
                __CrestLoad(275, (unsigned long)0, (long long)1);
                __CrestApply2(274, 0, (long long)(2 * j + 1));
                __CrestStore(279, (unsigned long)(&i));
                i = 2 * j + 1;
              } else {
                __CrestBranch(269, 86, 0);
                __CrestLoad(280, (unsigned long)(&n), (long long)n);
                __CrestStore(281, (unsigned long)(&i));
                i = n;
              }
            }
          }
        } else {
          __CrestBranch(246, 87, 0);
        }
      }
      {
        __CrestLoad(286, (unsigned long)(&i), (long long)i);
        __CrestLoad(285, (unsigned long)(&n), (long long)n);
        __CrestLoad(284, (unsigned long)0, (long long)1);
        __CrestApply2(283, 1, (long long)(n - 1));
        __CrestApply2(282, 15, (long long)(i <= n - 1));
        if (i <= n - 1) {
          __CrestBranch(287, 89, 1);
          {
            __CrestLoad(295, (unsigned long)(&i), (long long)i);
            __CrestLoad(294, (unsigned long)0, (long long)1);
            __CrestApply2(293, 0, (long long)(i + 1));
            __CrestLoad(292, (unsigned long)(&n), (long long)n);
            __CrestLoad(291, (unsigned long)0, (long long)1);
            __CrestApply2(290, 1, (long long)(n - 1));
            __CrestApply2(289, 15, (long long)(i + 1 <= n - 1));
            if (i + 1 <= n - 1) {
              __CrestBranch(296, 90, 1);
              {
                mem_12 = a + i;
                mem_13 = a + (i + 1);
                {
                  __CrestLoad(300, (unsigned long)mem_12, (long long)*mem_12);
                  __CrestLoad(299, (unsigned long)mem_13, (long long)*mem_13);
                  __CrestApply2(298, 16, (long long)(*mem_12 < *mem_13));
                  if (*mem_12 < *mem_13) {
                    __CrestBranch(301, 93, 1);
                    __CrestLoad(305, (unsigned long)(&i), (long long)i);
                    __CrestLoad(304, (unsigned long)0, (long long)1);
                    __CrestApply2(303, 0, (long long)(i + 1));
                    __CrestStore(306, (unsigned long)(&i));
                    i++;
                  } else {
                    __CrestBranch(302, 94, 0);
                  }
                }
              }
            } else {
              __CrestBranch(297, 95, 0);
            }
          }
          {
            mem_14 = a + i;
            {
              __CrestLoad(309, (unsigned long)(&item), (long long)item);
              __CrestLoad(308, (unsigned long)mem_14, (long long)*mem_14);
              __CrestApply2(307, 16, (long long)(item < *mem_14));
              if (item < *mem_14) {
                __CrestBranch(310, 99, 1);
                mem_15 = a + j;
                mem_16 = a + i;
                __CrestLoad(312, (unsigned long)mem_16, (long long)*mem_16);
                __CrestStore(313, (unsigned long)mem_15);
                *mem_15 = *mem_16;
                __CrestLoad(314, (unsigned long)(&i), (long long)i);
                __CrestStore(315, (unsigned long)(&j));
                j = i;
                __CrestLoad(320, (unsigned long)0, (long long)2);
                __CrestLoad(319, (unsigned long)(&j), (long long)j);
                __CrestApply2(318, 2, (long long)(2 * j));
                __CrestLoad(317, (unsigned long)0, (long long)1);
                __CrestApply2(316, 0, (long long)(2 * j + 1));
                __CrestStore(321, (unsigned long)(&i));
                i = 2 * j + 1;
              } else {
                __CrestBranch(311, 100, 0);
                __CrestLoad(322, (unsigned long)(&n), (long long)n);
                __CrestStore(323, (unsigned long)(&i));
                i = n;
              }
            }
          }
        } else {
          __CrestBranch(288, 101, 0);
        }
      }
    }
    mem_17 = a + j;
    __CrestLoad(324, (unsigned long)(&item), (long long)item);
    __CrestStore(325, (unsigned long)mem_17);
    *mem_17 = item;
    {
      __CrestReturn(326);
      return;
    }
  }
}
```