user: 下面的汇编指令对应的C源代码是什么:

```asm
<min_inserts>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x68,%rsp
  mov    %esi,0x20(%rsp)
  mov    %edx,0x24(%rsp)
  cmp    %esi,%edx
  je     L861
  add    $0x1,%esi
  movl   $0x0,0x38(%rsp)
  mov    %esi,0x2c(%rsp)
  cmp    %esi,%edx
  je     L881
L1153:
  movslq 0x20(%rsp),%rax
  movzbl (%rdi,%rax,1),%r9d
  movslq 0x24(%rsp),%rax
  movzbl (%rdi,%rax,1),%ecx
  lea    -0x1(%rax),%esi
  mov    %esi,0x30(%rsp)
  mov    %cl,0x14(%rsp)
  cmp    %cl,%r9b
  je     L167
  mov    %eax,0x10(%rsp)
  movslq 0x2c(%rsp),%rax
  movl   $0x0,0x34(%rsp)
  mov    %eax,0x8(%rsp)
  mov    %r9b,0x3c(%rsp)
L618:
  lea    0x1(%rax),%esi
  movzbl (%rdi,%rax,1),%r9d
  mov    %esi,0xc(%rsp)
  cmp    0x10(%rsp),%esi
  je     L1148
  mov    0x10(%rsp),%esi
  lea    -0x1(%rsi),%eax
  mov    %eax,0x18(%rsp)
  movzbl 0x14(%rsp),%eax
  cmp    %r9b,%al
  je     L516
  mov    0x8(%rsp),%ecx
  lea    0x2(%rcx),%r11d
  cmp    %esi,%r11d
  je     L4
  movl   $0x0,0x1c(%rsp)
  movslq 0xc(%rsp),%r14
  mov    %esi,%r12d
  mov    %r9b,0x28(%rsp)
L440:
  movslq %r14d,%rdx
  lea    -0x1(%r12),%ecx
  movzbl (%rdi,%rdx,1),%r13d
  cmp    %al,%r13b
  je     L439
  cmp    %r12d,%r11d
  je     L232
  lea    0x1(%r11),%ebx
  cmp    %ebx,%r12d
  je     L1197
  mov    %r12d,%ebp
  mov    %r11d,%r15d
  xor    %r10d,%r10d
  mov    %r12d,%r8d
L974:
  movslq %r15d,%rdx
  lea    -0x1(%rbp),%r12d
  cmp    %al,(%rdi,%rdx,1)
  je     L1007
  mov    %ebp,%edx
  mov    %ebx,%esi
  mov    %ecx,0x5c(%rsp)
  mov    %r10d,0x58(%rsp)
  mov    %r8d,0x54(%rsp)
  mov    %r11d,0x50(%rsp)
  mov    %rdi,0x48(%rsp)
  call   <min_inserts>
  mov    0x48(%rsp),%rdi
  mov    %r15d,%esi
  mov    %r12d,%edx
  mov    %eax,0x40(%rsp)
  call   <min_inserts>
  mov    0x58(%rsp),%r10d
  mov    0x48(%rsp),%rdi
  mov    0x50(%rsp),%r11d
  mov    0x54(%rsp),%r8d
  add    $0x1,%r10d
  cmp    %eax,0x40(%rsp)
  mov    0x5c(%rsp),%ecx
  cmovl  %ebx,%r15d
  cmovge %r12d,%ebp
  cmp    %ebp,%r15d
  je     L513
  nopl   (%rax)
L301:
  movslq %ebp,%rax
  lea    0x1(%r15),%ebx
  movzbl (%rdi,%rax,1),%eax
  cmp    %ebp,%ebx
  jne    L974
  mov    %r8d,%r12d
L2:
  movslq %r15d,%r15
  cmp    %al,(%rdi,%r15,1)
  setne  %al
  movzbl %al,%eax
  add    %eax,%r10d
L434:
  cmp    %ecx,%r14d
  je     L263
L320:
  lea    0x1(%r14),%r15d
  mov    %ecx,%ebx
  cmp    %ecx,%r15d
  je     L1272
  mov    %r14d,%ebp
  xor    %r9d,%r9d
  mov    %r13d,%edx
L1185:
  movslq %ebx,%rax
  lea    -0x1(%rbx),%r13d
  cmp    %dl,(%rdi,%rax,1)
  je     L461
  mov    %ebx,%edx
  mov    %r15d,%esi
  mov    %ecx,0x5c(%rsp)
  mov    %r10d,0x58(%rsp)
  mov    %r9d,0x54(%rsp)
  mov    %r11d,0x50(%rsp)
  mov    %rdi,0x48(%rsp)
  call   <min_inserts>
  mov    0x48(%rsp),%rdi
  mov    %ebp,%esi
  mov    %r13d,%edx
  mov    %eax,0x40(%rsp)
  call   <min_inserts>
  mov    0x54(%rsp),%r9d
  mov    0x48(%rsp),%rdi
  mov    0x50(%rsp),%r11d
  mov    0x58(%rsp),%r10d
  add    $0x1,%r9d
  cmp    %eax,0x40(%rsp)
  mov    0x5c(%rsp),%ecx
  cmovl  %r15d,%ebp
  cmovge %r13d,%ebx
  nopl   0x0(%rax)
L1249:
  cmp    %ebp,%ebx
  je     L1048
  movslq %ebp,%rax
  lea    0x1(%rbp),%r15d
  movzbl (%rdi,%rax,1),%edx
  cmp    %ebx,%r15d
  jne    L1185
  mov    %edx,%r13d
L1264:
  movslq %ebx,%rbx
  xor    %eax,%eax
  cmp    %r13b,(%rdi,%rbx,1)
  setne  %al
  add    %eax,%r9d
L1048:
  cmp    %r9d,%r10d
  jge    L263
  addl   $0x1,0x1c(%rsp)
  movslq %r11d,%r14
L231:
  cmp    %r14d,%r12d
  je     L1285
L988:
  movslq %r12d,%rax
  lea    0x1(%r14),%r11d
  movzbl (%rdi,%rax,1),%eax
  cmp    %r12d,%r11d
  jne    L440
  movzbl 0x28(%rsp),%r9d
L43:
  cmp    %al,(%rdi,%r14,1)
  setne  %al
  movzbl %al,%eax
  add    %eax,0x1c(%rsp)
L655:
  mov    0x8(%rsp),%r14d
  mov    0x18(%rsp),%r12d
  cmp    %r12d,%r14d
  je     L1115
  mov    0xc(%rsp),%eax
  xor    %r10d,%r10d
  mov    %eax,%r11d
  cmp    %r12d,%eax
  je     L576
  mov    %r10d,0x28(%rsp)
  mov    %r9d,%r13d
L606:
  movslq %r12d,%rax
  lea    -0x1(%r12),%ecx
  movzbl (%rdi,%rax,1),%eax
  cmp    %r13b,%al
  je     L1101
  cmp    %r12d,%r11d
  je     L769
  lea    0x1(%r11),%r15d
  cmp    %r15d,%r12d
  je     L160
  mov    %r11d,%ebx
  mov    %r12d,%r9d
  xor    %r10d,%r10d
  movslq %ebx,%rdx
  lea    -0x1(%r9),%ebp
  cmp    %al,(%rdi,%rdx,1)
  je     L1263
L815:
  mov    %r9d,%edx
  mov    %r15d,%esi
  mov    %ecx,0x5c(%rsp)
  mov    %r10d,0x58(%rsp)
  mov    %r11d,0x54(%rsp)
  mov    %r9d,0x50(%rsp)
  mov    %rdi,0x48(%rsp)
  call   <min_inserts>
  mov    0x48(%rsp),%rdi
  mov    %ebp,%edx
  mov    %ebx,%esi
  mov    %eax,0x40(%rsp)
  call   <min_inserts>
  mov    0x58(%rsp),%r10d
  mov    0x50(%rsp),%r9d
  mov    0x48(%rsp),%rdi
  mov    0x54(%rsp),%r11d
  add    $0x1,%r10d
  cmp    %eax,0x40(%rsp)
  mov    0x5c(%rsp),%ecx
  cmovl  %r9d,%ebp
  cmovge %ebx,%r15d
L1263:
  cmp    %ebp,%r15d
  je     L326
L298:
  lea    0x1(%r15),%edx
  cmp    %edx,%ebp
  je     L1089
  mov    %r15d,%ebx
  movslq %ebp,%rax
  mov    %ebp,%r9d
  mov    %edx,%r15d
  movslq %ebx,%rdx
  movzbl (%rdi,%rax,1),%eax
  lea    -0x1(%r9),%ebp
  cmp    %al,(%rdi,%rdx,1)
  jne    L815
  cmp    %ebp,%r15d
  jne    L298
  nopl   (%rax)
L326:
  cmp    %ecx,%r14d
  je     L90
  lea    0x1(%r14),%r15d
  mov    %ecx,%ebx
  cmp    %ecx,%r15d
  je     L1023
  mov    %r14d,%ebp
  xor    %r9d,%r9d
  mov    %r13d,%edx
L1095:
  movslq %ebx,%rax
  lea    -0x1(%rbx),%r13d
  cmp    %dl,(%rdi,%rax,1)
  je     L170
  mov    %ebx,%edx
  mov    %r15d,%esi
  mov    %ecx,0x5c(%rsp)
  mov    %r9d,0x58(%rsp)
  mov    %r10d,0x54(%rsp)
  mov    %r11d,0x50(%rsp)
  mov    %rdi,0x48(%rsp)
  call   <min_inserts>
  mov    0x48(%rsp),%rdi
  mov    %ebp,%esi
  mov    %r13d,%edx
  mov    %eax,0x40(%rsp)
  call   <min_inserts>
  mov    0x58(%rsp),%r9d
  mov    0x48(%rsp),%rdi
  mov    0x50(%rsp),%r11d
  mov    0x54(%rsp),%r10d
  add    $0x1,%r9d
  cmp    %eax,0x40(%rsp)
  mov    0x5c(%rsp),%ecx
  cmovl  %r15d,%ebp
  cmovge %r13d,%ebx
  cs nopw 0x0(%rax,%rax,1)
L392:
  cmp    %ebx,%ebp
  je     L203
  movslq %ebp,%rax
  lea    0x1(%rbp),%r15d
  movzbl (%rdi,%rax,1),%edx
  cmp    %ebx,%r15d
  jne    L1095
  mov    %edx,%r13d
L5:
  movslq %ebx,%rbx
  xor    %eax,%eax
  cmp    %r13b,(%rdi,%rbx,1)
  setne  %al
  add    %eax,%r9d
L203:
  cmp    %r9d,%r10d
  jge    L90
  mov    %r11d,%r14d
  addl   $0x1,0x28(%rsp)
  cmp    %r14d,%r12d
  jne    L121
L643:
  mov    0x28(%rsp),%r10d
  cmp    %r10d,0x1c(%rsp)
  jl     L162
L1115:
  mov    0x8(%rsp),%eax
  addl   $0x1,0x34(%rsp)
  mov    %eax,0xc(%rsp)
L516:
  mov    0xc(%rsp),%ecx
  mov    0x18(%rsp),%esi
  cmp    %esi,%ecx
  je     L971
  movslq %esi,%rax
  mov    %ecx,0x8(%rsp)
  movzbl (%rdi,%rax,1),%eax
  mov    %esi,0x10(%rsp)
  mov    %al,0x14(%rsp)
  movslq %ecx,%rax
  jmp    L618
  nopl   0x0(%rax)
L461:
  mov    %r13d,%ebx
  mov    %r15d,%ebp
  jmp    L1249
  nopl   0x0(%rax,%rax,1)
L1007:
  mov    %r12d,%ebp
  mov    %ebx,%r15d
  cmp    %ebp,%r15d
  jne    L301
L513:
  mov    %r8d,%r12d
  cmp    %ecx,%r14d
  jne    L320
  nopl   0x0(%rax,%rax,1)
L263:
  mov    %ecx,%r12d
  addl   $0x1,0x1c(%rsp)
  cmp    %r14d,%r12d
  jne    L988
L1285:
  movzbl 0x28(%rsp),%r9d
  jmp    L655
  nopl   0x0(%rax)
L439:
  mov    %ecx,%r12d
  movslq %r11d,%r14
  jmp    L231
  nopl   0x0(%rax,%rax,1)
L1101:
  mov    %ecx,%r12d
  mov    %r11d,%r14d
L1232:
  cmp    %r14d,%r12d
  je     L643
L121:
  movslq %r14d,%rax
  lea    0x1(%r14),%r11d
  movzbl (%rdi,%rax,1),%r13d
  cmp    %r11d,%r12d
  jne    L606
  mov    0x28(%rsp),%r10d
  mov    %r13d,%r9d
L576:
  movslq %r11d,%r11
  xor    %eax,%eax
  cmp    %r9b,(%rdi,%r11,1)
  setne  %al
  add    %eax,%r10d
  cmp    %r10d,0x1c(%rsp)
  jge    L1115
L162:
  movslq 0xc(%rsp),%rax
  addl   $0x1,0x34(%rsp)
  mov    %eax,0x8(%rsp)
  jmp    L618
  nopl   0x0(%rax)
L170:
  mov    %r13d,%ebx
  mov    %r15d,%ebp
  jmp    L392
  nopl   0x0(%rax,%rax,1)
L90:
  addl   $0x1,0x28(%rsp)
  mov    %ecx,%r12d
  jmp    L1232
  nopw   0x0(%rax,%rax,1)
L1089:
  movslq %ebp,%rbp
  movzbl (%rdi,%rbp,1),%eax
L538:
  movslq %r15d,%r15
  cmp    %al,(%rdi,%r15,1)
  setne  %al
  movzbl %al,%eax
  add    %eax,%r10d
  jmp    L326
  nopl   0x0(%rax)
L167:
  mov    0x2c(%rsp),%eax
  mov    %esi,0x24(%rsp)
  mov    %eax,0x20(%rsp)
L1187:
  mov    0x24(%rsp),%esi
  cmp    %esi,%eax
  je     L1063
  add    $0x1,%eax
  mov    %eax,0x2c(%rsp)
  cmp    %esi,%eax
  jne    L1153
L881:
  movslq 0x20(%rsp),%rdx
  movslq 0x24(%rsp),%rax
  movzbl (%rdi,%rax,1),%eax
  cmp    %al,(%rdi,%rdx,1)
  setne  %al
  movzbl %al,%eax
  add    %eax,0x38(%rsp)
L1063:
  mov    0x38(%rsp),%eax
  add    $0x68,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopl   0x0(%rax)
L971:
  movzbl 0x3c(%rsp),%r9d
L852:
  mov    0x20(%rsp),%esi
  mov    0x30(%rsp),%eax
  cmp    %eax,%esi
  je     L789
  mov    0x2c(%rsp),%ecx
  mov    %ecx,0x10(%rsp)
  cmp    %eax,%ecx
  je     L786
  mov    %esi,0xc(%rsp)
  mov    %r9d,%r11d
  movl   $0x0,0x28(%rsp)
  mov    %eax,0x8(%rsp)
L810:
  movslq 0x8(%rsp),%rax
  mov    %rax,%rsi
  movzbl (%rdi,%rax,1),%eax
  lea    -0x1(%rsi),%ecx
  mov    %ecx,0x14(%rsp)
  cmp    %r11b,%al
  je     L1202
  movslq 0x10(%rsp),%r15
  cmp    %esi,%r15d
  je     L1244
  lea    0x1(%r15),%r9d
  cmp    %esi,%r9d
  je     L171
  movl   $0x0,0x18(%rsp)
  mov    %esi,%r12d
  mov    %r11b,0x1c(%rsp)
L111:
  movslq %r15d,%rdx
  lea    -0x1(%r12),%ecx
  movzbl (%rdi,%rdx,1),%r14d
  cmp    %al,%r14b
  je     L112
  cmp    %r9d,%r12d
  je     L44
  lea    0x1(%r9),%ebx
  cmp    %r12d,%ebx
  je     L314
  mov    %r12d,%ebp
  mov    %r9d,%r13d
  xor    %r11d,%r11d
  mov    %r12d,%r8d
L114:
  movslq %r13d,%rdx
  lea    -0x1(%rbp),%r12d
  cmp    %al,(%rdi,%rdx,1)
  je     L1093
  mov    %ebp,%edx
  mov    %ebx,%esi
  mov    %ecx,0x58(%rsp)
  mov    %r8d,0x54(%rsp)
  mov    %r11d,0x50(%rsp)
  mov    %r9d,0x48(%rsp)
  mov    %rdi,0x40(%rsp)
  call   <min_inserts>
  mov    0x40(%rsp),%rdi
  mov    %r13d,%esi
  mov    %r12d,%edx
  mov    %eax,0x3c(%rsp)
  call   <min_inserts>
  mov    0x50(%rsp),%r11d
  mov    0x40(%rsp),%rdi
  mov    0x48(%rsp),%r9d
  mov    0x54(%rsp),%r8d
  add    $0x1,%r11d
  cmp    %eax,0x3c(%rsp)
  mov    0x58(%rsp),%ecx
  cmovl  %ebx,%r13d
  cmovge %r12d,%ebp
  cmp    %ebp,%r13d
  je     L273
  cs nopw 0x0(%rax,%rax,1)
L869:
  movslq %ebp,%rax
  lea    0x1(%r13),%ebx
  movzbl (%rdi,%rax,1),%eax
  cmp    %ebp,%ebx
  jne    L114
  mov    %r8d,%r12d
L914:
  movslq %r13d,%r13
  cmp    %al,(%rdi,%r13,1)
  setne  %al
  movzbl %al,%eax
  add    %eax,%r11d
L1217:
  cmp    %ecx,%r15d
  je     L648
L1223:
  lea    0x1(%r15),%r13d
  cmp    %ecx,%r13d
  je     L550
  mov    %ecx,%ebx
  mov    %r15d,%ebp
  xor    %r10d,%r10d
  mov    %r14d,%edx
L1277:
  movslq %ebx,%rax
  lea    -0x1(%rbx),%r14d
  cmp    %dl,(%rdi,%rax,1)
  je     L1049
  mov    %ebx,%edx
  mov    %r13d,%esi
  mov    %ecx,0x58(%rsp)
  mov    %r10d,0x54(%rsp)
  mov    %r11d,0x50(%rsp)
  mov    %r9d,0x48(%rsp)
  mov    %rdi,0x40(%rsp)
  call   <min_inserts>
  mov    0x40(%rsp),%rdi
  mov    %ebp,%esi
  mov    %r14d,%edx
  mov    %eax,0x3c(%rsp)
  call   <min_inserts>
  mov    0x54(%rsp),%r10d
  mov    0x40(%rsp),%rdi
  mov    0x48(%rsp),%r9d
  mov    0x50(%rsp),%r11d
  add    $0x1,%r10d
  cmp    %eax,0x3c(%rsp)
  mov    0x58(%rsp),%ecx
  cmovl  %r13d,%ebp
  cmovge %r14d,%ebx
  nopl   0x0(%rax)
L334:
  cmp    %ebp,%ebx
  je     L1262
  movslq %ebp,%rax
  lea    0x1(%rbp),%r13d
  movzbl (%rdi,%rax,1),%edx
  cmp    %r13d,%ebx
  jne    L1277
  mov    %edx,%r14d
L1176:
  movslq %r13d,%r13
  xor    %eax,%eax
  cmp    %r14b,(%rdi,%r13,1)
  setne  %al
  add    %eax,%r10d
L1262:
  cmp    %r10d,%r11d
  jge    L648
  addl   $0x1,0x18(%rsp)
  movslq %r9d,%r15
L430:
  cmp    %r12d,%r15d
  je     L1131
L26:
  movslq %r12d,%rax
  lea    0x1(%r15),%r9d
  movzbl (%rdi,%rax,1),%eax
  cmp    %r12d,%r9d
  jne    L111
  movzbl 0x1c(%rsp),%r11d
L876:
  cmp    %al,(%rdi,%r15,1)
  setne  %al
  movzbl %al,%eax
  add    %eax,0x18(%rsp)
L629:
  mov    0xc(%rsp),%r14d
  mov    0x14(%rsp),%eax
  cmp    %eax,%r14d
  je     L752
  lea    0x1(%r14),%ecx
  cmp    %eax,%ecx
  je     L909
  xor    %r10d,%r10d
  mov    %eax,%r12d
  mov    %r11d,%r15d
  mov    %r10d,0x1c(%rsp)
L268:
  movslq %r12d,%rax
  lea    -0x1(%r12),%r8d
  movzbl (%rdi,%rax,1),%eax
  cmp    %r15b,%al
  je     L612
  cmp    %ecx,%r12d
  je     L445
  lea    0x1(%rcx),%ebx
  cmp    %r12d,%ebx
  je     L1088
  mov    %r12d,%ebp
  mov    %ecx,%r13d
  xor    %r11d,%r11d
  mov    %r12d,%r9d
L389:
  movslq %r13d,%rdx
  lea    -0x1(%rbp),%r12d
  cmp    %al,(%rdi,%rdx,1)
  je     L1251
  mov    %ebp,%edx
  mov    %ebx,%esi
  mov    %r8d,0x58(%rsp)
  mov    %r11d,0x54(%rsp)
  mov    %ecx,0x50(%rsp)
  mov    %r9d,0x48(%rsp)
  mov    %rdi,0x40(%rsp)
  call   <min_inserts>
  mov    0x40(%rsp),%rdi
  mov    %r13d,%esi
  mov    %r12d,%edx
  mov    %eax,0x3c(%rsp)
  call   <min_inserts>
  mov    0x54(%rsp),%r11d
  mov    0x40(%rsp),%rdi
  mov    0x48(%rsp),%r9d
  mov    0x50(%rsp),%ecx
  add    $0x1,%r11d
  cmp    %eax,0x3c(%rsp)
  mov    0x58(%rsp),%r8d
  cmovl  %ebx,%r13d
  cmovge %r12d,%ebp
  cmp    %ebp,%r13d
  je     L716
  nopl   0x0(%rax)
L190:
  movslq %ebp,%rax
  lea    0x1(%r13),%ebx
  movzbl (%rdi,%rax,1),%eax
  cmp    %ebp,%ebx
  jne    L389
  mov    %r9d,%r12d
L590:
  movslq %r13d,%r13
  cmp    %al,(%rdi,%r13,1)
  setne  %al
  movzbl %al,%eax
  add    %eax,%r11d
L874:
  cmp    %r8d,%r14d
  je     L184
L30:
  lea    0x1(%r14),%r13d
  cmp    %r8d,%r13d
  je     L831
  mov    %r8d,%ebx
  mov    %r14d,%ebp
  xor    %r10d,%r10d
  mov    %r15d,%edx
L131:
  movslq %ebx,%rax
  lea    -0x1(%rbx),%r15d
  cmp    %dl,(%rdi,%rax,1)
  je     L1175
  mov    %ebx,%edx
  mov    %r13d,%esi
  mov    %r8d,0x58(%rsp)
  mov    %r10d,0x54(%rsp)
  mov    %r11d,0x50(%rsp)
  mov    %ecx,0x48(%rsp)
  mov    %rdi,0x40(%rsp)
  call   <min_inserts>
  mov    0x40(%rsp),%rdi
  mov    %ebp,%esi
  mov    %r15d,%edx
  mov    %eax,0x3c(%rsp)
  call   <min_inserts>
  mov    0x54(%rsp),%r10d
  mov    0x40(%rsp),%rdi
  mov    0x48(%rsp),%ecx
  mov    0x50(%rsp),%r11d
  add    $0x1,%r10d
  cmp    %eax,0x3c(%rsp)
  mov    0x58(%rsp),%r8d
  cmovl  %r13d,%ebp
  cmovge %r15d,%ebx
  nopl   (%rax)
L1078:
  cmp    %ebx,%ebp
  je     L96
  movslq %ebp,%rax
  lea    0x1(%rbp),%r13d
  movzbl (%rdi,%rax,1),%edx
  cmp    %r13d,%ebx
  jne    L131
  mov    %edx,%r15d
L950:
  movslq %r13d,%r13
  xor    %eax,%eax
  cmp    %r15b,(%rdi,%r13,1)
  setne  %al
  add    %eax,%r10d
L96:
  cmp    %r10d,%r11d
  jge    L184
  addl   $0x1,0x1c(%rsp)
  mov    %ecx,%r14d
L490:
  cmp    %r12d,%r14d
  je     L709
L110:
  movslq %r14d,%rax
  lea    0x1(%r14),%ecx
  movzbl (%rdi,%rax,1),%r15d
  cmp    %ecx,%r12d
  jne    L268
  mov    0x1c(%rsp),%r10d
  mov    %r15d,%r11d
L379:
  movslq %ecx,%rcx
  xor    %eax,%eax
  cmp    %r11b,(%rdi,%rcx,1)
  setne  %al
  add    %eax,%r10d
  cmp    %r10d,0x18(%rsp)
  jge    L752
L1050:
  movslq 0x10(%rsp),%rax
  addl   $0x1,0x28(%rsp)
  mov    %eax,0xc(%rsp)
L1268:
  mov    0x8(%rsp),%esi
  cmp    %esi,%eax
  je     L1058
  lea    0x1(%rax),%ecx
  movzbl (%rdi,%rax,1),%r11d
  mov    %ecx,0x10(%rsp)
  cmp    %esi,%ecx
  jne    L810
  mov    %esi,%r8d
  mov    %r11d,%r9d
L725:
  movslq %r8d,%rax
  cmp    %r9b,(%rdi,%rax,1)
  setne  %al
  movzbl %al,%eax
  add    %eax,0x28(%rsp)
L1058:
  mov    0x28(%rsp),%esi
  cmp    %esi,0x34(%rsp)
  jge    L789
  mov    0x2c(%rsp),%eax
  addl   $0x1,0x38(%rsp)
  mov    %eax,0x20(%rsp)
  jmp    L1187
  nopl   0x0(%rax)
L1175:
  mov    %r15d,%ebx
  mov    %r13d,%ebp
  jmp    L1078
  nopl   0x0(%rax,%rax,1)
L1251:
  mov    %r12d,%ebp
  mov    %ebx,%r13d
  cmp    %ebp,%r13d
  jne    L190
L716:
  mov    %r9d,%r12d
  cmp    %r8d,%r14d
  jne    L30
  nopl   0x0(%rax,%rax,1)
L184:
  mov    %r8d,%r12d
  addl   $0x1,0x1c(%rsp)
  cmp    %r12d,%r14d
  jne    L110
L709:
  mov    0x1c(%rsp),%r10d
  cmp    %r10d,0x18(%rsp)
  jl     L1050
L752:
  mov    0x14(%rsp),%eax
  addl   $0x1,0x28(%rsp)
  mov    %eax,0x8(%rsp)
  movslq 0xc(%rsp),%rax
  jmp    L1268
L1049:
  mov    %r14d,%ebx
  mov    %r13d,%ebp
  jmp    L334
  nopl   0x0(%rax,%rax,1)
L1093:
  mov    %r12d,%ebp
  mov    %ebx,%r13d
  cmp    %ebp,%r13d
  jne    L869
L273:
  mov    %r8d,%r12d
  cmp    %ecx,%r15d
  jne    L1223
  nopl   0x0(%rax,%rax,1)
L648:
  mov    %ecx,%r12d
  addl   $0x1,0x18(%rsp)
  cmp    %r12d,%r15d
  jne    L26
L1131:
  movzbl 0x1c(%rsp),%r11d
  jmp    L629
  nopl   0x0(%rax)
L612:
  mov    %r8d,%r12d
  mov    %ecx,%r14d
  jmp    L490
  nopl   0x0(%rax,%rax,1)
L112:
  mov    %ecx,%r12d
  movslq %r9d,%r15
  jmp    L430
  nopl   0x0(%rax,%rax,1)
L1202:
  movslq 0x10(%rsp),%rax
  mov    %ecx,0x8(%rsp)
  mov    %eax,0xc(%rsp)
  jmp    L1268
  nopw   0x0(%rax,%rax,1)
L789:
  mov    0x30(%rsp),%eax
  addl   $0x1,0x38(%rsp)
  mov    %eax,0x24(%rsp)
  mov    0x20(%rsp),%eax
  jmp    L1187
  xchg   %ax,%ax
L1148:
  mov    %r9d,%r8d
  xor    %eax,%eax
  cmp    %r8b,0x14(%rsp)
  movzbl 0x3c(%rsp),%r9d
  setne  %al
  add    %eax,0x34(%rsp)
  jmp    L852
  nopl   0x0(%rax)
L445:
  xor    %r11d,%r11d
  jmp    L874
  nopl   0x0(%rax,%rax,1)
L232:
  xor    %r10d,%r10d
  jmp    L434
  nopl   0x0(%rax,%rax,1)
L44:
  xor    %r11d,%r11d
  jmp    L1217
  nopl   0x0(%rax,%rax,1)
L769:
  xor    %r10d,%r10d
  jmp    L326
  nopl   0x0(%rax,%rax,1)
L314:
  mov    %r9d,%r13d
  xor    %r11d,%r11d
  jmp    L914
  nopl   0x0(%rax,%rax,1)
L160:
  mov    %r11d,%r15d
  xor    %r10d,%r10d
  jmp    L538
  nopl   0x0(%rax,%rax,1)
L831:
  xor    %r10d,%r10d
  jmp    L950
  nopl   0x0(%rax,%rax,1)
L550:
  xor    %r10d,%r10d
  jmp    L1176
  nopl   0x0(%rax,%rax,1)
L1088:
  mov    %ecx,%r13d
  xor    %r11d,%r11d
  jmp    L590
  nopl   0x0(%rax,%rax,1)
L1197:
  mov    %r11d,%r15d
  xor    %r10d,%r10d
  jmp    L2
  nopl   0x0(%rax,%rax,1)
L1023:
  xor    %r9d,%r9d
  jmp    L5
  nopl   0x0(%rax,%rax,1)
L1272:
  xor    %r9d,%r9d
  jmp    L1264
  nopl   0x0(%rax,%rax,1)
L1244:
  movl   $0x0,0x18(%rsp)
  jmp    L629
  nopl   (%rax)
L4:
  movl   $0x0,0x1c(%rsp)
  movslq 0xc(%rsp),%r14
  jmp    L43
  nopw   0x0(%rax,%rax,1)
L171:
  movl   $0x0,0x18(%rsp)
  jmp    L876
  nopl   (%rax)
L909:
  xor    %r10d,%r10d
  jmp    L379
L786:
  movl   $0x0,0x28(%rsp)
  mov    %ecx,%r8d
  jmp    L725
L861:
  movl   $0x0,0x38(%rsp)
  jmp    L1063
```

assistant: ```c
int min_inserts(char str[], int l, int h) {
  if (l == h) {
    return 0;
  }
  if (l + 1 == h) {
    if (str[l] == str[h])
      return 0;
    else
      return 1;
  }
  return (str[l] == str[h] ? min_inserts(str, l + 1, h - 1) : 1 + ((min_inserts(str, l + 1, h) < min_inserts(str, l, h - 1)) ? min_inserts(str, l + 1, h) : min_inserts(str, l, h - 1)));
}
```