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

```asm
<main>:
  endbr64
  push   %r15
  push   %r14
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  lea    -0xc000(%rsp),%r11
L547:
  sub    $0x1000,%rsp
  orq    $0x0,(%rsp)
  cmp    %r11,%rsp
  jne    L547
  sub    $0x838,%rsp
  lea    D185(%rip),%rdi
  mov    %fs:0x28,%rax
  mov    %rax,0xc828(%rsp)
  xor    %eax,%eax
  lea    0xa020(%rsp),%r13
  call   <puts@plt>
  movl   $0x7b,0x14(%rsp)
  xor    %edx,%edx
  nop
L726:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L726
  pxor   %xmm0,%xmm0
  pxor   %xmm4,%xmm4
  pxor   %xmm3,%xmm3
  mov    %r13,%rax
  movb   $0xa5,0xa021(%rsp)
  lea    0xc820(%rsp),%r12
L123:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %r12,%rax
  jne    L123
  movdqa %xmm0,%xmm1
  lea    D143(%rip),%rbp
  mov    $0x1,%esi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  mov    %rbp,%rdi
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
  nop
L280:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L280
  mov    $0xffffa5a5,%eax
  pxor   %xmm0,%xmm0
  pxor   %xmm4,%xmm4
  mov    %ax,0xa022(%rsp)
  pxor   %xmm3,%xmm3
  mov    %r13,%rax
L940:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %r12,%rax
  jne    L940
  movdqa %xmm0,%xmm1
  mov    $0x2,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
  nopl   (%rax)
L520:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L520
  movb   $0xa5,0xa025(%rsp)
  pxor   %xmm0,%xmm0
  pxor   %xmm4,%xmm4
  pxor   %xmm3,%xmm3
  mov    $0xffffa5a5,%eax
  mov    %ax,0xa023(%rsp)
  mov    %r13,%rax
L146:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %r12,%rax
  jne    L146
  movdqa %xmm0,%xmm1
  mov    $0x3,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
  nopl   (%rax)
L572:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L572
  pxor   %xmm0,%xmm0
  pxor   %xmm4,%xmm4
  pxor   %xmm3,%xmm3
  mov    %r13,%rax
  movl   $0xa5a5a5a5,0xa024(%rsp)
L436:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %rax,%r12
  jne    L436
  movdqa %xmm0,%xmm1
  mov    $0x4,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
  nopl   0x0(%rax,%rax,1)
L84:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L84
  pxor   %xmm0,%xmm0
  pxor   %xmm4,%xmm4
  pxor   %xmm3,%xmm3
  mov    %r13,%rax
  movl   $0xa5a5a5a5,0xa025(%rsp)
  movb   $0xa5,0xa029(%rsp)
L135:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %rax,%r12
  jne    L135
  movdqa %xmm0,%xmm1
  mov    $0x5,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
  nopl   0x0(%rax,%rax,1)
L355:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L355
  mov    $0xffffa5a5,%eax
  pxor   %xmm0,%xmm0
  pxor   %xmm4,%xmm4
  movl   $0xa5a5a5a5,0xa026(%rsp)
  mov    %ax,0xa02a(%rsp)
  pxor   %xmm3,%xmm3
  mov    %r13,%rax
L75:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %rax,%r12
  jne    L75
  movdqa %xmm0,%xmm1
  mov    $0x6,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
L188:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L188
  mov    $0xffffa5a5,%r15d
  pxor   %xmm0,%xmm0
  pxor   %xmm4,%xmm4
  mov    %r13,%rax
  movl   $0xa5a5a5a5,0xa027(%rsp)
  pxor   %xmm3,%xmm3
  mov    %r15w,0xa02b(%rsp)
  movb   $0xa5,0xa02d(%rsp)
L470:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %rax,%r12
  jne    L470
  movdqa %xmm0,%xmm1
  mov    $0x7,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
  nopw   0x0(%rax,%rax,1)
L213:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L213
  pxor   %xmm0,%xmm0
  pxor   %xmm4,%xmm4
  pxor   %xmm3,%xmm3
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0xa028(%rsp)
  mov    %r13,%rax
L428:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %rax,%r12
  jne    L428
  movdqa %xmm0,%xmm1
  mov    $0x8,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
  nopw   0x0(%rax,%rax,1)
L417:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L417
  movb   $0xa5,0xa031(%rsp)
  pxor   %xmm0,%xmm0
  pxor   %xmm4,%xmm4
  pxor   %xmm3,%xmm3
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0xa029(%rsp)
  mov    %r13,%rax
L640:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %rax,%r12
  jne    L640
  movdqa %xmm0,%xmm1
  mov    $0x9,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
  nopw   0x0(%rax,%rax,1)
L890:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L890
  mov    $0xffffa5a5,%r14d
  pxor   %xmm0,%xmm0
  pxor   %xmm4,%xmm4
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %r14w,0xa032(%rsp)
  pxor   %xmm3,%xmm3
  mov    %rax,0xa02a(%rsp)
  mov    %r13,%rax
L295:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %rax,%r12
  jne    L295
  movdqa %xmm0,%xmm1
  mov    $0xa,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
  nopl   0x0(%rax)
L555:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L555
  movdqa D56(%rip),%xmm0
  mov    %r13,%rax
  pxor   %xmm4,%xmm4
  pxor   %xmm3,%xmm3
  movaps %xmm0,0xa030(%rsp)
  pxor   %xmm0,%xmm0
L839:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %r12,%rax
  jne    L839
  movdqa %xmm0,%xmm1
  mov    $0x10,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
L975:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L975
  movdqa D56(%rip),%xmm0
  mov    %r13,%rax
  pxor   %xmm4,%xmm4
  pxor   %xmm3,%xmm3
  movups %xmm0,0xa02f(%rsp)
  movups %xmm0,0xa03f(%rsp)
  pxor   %xmm0,%xmm0
L602:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %r12,%rax
  jne    L602
  movdqa %xmm0,%xmm1
  mov    $0x20,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
L202:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L202
  movdqa D56(%rip),%xmm0
  mov    %r13,%rax
  pxor   %xmm4,%xmm4
  pxor   %xmm3,%xmm3
  movups %xmm0,0xa02d(%rsp)
  movups %xmm0,0xa03d(%rsp)
  movups %xmm0,0xa04d(%rsp)
  movups %xmm0,0xa05d(%rsp)
  pxor   %xmm0,%xmm0
L1110:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %r12,%rax
  jne    L1110
  movdqa %xmm0,%xmm1
  mov    $0x40,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
L329:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L329
  movdqa D56(%rip),%xmm0
  mov    %r13,%rax
  pxor   %xmm4,%xmm4
  pxor   %xmm3,%xmm3
  movups %xmm0,0xa029(%rsp)
  movups %xmm0,0xa039(%rsp)
  movups %xmm0,0xa049(%rsp)
  movups %xmm0,0xa059(%rsp)
  movups %xmm0,0xa069(%rsp)
  movups %xmm0,0xa079(%rsp)
  movups %xmm0,0xa089(%rsp)
  movups %xmm0,0xa099(%rsp)
  pxor   %xmm0,%xmm0
L630:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %rax,%r12
  jne    L630
  movdqa %xmm0,%xmm1
  mov    $0x80,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
L959:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L959
  movdqa D56(%rip),%xmm0
  mov    %r13,%rax
  pxor   %xmm4,%xmm4
  pxor   %xmm3,%xmm3
  movups %xmm0,0xa021(%rsp)
  movups %xmm0,0xa031(%rsp)
  movups %xmm0,0xa041(%rsp)
  movups %xmm0,0xa051(%rsp)
  movups %xmm0,0xa061(%rsp)
  movups %xmm0,0xa071(%rsp)
  movups %xmm0,0xa081(%rsp)
  movups %xmm0,0xa091(%rsp)
  movups %xmm0,0xa0a1(%rsp)
  movups %xmm0,0xa0b1(%rsp)
  movups %xmm0,0xa0c1(%rsp)
  movups %xmm0,0xa0d1(%rsp)
  movups %xmm0,0xa0e1(%rsp)
  movups %xmm0,0xa0f1(%rsp)
  movups %xmm0,0xa101(%rsp)
  movups %xmm0,0xa111(%rsp)
  pxor   %xmm0,%xmm0
L1068:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %rax,%r12
  jne    L1068
  movdqa %xmm0,%xmm1
  mov    $0x100,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
L379:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L379
  lea    0xa028(%rsp),%rdi
  mov    $0x3f,%ecx
  pxor   %xmm0,%xmm0
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0xa022(%rsp)
  pxor   %xmm4,%xmm4
  pxor   %xmm3,%xmm3
  mov    %rax,0xa21a(%rsp)
  rep stos %rax,%es:(%rdi)
  mov    %r13,%rax
L117:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %rax,%r12
  jne    L117
  movdqa %xmm0,%xmm1
  mov    $0x200,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %edx,%edx
  nopw   0x0(%rax,%rax,1)
L657:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L657
  lea    0xa028(%rsp),%rdi
  mov    $0x7f,%ecx
  pxor   %xmm0,%xmm0
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0xa024(%rsp)
  pxor   %xmm4,%xmm4
  pxor   %xmm3,%xmm3
  mov    %rax,0xa41c(%rsp)
  rep stos %rax,%es:(%rdi)
  mov    %r13,%rax
L1016:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %rax,%r12
  jne    L1016
  movdqa %xmm0,%xmm1
  mov    $0x400,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  mov    $0xa,%r14d
  mov    $0xf0f0f0f1,%ebx
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
L774:
  mov    %r14d,%esi
  xor    %edx,%edx
  nopl   0x0(%rax,%rax,1)
L106:
  mov    0x14(%rsp),%eax
  imul   %edx,%eax
  mov    %al,0x0(%r13,%rdx,1)
  add    $0x1,%rdx
  cmp    $0x2800,%rdx
  jne    L106
  mov    %esi,%eax
  pxor   %xmm0,%xmm0
  pxor   %xmm4,%xmm4
  mov    %r14d,%ecx
  imul   %rbx,%rax
  pxor   %xmm3,%xmm3
  shr    $0x24,%rax
  mov    %eax,%edx
  shl    $0x4,%edx
  add    %edx,%eax
  mov    %esi,%edx
  sub    %eax,%edx
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  movslq %edx,%rdx
  add    %r13,%rdx
  lea    0x8(%rdx),%rdi
  mov    %rax,(%rdx)
  and    $0xfffffffffffffff8,%rdi
  mov    %rax,-0x8(%rdx,%rcx,1)
  sub    %rdi,%rdx
  lea    (%r14,%rdx,1),%ecx
  shr    $0x3,%ecx
  rep stos %rax,%es:(%rdi)
  mov    %r13,%rax
  nopl   (%rax)
L507:
  movdqa (%rax),%xmm1
  add    $0x10,%rax
  movdqa %xmm1,%xmm2
  punpckhbw %xmm4,%xmm1
  punpcklbw %xmm4,%xmm2
  movdqa %xmm2,%xmm5
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm5
  paddd  %xmm5,%xmm0
  paddd  %xmm2,%xmm0
  movdqa %xmm1,%xmm2
  punpckhwd %xmm3,%xmm1
  punpcklwd %xmm3,%xmm2
  paddd  %xmm2,%xmm0
  paddd  %xmm1,%xmm0
  cmp    %rax,%r12
  jne    L507
  movdqa %xmm0,%xmm1
  mov    %rbp,%rdi
  xor    %eax,%eax
  add    $0xa,%r14
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  cmp    $0x64,%r14
  jne    L774
  lea    D160(%rip),%rdi
  lea    0x20(%rsp),%rbx
  call   <puts@plt>
  movl   $0x7b,0x18(%rsp)
  xor    %eax,%eax
  nopw   0x0(%rax,%rax,1)
L148:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L148
  movb   $0xa5,0x22(%rsp)
  mov    %rbx,%rax
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  lea    0x5020(%rsp),%r15
  nopw   0x0(%rax,%rax,1)
L85:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L85
  movdqa %xmm1,%xmm0
  mov    $0x1,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
L266:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L266
  mov    $0xffffa5a5,%r12d
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  mov    %rbx,%rax
  mov    %r12w,0x24(%rsp)
  xchg   %ax,%ax
L278:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L278
  movdqa %xmm1,%xmm0
  mov    $0x2,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
L780:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L780
  movb   $0xa5,0x28(%rsp)
  mov    %rbx,%rax
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  mov    $0xffffa5a5,%r11d
  mov    %r11w,0x26(%rsp)
  nopl   0x0(%rax,%rax,1)
L688:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L688
  movdqa %xmm1,%xmm0
  mov    $0x3,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax,%rax,1)
L325:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L325
  movl   $0xa5a5a5a5,0x28(%rsp)
  mov    %rbx,%rax
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  nopw   0x0(%rax,%rax,1)
L1006:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L1006
  movdqa %xmm1,%xmm0
  mov    $0x4,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
L1083:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L1083
  movb   $0xa5,0x2e(%rsp)
  mov    %rbx,%rax
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  movl   $0xa5a5a5a5,0x2a(%rsp)
  nop
L221:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L221
  movdqa %xmm1,%xmm0
  mov    $0x5,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
L526:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L526
  mov    $0xffffa5a5,%r10d
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  mov    %rbx,%rax
  movl   $0xa5a5a5a5,0x2c(%rsp)
  mov    %r10w,0x30(%rsp)
  cs nopw 0x0(%rax,%rax,1)
L480:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L480
  movdqa %xmm1,%xmm0
  mov    $0x6,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
L880:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L880
  movb   $0xa5,0x34(%rsp)
  mov    %rbx,%rax
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  mov    $0xffffa5a5,%r9d
  movl   $0xa5a5a5a5,0x2e(%rsp)
  mov    %r9w,0x32(%rsp)
  nopl   0x0(%rax,%rax,1)
L643:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L643
  movdqa %xmm1,%xmm0
  mov    $0x7,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
L43:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L43
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  mov    %rax,0x30(%rsp)
  mov    %rbx,%rax
  nopl   0x0(%rax)
L211:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L211
  movdqa %xmm1,%xmm0
  mov    $0x8,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax,%rax,1)
L141:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L141
  movb   $0xa5,0x3a(%rsp)
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0x32(%rsp)
  mov    %rbx,%rax
  cs nopw 0x0(%rax,%rax,1)
L0:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L0
  movdqa %xmm1,%xmm0
  mov    $0x9,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
L444:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L444
  mov    $0xffffa5a5,%r8d
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %r8w,0x3c(%rsp)
  mov    %rax,0x34(%rsp)
  mov    %rbx,%rax
  nopl   (%rax)
L372:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L372
  movdqa %xmm1,%xmm0
  mov    $0xa,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
L771:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L771
  movdqa D56(%rip),%xmm0
  mov    %rbx,%rax
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  movaps %xmm0,0x40(%rsp)
  nop
L937:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L937
  movdqa %xmm1,%xmm0
  mov    $0x10,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
L212:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L212
  movdqa D56(%rip),%xmm0
  mov    %rbx,%rax
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  movups %xmm0,0x3e(%rsp)
  movups %xmm0,0x4e(%rsp)
  nopl   0x0(%rax)
L861:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L861
  movdqa %xmm1,%xmm0
  mov    $0x20,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax,%rax,1)
L560:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L560
  movdqa D56(%rip),%xmm0
  mov    %rbx,%rax
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  movups %xmm0,0x3a(%rsp)
  movups %xmm0,0x4a(%rsp)
  movups %xmm0,0x5a(%rsp)
  movups %xmm0,0x6a(%rsp)
  xchg   %ax,%ax
L1039:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L1039
  movdqa %xmm1,%xmm0
  mov    $0x40,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
L197:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L197
  movdqa D56(%rip),%xmm0
  mov    %rbx,%rax
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  movups %xmm0,0x32(%rsp)
  movups %xmm0,0x42(%rsp)
  movups %xmm0,0x52(%rsp)
  movups %xmm0,0x62(%rsp)
  movups %xmm0,0x72(%rsp)
  movups %xmm0,0x82(%rsp)
  movups %xmm0,0x92(%rsp)
  movups %xmm0,0xa2(%rsp)
  nopl   0x0(%rax,%rax,1)
L210:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L210
  movdqa %xmm1,%xmm0
  mov    $0x80,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
L1114:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L1114
  movdqa D56(%rip),%xmm0
  mov    %rbx,%rax
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  movups %xmm0,0x22(%rsp)
  movups %xmm0,0x32(%rsp)
  movups %xmm0,0x42(%rsp)
  movups %xmm0,0x52(%rsp)
  movups %xmm0,0x62(%rsp)
  movups %xmm0,0x72(%rsp)
  movups %xmm0,0x82(%rsp)
  movups %xmm0,0x92(%rsp)
  movups %xmm0,0xa2(%rsp)
  movups %xmm0,0xb2(%rsp)
  movups %xmm0,0xc2(%rsp)
  movups %xmm0,0xd2(%rsp)
  movups %xmm0,0xe2(%rsp)
  movups %xmm0,0xf2(%rsp)
  movups %xmm0,0x102(%rsp)
  movups %xmm0,0x112(%rsp)
  nopl   0x0(%rax,%rax,1)
L831:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L831
  movdqa %xmm1,%xmm0
  mov    $0x100,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
L1027:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L1027
  lea    0x28(%rsp),%rdi
  mov    $0x3f,%ecx
  pxor   %xmm1,%xmm1
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0x24(%rsp)
  pxor   %xmm2,%xmm2
  mov    %rax,0x21c(%rsp)
  rep stos %rax,%es:(%rdi)
  mov    %rbx,%rax
  cs nopw 0x0(%rax,%rax,1)
L367:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L367
  movdqa %xmm1,%xmm0
  mov    $0x200,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  xor    %eax,%eax
L536:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L536
  lea    0x28(%rsp),%rdi
  mov    $0x80,%ecx
  pxor   %xmm1,%xmm1
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rdi,0x8(%rsp)
  pxor   %xmm2,%xmm2
  rep stos %rax,%es:(%rdi)
  mov    %rbx,%rax
  xchg   %ax,%ax
L309:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L309
  movdqa %xmm1,%xmm0
  mov    $0x400,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm0
  mov    $0xa,%r14d
  mov    $0xf0f0f0f1,%r12d
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
L476:
  mov    %r14d,%esi
  xor    %eax,%eax
  nop
L354:
  mov    0x18(%rsp),%edx
  imul   %eax,%edx
  mov    %dx,(%rbx,%rax,2)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L354
  mov    %esi,%eax
  pxor   %xmm1,%xmm1
  pxor   %xmm2,%xmm2
  mov    %r14d,%ecx
  imul   %r12,%rax
  shr    $0x24,%rax
  mov    %eax,%edx
  shl    $0x4,%edx
  add    %eax,%edx
  mov    %esi,%eax
  sub    %edx,%eax
  cltq
  lea    (%rbx,%rax,2),%rdx
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  lea    0x8(%rdx),%rdi
  mov    %rax,(%rdx)
  and    $0xfffffffffffffff8,%rdi
  mov    %rax,-0x8(%rdx,%rcx,1)
  sub    %rdi,%rdx
  lea    (%r14,%rdx,1),%ecx
  shr    $0x3,%ecx
  rep stos %rax,%es:(%rdi)
  mov    %rbx,%rax
  nopw   0x0(%rax,%rax,1)
L806:
  movdqa (%rax),%xmm0
  add    $0x10,%rax
  movdqa %xmm0,%xmm3
  punpckhwd %xmm2,%xmm0
  punpcklwd %xmm2,%xmm3
  paddd  %xmm3,%xmm1
  paddd  %xmm0,%xmm1
  cmp    %r15,%rax
  jne    L806
  movdqa %xmm1,%xmm0
  mov    %rbp,%rdi
  xor    %eax,%eax
  add    $0xa,%r14
  psrldq $0x8,%xmm0
  paddd  %xmm0,%xmm1
  movdqa %xmm1,%xmm0
  psrldq $0x4,%xmm0
  paddd  %xmm0,%xmm1
  movd   %xmm1,%edx
  call   <printf@plt>
  cmp    $0x64,%r14
  jne    L476
  lea    D39(%rip),%rdi
  call   <puts@plt>
  movl   $0x7b,0x1c(%rsp)
  xor    %eax,%eax
  nopl   (%rax)
L206:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L206
  movb   $0xa5,0x24(%rsp)
  mov    %rbx,%rax
  pxor   %xmm0,%xmm0
  nopw   0x0(%rax,%rax,1)
L891:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L891
  movdqa %xmm0,%xmm1
  mov    $0x1,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L817:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L817
  mov    $0xffffa5a5,%edi
  mov    %rbx,%rax
  pxor   %xmm0,%xmm0
  mov    %di,0x28(%rsp)
  nop
L396:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L396
  movdqa %xmm0,%xmm1
  mov    $0x2,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L985:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L985
  mov    $0xffffa5a5,%esi
  movb   $0xa5,0x2e(%rsp)
  mov    %rbx,%rax
  pxor   %xmm0,%xmm0
  mov    %si,0x2c(%rsp)
  nopl   0x0(%rax)
L115:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L115
  movdqa %xmm0,%xmm1
  mov    $0x3,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L803:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L803
  movl   $0xa5a5a5a5,0x30(%rsp)
  mov    %rbx,%rax
  pxor   %xmm0,%xmm0
  nopl   (%rax)
L352:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L352
  movdqa %xmm0,%xmm1
  mov    $0x4,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L258:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L258
  movl   $0xa5a5a5a5,0x34(%rsp)
  mov    %rbx,%rax
  pxor   %xmm0,%xmm0
  movb   $0xa5,0x38(%rsp)
  nopw   0x0(%rax,%rax,1)
L717:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L717
  movdqa %xmm0,%xmm1
  mov    $0x5,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L33:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L33
  mov    $0xffffa5a5,%ecx
  movl   $0xa5a5a5a5,0x38(%rsp)
  mov    %rbx,%rax
  pxor   %xmm0,%xmm0
  mov    %cx,0x3c(%rsp)
  nopw   0x0(%rax,%rax,1)
L134:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L134
  movdqa %xmm0,%xmm1
  mov    $0x6,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L916:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L916
  mov    $0xffffa5a5,%edx
  movb   $0xa5,0x42(%rsp)
  mov    %rbx,%rax
  pxor   %xmm0,%xmm0
  movl   $0xa5a5a5a5,0x3c(%rsp)
  mov    %dx,0x40(%rsp)
  nopl   0x0(%rax)
L545:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L545
  movdqa %xmm0,%xmm1
  mov    $0x7,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L471:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L471
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  pxor   %xmm0,%xmm0
  mov    %rax,0x40(%rsp)
  mov    %rbx,%rax
  nopl   0x0(%rax)
L222:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L222
  movdqa %xmm0,%xmm1
  mov    $0x8,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L472:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L472
  movb   $0xa5,0x4c(%rsp)
  pxor   %xmm0,%xmm0
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rax,0x44(%rsp)
  mov    %rbx,%rax
  nopl   0x0(%rax)
L161:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L161
  movdqa %xmm0,%xmm1
  mov    $0x9,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L941:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L941
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  pxor   %xmm0,%xmm0
  mov    %rax,0x48(%rsp)
  mov    $0xffffa5a5,%eax
  mov    %ax,0x50(%rsp)
  mov    %rbx,%rax
  cs nopw 0x0(%rax,%rax,1)
L671:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L671
  movdqa %xmm0,%xmm1
  mov    $0xa,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L667:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L667
  movdqa D56(%rip),%xmm0
  mov    %rbx,%rax
  movaps %xmm0,0x60(%rsp)
  pxor   %xmm0,%xmm0
  nopw   0x0(%rax,%rax,1)
L299:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L299
  movdqa %xmm0,%xmm1
  mov    $0x10,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L781:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L781
  movdqa D56(%rip),%xmm0
  mov    %rbx,%rax
  movups %xmm0,0x5c(%rsp)
  movups %xmm0,0x6c(%rsp)
  pxor   %xmm0,%xmm0
  nop
L281:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L281
  movdqa %xmm0,%xmm1
  mov    $0x20,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L993:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L993
  movdqa D56(%rip),%xmm0
  mov    %rbx,%rax
  movups %xmm0,0x54(%rsp)
  movups %xmm0,0x64(%rsp)
  movups %xmm0,0x74(%rsp)
  movups %xmm0,0x84(%rsp)
  pxor   %xmm0,%xmm0
  nopl   0x0(%rax)
L947:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L947
  movdqa %xmm0,%xmm1
  mov    $0x40,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L963:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L963
  movdqa D56(%rip),%xmm0
  mov    %rbx,%rax
  movups %xmm0,0x44(%rsp)
  movups %xmm0,0x54(%rsp)
  movups %xmm0,0x64(%rsp)
  movups %xmm0,0x74(%rsp)
  movups %xmm0,0x84(%rsp)
  movups %xmm0,0x94(%rsp)
  movups %xmm0,0xa4(%rsp)
  movups %xmm0,0xb4(%rsp)
  pxor   %xmm0,%xmm0
  nopl   0x0(%rax)
L485:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L485
  movdqa %xmm0,%xmm1
  mov    $0x80,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L304:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L304
  movdqa D56(%rip),%xmm0
  mov    %rbx,%rax
  movups %xmm0,0x24(%rsp)
  movups %xmm0,0x34(%rsp)
  movups %xmm0,0x44(%rsp)
  movups %xmm0,0x54(%rsp)
  movups %xmm0,0x64(%rsp)
  movups %xmm0,0x74(%rsp)
  movups %xmm0,0x84(%rsp)
  movups %xmm0,0x94(%rsp)
  movups %xmm0,0xa4(%rsp)
  movups %xmm0,0xb4(%rsp)
  movups %xmm0,0xc4(%rsp)
  movups %xmm0,0xd4(%rsp)
  movups %xmm0,0xe4(%rsp)
  movups %xmm0,0xf4(%rsp)
  movups %xmm0,0x104(%rsp)
  movups %xmm0,0x114(%rsp)
  pxor   %xmm0,%xmm0
  nopl   0x0(%rax,%rax,1)
L623:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L623
  movdqa %xmm0,%xmm1
  mov    $0x100,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L284:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L284
  mov    0x8(%rsp),%rdi
  mov    $0x40,%ecx
  pxor   %xmm0,%xmm0
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  rep stos %rax,%es:(%rdi)
  mov    %rbx,%rax
  nopl   0x0(%rax)
L31:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L31
  movdqa %xmm0,%xmm1
  mov    $0x200,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  xor    %eax,%eax
  nopl   0x0(%rax)
L488:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L488
  lea    0x30(%rsp),%rdx
  mov    $0x80,%ecx
  pxor   %xmm0,%xmm0
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  mov    %rdx,%rdi
  rep stos %rax,%es:(%rdi)
  mov    %rbx,%rax
  nopw   0x0(%rax,%rax,1)
L1100:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %r13,%rax
  jne    L1100
  movdqa %xmm0,%xmm1
  mov    $0x400,%esi
  mov    %rbp,%rdi
  xor    %eax,%eax
  psrldq $0x8,%xmm1
  mov    $0xa,%r14d
  mov    $0xf0f0f0f1,%r12d
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
L59:
  mov    %r14d,%esi
  xor    %eax,%eax
  nopl   0x0(%rax,%rax,1)
L407:
  mov    0x1c(%rsp),%edx
  imul   %eax,%edx
  mov    %edx,(%rbx,%rax,4)
  add    $0x1,%rax
  cmp    $0x2800,%rax
  jne    L407
  mov    %esi,%eax
  mov    %r14d,%ecx
  pxor   %xmm0,%xmm0
  imul   %r12,%rax
  shr    $0x24,%rax
  mov    %eax,%edx
  shl    $0x4,%edx
  add    %eax,%edx
  mov    %esi,%eax
  sub    %edx,%eax
  cltq
  lea    (%rbx,%rax,4),%rdx
  movabs $0xa5a5a5a5a5a5a5a5,%rax
  lea    0x8(%rdx),%rdi
  mov    %rax,(%rdx)
  and    $0xfffffffffffffff8,%rdi
  mov    %rax,-0x8(%rdx,%rcx,1)
  sub    %rdi,%rdx
  lea    (%r14,%rdx,1),%ecx
  shr    $0x3,%ecx
  rep stos %rax,%es:(%rdi)
  mov    %rbx,%rax
  nopw   0x0(%rax,%rax,1)
L198:
  paddd  (%rax),%xmm0
  add    $0x10,%rax
  cmp    %rax,%r13
  jne    L198
  movdqa %xmm0,%xmm1
  mov    %rbp,%rdi
  xor    %eax,%eax
  add    $0xa,%r14
  psrldq $0x8,%xmm1
  paddd  %xmm1,%xmm0
  movdqa %xmm0,%xmm1
  psrldq $0x4,%xmm1
  paddd  %xmm1,%xmm0
  movd   %xmm0,%edx
  call   <printf@plt>
  cmp    $0x64,%r14
  jne    L59
  mov    0xc828(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L102
  add    $0xc838,%rsp
  mov    $0x1,%eax
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
L102:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: disassemble_data
arguments: tag: D185
type_guessed: string
name: disassemble_data
arguments: tag: D143
type_guessed: string
name: disassemble_data
arguments: tag: D56
type_guessed: byte[16]
name: disassemble_data
arguments: tag: D160
type_guessed: string
name: disassemble_data
arguments: tag: D39
type_guessed: string

tool: D185: 8

tool: D143: final %d:%d


tool: {"D56": [0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5,0xa5]}

tool: D160: 16

tool: D39: 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;
}
```