// File: /workspace/github_cpp_makefile_star2_O1/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, -0xd8(%rbp)
movl %esi, -0x128(%rbp)
movl %edi, -0x6c(%rbp)
movslq %edi, %r15
movq %r15, %rbx
shlq $0x5, %rbx
leaq 0x8(%rbx), %rax
testl %r15d, %r15d
movq $-0x1, %r13
cmovnsq %rax, %r13
movq %r13, %rdi
callq 0x3030
leaq 0x8(%rax), %r14
movq %r15, (%rax)
movq %r15, -0x140(%rbp)
testl %r15d, %r15d
je 0x36c52
addq $0x18, %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
addq $0x20, %rax
addq $-0x20, %rbx
jne 0x36c39
movq %r14, -0x198(%rbp)
movq %r13, %rdi
callq 0x3030
movq -0x140(%rbp), %rcx
movq %rcx, (%rax)
testl %ecx, %ecx
je 0x36c97
leaq 0x18(%rax), %rdx
movq -0x140(%rbp), %rcx
shlq $0x5, %rcx
movq %rdx, -0x10(%rdx)
movq $0x0, -0x8(%rdx)
movb $0x0, (%rdx)
addq $0x20, %rdx
addq $-0x20, %rcx
jne 0x36c7e
movq %rax, -0x1b8(%rbp)
movq %r13, %rdi
callq 0x3030
leaq 0x8(%rax), %r12
movq -0x140(%rbp), %rcx
movq %rcx, (%rax)
testl %ecx, %ecx
je 0x36ce0
addq $0x18, %rax
movq -0x140(%rbp), %rcx
shlq $0x5, %rcx
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
addq $0x20, %rax
addq $-0x20, %rcx
jne 0x36cc7
movq %r12, -0x190(%rbp)
movq %r13, %rdi
callq 0x3030
leaq 0x8(%rax), %r13
movq -0x140(%rbp), %rcx
movq %rcx, (%rax)
testl %ecx, %ecx
je 0x36d29
addq $0x18, %rax
movq -0x140(%rbp), %rcx
shlq $0x5, %rcx
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
addq $0x20, %rax
addq $-0x20, %rcx
jne 0x36d10
leaq -0x1a8(%rbp), %rbx
movq %r13, (%rbx)
leaq -0x1e8(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x419a0(%rip), %rsi     # 0x786e5
leaq 0x4199b(%rip), %rdx     # 0x786e7
leaq -0x1f8(%rbp), %r15
movq %r15, %rdi
callq 0x2b022
movq -0xd8(%rbp), %rax
movq %rax, (%rsp)
movzbl -0x128(%rbp), %esi
leaq -0x190(%rbp), %r8
movl -0x6c(%rbp), %edi
movq %r15, %rcx
movq %rbx, %r9
callq 0x2df1f
movq -0x1f8(%rbp), %rdi
leaq -0x1e8(%rbp), %rax
cmpq %rax, %rdi
je 0x36d9a
callq 0x31d0
movq -0x1b8(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x128(%rbp)
movl -0x6c(%rbp), %eax
movl %eax, %ecx
movq %rcx, -0x188(%rbp)
testl %eax, %eax
jle 0x36e07
movq -0x188(%rbp), %rbx
movq %r14, %rdi
movq %r12, %rsi
callq 0x3120
addq $0x20, %r14
addq $0x20, %r12
decq %rbx
jne 0x36dc3
cmpl $0x0, -0x6c(%rbp)
jle 0x36e07
movq -0x128(%rbp), %rbx
movq -0x188(%rbp), %r14
movq %rbx, %rdi
movq %r13, %rsi
callq 0x3120
addq $0x20, %rbx
addq $0x20, %r13
decq %r14
jne 0x36def
leaq -0x58(%rbp), %rax
movq %rax, %r14
movq %rax, -0x10(%rax)
leaq 0x42f12(%rip), %rsi     # 0x79d2b
leaq 0x42f21(%rip), %rdx     # 0x79d41
leaq -0x68(%rbp), %rdi
callq 0x2b022
leaq -0x68(%rbp), %rsi
movq -0xd8(%rbp), %rdi
callq 0x2ad60
movq -0x68(%rbp), %rdi
movq %r14, %rax
cmpq %r14, %rdi
je 0x36e4d
callq 0x31d0
movq %r14, %rax
leaq -0x68(%rbp), %rdi
movq %rax, (%rdi)
leaq 0x437a6(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
leaq -0x68(%rbp), %rsi
movq -0xd8(%rbp), %rdi
callq 0x2ad60
movq -0x68(%rbp), %rdi
movq %r14, %rax
cmpq %r14, %rdi
je 0x36e87
callq 0x31d0
movq %r14, %rax
leaq -0x68(%rbp), %rdi
movq %rax, (%rdi)
leaq 0x42ead(%rip), %rsi     # 0x79d42
leaq 0x42ed2(%rip), %rdx     # 0x79d6e
callq 0x2b022
leaq -0x68(%rbp), %rsi
movq -0xd8(%rbp), %rdi
callq 0x2ad60
movq -0x68(%rbp), %rdi
movq %r14, %r12
cmpq %r14, %rdi
je 0x36ec5
callq 0x31d0
movq %r14, %r12
cmpl $0x2, -0x6c(%rbp)
jb 0x38121
movq $0x0, -0x100(%rbp)
movl $0x2, %ebx
movl $0x1, %r13d
movl $0x1, %r14d
movq -0x100(%rbp), %rax
movq %rax, -0x138(%rbp)
movq %r14, -0x130(%rbp)
movq %r12, -0x68(%rbp)
leaq -0x68(%rbp), %r14
movq %r14, %rdi
leaq 0x436ef(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
movq -0xd8(%rbp), %rdi
movq %r14, %rsi
callq 0x2ad60
movq %rbx, -0x1b0(%rbp)
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x36f3e
callq 0x31d0
movq -0x138(%rbp), %rax
leal 0x1(%rax), %r14d
movl $0x1, %ebx
cmpl $0x9, %eax
movq %r14, -0x100(%rbp)
jb 0x36fa3
movl $0x4, %ebx
movl %r14d, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x36f95
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x36f9a
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x36f9c
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x36f67
addl $-0x3, %ebx
jmp 0x36f9c
addl $-0x2, %ebx
jmp 0x36f9c
decl %ebx
movq -0x100(%rbp), %r14
movl %ebx, %esi
leaq -0xc0(%rbp), %rax
movq %rax, -0xd0(%rbp)
leaq -0xd0(%rbp), %r15
movq %r15, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0xd0(%rbp), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0x2aad9
movl $0x9, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x42d83(%rip), %rcx     # 0x79d6f
callq 0x3230
leaq -0xa0(%rbp), %rsi
movq %rsi, -0xb0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0x68(%rbp), %rbx
leaq -0xb0(%rbp), %r15
movabsq $0x346dc5d63886594b, %r14 # imm = 0x346DC5D63886594B
je 0x37036
movq %rdx, -0xb0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa0(%rbp)
jmp 0x3703c
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xa8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r15, %rdi
leaq 0x42d19(%rip), %rsi     # 0x79d79
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37089
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x3708f
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, -0x130(%rbp)
jb 0x370fe
movl $0x4, %esi
movq -0x130(%rbp), %rcx
cmpq $0x63, %rcx
jbe 0x370f7
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x370fc
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x370fe
movq %rcx, %rax
mulq %r14
shrq $0xb, %rdx
addl $0x4, %esi
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x370c1
addl $-0x3, %esi
jmp 0x370fe
addl $-0x2, %esi
jmp 0x370fe
decl %esi
movl %esi, %esi
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq -0x90(%rbp), %rdi
xorl %edx, %edx
callq 0x3250
movq -0x90(%rbp), %rdi
movl -0x88(%rbp), %esi
movq -0x130(%rbp), %rdx
callq 0x3b7b2
movq -0x48(%rbp), %rcx
movl $0xf, %esi
leaq -0x38(%rbp), %rax
cmpq %rax, %rcx
je 0x37148
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %r8
movq -0x88(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x37177
movl $0xf, %esi
leaq -0x80(%rbp), %rdi
cmpq %rdi, -0x90(%rbp)
je 0x37172
movq -0x80(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x37189
movq -0x90(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x30a0
jmp 0x37199
leaq -0x90(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0xe8(%rbp), %rsi
movq %rsi, -0xf8(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x371c6
movq %rdx, -0xf8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe8(%rbp)
jmp 0x371cc
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xf0(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0xf8(%rbp), %rdi
leaq 0x42b93(%rip), %rsi     # 0x79d8c
callq 0x33d0
movq %r12, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3721e
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x37226
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xd8(%rbp), %rdi
movq %rbx, %rsi
callq 0x2ad60
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x3725a
callq 0x31d0
movq -0xf8(%rbp), %rdi
leaq -0xe8(%rbp), %rax
cmpq %rax, %rdi
movq -0x100(%rbp), %r14
je 0x37279
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x3728e
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x372a0
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x372b8
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x372d0
callq 0x31d0
movq %r13, %rax
cmpl -0x6c(%rbp), %eax
jge 0x38095
movq %rax, -0x1a0(%rbp)
movl $0x1, %ebx
cmpl $0x9, -0x138(%rbp)
leaq -0xa0(%rbp), %rdx
jb 0x3733a
movl $0x4, %ebx
movl %r14d, %eax
movl $0xd1b71759, %esi       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x37333
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x37338
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x3733a
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x37305
addl $-0x3, %ebx
jmp 0x3733a
addl $-0x2, %ebx
jmp 0x3733a
decl %ebx
movl %ebx, %esi
movq %rdx, -0xb0(%rbp)
movq %r15, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0xb0(%rbp), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0x2aad9
movl $0x2, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x42247(%rip), %rcx     # 0x795bc
callq 0x3230
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3739e
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x373a4
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 0x42db0(%rip), %rsi     # 0x7a176
callq 0x33d0
leaq -0xe8(%rbp), %rsi
movq %rsi, -0xf8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x373fb
movq %rdx, -0xf8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe8(%rbp)
jmp 0x37401
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movl $0xd1b71759, %esi       # imm = 0xD1B71759
movq 0x8(%rax), %rdx
movq %rdx, -0xf0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl %r13d, %r14d
negl %r14d
cmovsl %r13d, %r14d
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0x37472
movl $0x4, %ebx
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x3746b
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x37470
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x37472
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x3743d
addl $-0x3, %ebx
jmp 0x37472
addl $-0x2, %ebx
jmp 0x37472
decl %ebx
shrl $0x1f, %r13d
leal (%rbx,%r13), %esi
leaq -0xc0(%rbp), %rax
movq %rax, -0xd0(%rbp)
leaq -0xd0(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movl %r13d, %r12d
movq -0xd0(%rbp), %rdi
addq %r12, %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0x2aad9
movq -0xf8(%rbp), %rcx
movl $0xf, %esi
leaq -0xe8(%rbp), %rax
cmpq %rax, %rcx
je 0x374cf
movq -0xe8(%rbp), %rsi
movq -0xf0(%rbp), %r8
movq -0xc8(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x37507
movl $0xf, %esi
leaq -0xc0(%rbp), %rdi
cmpq %rdi, -0xd0(%rbp)
je 0x37502
movq -0xc0(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x3751c
movq -0xd0(%rbp), %rsi
leaq -0xf8(%rbp), %rdi
callq 0x30a0
jmp 0x3752c
leaq -0xd0(%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 0x3754d
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x37553
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 -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x37587
callq 0x31d0
movq -0xf8(%rbp), %rdi
leaq -0xe8(%rbp), %rax
cmpq %rax, %rdi
je 0x3759f
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x375b1
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x375c9
callq 0x31d0
movl $0x1, %ebx
cmpl $0x9, -0x138(%rbp)
jb 0x3761d
movl $0x4, %ebx
movq -0x100(%rbp), %rax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x37616
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x3761b
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x3761d
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x375e8
addl $-0x3, %ebx
jmp 0x3761d
addl $-0x2, %ebx
jmp 0x3761d
decl %ebx
movl %ebx, %esi
leaq -0xc0(%rbp), %rax
movq %rax, -0xd0(%rbp)
leaq -0xd0(%rbp), %r15
movq %r15, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0xd0(%rbp), %rdi
movl %ebx, %esi
movq -0x100(%rbp), %rdx
callq 0x2aad9
movl $0x2, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x42638(%rip), %rcx     # 0x79ca2
callq 0x3230
leaq -0xa0(%rbp), %rsi
movq %rsi, -0xb0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3769f
movq %rdx, -0xb0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa0(%rbp)
jmp 0x376a5
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0xb0(%rbp), %r15
movq 0x8(%rax), %rdx
movq %rdx, -0xa8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r15, %rdi
leaq 0x42aa6(%rip), %rsi     # 0x7a176
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x376f9
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x376ff
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movl $0xd1b71759, %esi       # 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 0x37763
movl $0x4, %ebx
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x3775c
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x37761
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x37763
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x3772e
addl $-0x3, %ebx
jmp 0x37763
addl $-0x2, %ebx
jmp 0x37763
decl %ebx
addl %ebx, %r13d
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq -0x90(%rbp), %rdi
movq %r13, %rsi
movl $0x2d, %edx
callq 0x3250
addq -0x90(%rbp), %r12
movq %r12, %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0x2aad9
movq -0x48(%rbp), %rcx
movl $0xf, %esi
leaq -0x38(%rbp), %rax
cmpq %rax, %rcx
je 0x377af
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %r8
movq -0x88(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq -0x80(%rbp), %r14
leaq -0x180(%rbp), %r13
jbe 0x377e5
movl $0xf, %esi
cmpq %r14, -0x90(%rbp)
je 0x377e0
movq -0x80(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x377f7
movq -0x90(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x30a0
jmp 0x37807
leaq -0x90(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0xe8(%rbp), %rsi
movq %rsi, -0xf8(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x37834
movq %rdx, -0xf8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe8(%rbp)
jmp 0x3783a
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xf0(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq -0x90(%rbp), %rdi
cmpq %r14, %rdi
je 0x3786a
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
leaq -0x68(%rbp), %rbx
leaq 0x42409(%rip), %r14     # 0x79c89
je 0x37887
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x3789f
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x378b7
callq 0x31d0
movq %r15, %rdi
movq %r14, %rsi
movq %rbx, %rdx
callq 0x2a99b
movq %r15, %rdi
leaq 0x42e42(%rip), %rsi     # 0x7a711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x378f8
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x378fe
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 -0xd8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2ad60
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x37937
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x3794f
callq 0x31d0
movq %r15, %rdi
movq %r14, %rsi
leaq -0xf8(%rbp), %rdx
callq 0x2a99b
movq %r15, %rdi
leaq 0x42da6(%rip), %rsi     # 0x7a711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37994
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x3799a
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 -0xd8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2ad60
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x379d3
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x379eb
callq 0x31d0
movq %r13, %rdi
leaq 0x41bbd(%rip), %rsi     # 0x795b2
movq %rbx, %rdx
callq 0x2a99b
movq %r13, %rdi
leaq 0x4184f(%rip), %rsi     # 0x79256
callq 0x33d0
leaq -0x110(%rbp), %rsi
movq %rsi, -0x120(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37a3c
movq %rdx, -0x120(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x110(%rbp)
jmp 0x37a42
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x118(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movslq -0x1a0(%rbp), %r13
movq %r13, %r14
shlq $0x5, %r14
movq -0x128(%rbp), %rax
movq (%rax,%r14), %rsi
movq 0x8(%rax,%r14), %rdx
leaq -0x120(%rbp), %rdi
callq 0x30a0
leaq -0x80(%rbp), %rsi
movq %rsi, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37ab0
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x37ab6
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x88(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x90(%rbp), %rdi
leaq 0x426d7(%rip), %rsi     # 0x7a1b5
callq 0x33d0
leaq -0xc0(%rbp), %rsi
movq %rsi, -0xd0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37b13
movq %rdx, -0xd0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc0(%rbp)
jmp 0x37b19
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xc8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r13, %rbx
subq -0x130(%rbp), %rbx
shlq $0x5, %rbx
movq -0x128(%rbp), %rax
movq (%rax,%rbx), %rsi
movq 0x8(%rax,%rbx), %rdx
leaq -0xd0(%rbp), %rdi
callq 0x30a0
leaq -0xa0(%rbp), %rsi
movq %rsi, -0xb0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37b8d
movq %rdx, -0xb0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa0(%rbp)
jmp 0x37b93
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xa8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r15, %rdi
leaq 0x42b5a(%rip), %rsi     # 0x7a711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37be0
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x37be6
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 -0xd8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2ad60
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x37c1f
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x37c37
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x37c4f
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x37c64
callq 0x31d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x37c7c
callq 0x31d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x37c94
callq 0x31d0
leaq -0x1d8(%rbp), %r12
movq %r12, %rdi
leaq 0x4190d(%rip), %rsi     # 0x795b2
leaq -0xf8(%rbp), %rdx
callq 0x2a99b
movq %r12, %rdi
leaq 0x417ef(%rip), %rsi     # 0x794aa
callq 0x33d0
leaq -0x150(%rbp), %rsi
movq %rsi, -0x160(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37cf0
movq %rdx, -0x160(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x150(%rbp)
jmp 0x37cf6
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x158(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x128(%rbp), %rax
movq (%rax,%r14), %rsi
movq 0x8(%rax,%r14), %rdx
leaq -0x160(%rbp), %rdi
callq 0x30a0
leaq -0x170(%rbp), %rsi
movq %rsi, -0x180(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37d5c
movq %rdx, -0x180(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x170(%rbp)
jmp 0x37d62
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x178(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x180(%rbp), %rdi
leaq 0x4242b(%rip), %rsi     # 0x7a1b5
callq 0x33d0
leaq -0x110(%rbp), %rsi
movq %rsi, -0x120(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37dbf
movq %rdx, -0x120(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x110(%rbp)
jmp 0x37dc5
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x118(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x198(%rbp), %r12
movq (%r12,%rbx), %rsi
movq 0x8(%r12,%rbx), %rdx
leaq -0x120(%rbp), %rdi
callq 0x30a0
leaq -0x80(%rbp), %rsi
movq %rsi, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37e25
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x37e2b
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x88(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x90(%rbp), %rdi
leaq 0x42245(%rip), %rsi     # 0x7a098
callq 0x33d0
leaq -0xc0(%rbp), %rsi
movq %rsi, -0xd0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37e88
movq %rdx, -0xd0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc0(%rbp)
jmp 0x37e8e
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xc8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r12,%r14), %rsi
movq 0x8(%r12,%r14), %rdx
leaq -0xd0(%rbp), %rdi
callq 0x30a0
leaq -0xa0(%rbp), %rsi
movq %rsi, -0xb0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37eed
movq %rdx, -0xb0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa0(%rbp)
jmp 0x37ef3
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xa8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r15, %rdi
leaq 0x427fa(%rip), %rsi     # 0x7a711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x37f40
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x37f46
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 -0xd8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2ad60
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x37f7f
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x37f97
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x37faf
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x37fc4
callq 0x31d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x37fdc
callq 0x31d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x37ff4
callq 0x31d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x3800c
callq 0x31d0
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
cmpq %rax, %rdi
je 0x38024
callq 0x31d0
movq -0x190(%rbp), %rdi
addq %r14, %rdi
leaq -0xf8(%rbp), %rsi
callq 0x3120
addq -0x1a8(%rbp), %r14
movq %r14, %rdi
leaq -0x68(%rbp), %rsi
callq 0x3120
movq -0xf8(%rbp), %rdi
leaq -0xe8(%rbp), %rax
cmpq %rax, %rdi
je 0x38065
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
movq -0x1b0(%rbp), %rbx
je 0x3807e
callq 0x31d0
addq %rbx, %r13
movq %r13, %rax
cmpl -0x6c(%rbp), %r13d
movq -0x100(%rbp), %r14
jl 0x372dc
cmpl $0x0, -0x6c(%rbp)
jle 0x380fb
movq -0x190(%rbp), %rbx
movq -0x198(%rbp), %r14
movq -0x188(%rbp), %r12
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3120
addq $0x20, %r14
addq $0x20, %rbx
decq %r12
jne 0x380b0
cmpl $0x0, -0x6c(%rbp)
jle 0x380fb
movq -0x1a8(%rbp), %rbx
movq -0x128(%rbp), %r14
movq -0x188(%rbp), %r12
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3120
addq $0x20, %r14
addq $0x20, %rbx
decq %r12
jne 0x380e3
movq -0x1b0(%rbp), %r14
leaq (%r14,%r14), %rbx
leaq -0x1(,%r14,2), %r13
cmpq -0x140(%rbp), %r13
leaq -0x58(%rbp), %r12
jb 0x36eeb
jmp 0x38137
movl $0x2, %ebx
movl $0x1, %r14d
movq $0x0, -0x100(%rbp)
leaq -0x68(%rbp), %rdi
movq %r12, (%rdi)
leaq 0x424bc(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
leaq -0x68(%rbp), %rsi
movq -0xd8(%rbp), %rdi
callq 0x2ad60
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x38173
callq 0x31d0
leaq -0x58(%rbp), %rax
leaq -0x68(%rbp), %rdi
movq %rax, (%rdi)
leaq 0x42480(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
leaq -0x68(%rbp), %rsi
movq -0xd8(%rbp), %rdi
callq 0x2ad60
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x381af
callq 0x31d0
leaq -0x58(%rbp), %rax
leaq -0x68(%rbp), %rdi
movq %rax, (%rdi)
leaq 0x41bdd(%rip), %rsi     # 0x79d9a
leaq 0x41c02(%rip), %rdx     # 0x79dc6
callq 0x2b022
leaq -0x68(%rbp), %rsi
movq -0xd8(%rbp), %rdi
callq 0x2ad60
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x381eb
callq 0x31d0
cmpq -0x140(%rbp), %r14
cmovaeq %r14, %rbx
cmpq $0x4, %rbx
jb 0x39444
shrq $0x2, %rbx
leaq -0x80(%rbp), %r13
leaq -0xd0(%rbp), %r15
movq -0x100(%rbp), %rax
movq %rax, -0x1a0(%rbp)
leaq -0x58(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq -0x68(%rbp), %r14
movq %r14, %rdi
leaq 0x423ce(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
movq -0xd8(%rbp), %rdi
movq %r14, %rsi
callq 0x2ad60
movq %rbx, -0x130(%rbp)
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x38263
callq 0x31d0
movq -0x1a0(%rbp), %rax
leal 0x1(%rax), %r14d
movl $0x1, %ebx
cmpl $0x9, %eax
movq %r14, -0x100(%rbp)
jb 0x382c8
movl $0x4, %ebx
movl %r14d, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x382ba
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x382bf
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x382c1
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x3828c
addl $-0x3, %ebx
jmp 0x382c1
addl $-0x2, %ebx
jmp 0x382c1
decl %ebx
movq -0x100(%rbp), %r14
movl %ebx, %esi
leaq -0xc0(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq %r15, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0xd0(%rbp), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0x2aad9
movl $0x9, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x41a65(%rip), %rcx     # 0x79d6f
callq 0x3230
leaq -0xa0(%rbp), %rsi
movq %rsi, -0xb0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
movq -0x130(%rbp), %rbx
leaq -0xb0(%rbp), %r14
je 0x3834d
movq %rdx, -0xb0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa0(%rbp)
jmp 0x38353
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xa8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
leaq 0x41a02(%rip), %rsi     # 0x79d79
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
movabsq $0x346dc5d63886594b, %rdi # imm = 0x346DC5D63886594B
je 0x383aa
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x383b0
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, %rbx
jb 0x38417
movl $0x4, %esi
movq %rbx, %rcx
cmpq $0x63, %rcx
jbe 0x38410
cmpq $0x3e7, %rcx            # imm = 0x3E7
jbe 0x38415
cmpq $0x2710, %rcx           # imm = 0x2710
jb 0x38417
movq %rcx, %rax
mulq %rdi
shrq $0xb, %rdx
addl $0x4, %esi
cmpq $0x1869f, %rcx          # imm = 0x1869F
movq %rdx, %rcx
ja 0x383da
addl $-0x3, %esi
jmp 0x38417
addl $-0x2, %esi
jmp 0x38417
decl %esi
movl %esi, %esi
movq %r13, -0x90(%rbp)
leaq -0x90(%rbp), %rdi
xorl %edx, %edx
callq 0x3250
movq -0x90(%rbp), %rdi
movl -0x88(%rbp), %esi
movq %rbx, %rdx
callq 0x3b7b2
movq -0x48(%rbp), %rcx
movl $0xf, %esi
leaq -0x38(%rbp), %rax
cmpq %rax, %rcx
je 0x38459
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %r8
movq -0x88(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x38484
movl $0xf, %esi
cmpq %r13, -0x90(%rbp)
je 0x3847f
movq -0x80(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x38496
movq -0x90(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x30a0
jmp 0x384a6
leaq -0x90(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0xe8(%rbp), %rsi
movq %rsi, -0xf8(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x384d3
movq %rdx, -0xf8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe8(%rbp)
jmp 0x384d9
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xf0(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0xf8(%rbp), %rdi
leaq 0x41886(%rip), %rsi     # 0x79d8c
callq 0x33d0
leaq -0x58(%rbp), %rsi
movq %rsi, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3852f
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x38535
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 -0xd8(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x2ad60
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x3856e
callq 0x31d0
movq -0xf8(%rbp), %rdi
leaq -0xe8(%rbp), %rax
cmpq %rax, %rdi
je 0x38586
callq 0x31d0
movq -0x90(%rbp), %rdi
cmpq %r13, %rdi
je 0x38597
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x385a9
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x385c1
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x385d9
callq 0x31d0
leal (%rbx,%rbx,2), %eax
decl %eax
movl %eax, -0x138(%rbp)
cmpl -0x6c(%rbp), %eax
jge 0x393bd
movq -0x130(%rbp), %rax
addl %eax, %eax
movl %eax, -0x1b0(%rbp)
movl $0x1, %ebx
cmpl $0x9, -0x1a0(%rbp)
movq -0x100(%rbp), %r15
leaq -0xa0(%rbp), %rdx
jb 0x3865a
movl $0x4, %ebx
movl %r15d, %eax
movl $0xd1b71759, %esi       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x38653
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x38658
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x3865a
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x38625
addl $-0x3, %ebx
jmp 0x3865a
addl $-0x2, %ebx
jmp 0x3865a
decl %ebx
movl %ebx, %esi
movq %rdx, -0xb0(%rbp)
movq %r14, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0xb0(%rbp), %rdi
movl %ebx, %esi
movl %r15d, %edx
callq 0x2aad9
movl $0x2, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x40f27(%rip), %rcx     # 0x795bc
callq 0x3230
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x386be
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x386c4
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 0x41a90(%rip), %rsi     # 0x7a176
callq 0x33d0
leaq -0xe8(%rbp), %rsi
movq %rsi, -0xf8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3871b
movq %rdx, -0xf8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe8(%rbp)
jmp 0x38721
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movl $0xd1b71759, %esi       # imm = 0xD1B71759
movq 0x8(%rax), %rdx
movq %rdx, -0xf0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl -0x138(%rbp), %eax
movl %eax, %r13d
negl %r13d
cmovsl %eax, %r13d
movl $0x1, %ebx
cmpl $0xa, %r13d
jb 0x38798
movl $0x4, %ebx
movl %r13d, %eax
cmpl $0x63, %eax
jbe 0x38791
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x38796
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x38798
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x38763
addl $-0x3, %ebx
jmp 0x38798
addl $-0x2, %ebx
jmp 0x38798
decl %ebx
movl -0x138(%rbp), %eax
movl %eax, %r15d
shrl $0x1f, %r15d
leal (%rbx,%r15), %esi
leaq -0xc0(%rbp), %rax
movq %rax, -0xd0(%rbp)
leaq -0xd0(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movl %r15d, %r12d
movq -0xd0(%rbp), %rdi
addq %r12, %rdi
movl %ebx, %esi
movl %r13d, %edx
callq 0x2aad9
movq -0xf8(%rbp), %rcx
movl $0xf, %esi
leaq -0xe8(%rbp), %rax
cmpq %rax, %rcx
je 0x387fe
movq -0xe8(%rbp), %rsi
movq -0xf0(%rbp), %r8
movq -0xc8(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x38836
movl $0xf, %esi
leaq -0xc0(%rbp), %rdi
cmpq %rdi, -0xd0(%rbp)
je 0x38831
movq -0xc0(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x3884b
movq -0xd0(%rbp), %rsi
leaq -0xf8(%rbp), %rdi
callq 0x30a0
jmp 0x3885b
leaq -0xd0(%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 0x3887c
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x38882
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 -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x388b6
callq 0x31d0
movq -0xf8(%rbp), %rdi
leaq -0xe8(%rbp), %rax
cmpq %rax, %rdi
je 0x388ce
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x388e0
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x388f8
callq 0x31d0
movl $0x1, %ebx
cmpl $0x9, -0x1a0(%rbp)
jb 0x3894c
movl $0x4, %ebx
movq -0x100(%rbp), %rax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x38945
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x3894a
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x3894c
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x38917
addl $-0x3, %ebx
jmp 0x3894c
addl $-0x2, %ebx
jmp 0x3894c
decl %ebx
movl %ebx, %esi
leaq -0xc0(%rbp), %rax
movq %rax, -0xd0(%rbp)
leaq -0xd0(%rbp), %r14
movq %r14, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0xd0(%rbp), %rdi
movl %ebx, %esi
movq -0x100(%rbp), %rdx
callq 0x2aad9
movl $0x2, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x41309(%rip), %rcx     # 0x79ca2
callq 0x3230
leaq -0xa0(%rbp), %rsi
movq %rsi, -0xb0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x389ce
movq %rdx, -0xb0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa0(%rbp)
jmp 0x389d4
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0xb0(%rbp), %r14
movq 0x8(%rax), %rdx
movq %rdx, -0xa8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
leaq 0x41777(%rip), %rsi     # 0x7a176
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38a28
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x38a2e
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movl $0xd1b71759, %esi       # 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, %r13d
jb 0x38a92
movl $0x4, %ebx
movl %r13d, %eax
cmpl $0x63, %eax
jbe 0x38a8b
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x38a90
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x38a92
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x38a5d
addl $-0x3, %ebx
jmp 0x38a92
addl $-0x2, %ebx
jmp 0x38a92
decl %ebx
addl %ebx, %r15d
leaq -0x80(%rbp), %rax
movq %rax, -0x90(%rbp)
leaq -0x90(%rbp), %rdi
movq %r15, %rsi
movl $0x2d, %edx
callq 0x3250
addq -0x90(%rbp), %r12
movq %r12, %rdi
movl %ebx, %esi
movl %r13d, %edx
callq 0x2aad9
movq -0x48(%rbp), %rcx
movl $0xf, %esi
leaq -0x38(%rbp), %rax
cmpq %rax, %rcx
je 0x38ade
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %r8
movq -0x88(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq -0x170(%rbp), %r15
leaq -0x80(%rbp), %r13
jbe 0x38b14
movl $0xf, %esi
cmpq %r13, -0x90(%rbp)
je 0x38b0f
movq -0x80(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x38b26
movq -0x90(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x30a0
jmp 0x38b36
leaq -0x90(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0xe8(%rbp), %rsi
movq %rsi, -0xf8(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x38b63
movq %rdx, -0xf8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe8(%rbp)
jmp 0x38b69
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xf0(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq -0x90(%rbp), %rdi
cmpq %r13, %rdi
je 0x38b99
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
leaq -0x110(%rbp), %rbx
leaq -0x68(%rbp), %r13
je 0x38bb6
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x38bce
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x38be6
callq 0x31d0
movq %r14, %rdi
leaq 0x41099(%rip), %rsi     # 0x79c89
movq %r13, %rdx
callq 0x2a99b
movq %r14, %rdi
leaq 0x41b0f(%rip), %rsi     # 0x7a711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38c2b
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x38c31
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 -0xd8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2ad60
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x38c6a
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x38c82
callq 0x31d0
movq %r14, %rdi
leaq 0x40ffd(%rip), %rsi     # 0x79c89
leaq -0xf8(%rbp), %rdx
callq 0x2a99b
movq %r14, %rdi
leaq 0x41a6f(%rip), %rsi     # 0x7a711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38ccb
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x38cd1
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 -0xd8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2ad60
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x38d0a
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x38d22
callq 0x31d0
leaq -0x180(%rbp), %r12
movq %r12, %rdi
leaq 0x4087f(%rip), %rsi     # 0x795b2
movq %r13, %rdx
callq 0x2a99b
movq %r12, %rdi
leaq 0x40511(%rip), %rsi     # 0x79256
callq 0x33d0
movq %rbx, -0x120(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38d73
movq %rdx, -0x120(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x110(%rbp)
jmp 0x38d79
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0x118(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movslq -0x138(%rbp), %rbx
movq %rbx, %r13
shlq $0x5, %r13
movq -0x128(%rbp), %rax
movq (%rax,%r13), %rsi
movq 0x8(%rax,%r13), %rdx
leaq -0x120(%rbp), %rdi
callq 0x30a0
leaq -0x80(%rbp), %rsi
movq %rsi, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38de7
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x38ded
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x88(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x90(%rbp), %rdi
leaq 0x413a0(%rip), %rsi     # 0x7a1b5
callq 0x33d0
leaq -0xc0(%rbp), %rsi
movq %rsi, -0xd0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38e4a
movq %rdx, -0xd0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc0(%rbp)
jmp 0x38e50
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xc8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
subq -0x130(%rbp), %rbx
shlq $0x5, %rbx
movq -0x128(%rbp), %rax
movq (%rax,%rbx), %rsi
movq 0x8(%rax,%rbx), %rdx
leaq -0xd0(%rbp), %rdi
callq 0x30a0
leaq -0xa0(%rbp), %rsi
movq %rsi, -0xb0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38ec1
movq %rdx, -0xb0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa0(%rbp)
jmp 0x38ec7
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xa8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
leaq 0x41826(%rip), %rsi     # 0x7a711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x38f14
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x38f1a
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 -0xd8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2ad60
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x38f53
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x38f6b
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x38f83
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x38f98
callq 0x31d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x38fb0
callq 0x31d0
movq -0x180(%rbp), %rdi
cmpq %r15, %rdi
je 0x38fc1
callq 0x31d0
leaq -0x1d8(%rbp), %r12
movq %r12, %rdi
leaq 0x405e0(%rip), %rsi     # 0x795b2
leaq -0xf8(%rbp), %rdx
callq 0x2a99b
movq %r12, %rdi
leaq 0x404c2(%rip), %rsi     # 0x794aa
callq 0x33d0
leaq -0x150(%rbp), %rsi
movq %rsi, -0x160(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3901d
movq %rdx, -0x160(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x150(%rbp)
jmp 0x39023
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x158(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x128(%rbp), %rax
movq (%rax,%r13), %rsi
movq 0x8(%rax,%r13), %rdx
leaq -0x160(%rbp), %rdi
callq 0x30a0
movq %r15, -0x180(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x39082
movq %rdx, -0x180(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x170(%rbp)
jmp 0x39089
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, -0x178(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x180(%rbp), %rdi
leaq 0x41104(%rip), %rsi     # 0x7a1b5
callq 0x33d0
leaq -0x110(%rbp), %rsi
movq %rsi, -0x120(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x390e6
movq %rdx, -0x120(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x110(%rbp)
jmp 0x390ec
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x118(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x198(%rbp), %r15
movq (%r15,%rbx), %rsi
movq 0x8(%r15,%rbx), %rdx
leaq -0x120(%rbp), %rdi
callq 0x30a0
leaq -0x80(%rbp), %rsi
movq %rsi, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3914c
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x39152
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x88(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x90(%rbp), %rdi
leaq 0x40f1e(%rip), %rsi     # 0x7a098
callq 0x33d0
leaq -0xc0(%rbp), %rsi
movq %rsi, -0xd0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x391af
movq %rdx, -0xd0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc0(%rbp)
jmp 0x391b5
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xc8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%r15,%r13), %rsi
movq 0x8(%r15,%r13), %rdx
leaq -0xd0(%rbp), %rdi
callq 0x30a0
leaq -0xa0(%rbp), %rsi
movq %rsi, -0xb0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0x170(%rbp), %r15
je 0x3921b
movq %rdx, -0xb0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa0(%rbp)
jmp 0x39221
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xa8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
leaq 0x414cc(%rip), %rsi     # 0x7a711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3926e
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x39274
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 -0xd8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2ad60
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x392ad
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x392c5
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x392dd
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x392f2
callq 0x31d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x3930a
callq 0x31d0
movq -0x180(%rbp), %rdi
cmpq %r15, %rdi
je 0x3931b
callq 0x31d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x39333
callq 0x31d0
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
cmpq %rax, %rdi
je 0x3934b
callq 0x31d0
movq -0x190(%rbp), %rdi
addq %r13, %rdi
leaq -0xf8(%rbp), %rsi
callq 0x3120
addq -0x1a8(%rbp), %r13
movq %r13, %rdi
leaq -0x68(%rbp), %rsi
callq 0x3120
movq -0xf8(%rbp), %rdi
leaq -0xe8(%rbp), %rax
cmpq %rax, %rdi
je 0x3938c
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
leaq -0x80(%rbp), %r13
je 0x393a2
callq 0x31d0
movl -0x138(%rbp), %eax
addl -0x1b0(%rbp), %eax
movl %eax, -0x138(%rbp)
cmpl -0x6c(%rbp), %eax
jl 0x385fc
cmpl $0x0, -0x6c(%rbp)
jle 0x39423
movq -0x190(%rbp), %rbx
movq -0x198(%rbp), %r15
movq -0x188(%rbp), %r14
movq %r15, %rdi
movq %rbx, %rsi
callq 0x3120
addq $0x20, %r15
addq $0x20, %rbx
decq %r14
jne 0x393d8
cmpl $0x0, -0x6c(%rbp)
jle 0x39423
movq -0x1a8(%rbp), %rbx
movq -0x128(%rbp), %r15
movq -0x188(%rbp), %r14
movq %r15, %rdi
movq %rbx, %rsi
callq 0x3120
addq $0x20, %r15
addq $0x20, %rbx
decq %r14
jne 0x3940b
movq -0x130(%rbp), %rcx
movq %rcx, %rax
shrq %rax
cmpq $0x2, %rcx
movq %rax, %rbx
leaq -0xd0(%rbp), %r15
jae 0x3820f
leaq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
movq %rax, (%rdi)
leaq 0x411ab(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
leaq -0x68(%rbp), %rsi
movq -0xd8(%rbp), %rdi
callq 0x2ad60
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x39484
callq 0x31d0
leaq -0x58(%rbp), %rax
leaq -0x68(%rbp), %rdi
movq %rax, (%rdi)
leaq 0x40935(%rip), %rsi     # 0x79dc7
leaq 0x40940(%rip), %rdx     # 0x79dd9
callq 0x2b022
leaq -0x68(%rbp), %rsi
movq -0xd8(%rbp), %rdi
callq 0x2ad60
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x394c0
callq 0x31d0
leaq -0x198(%rbp), %rdx
movl -0x6c(%rbp), %edi
movq -0xd8(%rbp), %r8
callq 0x2fc54
movq -0x1b8(%rbp), %r15
movq (%r15), %rbx
testq %rbx, %rbx
je 0x3950c
shlq $0x5, %rbx
leaq (%rbx,%r15), %r14
addq $-0x8, %r14
negq %rbx
movq -0x10(%r14), %rdi
cmpq %rdi, %r14
je 0x39502
callq 0x31d0
addq $-0x20, %r14
addq $0x20, %rbx
jne 0x394f4
movq %r15, %rdi
callq 0x3280
movq -0x198(%rbp), %rax
testq %rax, %rax
je 0x3955c
leaq -0x8(%rax), %rbx
movq -0x8(%rax), %r14
testq %r14, %r14
je 0x39554
shlq $0x5, %r14
leaq (%r14,%rax), %r15
addq $-0x10, %r15
negq %r14
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x3954a
callq 0x31d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x3953c
movq %rbx, %rdi
callq 0x3280
movq -0x1a8(%rbp), %rax
testq %rax, %rax
je 0x395a4
leaq -0x8(%rax), %rbx
movq -0x8(%rax), %r14
testq %r14, %r14
je 0x3959c
shlq $0x5, %r14
leaq (%r14,%rax), %r15
addq $-0x10, %r15
negq %r14
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x39592
callq 0x31d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x39584
movq %rbx, %rdi
callq 0x3280
movq -0x190(%rbp), %rax
testq %rax, %rax
je 0x395ec
leaq -0x8(%rax), %rbx
movq -0x8(%rax), %r14
testq %r14, %r14
je 0x395e4
shlq $0x5, %r14
leaq (%r14,%rax), %r15
addq $-0x10, %r15
negq %r14
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x395da
callq 0x31d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x395cc
movq %rbx, %rdi
callq 0x3280
addq $0x1d8, %rsp            # imm = 0x1D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x39679
jmp 0x396ee
jmp 0x39679
jmp 0x396ee
jmp 0x39679
jmp 0x396ee
jmp 0x39679
jmp 0x396ee
jmp 0x39679
jmp 0x396ee
jmp 0x3962f
jmp 0x396ee
jmp 0x3962f
jmp 0x396ee
movq %rax, %rbx
movq -0x68(%rbp), %rdi
cmpq %r14, %rdi
jne 0x39c5e
jmp 0x39c63
jmp 0x396ee
movq %rax, %rbx
movq -0x1f8(%rbp), %rdi
leaq -0x1e8(%rbp), %rax
jmp 0x39bf7
jmp 0x3968d
jmp 0x39692
jmp 0x39697
movq %rax, %rbx
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
jne 0x396a8
jmp 0x396ad
jmp 0x396ee
movq %rax, %rbx
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
jmp 0x39bf7
jmp 0x396fe
jmp 0x39703
movq %rax, %rbx
jmp 0x396da
movq %rax, %rbx
jmp 0x396c5
movq %rax, %rbx
jmp 0x396ad
movq %rax, %rbx
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x396ad
callq 0x31d0
movq -0xf8(%rbp), %rdi
leaq -0xe8(%rbp), %rax
cmpq %rax, %rdi
je 0x396c5
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x396da
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x39706
callq 0x31d0
jmp 0x39706
movq %rax, %rbx
jmp 0x39c63
movq %rax, %rbx
jmp 0x39c55
movq %rax, %rbx
jmp 0x3971e
movq %rax, %rbx
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x3971e
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
jmp 0x39bf7
movq %rax, %rbx
jmp 0x398b6
jmp 0x3996d
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x39788
callq 0x31d0
jmp 0x39788
movq %rax, %rbx
leaq -0x80(%rbp), %r14
leaq -0x110(%rbp), %r13
jmp 0x397ab
movq %rax, %rbx
leaq -0x150(%rbp), %r14
jmp 0x398ce
jmp 0x39c36
movq %rax, %rbx
leaq -0x110(%rbp), %r13
jmp 0x397e4
movq %rax, %rbx
leaq -0x80(%rbp), %r14
leaq -0x110(%rbp), %r13
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x397ab
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x397d3
callq 0x31d0
jmp 0x397d3
movq %rax, %rbx
leaq -0x80(%rbp), %r14
leaq -0x110(%rbp), %r13
movq -0x90(%rbp), %rdi
cmpq %r14, %rdi
je 0x397e4
callq 0x31d0
movq -0x120(%rbp), %rdi
cmpq %r13, %rdi
je 0x398f0
callq 0x31d0
jmp 0x398f0
movq %rax, %rbx
leaq -0x170(%rbp), %r15
leaq -0x80(%rbp), %r14
leaq -0x110(%rbp), %r13
jmp 0x39894
movq %rax, %rbx
jmp 0x39859
movq %rax, %rbx
leaq -0x170(%rbp), %r15
leaq -0x80(%rbp), %r14
leaq -0x110(%rbp), %r13
jmp 0x3987c
movq %rax, %rbx
leaq -0x170(%rbp), %r15
leaq -0x110(%rbp), %r13
jmp 0x398a5
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x39859
callq 0x31d0
leaq -0x80(%rbp), %r14
leaq -0x110(%rbp), %r13
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x3987c
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x39894
callq 0x31d0
movq -0x90(%rbp), %rdi
cmpq %r14, %rdi
je 0x398a5
callq 0x31d0
movq -0x120(%rbp), %rdi
cmpq %r13, %rdi
je 0x398b6
callq 0x31d0
leaq -0x150(%rbp), %r14
movq -0x180(%rbp), %rdi
cmpq %r15, %rdi
je 0x398ce
callq 0x31d0
movq -0x160(%rbp), %rdi
cmpq %r14, %rdi
jne 0x39aee
jmp 0x39af3
jmp 0x39b06
jmp 0x39c36
movq %rax, %rbx
movq -0x180(%rbp), %rdi
cmpq %r15, %rdi
jne 0x39c26
jmp 0x39c39
jmp 0x39c36
jmp 0x39b4f
jmp 0x39b45
jmp 0x39b4a
jmp 0x39b4f
jmp 0x39b57
jmp 0x39bfe
jmp 0x39b64
movq %rax, %rbx
movq -0x90(%rbp), %rdi
cmpq %r13, %rdi
jne 0x39b90
jmp 0x39b9a
jmp 0x39b97
jmp 0x39bd4
jmp 0x39bfe
jmp 0x39c36
jmp 0x39c2f
movq %rax, %rbx
leaq -0x150(%rbp), %r15
jmp 0x39aca
movq %rax, %rbx
jmp 0x39af3
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x399b1
callq 0x31d0
jmp 0x399b1
movq %rax, %rbx
leaq -0x80(%rbp), %r14
jmp 0x399cd
movq %rax, %rbx
leaq -0x150(%rbp), %r15
jmp 0x39ae2
jmp 0x39c36
movq %rax, %rbx
jmp 0x399ff
movq %rax, %rbx
leaq -0x80(%rbp), %r14
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x399cd
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x399ee
callq 0x31d0
jmp 0x399ee
movq %rax, %rbx
leaq -0x80(%rbp), %r14
movq -0x90(%rbp), %rdi
cmpq %r14, %rdi
je 0x399ff
callq 0x31d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x39b2b
callq 0x31d0
jmp 0x39b2b
movq %rax, %rbx
leaq -0x80(%rbp), %r14
leaq -0x150(%rbp), %r15
jmp 0x39aa1
movq %rax, %rbx
jmp 0x39a66
movq %rax, %rbx
leaq -0x80(%rbp), %r14
leaq -0x150(%rbp), %r15
jmp 0x39a89
movq %rax, %rbx
leaq -0x150(%rbp), %r15
jmp 0x39ab2
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x39a66
callq 0x31d0
leaq -0x80(%rbp), %r14
leaq -0x150(%rbp), %r15
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x39a89
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x39aa1
callq 0x31d0
movq -0x90(%rbp), %rdi
cmpq %r14, %rdi
je 0x39ab2
callq 0x31d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x39aca
callq 0x31d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x39ae2
callq 0x31d0
movq -0x160(%rbp), %rdi
cmpq %r15, %rdi
je 0x39af3
callq 0x31d0
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
jmp 0x39c21
movq %rax, %rbx
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x39b67
callq 0x31d0
jmp 0x39b67
jmp 0x39c36
movq %rax, %rbx
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
jmp 0x39c21
jmp 0x39c36
jmp 0x39b4f
movq %rax, %rbx
jmp 0x39bac
movq %rax, %rbx
jmp 0x39bc4
movq %rax, %rbx
jmp 0x39c13
movq %rax, %rbx
jmp 0x39be9
jmp 0x39bfe
movq %rax, %rbx
movq -0xf8(%rbp), %rdi
leaq -0xe8(%rbp), %rax
cmpq %rax, %rdi
je 0x39bd7
callq 0x31d0
jmp 0x39bd7
movq %rax, %rbx
movq -0x90(%rbp), %rdi
cmpq %r14, %rdi
je 0x39b9a
callq 0x31d0
jmp 0x39b9a
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x39bac
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x39bc4
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
jmp 0x39c47
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x39be9
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
jne 0x39c5e
jmp 0x39c63
movq %rax, %rbx
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x39c13
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x39c39
callq 0x31d0
jmp 0x39c39
jmp 0x39c36
movq %rax, %rbx
jmp 0x39c51
jmp 0x39c36
movq %rax, %rbx
movq -0xf8(%rbp), %rdi
leaq -0xe8(%rbp), %rax
cmpq %rax, %rdi
je 0x39c51
callq 0x31d0
leaq -0x58(%rbp), %r12
movq -0x68(%rbp), %rdi
cmpq %r12, %rdi
je 0x39c63
callq 0x31d0
movq %rbx, %rdi
callq 0x33a0