// File: /workspace/github_cpp_makefile_star2_O3/temelmertcan[P]multgen/src/adders.cpp
// Function: create_bk_adder(int, bool, std::queue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::deque<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&)
void create_bk_adder (int size, bool carryin, std::queue<string>& verilog){

  int index = 0;

  string* g = new string[size];
  string* p = new string[size];

  string* gtmp = new string[size];
  string* ptmp = new string[size];


  ppx_preprocess(size,  carryin, index, "BK", gtmp, ptmp, verilog);
  pgtmp_to_pg(size, gtmp, g);
  pgtmp_to_pg(size, ptmp, p);

  verilog.push("\n// Brent-Kung Adder \n");

  int stage=0;

  verilog.push("");
  verilog.push("// BK Step 1: group pairs from close to far ");

  // bk first
  unsigned long long coef;
  for (coef = 1; coef*2-1 < size; coef *= 2){
    verilog.push("");
    verilog.push("// Stage " + to_string(++stage)+ " - pairs that are " + to_string(coef) + " index apart.");

    for (int i=2*coef-1; i < size; i+=coef*2){

      string new_p = "p_" + to_string(stage)+ "_" + to_string(i);
      string new_g = "g_" + to_string(stage)+ "_" + to_string(i);

      verilog.push ("wire logic "+ new_p + ";");
      verilog.push ("wire logic "+ new_g + ";");

      verilog.push ("assign "+ new_p + " = " + p[i] + " & " + p[i-coef] + ";");
      verilog.push ("assign "+ new_g + " = (" + p[i] + " & " + g[i-coef] + ") | " + g[i] + ";");

      gtmp[i] =  new_g;
      ptmp[i] =  new_p;
    }

    pgtmp_to_pg(size, gtmp, g);
    pgtmp_to_pg(size, ptmp, p);
  }

  verilog.push("");
  verilog.push("");
  verilog.push("// BK Step 2: group pairs from far to close ");

  if (coef < size)
    coef *= 2;

  for (coef = coef/4; coef >= 1; coef = coef/2){
    verilog.push("");
    verilog.push("// Stage " + to_string(++stage)+ " - pairs that are " + to_string(coef) + " index apart.");

    for (int i=3*coef-1; i < size; i+=coef*2){

      string new_p = "p_" + to_string(stage)+ "_" + to_string(i);
      string new_g = "g_" + to_string(stage)+ "_" + to_string(i);

      verilog.push ("wire logic "+ new_p + ";");
      verilog.push ("wire logic "+ new_g + ";");

      verilog.push ("assign "+ new_p + " = " + p[i] + " & " + p[i-coef] + ";");
      verilog.push ("assign "+ new_g + " = (" + p[i] + " & " + g[i-coef] + ") | " + g[i] + ";");

      gtmp[i] =  new_g;
      ptmp[i] =  new_p;
    }
    pgtmp_to_pg(size, gtmp, g);
    pgtmp_to_pg(size, ptmp, p);

  }

  verilog.push("");
  verilog.push("// BK postprocess ");

  ppx_postprocess (size, index, g, p, verilog);

  delete[] p;
  delete[] g;

  delete[] ptmp;
  delete[] gtmp;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1d8, %rsp            # imm = 0x1D8
movq %rdx, -0xd0(%rbp)
movl %esi, -0x120(%rbp)
movl %edi, -0xf4(%rbp)
movslq %edi, %r12
movq %r12, %r15
shlq $0x5, %r15
leaq 0x8(%r15), %rbx
testl %r12d, %r12d
movq $-0x1, %r13
cmovnsq %rbx, %r13
movq %r13, %rdi
callq 0x3030
leaq 0x8(%rax), %r14
movq %r12, (%rax)
testl %r12d, %r12d
movq %r12, -0x1a8(%rbp)
je 0x36ace
addq $0x18, %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
addq $0x20, %rax
addq $-0x20, %r15
jne 0x369ca
movq %r14, -0x170(%rbp)
movq %r13, %rdi
callq 0x3030
movq %rax, %r15
movq %r12, (%rax)
addq $0x8, %rax
movq %rax, -0x110(%rbp)
movq %r12, %rbx
shlq $0x5, %rbx
movq %rbx, %r12
negq %r12
movl $0x18, %eax
leaq (%r15,%rax), %rcx
movq %rcx, -0x10(%r15,%rax)
movq $0x0, -0x8(%r15,%rax)
movb $0x0, (%r15,%rax)
leaq (%r12,%rax), %rcx
addq $0x20, %rcx
addq $0x20, %rax
cmpq $0x18, %rcx
jne 0x36a15
movq %r13, -0x118(%rbp)
movq %r13, %rdi
callq 0x3030
movq %rax, %r13
movq -0x1a8(%rbp), %rax
movq %rax, (%r13)
leaq 0x8(%r13), %rax
movl $0x18, %ecx
leaq (%rcx,%r13), %rdx
movq %rdx, -0x10(%r13,%rcx)
movq $0x0, -0x8(%r13,%rcx)
movb $0x0, (%r13,%rcx)
leaq (%r12,%rcx), %rdx
addq $0x20, %rdx
addq $0x20, %rcx
cmpq $0x18, %rdx
jne 0x36a64
movq %rax, -0x168(%rbp)
movq -0x118(%rbp), %rdi
callq 0x3030
movq -0x1a8(%rbp), %rcx
movq %rcx, (%rax)
leaq 0x8(%rax), %r12
addq $0x18, %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
addq $0x20, %rax
addq $-0x20, %rbx
jne 0x36ab3
jmp 0x36b1c
movq %r14, -0x170(%rbp)
movq %rbx, %rdi
callq 0x3030
movq %rax, %r15
movq %r12, (%rax)
addq $0x8, %rax
movq %rax, -0x110(%rbp)
movq %rbx, %rdi
callq 0x3030
movq %rax, %r13
movq %r12, (%rax)
addq $0x8, %rax
movq %rax, -0x168(%rbp)
movq %rbx, %rdi
callq 0x3030
movq %r12, %rcx
movq %rax, %r12
movq %rcx, (%rax)
addq $0x8, %r12
leaq -0x1a0(%rbp), %rax
movq %r12, (%rax)
leaq -0x1e0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x40baa(%rip), %rsi     # 0x776e2
leaq 0x40ba5(%rip), %rdx     # 0x776e4
leaq -0x1f0(%rbp), %rbx
movq %rbx, %rdi
callq 0x2ac04
movq -0xd0(%rbp), %rax
movq %rax, (%rsp)
movzbl -0x120(%rbp), %esi
leaq -0x168(%rbp), %r8
movl -0xf4(%rbp), %edi
movq %rbx, %rcx
leaq -0x1a0(%rbp), %r9
callq 0x2daef
movq -0x1f0(%rbp), %rdi
leaq -0x1e0(%rbp), %rax
cmpq %rax, %rdi
je 0x36b94
callq 0x31d0
movl -0xf4(%rbp), %eax
movl %eax, %ecx
movq %rcx, -0x198(%rbp)
testl %eax, %eax
jle 0x36bed
addq $0x8, %r13
movq -0x198(%rbp), %rbx
movq %r14, %rdi
movq %r13, %rsi
callq 0x3120
addq $0x20, %r14
addq $0x20, %r13
decq %rbx
jne 0x36bb2
addq $0x8, %r15
movq -0x198(%rbp), %rbx
movq %r15, %rdi
movq %r12, %rsi
callq 0x3120
addq $0x20, %r15
addq $0x20, %r12
decq %rbx
jne 0x36bd5
leaq -0x58(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x4212f(%rip), %rsi     # 0x78d2b
leaq 0x4213e(%rip), %rdx     # 0x78d41
leaq -0x68(%rbp), %rdi
callq 0x2ac04
leaq -0x68(%rbp), %rsi
movq -0xd0(%rbp), %rdi
callq 0x2a942
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x36c2e
callq 0x31d0
leaq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
movq %rax, (%rdi)
leaq 0x429c1(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
leaq -0x68(%rbp), %rsi
movq -0xd0(%rbp), %rdi
callq 0x2a942
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x36c6a
callq 0x31d0
leaq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
movq %rax, (%rdi)
leaq 0x420c6(%rip), %rsi     # 0x78d42
leaq 0x420eb(%rip), %rdx     # 0x78d6e
callq 0x2ac04
leaq -0x68(%rbp), %rsi
movq -0xd0(%rbp), %rdi
callq 0x2a942
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x36caa
callq 0x31d0
cmpl $0x2, -0xf4(%rbp)
jb 0x37f01
movq $0x0, -0x118(%rbp)
movl $0x2, %ebx
movl $0x1, %ecx
leaq -0x68(%rbp), %r15
movl $0x1, %eax
movq %rax, -0x100(%rbp)
movq %rcx, -0x108(%rbp)
movq %rbx, %r14
leaq -0x58(%rbp), %rax
movq %rax, -0x68(%rbp)
movq %r15, %rdi
leaq 0x42909(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
movq -0xd0(%rbp), %rdi
movq %r15, %rsi
callq 0x2a942
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x36d21
callq 0x31d0
movq -0x118(%rbp), %rax
leal 0x1(%rax), %r12d
movl $0x1, %ebx
cmpl $0x9, %eax
leaq -0x98(%rbp), %rdx
jb 0x36d7f
movl $0x4, %ebx
movl %r12d, %eax
movl $0xd1b71759, %esi       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x36d78
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x36d7d
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x36d7f
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x36d4a
addl $-0x3, %ebx
jmp 0x36d7f
addl $-0x2, %ebx
jmp 0x36d7f
decl %ebx
movl %ebx, %esi
movq %rdx, -0xa8(%rbp)
leaq -0xa8(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0xa8(%rbp), %rdi
movl %ebx, %esi
movl %r12d, %edx
callq 0x2a6a5
movl $0x9, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x41fae(%rip), %rcx     # 0x78d6f
callq 0x3230
leaq -0x78(%rbp), %rsi
movq %rsi, -0x88(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0x88(%rbp), %r13
movabsq $0x346dc5d63886594b, %rbx # imm = 0x346DC5D63886594B
je 0x36e01
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x36e07
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r13, %rdi
leaq 0x41f51(%rip), %rsi     # 0x78d79
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0xb8(%rbp), %rdi
je 0x36e58
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x36e5e
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %esi
cmpq $0xa, -0x100(%rbp)
jb 0x36ecd
movl $0x4, %esi
movq -0x100(%rbp), %rcx
cmpq $0x63, %rcx
jbe 0x36ec6
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x36ecb
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x36ecd
movq %rcx, %rax
mulq %rbx
shrq $0xb, %rdx
addl $0x4, %esi
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x36e90
addl $-0x3, %esi
jmp 0x36ecd
addl $-0x2, %esi
jmp 0x36ecd
decl %esi
movl %esi, %esi
movq %rdi, -0xc8(%rbp)
leaq -0xc8(%rbp), %rdi
xorl %edx, %edx
callq 0x3250
movq -0xc8(%rbp), %rdi
movl -0xc0(%rbp), %esi
movq -0x100(%rbp), %rdx
callq 0x3b5a3
movq -0x48(%rbp), %rcx
movl $0xf, %edi
leaq -0x38(%rbp), %rax
cmpq %rax, %rcx
je 0x36f13
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %r8
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x36f4b
movl $0xf, %edi
leaq -0xb8(%rbp), %r9
cmpq %r9, %rsi
je 0x36f46
movq -0xb8(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x36f56
leaq -0x48(%rbp), %rdi
callq 0x30a0
jmp 0x36f66
leaq -0xc8(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0xe0(%rbp), %rsi
movq %rsi, -0xf0(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x36f93
movq %rdx, -0xf0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe0(%rbp)
jmp 0x36f99
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xe8(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0xf0(%rbp), %rdi
leaq 0x41dc6(%rip), %rsi     # 0x78d8c
callq 0x33d0
leaq -0x58(%rbp), %rsi
movq %rsi, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x36fef
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x36ff5
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xd0(%rbp), %rdi
movq %r15, %rsi
callq 0x2a942
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x3702d
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x37045
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x3705d
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x3706f
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x37084
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x3709c
callq 0x31d0
movq -0x108(%rbp), %rax
movl %eax, %r15d
cmpl -0xf4(%rbp), %eax
movq %r14, -0x1b0(%rbp)
movq %r12, -0x120(%rbp)
jge 0x37e67
movq %rax, -0x108(%rbp)
movl $0x1, %ebx
cmpl $0x9, -0x118(%rbp)
leaq -0x78(%rbp), %rdx
jb 0x3711b
movl $0x4, %ebx
movl %r12d, %eax
movl $0xd1b71759, %esi       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x37114
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x37119
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x3711b
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x370e6
addl $-0x3, %ebx
jmp 0x3711b
addl $-0x2, %ebx
jmp 0x3711b
decl %ebx
movl %ebx, %esi
movq %rdx, -0x88(%rbp)
movq %r13, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x88(%rbp), %rdi
movl %ebx, %esi
movl %r12d, %edx
callq 0x2a6a5
movl $0x2, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x41463(%rip), %rcx     # 0x785b9
callq 0x3230
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3717f
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x37185
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x48(%rbp), %rdi
leaq 0x41fcf(%rip), %rsi     # 0x79176
callq 0x33d0
leaq -0xe0(%rbp), %rsi
movq %rsi, -0xf0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x371dc
movq %rdx, -0xf0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe0(%rbp)
jmp 0x371e2
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0x98(%rbp), %rdi
movl $0xd1b71759, %esi       # imm = 0xD1B71759
movq 0x8(%rax), %rdx
movq %rdx, -0xe8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl %r15d, %r14d
negl %r14d
cmovsl %r15d, %r14d
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0x3725a
movl $0x4, %ebx
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x37253
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x37258
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x3725a
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x37225
addl $-0x3, %ebx
jmp 0x3725a
addl $-0x2, %ebx
jmp 0x3725a
decl %ebx
shrl $0x1f, %r15d
leal (%rbx,%r15), %esi
movq %rdi, -0xa8(%rbp)
leaq -0xa8(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movl %r15d, %r12d
movq -0xa8(%rbp), %rdi
addq %r12, %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0x2a6a5
movq -0xf0(%rbp), %rcx
movl $0xf, %edi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rcx
je 0x372b0
movq -0xe0(%rbp), %rdi
movq -0xe8(%rbp), %r8
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x372eb
movl $0xf, %edi
leaq -0x98(%rbp), %r9
cmpq %r9, %rsi
je 0x372e6
movq -0x98(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x372f9
leaq -0xf0(%rbp), %rdi
callq 0x30a0
jmp 0x37309
leaq -0xa8(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0x58(%rbp), %rsi
movq %rsi, -0x68(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x3732a
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x37330
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x37364
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x3737c
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x3738e
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x373a3
callq 0x31d0
movl $0x1, %ebx
cmpl $0x9, -0x118(%rbp)
leaq -0x98(%rbp), %rdx
jb 0x373fe
movl $0x4, %ebx
movq -0x120(%rbp), %rax
movl $0xd1b71759, %esi       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x373f7
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x373fc
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x373fe
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x373c9
addl $-0x3, %ebx
jmp 0x373fe
addl $-0x2, %ebx
jmp 0x373fe
decl %ebx
movl %ebx, %esi
movq %rdx, -0xa8(%rbp)
leaq -0xa8(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0xa8(%rbp), %rdi
movl %ebx, %esi
movq -0x120(%rbp), %rdx
callq 0x2a6a5
movl $0x2, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x4185e(%rip), %rcx     # 0x78ca2
callq 0x3230
leaq -0x78(%rbp), %rsi
movq %rsi, -0x88(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37473
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x37479
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0x88(%rbp), %r13
movq 0x8(%rax), %rdx
movq %rdx, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r13, %rdi
leaq 0x41cd5(%rip), %rsi     # 0x79176
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x374ca
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x374d0
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0xb8(%rbp), %rsi
movl $0xd1b71759, %edi       # imm = 0xD1B71759
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0x3753b
movl $0x4, %ebx
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x37534
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x37539
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x3753b
movl %eax, %ecx
imulq %rdi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x37506
addl $-0x3, %ebx
jmp 0x3753b
addl $-0x2, %ebx
jmp 0x3753b
decl %ebx
addl %ebx, %r15d
movq %rsi, -0xc8(%rbp)
leaq -0xc8(%rbp), %rdi
movq %r15, %rsi
movl $0x2d, %edx
callq 0x3250
addq -0xc8(%rbp), %r12
movq %r12, %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0x2a6a5
movq -0x48(%rbp), %rcx
movl $0xf, %edi
leaq -0x38(%rbp), %rax
cmpq %rax, %rcx
je 0x37583
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %r8
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq -0x68(%rbp), %rbx
leaq 0x416e2(%rip), %r14     # 0x78c89
leaq -0x190(%rbp), %r15
jbe 0x375cd
movl $0xf, %edi
leaq -0xb8(%rbp), %r9
cmpq %r9, %rsi
je 0x375c8
movq -0xb8(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x375d8
leaq -0x48(%rbp), %rdi
callq 0x30a0
jmp 0x375e8
leaq -0xc8(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0xe0(%rbp), %rsi
movq %rsi, -0xf0(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x37615
movq %rdx, -0xf0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe0(%rbp)
jmp 0x3761b
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xe8(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x37652
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x37664
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x37679
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x37691
callq 0x31d0
movq %r13, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x2a567
movq %r13, %rdi
leaq 0x42068(%rip), %rsi     # 0x79711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x376d2
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x376d8
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xd0(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2a942
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x37711
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x37726
callq 0x31d0
movq %r13, %rdi
movq %r14, %rsi
leaq -0xf0(%rbp), %rdx
callq 0x2a567
movq %r13, %rdi
leaq 0x41fcf(%rip), %rsi     # 0x79711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3776b
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x37771
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xd0(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2a942
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x377aa
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x377bf
callq 0x31d0
movq %r15, %rdi
leaq 0x40de6(%rip), %rsi     # 0x785af
movq %rbx, %rdx
callq 0x2a567
movq %r15, %rdi
leaq 0x40a78(%rip), %rsi     # 0x78253
callq 0x33d0
leaq -0x130(%rbp), %rsi
movq %rsi, -0x140(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37810
movq %rdx, -0x140(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x130(%rbp)
jmp 0x37816
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x138(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movslq -0x108(%rbp), %r15
movq %r15, %r14
shlq $0x5, %r14
movq -0x110(%rbp), %rax
movq (%rax,%r14), %rsi
movq 0x8(%rax,%r14), %rdx
leaq -0x140(%rbp), %rdi
callq 0x30a0
leaq -0xb8(%rbp), %rsi
movq %rsi, -0xc8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3788a
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0x37890
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xc0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0xc8(%rbp), %rdi
leaq 0x418fd(%rip), %rsi     # 0x791b5
callq 0x33d0
leaq -0x98(%rbp), %rsi
movq %rsi, -0xa8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x378ed
movq %rdx, -0xa8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x98(%rbp)
jmp 0x378f3
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xa0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r15, %rbx
subq -0x100(%rbp), %rbx
shlq $0x5, %rbx
movq -0x110(%rbp), %rax
movq (%rax,%rbx), %rsi
movq 0x8(%rax,%rbx), %rdx
leaq -0xa8(%rbp), %rdi
callq 0x30a0
leaq -0x78(%rbp), %rsi
movq %rsi, -0x88(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37961
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x37967
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r13, %rdi
leaq 0x41d89(%rip), %rsi     # 0x79711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x379b1
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x379b7
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xd0(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2a942
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x379f0
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x37a05
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x37a1d
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x37a35
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x37a4d
callq 0x31d0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x37a65
callq 0x31d0
leaq -0x1d0(%rbp), %r12
movq %r12, %rdi
leaq 0x40b39(%rip), %rsi     # 0x785af
leaq -0xf0(%rbp), %rdx
callq 0x2a567
movq %r12, %rdi
leaq 0x40a1b(%rip), %rsi     # 0x784a7
callq 0x33d0
leaq -0x150(%rbp), %rsi
movq %rsi, -0x160(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37ac1
movq %rdx, -0x160(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x150(%rbp)
jmp 0x37ac7
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq -0x110(%rbp), %rdx
addq %r14, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x158(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rdx), %rsi
movq 0x8(%rdx), %rdx
leaq -0x160(%rbp), %rdi
callq 0x30a0
leaq -0x180(%rbp), %rsi
movq %rsi, -0x190(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37b2e
movq %rdx, -0x190(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x180(%rbp)
jmp 0x37b34
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x188(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x190(%rbp), %rdi
leaq 0x41659(%rip), %rsi     # 0x791b5
callq 0x33d0
leaq -0x130(%rbp), %rsi
movq %rsi, -0x140(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37b91
movq %rdx, -0x140(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x130(%rbp)
jmp 0x37b97
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x138(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x170(%rbp), %r12
movq (%r12,%rbx), %rsi
movq 0x8(%r12,%rbx), %rdx
leaq -0x140(%rbp), %rdi
callq 0x30a0
leaq -0xb8(%rbp), %rsi
movq %rsi, -0xc8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37bfd
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0x37c03
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xc0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0xc8(%rbp), %rdi
leaq 0x4146d(%rip), %rsi     # 0x79098
callq 0x33d0
leaq -0x98(%rbp), %rsi
movq %rsi, -0xa8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37c60
movq %rdx, -0xa8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x98(%rbp)
jmp 0x37c66
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xa0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r12,%r14), %rsi
movq 0x8(%r12,%r14), %rdx
leaq -0xa8(%rbp), %rdi
callq 0x30a0
leaq -0x78(%rbp), %rsi
movq %rsi, -0x88(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37cbf
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x37cc5
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq -0x120(%rbp), %r12
movq 0x8(%rax), %rdx
movq %rdx, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r13, %rdi
leaq 0x41a24(%rip), %rsi     # 0x79711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37d16
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x37d1c
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xd0(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2a942
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x37d55
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x37d6a
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x37d82
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x37d9a
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x37db2
callq 0x31d0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x37dca
callq 0x31d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x37de2
callq 0x31d0
movq -0x1d0(%rbp), %rdi
leaq -0x1c0(%rbp), %rax
cmpq %rax, %rdi
je 0x37dfa
callq 0x31d0
movq -0x168(%rbp), %rdi
addq %r14, %rdi
leaq -0xf0(%rbp), %rsi
callq 0x3120
addq -0x1a0(%rbp), %r14
movq %r14, %rdi
leaq -0x68(%rbp), %rsi
callq 0x3120
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x37e3b
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
movq -0x1b0(%rbp), %rbx
je 0x37e54
callq 0x31d0
addq %rbx, %r15
movq %r15, %rax
cmpl -0xf4(%rbp), %r15d
jl 0x370c0
cmpl $0x0, -0xf4(%rbp)
jle 0x37eca
movq -0x168(%rbp), %rbx
movq -0x170(%rbp), %r14
movq -0x198(%rbp), %r15
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3120
addq $0x20, %r14
addq $0x20, %rbx
decq %r15
jne 0x37e85
movq -0x1a0(%rbp), %rbx
movq -0x110(%rbp), %r14
movq -0x198(%rbp), %r15
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3120
addq $0x20, %r14
addq $0x20, %rbx
decq %r15
jne 0x37eb2
movq -0x1b0(%rbp), %r14
leaq (%r14,%r14), %rbx
leaq -0x1(,%r14,2), %rcx
movq %r14, -0x100(%rbp)
movl %r12d, %eax
movq %rax, -0x118(%rbp)
cmpq -0x1a8(%rbp), %rcx
leaq -0x68(%rbp), %r15
jb 0x36cdc
jmp 0x37f0f
movl $0x2, %ebx
movl $0x1, %r14d
xorl %r12d, %r12d
leaq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
movq %rax, (%rdi)
leaq 0x416e0(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
leaq -0x68(%rbp), %rsi
movq -0xd0(%rbp), %rdi
callq 0x2a942
movq -0x110(%rbp), %r15
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x37f52
callq 0x31d0
leaq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
movq %rax, (%rdi)
leaq 0x4169d(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
leaq -0x68(%rbp), %rsi
movq -0xd0(%rbp), %rdi
callq 0x2a942
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x37f8e
callq 0x31d0
leaq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
movq %rax, (%rdi)
leaq 0x40dfa(%rip), %rsi     # 0x78d9a
leaq 0x40e1f(%rip), %rdx     # 0x78dc6
callq 0x2ac04
leaq -0x68(%rbp), %rsi
movq -0xd0(%rbp), %rdi
callq 0x2a942
movq %r15, -0x110(%rbp)
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x37fd5
callq 0x31d0
cmpq -0x1a8(%rbp), %r14
cmovaeq %r14, %rbx
movq %rbx, -0x100(%rbp)
cmpq $0x4, %rbx
jb 0x39236
shrq $0x2, -0x100(%rbp)
leaq -0x68(%rbp), %r14
leaq -0xa8(%rbp), %r15
leaq -0x58(%rbp), %rax
movq %rax, -0x68(%rbp)
movq %r14, %rdi
leaq 0x415eb(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
movq -0xd0(%rbp), %rdi
movq %r14, %rsi
callq 0x2a942
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x3803f
callq 0x31d0
leal 0x1(%r12), %r13d
movl $0x1, %ebx
cmpl $0x9, %r12d
leaq -0x98(%rbp), %rdx
movl %r13d, -0x108(%rbp)
jb 0x380ac
movl $0x4, %ebx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
cmpl $0x63, %r13d
jbe 0x3809e
cmpl $0x3e7, %r13d           # imm = 0x3E7
jbe 0x380a3
cmpl $0x2710, %r13d          # imm = 0x2710
jb 0x380a5
movl %r13d, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %r13d         # imm = 0x1869F
movl %ecx, %r13d
ja 0x38067
addl $-0x3, %ebx
jmp 0x380a5
addl $-0x2, %ebx
jmp 0x380a5
decl %ebx
movl -0x108(%rbp), %r13d
movl %ebx, %esi
movq %rdx, -0xa8(%rbp)
movq %r15, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0xa8(%rbp), %rdi
movl %ebx, %esi
movl %r13d, %edx
callq 0x2a6a5
movl $0x9, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x40c88(%rip), %rcx     # 0x78d6f
callq 0x3230
leaq -0x78(%rbp), %rsi
movq %rsi, -0x88(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38116
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x3811c
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movl -0x108(%rbp), %r15d
movq 0x8(%rax), %rdx
movq %rdx, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x88(%rbp), %rdi
leaq 0x40c31(%rip), %rsi     # 0x78d79
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0xb8(%rbp), %rdi
movabsq $0x346dc5d63886594b, %r8 # imm = 0x346DC5D63886594B
je 0x38182
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x38188
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %esi
cmpq $0xa, -0x100(%rbp)
jb 0x381f7
movl $0x4, %esi
movq -0x100(%rbp), %rcx
cmpq $0x63, %rcx
jbe 0x381f0
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x381f5
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x381f7
movq %rcx, %rax
mulq %r8
shrq $0xb, %rdx
addl $0x4, %esi
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x381ba
addl $-0x3, %esi
jmp 0x381f7
addl $-0x2, %esi
jmp 0x381f7
decl %esi
movl %esi, %esi
movq %rdi, -0xc8(%rbp)
leaq -0xc8(%rbp), %rdi
xorl %edx, %edx
callq 0x3250
movq -0xc8(%rbp), %rdi
movl -0xc0(%rbp), %esi
movq -0x100(%rbp), %rdx
callq 0x3b5a3
movq -0x48(%rbp), %rcx
movl $0xf, %edi
leaq -0x38(%rbp), %rax
cmpq %rax, %rcx
je 0x3823d
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %r8
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x38275
movl $0xf, %edi
leaq -0xb8(%rbp), %r9
cmpq %r9, %rsi
je 0x38270
movq -0xb8(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x38280
leaq -0x48(%rbp), %rdi
callq 0x30a0
jmp 0x38290
leaq -0xc8(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0xe0(%rbp), %rsi
movq %rsi, -0xf0(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x382bd
movq %rdx, -0xf0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe0(%rbp)
jmp 0x382c3
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xe8(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0xf0(%rbp), %rdi
leaq 0x40a9c(%rip), %rsi     # 0x78d8c
callq 0x33d0
leaq -0x58(%rbp), %rsi
movq %rsi, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38319
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x3831f
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xd0(%rbp), %rdi
movq %r14, %rsi
callq 0x2a942
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x38357
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x3836f
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x38387
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x38399
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x383ae
callq 0x31d0
movq %r12, -0x120(%rbp)
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x383cd
callq 0x31d0
movq -0x100(%rbp), %rax
leal (%rax,%rax,2), %r14d
decl %r14d
cmpl -0xf4(%rbp), %r14d
leaq -0x88(%rbp), %r12
jge 0x3919e
movq -0x100(%rbp), %rax
addl %eax, %eax
movl %eax, -0x1b0(%rbp)
movl $0x1, %ebx
cmpl $0x9, -0x120(%rbp)
leaq -0x78(%rbp), %rdx
jb 0x38452
movl $0x4, %ebx
movl %r15d, %eax
movl $0xd1b71759, %esi       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x3844b
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x38450
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x38452
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x3841d
addl $-0x3, %ebx
jmp 0x38452
addl $-0x2, %ebx
jmp 0x38452
decl %ebx
movl %ebx, %esi
movq %rdx, -0x88(%rbp)
movq %r12, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x88(%rbp), %rdi
movl %ebx, %esi
movl %r15d, %edx
callq 0x2a6a5
movl $0x2, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x4012c(%rip), %rcx     # 0x785b9
callq 0x3230
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x384b6
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x384bc
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x48(%rbp), %rdi
leaq 0x40c98(%rip), %rsi     # 0x79176
callq 0x33d0
leaq -0xe0(%rbp), %rsi
movq %rsi, -0xf0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38513
movq %rdx, -0xf0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe0(%rbp)
jmp 0x38519
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0x98(%rbp), %rdi
movl $0xd1b71759, %esi       # imm = 0xD1B71759
movq 0x8(%rax), %rdx
movq %rdx, -0xe8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl %r14d, %r15d
negl %r15d
cmovsl %r14d, %r15d
movl $0x1, %ebx
cmpl $0xa, %r15d
jb 0x38591
movl $0x4, %ebx
movl %r15d, %eax
cmpl $0x63, %eax
jbe 0x3858a
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x3858f
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x38591
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x3855c
addl $-0x3, %ebx
jmp 0x38591
addl $-0x2, %ebx
jmp 0x38591
decl %ebx
movl %r14d, %r13d
shrl $0x1f, %r13d
leal (%rbx,%r13), %esi
movq %rdi, -0xa8(%rbp)
leaq -0xa8(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movl %r14d, -0x118(%rbp)
movl %r13d, %r14d
movq -0xa8(%rbp), %rdi
addq %r14, %rdi
movl %ebx, %esi
movl %r15d, %edx
callq 0x2a6a5
movq -0xf0(%rbp), %rcx
movl $0xf, %edi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rcx
je 0x385f1
movq -0xe0(%rbp), %rdi
movq -0xe8(%rbp), %r8
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x3862c
movl $0xf, %edi
leaq -0x98(%rbp), %r9
cmpq %r9, %rsi
je 0x38627
movq -0x98(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x3863a
leaq -0xf0(%rbp), %rdi
callq 0x30a0
jmp 0x3864a
leaq -0xa8(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0x58(%rbp), %rsi
movq %rsi, -0x68(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x3866b
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x38671
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x386a5
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x386bd
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x386cf
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x386e4
callq 0x31d0
movl $0x1, %ebx
cmpl $0x9, -0x120(%rbp)
leaq -0x98(%rbp), %rdx
jb 0x3873e
movl $0x4, %ebx
movl -0x108(%rbp), %eax
movl $0xd1b71759, %esi       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x38737
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x3873c
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x3873e
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x38709
addl $-0x3, %ebx
jmp 0x3873e
addl $-0x2, %ebx
jmp 0x3873e
decl %ebx
movl %ebx, %esi
movq %rdx, -0xa8(%rbp)
leaq -0xa8(%rbp), %r12
movq %r12, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0xa8(%rbp), %rdi
movl %ebx, %esi
movl -0x108(%rbp), %edx
callq 0x2a6a5
movl $0x2, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x4051f(%rip), %rcx     # 0x78ca2
callq 0x3230
leaq -0x78(%rbp), %rsi
movq %rsi, -0x88(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x387b2
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x387b8
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0x88(%rbp), %r12
movq 0x8(%rax), %rdx
movq %rdx, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r12, %rdi
leaq 0x40996(%rip), %rsi     # 0x79176
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38809
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x3880f
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0xb8(%rbp), %rsi
movl $0xd1b71759, %edi       # imm = 0xD1B71759
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %ebx
cmpl $0xa, %r15d
jb 0x3887a
movl $0x4, %ebx
movl %r15d, %eax
cmpl $0x63, %eax
jbe 0x38873
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x38878
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x3887a
movl %eax, %ecx
imulq %rdi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x38845
addl $-0x3, %ebx
jmp 0x3887a
addl $-0x2, %ebx
jmp 0x3887a
decl %ebx
addl %ebx, %r13d
movq %rsi, -0xc8(%rbp)
leaq -0xc8(%rbp), %rdi
movq %r13, %rsi
movl $0x2d, %edx
callq 0x3250
addq -0xc8(%rbp), %r14
movq %r14, %rdi
movl %ebx, %esi
movl %r15d, %edx
callq 0x2a6a5
movq -0x48(%rbp), %rcx
movl $0xf, %edi
leaq -0x38(%rbp), %rax
cmpq %rax, %rcx
je 0x388c2
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %r8
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq -0x180(%rbp), %r14
leaq -0x68(%rbp), %rbx
leaq 0x4039c(%rip), %r15     # 0x78c89
jbe 0x3890c
movl $0xf, %edi
leaq -0xb8(%rbp), %r9
cmpq %r9, %rsi
je 0x38907
movq -0xb8(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x38917
leaq -0x48(%rbp), %rdi
callq 0x30a0
jmp 0x38927
leaq -0xc8(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0xe0(%rbp), %rsi
movq %rsi, -0xf0(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x38954
movq %rdx, -0xf0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe0(%rbp)
jmp 0x3895a
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xe8(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x38991
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x389a3
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x389b8
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x389d0
callq 0x31d0
movq %r12, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x2a567
movq %r12, %rdi
leaq 0x40d29(%rip), %rsi     # 0x79711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38a11
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x38a17
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xd0(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2a942
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x38a50
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x38a65
callq 0x31d0
movq %r12, %rdi
movq %r15, %rsi
leaq -0xf0(%rbp), %rdx
callq 0x2a567
movq %r12, %rdi
leaq 0x40c90(%rip), %rsi     # 0x79711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38aaa
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x38ab0
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xd0(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2a942
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x38ae9
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x38afe
callq 0x31d0
leaq -0x190(%rbp), %r15
movq %r15, %rdi
leaq 0x3faa0(%rip), %rsi     # 0x785af
movq %rbx, %rdx
callq 0x2a567
movq %r15, %rdi
leaq 0x3f732(%rip), %rsi     # 0x78253
callq 0x33d0
leaq -0x130(%rbp), %rsi
movq %rsi, -0x140(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38b56
movq %rdx, -0x140(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x130(%rbp)
jmp 0x38b5c
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x138(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movslq -0x118(%rbp), %rbx
movq %rbx, %r15
shlq $0x5, %r15
movq -0x110(%rbp), %rax
movq (%rax,%r15), %rsi
movq 0x8(%rax,%r15), %rdx
leaq -0x140(%rbp), %rdi
callq 0x30a0
leaq -0xb8(%rbp), %rsi
movq %rsi, -0xc8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38bd0
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0x38bd6
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xc0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0xc8(%rbp), %rdi
leaq 0x405b7(%rip), %rsi     # 0x791b5
callq 0x33d0
leaq -0x98(%rbp), %rsi
movq %rsi, -0xa8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38c33
movq %rdx, -0xa8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x98(%rbp)
jmp 0x38c39
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xa0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
subq -0x100(%rbp), %rbx
shlq $0x5, %rbx
movq -0x110(%rbp), %rax
movq (%rax,%rbx), %rsi
movq 0x8(%rax,%rbx), %rdx
leaq -0xa8(%rbp), %rdi
callq 0x30a0
leaq -0x78(%rbp), %rsi
movq %rsi, -0x88(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38ca4
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x38caa
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r12, %rdi
leaq 0x40a46(%rip), %rsi     # 0x79711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38cf4
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x38cfa
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xd0(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2a942
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x38d33
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x38d48
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x38d60
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x38d78
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x38d90
callq 0x31d0
movq -0x190(%rbp), %rdi
cmpq %r14, %rdi
je 0x38da1
callq 0x31d0
leaq -0x1d0(%rbp), %r13
movq %r13, %rdi
leaq 0x3f7fd(%rip), %rsi     # 0x785af
leaq -0xf0(%rbp), %rdx
callq 0x2a567
movq %r13, %rdi
leaq 0x3f6df(%rip), %rsi     # 0x784a7
callq 0x33d0
leaq -0x150(%rbp), %rsi
movq %rsi, -0x160(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38dfd
movq %rdx, -0x160(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x150(%rbp)
jmp 0x38e03
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq -0x110(%rbp), %rdx
addq %r15, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x158(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rdx), %rsi
movq 0x8(%rdx), %rdx
leaq -0x160(%rbp), %rdi
callq 0x30a0
movq %r14, -0x190(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38e63
movq %rdx, -0x190(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x180(%rbp)
jmp 0x38e6a
movups (%rcx), %xmm0
movups %xmm0, (%r14)
leaq -0x190(%rbp), %rdi
movq 0x8(%rax), %rdx
movq %rdx, -0x188(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x40323(%rip), %rsi     # 0x791b5
callq 0x33d0
leaq -0x130(%rbp), %rsi
movq %rsi, -0x140(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38ec7
movq %rdx, -0x140(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x130(%rbp)
jmp 0x38ecd
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x138(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x170(%rbp), %r14
movq (%r14,%rbx), %rsi
movq 0x8(%r14,%rbx), %rdx
leaq -0x140(%rbp), %rdi
callq 0x30a0
leaq -0xb8(%rbp), %rsi
movq %rsi, -0xc8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38f33
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0x38f39
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xc0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0xc8(%rbp), %rdi
leaq 0x40137(%rip), %rsi     # 0x79098
callq 0x33d0
leaq -0x98(%rbp), %rsi
movq %rsi, -0xa8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38f96
movq %rdx, -0xa8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x98(%rbp)
jmp 0x38f9c
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xa0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r14,%r15), %rsi
movq 0x8(%r14,%r15), %rdx
leaq -0xa8(%rbp), %rdi
callq 0x30a0
leaq -0x78(%rbp), %rsi
movq %rsi, -0x88(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0x180(%rbp), %r14
je 0x38ffc
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x39002
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r12, %rdi
leaq 0x406ee(%rip), %rsi     # 0x79711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3904c
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x39052
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xd0(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2a942
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x3908b
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x390a0
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x390b8
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x390d0
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x390e8
callq 0x31d0
movq -0x190(%rbp), %rdi
cmpq %r14, %rdi
je 0x390f9
callq 0x31d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
movl -0x118(%rbp), %r14d
je 0x39118
callq 0x31d0
movq -0x1d0(%rbp), %rdi
leaq -0x1c0(%rbp), %rax
cmpq %rax, %rdi
je 0x39130
callq 0x31d0
movq -0x168(%rbp), %rdi
addq %r15, %rdi
leaq -0xf0(%rbp), %rsi
callq 0x3120
addq -0x1a0(%rbp), %r15
movq %r15, %rdi
leaq -0x68(%rbp), %rsi
callq 0x3120
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x39171
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
movl -0x108(%rbp), %r15d
je 0x3918a
callq 0x31d0
addl -0x1b0(%rbp), %r14d
cmpl -0xf4(%rbp), %r14d
jl 0x383fe
cmpl $0x0, -0xf4(%rbp)
movq -0x100(%rbp), %r12
jle 0x39208
movq -0x168(%rbp), %rbx
movq -0x170(%rbp), %r14
movq -0x198(%rbp), %r15
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3120
addq $0x20, %r14
addq $0x20, %rbx
decq %r15
jne 0x391c3
movq -0x1a0(%rbp), %rbx
movq -0x110(%rbp), %r14
movq -0x198(%rbp), %r15
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3120
addq $0x20, %r14
addq $0x20, %rbx
decq %r15
jne 0x391f0
movq %r12, %rax
shrq %rax
movq %r12, %rcx
movl -0x108(%rbp), %edx
movl %edx, %r12d
cmpq $0x2, %rcx
movq %rax, -0x100(%rbp)
leaq -0x68(%rbp), %r14
leaq -0xa8(%rbp), %r15
jae 0x38004
leaq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
movq %rax, (%rdi)
leaq 0x403b9(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
leaq -0x68(%rbp), %rsi
movq -0xd0(%rbp), %rdi
callq 0x2a942
movq -0x110(%rbp), %r15
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x39279
callq 0x31d0
leaq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
movq %rax, (%rdi)
leaq 0x3fb3c(%rip), %rsi     # 0x78dc7
leaq 0x3fb47(%rip), %rdx     # 0x78dd9
callq 0x2ac04
leaq -0x68(%rbp), %rsi
movq -0xd0(%rbp), %rdi
callq 0x2a942
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x392b9
callq 0x31d0
leaq -0x170(%rbp), %rdx
movl -0xf4(%rbp), %edi
movq -0xd0(%rbp), %r8
callq 0x2f814
leaq -0x8(%r15), %rbx
movq -0x8(%r15), %r14
testq %r14, %r14
je 0x39305
shlq $0x5, %r14
addq %r14, %r15
addq $-0x10, %r15
negq %r14
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x392fb
callq 0x31d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x392ed
movq %rbx, %rdi
callq 0x3280
movq -0x170(%rbp), %rax
testq %rax, %rax
je 0x39355
leaq -0x8(%rax), %rbx
movq -0x8(%rax), %r14
testq %r14, %r14
je 0x3934d
shlq $0x5, %r14
leaq (%r14,%rax), %r15
addq $-0x10, %r15
negq %r14
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x39343
callq 0x31d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x39335
movq %rbx, %rdi
callq 0x3280
movq -0x1a0(%rbp), %rax
testq %rax, %rax
je 0x3939d
leaq -0x8(%rax), %rbx
movq -0x8(%rax), %r14
testq %r14, %r14
je 0x39395
shlq $0x5, %r14
leaq (%r14,%rax), %r15
addq $-0x10, %r15
negq %r14
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x3938b
callq 0x31d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x3937d
movq %rbx, %rdi
callq 0x3280
movq -0x168(%rbp), %rax
testq %rax, %rax
je 0x393e5
leaq -0x8(%rax), %rbx
movq -0x8(%rax), %r14
testq %r14, %r14
je 0x393dd
shlq $0x5, %r14
leaq (%r14,%rax), %r15
addq $-0x10, %r15
negq %r14
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x393d3
callq 0x31d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x393c5
movq %rbx, %rdi
callq 0x3280
addq $0x1d8, %rsp            # imm = 0x1D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x399cb
jmp 0x394d8
jmp 0x399cb
jmp 0x394d8
jmp 0x399cb
jmp 0x394d8
jmp 0x399cb
jmp 0x394d8
jmp 0x399cb
jmp 0x394d8
jmp 0x399cb
jmp 0x394d8
jmp 0x399cb
jmp 0x394d8
jmp 0x399cb
jmp 0x394d8
movq %rax, %rbx
movq -0x1f0(%rbp), %rdi
leaq -0x1e0(%rbp), %rax
jmp 0x399f5
jmp 0x39470
jmp 0x39475
jmp 0x3947a
jmp 0x3947f
jmp 0x394d8
jmp 0x399cb
jmp 0x394e5
jmp 0x394ea
movq %rax, %rbx
jmp 0x394c4
movq %rax, %rbx
jmp 0x394ac
movq %rax, %rbx
jmp 0x39494
movq %rax, %rbx
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x39494
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x394ac
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x394c4
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x394ed
callq 0x31d0
jmp 0x394ed
movq %rax, %rbx
jmp 0x399ff
jmp 0x399cb
movq %rax, %rbx
jmp 0x39502
movq %rax, %rbx
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x39502
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
jmp 0x399f5
movq %rax, %rbx
leaq -0x150(%rbp), %r15
jmp 0x39683
jmp 0x39720
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x39561
callq 0x31d0
jmp 0x39561
movq %rax, %rbx
jmp 0x39576
movq %rax, %rbx
leaq -0x150(%rbp), %r15
jmp 0x39694
jmp 0x399d2
movq %rax, %rbx
jmp 0x395ab
movq %rax, %rbx
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x39576
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x39593
callq 0x31d0
jmp 0x39593
movq %rax, %rbx
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x395ab
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x396b6
callq 0x31d0
jmp 0x396b6
movq %rax, %rbx
leaq -0x180(%rbp), %r14
leaq -0x150(%rbp), %r15
jmp 0x39653
movq %rax, %rbx
jmp 0x3961f
movq %rax, %rbx
leaq -0x180(%rbp), %r14
leaq -0x150(%rbp), %r15
jmp 0x3963b
movq %rax, %rbx
leaq -0x180(%rbp), %r14
leaq -0x150(%rbp), %r15
jmp 0x3966b
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x3961f
callq 0x31d0
leaq -0x150(%rbp), %r15
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x3963b
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x39653
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x3966b
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x39683
callq 0x31d0
movq -0x190(%rbp), %rdi
cmpq %r14, %rdi
je 0x39694
callq 0x31d0
movq -0x160(%rbp), %rdi
cmpq %r15, %rdi
jne 0x39891
jmp 0x39896
jmp 0x398a9
jmp 0x399d2
movq %rax, %rbx
movq -0x190(%rbp), %rdi
cmpq %r14, %rdi
jne 0x399c2
jmp 0x399d5
jmp 0x399d2
jmp 0x398f2
jmp 0x398e8
jmp 0x398ed
jmp 0x398f2
jmp 0x398fa
jmp 0x3999d
jmp 0x39907
jmp 0x39924
jmp 0x39941
jmp 0x3997b
jmp 0x3999d
jmp 0x399d2
jmp 0x399cb
movq %rax, %rbx
leaq -0x150(%rbp), %r14
jmp 0x3986d
movq %rax, %rbx
jmp 0x39896
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x39760
callq 0x31d0
jmp 0x39760
movq %rax, %rbx
jmp 0x39775
movq %rax, %rbx
leaq -0x150(%rbp), %r14
jmp 0x39885
jmp 0x399d2
movq %rax, %rbx
jmp 0x397aa
movq %rax, %rbx
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x39775
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x39792
callq 0x31d0
jmp 0x39792
movq %rax, %rbx
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x397aa
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x398ce
callq 0x31d0
jmp 0x398ce
movq %rax, %rbx
leaq -0x150(%rbp), %r14
jmp 0x3983d
movq %rax, %rbx
jmp 0x39809
movq %rax, %rbx
leaq -0x150(%rbp), %r14
jmp 0x39825
movq %rax, %rbx
leaq -0x150(%rbp), %r14
jmp 0x39855
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x39809
callq 0x31d0
leaq -0x150(%rbp), %r14
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x39825
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x3983d
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x39855
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x3986d
callq 0x31d0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x39885
callq 0x31d0
movq -0x160(%rbp), %rdi
cmpq %r14, %rdi
je 0x39896
callq 0x31d0
movq -0x1d0(%rbp), %rdi
leaq -0x1c0(%rbp), %rax
jmp 0x399bd
movq %rax, %rbx
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x3990a
callq 0x31d0
jmp 0x3990a
jmp 0x399d2
movq %rax, %rbx
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
jmp 0x399bd
jmp 0x399d2
jmp 0x398f2
movq %rax, %rbx
jmp 0x39956
movq %rax, %rbx
jmp 0x3996b
movq %rax, %rbx
jmp 0x399b2
movq %rax, %rbx
jmp 0x39990
jmp 0x3999d
movq %rax, %rbx
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x3997e
callq 0x31d0
jmp 0x3997e
movq %rax, %rbx
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x39944
callq 0x31d0
jmp 0x39944
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x39956
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x3996b
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
jmp 0x399e3
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x39990
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
jmp 0x399f5
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x399b2
callq 0x31d0
movq -0x88(%rbp), %rdi
leaq -0x78(%rbp), %rax
cmpq %rax, %rdi
je 0x399d5
callq 0x31d0
jmp 0x399d5
jmp 0x399d2
movq %rax, %rbx
jmp 0x399ed
jmp 0x399d2
movq %rax, %rbx
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x399ed
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x399ff
callq 0x31d0
movq %rbx, %rdi
callq 0x33a0