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

```asm
<main>:
  endbr64
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  lea    -0xc000(%rsp),%r11
L905:
  sub    $0x1000,%rsp
  orq    $0x0,(%rsp)
  cmp    %r11,%rsp
  jne    L905
  sub    $0x820,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0xc818(%rsp)
  xor    %eax,%eax
  lea    D296(%rip),%rdi
  call   <puts@plt>
  movl   $0x7b,0x4(%rsp)
  mov    $0x0,%edx
L611:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L611
  movb   $0xa5,0xa011(%rsp)
  lea    0xa010(%rsp),%r13
  lea    0xc810(%rsp),%rbx
  mov    %r13,%rax
  mov    $0x0,%edx
L960:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L960
  mov    $0x1,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L801:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L801
  movw   $0xa5a5,0xa012(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L192:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L192
  mov    $0x2,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L302:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L302
  movw   $0xa5a5,0xa013(%rsp)
  movb   $0xa5,0xa015(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L893:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L893
  mov    $0x3,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L933:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L933
  movl   $0xa5a5a5a5,0xa014(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L442:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L442
  mov    $0x4,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L916:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L916
  movl   $0xa5a5a5a5,0xa015(%rsp)
  movb   $0xa5,0xa019(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L435:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L435
  mov    $0x5,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L934:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L934
  movl   $0xa5a5a5a5,0xa016(%rsp)
  movw   $0xa5a5,0xa01a(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L858:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L858
  mov    $0x6,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L1003:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L1003
  movl   $0xa5a5a5a5,0xa017(%rsp)
  movw   $0xa5a5,0xa01b(%rsp)
  movb   $0xa5,0xa01d(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L770:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L770
  mov    $0x7,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L865:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L865
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0xa018(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L902:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L902
  mov    $0x8,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L170:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L170
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0xa019(%rsp)
  movb   $0xa5,0xa021(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L1078:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L1078
  mov    $0x9,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L350:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L350
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0xa01a(%rsp)
  movw   $0xa5a5,0xa022(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L676:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L676
  mov    $0xa,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L178:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L178
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0xa020(%rsp)
  mov    %rdx,0xa028(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L823:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L823
  mov    $0x10,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L461:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L461
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0xa01f(%rsp)
  mov    %rdx,0xa027(%rsp)
  mov    %rax,0xa02f(%rsp)
  mov    %rdx,0xa037(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L1007:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L1007
  mov    $0x20,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L632:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L632
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0xa01d(%rsp)
  mov    %rdx,0xa025(%rsp)
  mov    %rax,0xa02d(%rsp)
  mov    %rdx,0xa035(%rsp)
  mov    %rax,0xa03d(%rsp)
  mov    %rdx,0xa045(%rsp)
  mov    %rax,0xa04d(%rsp)
  mov    %rdx,0xa055(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L1111:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L1111
  mov    $0x40,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L1083:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L1083
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0xa019(%rsp)
  mov    %rdx,0xa021(%rsp)
  mov    %rax,0xa029(%rsp)
  mov    %rdx,0xa031(%rsp)
  mov    %rax,0xa039(%rsp)
  mov    %rdx,0xa041(%rsp)
  mov    %rax,0xa049(%rsp)
  mov    %rdx,0xa051(%rsp)
  mov    %rax,0xa059(%rsp)
  mov    %rdx,0xa061(%rsp)
  mov    %rax,0xa069(%rsp)
  mov    %rdx,0xa071(%rsp)
  mov    %rax,0xa079(%rsp)
  mov    %rdx,0xa081(%rsp)
  mov    %rax,0xa089(%rsp)
  mov    %rdx,0xa091(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L52:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L52
  mov    $0x80,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L340:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L340
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0xa011(%rsp)
  mov    %rdx,0xa019(%rsp)
  mov    %rax,0xa021(%rsp)
  mov    %rdx,0xa029(%rsp)
  mov    %rax,0xa031(%rsp)
  mov    %rdx,0xa039(%rsp)
  mov    %rax,0xa041(%rsp)
  mov    %rdx,0xa049(%rsp)
  mov    %rax,0xa051(%rsp)
  mov    %rdx,0xa059(%rsp)
  mov    %rax,0xa061(%rsp)
  mov    %rdx,0xa069(%rsp)
  mov    %rax,0xa071(%rsp)
  mov    %rdx,0xa079(%rsp)
  mov    %rax,0xa081(%rsp)
  mov    %rdx,0xa089(%rsp)
  mov    %rax,0xa091(%rsp)
  mov    %rdx,0xa099(%rsp)
  mov    %rax,0xa0a1(%rsp)
  mov    %rdx,0xa0a9(%rsp)
  mov    %rax,0xa0b1(%rsp)
  mov    %rdx,0xa0b9(%rsp)
  mov    %rax,0xa0c1(%rsp)
  mov    %rdx,0xa0c9(%rsp)
  mov    %rax,0xa0d1(%rsp)
  mov    %rdx,0xa0d9(%rsp)
  mov    %rax,0xa0e1(%rsp)
  mov    %rdx,0xa0e9(%rsp)
  mov    %rax,0xa0f1(%rsp)
  mov    %rdx,0xa0f9(%rsp)
  mov    %rax,0xa101(%rsp)
  mov    %rdx,0xa109(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L817:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L817
  mov    $0x100,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L962:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L962
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0xa012(%rsp)
  mov    %rax,0xa20a(%rsp)
  lea    0xa018(%rsp),%rdi
  mov    $0x3f,%ecx
  rep stos %rax,%es:(%rdi)
  mov    %r13,%rax
  mov    $0x0,%edx
L586:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L586
  mov    $0x200,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%edx
L679:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L679
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0xa014(%rsp)
  mov    %rax,0xa40c(%rsp)
  lea    0xa018(%rsp),%rdi
  mov    $0x7f,%ecx
  rep stos %rax,%es:(%rdi)
  mov    %r13,%rax
  mov    $0x0,%edx
L467:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L467
  mov    $0x400,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xa,%ebp
  lea    D186(%rip),%r14
L775:
  mov    %ebp,%r12d
  mov    $0x0,%edx
L958:
  mov    0x4(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0xa010(%rsp,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L958
  movslq %r12d,%rax
  imul   $0x78787879,%rax,%rax
  sar    $0x23,%rax
  mov    %r12d,%edx
  sar    $0x1f,%edx
  sub    %edx,%eax
  mov    %eax,%edx
  shl    $0x4,%edx
  add    %eax,%edx
  mov    %r12d,%eax
  sub    %edx,%eax
  cltq
  lea    0xa010(%rsp,%rax,1),%rdi
  mov    %rbp,%rdx
  mov    $0xa5,%esi
  call   <memset@plt>
  mov    %r13,%rax
  mov    $0x0,%edx
L623:
  movzbl (%rax),%ecx
  add    %ecx,%edx
  add    $0x1,%rax
  cmp    %rbx,%rax
  jne    L623
  mov    %r12d,%esi
  mov    %r14,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  add    $0xa,%rbp
  cmp    $0x64,%rbp
  jne    L775
  lea    D113(%rip),%rdi
  call   <puts@plt>
  movl   $0x7b,0x8(%rsp)
  mov    $0x0,%eax
L1047:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L1047
  lea    0x10(%rsp),%r13
  movb   $0xa5,0x12(%rsp)
  lea    0x5010(%rsp),%rbx
  mov    %r13,%rax
  mov    $0x0,%edx
L1053:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L1053
  mov    $0x1,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L286:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L286
  movw   $0xa5a5,0x14(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L26:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L26
  mov    $0x2,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L306:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L306
  movw   $0xa5a5,0x16(%rsp)
  movb   $0xa5,0x18(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L619:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L619
  mov    $0x3,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L94:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L94
  movl   $0xa5a5a5a5,0x18(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L211:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L211
  mov    $0x4,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L1118:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L1118
  movl   $0xa5a5a5a5,0x1a(%rsp)
  movb   $0xa5,0x1e(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L378:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L378
  mov    $0x5,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L1101:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L1101
  movl   $0xa5a5a5a5,0x1c(%rsp)
  movw   $0xa5a5,0x20(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L260:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L260
  mov    $0x6,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L785:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L785
  movl   $0xa5a5a5a5,0x1e(%rsp)
  movw   $0xa5a5,0x22(%rsp)
  movb   $0xa5,0x24(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L321:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L321
  mov    $0x7,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L688:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L688
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0x20(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L298:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L298
  mov    $0x8,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L428:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L428
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0x22(%rsp)
  movb   $0xa5,0x2a(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L718:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L718
  mov    $0x9,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L852:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L852
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0x24(%rsp)
  movw   $0xa5a5,0x2c(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L733:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L733
  mov    $0xa,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L123:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L123
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0x30(%rsp)
  mov    %rdx,0x38(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L1012:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L1012
  mov    $0x10,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L784:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L784
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0x2e(%rsp)
  mov    %rdx,0x36(%rsp)
  mov    %rax,0x3e(%rsp)
  mov    %rdx,0x46(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L223:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L223
  mov    $0x20,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L876:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L876
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0x2a(%rsp)
  mov    %rdx,0x32(%rsp)
  mov    %rax,0x3a(%rsp)
  mov    %rdx,0x42(%rsp)
  mov    %rax,0x4a(%rsp)
  mov    %rdx,0x52(%rsp)
  mov    %rax,0x5a(%rsp)
  mov    %rdx,0x62(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L842:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L842
  mov    $0x40,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L729:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L729
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0x22(%rsp)
  mov    %rdx,0x2a(%rsp)
  mov    %rax,0x32(%rsp)
  mov    %rdx,0x3a(%rsp)
  mov    %rax,0x42(%rsp)
  mov    %rdx,0x4a(%rsp)
  mov    %rax,0x52(%rsp)
  mov    %rdx,0x5a(%rsp)
  mov    %rax,0x62(%rsp)
  mov    %rdx,0x6a(%rsp)
  mov    %rax,0x72(%rsp)
  mov    %rdx,0x7a(%rsp)
  mov    %rax,0x82(%rsp)
  mov    %rdx,0x8a(%rsp)
  mov    %rax,0x92(%rsp)
  mov    %rdx,0x9a(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L869:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L869
  mov    $0x80,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L431:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L431
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0x12(%rsp)
  mov    %rdx,0x1a(%rsp)
  mov    %rax,0x22(%rsp)
  mov    %rdx,0x2a(%rsp)
  mov    %rax,0x32(%rsp)
  mov    %rdx,0x3a(%rsp)
  mov    %rax,0x42(%rsp)
  mov    %rdx,0x4a(%rsp)
  mov    %rax,0x52(%rsp)
  mov    %rdx,0x5a(%rsp)
  mov    %rax,0x62(%rsp)
  mov    %rdx,0x6a(%rsp)
  mov    %rax,0x72(%rsp)
  mov    %rdx,0x7a(%rsp)
  mov    %rax,0x82(%rsp)
  mov    %rdx,0x8a(%rsp)
  mov    %rax,0x92(%rsp)
  mov    %rdx,0x9a(%rsp)
  mov    %rax,0xa2(%rsp)
  mov    %rdx,0xaa(%rsp)
  mov    %rax,0xb2(%rsp)
  mov    %rdx,0xba(%rsp)
  mov    %rax,0xc2(%rsp)
  mov    %rdx,0xca(%rsp)
  mov    %rax,0xd2(%rsp)
  mov    %rdx,0xda(%rsp)
  mov    %rax,0xe2(%rsp)
  mov    %rdx,0xea(%rsp)
  mov    %rax,0xf2(%rsp)
  mov    %rdx,0xfa(%rsp)
  mov    %rax,0x102(%rsp)
  mov    %rdx,0x10a(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L897:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L897
  mov    $0x100,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L776:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L776
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0x14(%rsp)
  mov    %rax,0x20c(%rsp)
  lea    0x18(%rsp),%rdi
  mov    $0x3f,%ecx
  rep stos %rax,%es:(%rdi)
  mov    %r13,%rax
  mov    $0x0,%edx
L828:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L828
  mov    $0x200,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L1033:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L1033
  lea    0x18(%rsp),%rdx
  mov    $0x80,%ecx
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rdx,%rdi
  rep stos %rax,%es:(%rdi)
  mov    %r13,%rax
  mov    $0x0,%edx
L377:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L377
  mov    $0x400,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xa,%ebp
  lea    D186(%rip),%r14
L470:
  mov    %ebp,%r12d
  mov    $0x0,%eax
L124:
  mov    0x8(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,0x10(%rsp,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L124
  movslq %r12d,%rax
  imul   $0x78787879,%rax,%rax
  sar    $0x23,%rax
  mov    %r12d,%edx
  sar    $0x1f,%edx
  sub    %edx,%eax
  mov    %eax,%edx
  shl    $0x4,%edx
  add    %eax,%edx
  mov    %r12d,%eax
  sub    %edx,%eax
  cltq
  lea    0x10(%rsp,%rax,2),%rdi
  mov    %rbp,%rdx
  mov    $0xa5,%esi
  call   <memset@plt>
  mov    %r13,%rax
  mov    $0x0,%edx
L1114:
  movzwl (%rax),%ecx
  add    %ecx,%edx
  add    $0x2,%rax
  cmp    %rbx,%rax
  jne    L1114
  mov    %r12d,%esi
  mov    %r14,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  add    $0xa,%rbp
  cmp    $0x64,%rbp
  jne    L470
  lea    D362(%rip),%rdi
  call   <puts@plt>
  movl   $0x7b,0xc(%rsp)
  mov    $0x0,%eax
L1025:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L1025
  lea    0x10(%rsp),%r13
  movb   $0xa5,0x14(%rsp)
  lea    0xa010(%rsp),%rbx
  mov    %r13,%rax
  mov    $0x0,%edx
L209:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rax,%rbx
  jne    L209
  mov    $0x1,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L22:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L22
  movw   $0xa5a5,0x18(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L665:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rax,%rbx
  jne    L665
  mov    $0x2,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L896:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L896
  movw   $0xa5a5,0x1c(%rsp)
  movb   $0xa5,0x1e(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L166:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rax,%rbx
  jne    L166
  mov    $0x3,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L219:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L219
  movl   $0xa5a5a5a5,0x20(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L383:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rax,%rbx
  jne    L383
  mov    $0x4,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L29:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L29
  movl   $0xa5a5a5a5,0x24(%rsp)
  movb   $0xa5,0x28(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L512:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rax,%rbx
  jne    L512
  mov    $0x5,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L834:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L834
  movl   $0xa5a5a5a5,0x28(%rsp)
  movw   $0xa5a5,0x2c(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L148:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rbx,%rax
  jne    L148
  mov    $0x6,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L702:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L702
  movl   $0xa5a5a5a5,0x2c(%rsp)
  movw   $0xa5a5,0x30(%rsp)
  movb   $0xa5,0x32(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L56:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rax,%rbx
  jne    L56
  mov    $0x7,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L173:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L173
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0x30(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L693:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rbx,%rax
  jne    L693
  mov    $0x8,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L72:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L72
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0x34(%rsp)
  movb   $0xa5,0x3c(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L621:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rbx,%rax
  jne    L621
  mov    $0x9,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L279:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L279
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0x38(%rsp)
  movw   $0xa5a5,0x40(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L855:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rbx,%rax
  jne    L855
  mov    $0xa,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L289:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L289
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0x50(%rsp)
  mov    %rdx,0x58(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L108:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rbx,%rax
  jne    L108
  mov    $0x10,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L95:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L95
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0x4c(%rsp)
  mov    %rdx,0x54(%rsp)
  mov    %rax,0x5c(%rsp)
  mov    %rdx,0x64(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L1117:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rax,%rbx
  jne    L1117
  mov    $0x20,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L481:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L481
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0x44(%rsp)
  mov    %rdx,0x4c(%rsp)
  mov    %rax,0x54(%rsp)
  mov    %rdx,0x5c(%rsp)
  mov    %rax,0x64(%rsp)
  mov    %rdx,0x6c(%rsp)
  mov    %rax,0x74(%rsp)
  mov    %rdx,0x7c(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L938:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rbx,%rax
  jne    L938
  mov    $0x40,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L407:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L407
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0x34(%rsp)
  mov    %rdx,0x3c(%rsp)
  mov    %rax,0x44(%rsp)
  mov    %rdx,0x4c(%rsp)
  mov    %rax,0x54(%rsp)
  mov    %rdx,0x5c(%rsp)
  mov    %rax,0x64(%rsp)
  mov    %rdx,0x6c(%rsp)
  mov    %rax,0x74(%rsp)
  mov    %rdx,0x7c(%rsp)
  mov    %rax,0x84(%rsp)
  mov    %rdx,0x8c(%rsp)
  mov    %rax,0x94(%rsp)
  mov    %rdx,0x9c(%rsp)
  mov    %rax,0xa4(%rsp)
  mov    %rdx,0xac(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L579:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rbx,%rax
  jne    L579
  mov    $0x80,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L908:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L908
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movabs $0xa5a5a5a5a5a5a5a5,%rdx
  mov    %rax,0x14(%rsp)
  mov    %rdx,0x1c(%rsp)
  mov    %rax,0x24(%rsp)
  mov    %rdx,0x2c(%rsp)
  mov    %rax,0x34(%rsp)
  mov    %rdx,0x3c(%rsp)
  mov    %rax,0x44(%rsp)
  mov    %rdx,0x4c(%rsp)
  mov    %rax,0x54(%rsp)
  mov    %rdx,0x5c(%rsp)
  mov    %rax,0x64(%rsp)
  mov    %rdx,0x6c(%rsp)
  mov    %rax,0x74(%rsp)
  mov    %rdx,0x7c(%rsp)
  mov    %rax,0x84(%rsp)
  mov    %rdx,0x8c(%rsp)
  mov    %rax,0x94(%rsp)
  mov    %rdx,0x9c(%rsp)
  mov    %rax,0xa4(%rsp)
  mov    %rdx,0xac(%rsp)
  mov    %rax,0xb4(%rsp)
  mov    %rdx,0xbc(%rsp)
  mov    %rax,0xc4(%rsp)
  mov    %rdx,0xcc(%rsp)
  mov    %rax,0xd4(%rsp)
  mov    %rdx,0xdc(%rsp)
  mov    %rax,0xe4(%rsp)
  mov    %rdx,0xec(%rsp)
  mov    %rax,0xf4(%rsp)
  mov    %rdx,0xfc(%rsp)
  mov    %rax,0x104(%rsp)
  mov    %rdx,0x10c(%rsp)
  mov    %r13,%rax
  mov    $0x0,%edx
L538:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rbx,%rax
  jne    L538
  mov    $0x100,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L856:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L856
  lea    0x18(%rsp),%rdx
  mov    $0x40,%ecx
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rdx,%rdi
  rep stos %rax,%es:(%rdi)
  mov    %r13,%rax
  mov    $0x0,%edx
L11:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rbx,%rax
  jne    L11
  mov    $0x200,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0x0,%eax
L313:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L313
  lea    0x20(%rsp),%rdx
  mov    $0x80,%ecx
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rdx,%rdi
  rep stos %rax,%es:(%rdi)
  mov    %r13,%rax
  mov    $0x0,%edx
L112:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rbx,%rax
  jne    L112
  mov    $0x400,%esi
  lea    D186(%rip),%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  mov    $0xa,%ebp
  lea    D186(%rip),%r14
L871:
  mov    %ebp,%r12d
  mov    $0x0,%eax
L942:
  mov    0xc(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,0x10(%rsp,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L942
  movslq %r12d,%rax
  imul   $0x78787879,%rax,%rax
  sar    $0x23,%rax
  mov    %r12d,%edx
  sar    $0x1f,%edx
  sub    %edx,%eax
  mov    %eax,%edx
  shl    $0x4,%edx
  add    %eax,%edx
  mov    %r12d,%eax
  sub    %edx,%eax
  cltq
  lea    0x10(%rsp,%rax,4),%rdi
  mov    %rbp,%rdx
  mov    $0xa5,%esi
  call   <memset@plt>
  mov    %r13,%rax
  mov    $0x0,%edx
L777:
  add    (%rax),%edx
  add    $0x4,%rax
  cmp    %rbx,%rax
  jne    L777
  mov    %r12d,%esi
  mov    %r14,%rdi
  mov    $0x0,%eax
  call   <printf@plt>
  add    $0xa,%rbp
  cmp    $0x64,%rbp
  jne    L871
  mov    0xc818(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L796
  mov    $0x1,%eax
  add    $0xc820,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  ret
L796:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: disassemble_data
arguments: data_label: D296
datatype: string
name: disassemble_data
arguments: data_label: D186
datatype: string
name: disassemble_data
arguments: data_label: D113
datatype: string
name: disassemble_data
arguments: data_label: D362
datatype: string

tool: D296: 8

tool: D186: final %d:%d


tool: D113: 16

tool: D362: 32

assistant: ```c
int main() {
  printf("8\n");
  {
    unsigned char buffer[10240];
    volatile int seed = 123;
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 1 % 17, 0xA5, 1);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 1, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 2 % 17, 0xA5, 2);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 2, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 3 % 17, 0xA5, 3);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 3, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 4 % 17, 0xA5, 4);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 4, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 5 % 17, 0xA5, 5);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 5, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 6 % 17, 0xA5, 6);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 6, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 7 % 17, 0xA5, 7);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 7, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 8 % 17, 0xA5, 8);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 8, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 9 % 17, 0xA5, 9);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 9, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 10 % 17, 0xA5, 10);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 10, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 16 % 17, 0xA5, 16);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 16, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 32 % 17, 0xA5, 32);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 32, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 64 % 17, 0xA5, 64);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 64, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 128 % 17, 0xA5, 128);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 128, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 256 % 17, 0xA5, 256);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 256, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 512 % 17, 0xA5, 512);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 512, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 1024 % 17, 0xA5, 1024);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 1024, v);
    };
    for (int x = 10; x < 100; x += 10) {
      {
        for (int i = 0; i < 10240; i++) {
          buffer[i] = i * seed;
        }
        memset(buffer + x % 17, 0xA5, x);
        int v = 0;
        for (int i = 0; i < 10240; i++) {
          v += buffer[i];
        }
        printf("final %d:%d\n", x, v);
      }
    };
  };
  printf("16\n");
  {
    unsigned short buffer[10240];
    volatile int seed = 123;
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 1 % 17, 0xA5, 1);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 1, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 2 % 17, 0xA5, 2);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 2, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 3 % 17, 0xA5, 3);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 3, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 4 % 17, 0xA5, 4);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 4, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 5 % 17, 0xA5, 5);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 5, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 6 % 17, 0xA5, 6);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 6, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 7 % 17, 0xA5, 7);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 7, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 8 % 17, 0xA5, 8);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 8, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 9 % 17, 0xA5, 9);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 9, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 10 % 17, 0xA5, 10);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 10, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 16 % 17, 0xA5, 16);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 16, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 32 % 17, 0xA5, 32);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 32, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 64 % 17, 0xA5, 64);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 64, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 128 % 17, 0xA5, 128);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 128, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 256 % 17, 0xA5, 256);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 256, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 512 % 17, 0xA5, 512);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 512, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 1024 % 17, 0xA5, 1024);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 1024, v);
    };
    for (int x = 10; x < 100; x += 10) {
      {
        for (int i = 0; i < 10240; i++) {
          buffer[i] = i * seed;
        }
        memset(buffer + x % 17, 0xA5, x);
        int v = 0;
        for (int i = 0; i < 10240; i++) {
          v += buffer[i];
        }
        printf("final %d:%d\n", x, v);
      }
    };
  };
  printf("32\n");
  {
    unsigned buffer[10240];
    volatile int seed = 123;
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 1 % 17, 0xA5, 1);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 1, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 2 % 17, 0xA5, 2);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 2, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 3 % 17, 0xA5, 3);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 3, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 4 % 17, 0xA5, 4);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 4, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 5 % 17, 0xA5, 5);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 5, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 6 % 17, 0xA5, 6);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 6, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 7 % 17, 0xA5, 7);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 7, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 8 % 17, 0xA5, 8);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 8, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 9 % 17, 0xA5, 9);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 9, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 10 % 17, 0xA5, 10);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 10, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 16 % 17, 0xA5, 16);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 16, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 32 % 17, 0xA5, 32);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 32, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 64 % 17, 0xA5, 64);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 64, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 128 % 17, 0xA5, 128);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 128, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 256 % 17, 0xA5, 256);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 256, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 512 % 17, 0xA5, 512);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 512, v);
    };
    {
      for (int i = 0; i < 10240; i++) {
        buffer[i] = i * seed;
      }
      memset(buffer + 1024 % 17, 0xA5, 1024);
      int v = 0;
      for (int i = 0; i < 10240; i++) {
        v += buffer[i];
      }
      printf("final %d:%d\n", 1024, v);
    };
    for (int x = 10; x < 100; x += 10) {
      {
        for (int i = 0; i < 10240; i++) {
          buffer[i] = i * seed;
        }
        memset(buffer + x % 17, 0xA5, x);
        int v = 0;
        for (int i = 0; i < 10240; i++) {
          v += buffer[i];
        }
        printf("final %d:%d\n", x, v);
      }
    };
  };
  return 1;
}
```