// File: /workspace/github_cpp_makefile_star2_O3/temelmertcan[P]multgen/src/adders.cpp
// Function: create_lf_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_lf_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, "LF", gtmp, ptmp, verilog);
  pgtmp_to_pg(size, gtmp, g);
  pgtmp_to_pg(size, ptmp, p);

  verilog.push("\n// Ladner-Fischer Adder \n");

  int stage=0;

  // lf midsteps
  for (int diff = 1; diff < size; diff *= 2){
    verilog.push("");
    verilog.push("// LF stage " + to_string(++stage));

    for (int i=diff; i < size; i+=diff*2){

      for (int j = 0; j<diff && (i+j)<size; j++){
        string new_p = "p_" + to_string(stage)+ "_" + to_string(i+j);
        string new_g = "g_" + to_string(stage)+ "_" + to_string(i+j);

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

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

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

  verilog.push("");
  verilog.push("// LF 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 $0x208, %rsp            # imm = 0x208
movq %rdx, -0x158(%rbp)
movl %esi, %r12d
movl %edi, -0x54(%rbp)
movslq %edi, %r15
movq %r15, %r14
shlq $0x5, %r14
leaq 0x8(%r14), %r13
testl %r15d, %r15d
movq $-0x1, %rdi
cmovnsq %r13, %rdi
movq %rdi, -0x108(%rbp)
callq 0x3030
leaq 0x8(%rax), %rbx
movq %r15, (%rax)
testl %r15d, %r15d
movq %r15, -0x118(%rbp)
movl %r12d, -0x2c(%rbp)
je 0x339fb
addq $0x18, %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
addq $0x20, %rax
addq $-0x20, %r14
jne 0x338f2
movq %rbx, -0x128(%rbp)
movq -0x108(%rbp), %rdi
callq 0x3030
movq %rax, %r14
movq -0x118(%rbp), %r15
movq %r15, (%rax)
addq $0x8, %rax
movq %rax, -0xe0(%rbp)
shlq $0x5, %r15
movq %r15, %r13
negq %r13
movl $0x18, %eax
leaq (%r14,%rax), %rcx
movq %rcx, -0x10(%r14,%rax)
movq $0x0, -0x8(%r14,%rax)
movb $0x0, (%r14,%rax)
leaq (%rax,%r13), %rcx
addq $0x20, %rcx
addq $0x20, %rax
cmpq $0x18, %rcx
jne 0x33945
movq -0x108(%rbp), %rdi
callq 0x3030
movq %rax, %r12
movq -0x118(%rbp), %rax
movq %rax, (%r12)
leaq 0x8(%r12), %rax
movl $0x18, %ecx
leaq (%r12,%rcx), %rdx
movq %rdx, -0x10(%r12,%rcx)
movq $0x0, -0x8(%r12,%rcx)
movb $0x0, (%r12,%rcx)
leaq (%rcx,%r13), %rdx
addq $0x20, %rdx
addq $0x20, %rcx
cmpq $0x18, %rdx
jne 0x33992
movq %rax, -0x120(%rbp)
movq -0x108(%rbp), %rdi
callq 0x3030
movq -0x118(%rbp), %rcx
movq %rcx, (%rax)
leaq 0x8(%rax), %r13
addq $0x18, %rax
movq %rax, -0x10(%rax)
movq $0x0, -0x8(%rax)
movb $0x0, (%rax)
addq $0x20, %rax
addq $-0x20, %r15
jne 0x339e0
jmp 0x33a46
movq %rbx, -0x128(%rbp)
movq %r13, %rdi
callq 0x3030
movq %rax, %r14
movq %r15, (%rax)
addq $0x8, %rax
movq %rax, -0xe0(%rbp)
movq %r13, %rdi
callq 0x3030
movq %rax, %r12
movq %r15, (%rax)
addq $0x8, %rax
movq %rax, -0x120(%rbp)
movq %r13, %rdi
callq 0x3030
movq %rax, %r13
movq %r15, (%rax)
addq $0x8, %r13
leaq -0x170(%rbp), %rax
movq %r13, (%rax)
leaq -0x1f0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x43c7a(%rip), %rsi     # 0x776dc
leaq 0x43c75(%rip), %rdx     # 0x776de
leaq -0x200(%rbp), %r15
movq %r15, %rdi
callq 0x2ac04
movq -0x158(%rbp), %rax
movq %rax, (%rsp)
movzbl -0x2c(%rbp), %esi
leaq -0x120(%rbp), %r8
movl -0x54(%rbp), %edi
movq %r15, %rcx
leaq -0x170(%rbp), %r9
callq 0x2daef
movq -0x200(%rbp), %rdi
leaq -0x1f0(%rbp), %rax
cmpq %rax, %rdi
je 0x33ab8
callq 0x31d0
movl -0x54(%rbp), %eax
movl %eax, %ecx
movq %rcx, -0x150(%rbp)
testl %eax, %eax
jle 0x33b0e
addq $0x8, %r12
movq -0x150(%rbp), %r15
movq %rbx, %rdi
movq %r12, %rsi
callq 0x3120
addq $0x20, %rbx
addq $0x20, %r12
decq %r15
jne 0x33ad3
addq $0x8, %r14
movq -0x150(%rbp), %rbx
movq %r14, %rdi
movq %r13, %rsi
callq 0x3120
addq $0x20, %r14
addq $0x20, %r13
decq %rbx
jne 0x33af6
leaq -0x68(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0x4519b(%rip), %rsi     # 0x78cb8
leaq 0x451ae(%rip), %rdx     # 0x78cd2
leaq -0x78(%rbp), %rdi
callq 0x2ac04
leaq -0x78(%rbp), %rsi
movq -0x158(%rbp), %r14
movq %r14, %rdi
callq 0x2a942
movq -0xe0(%rbp), %rbx
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x33b59
callq 0x31d0
cmpl $0x2, -0x54(%rbp)
jl 0x34c37
movq $0x0, -0x168(%rbp)
movl $0x1, %eax
movq %rax, -0x110(%rbp)
leaq -0x78(%rbp), %r13
leaq -0x68(%rbp), %rax
movq %rax, -0x78(%rbp)
movq %r13, %rdi
leaq 0x45a71(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
movq %r14, %rdi
movq %r13, %rsi
callq 0x2a942
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x33bb5
callq 0x31d0
movq -0x168(%rbp), %rax
leal 0x1(%rax), %r12d
movl $0x1, %ebx
cmpl $0x9, %eax
movl %r12d, -0x2c(%rbp)
jb 0x33c1a
movl $0x4, %ebx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %r12d
jbe 0x33c0f
cmpl $0x3e7, %r12d           # imm = 0x3E7
jbe 0x33c14
cmpl $0x2710, %r12d          # imm = 0x2710
jb 0x33c16
movl %r12d, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %r12d         # imm = 0x1869F
movl %ecx, %r12d
ja 0x33bd8
addl $-0x3, %ebx
jmp 0x33c16
addl $-0x2, %ebx
jmp 0x33c16
decl %ebx
movl -0x2c(%rbp), %r12d
movl %ebx, %esi
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %r15
movq %r15, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0xd8(%rbp), %rdi
movl %ebx, %esi
movl %r12d, %edx
callq 0x2a6a5
movl $0xc, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x45070(%rip), %rcx     # 0x78cd3
callq 0x3230
leaq -0x68(%rbp), %rsi
movq %rsi, -0x78(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
movq -0xe0(%rbp), %rbx
je 0x33c93
movq %rdx, -0x78(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x68(%rbp)
jmp 0x33c99
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x70(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
movq %r13, %rsi
callq 0x2a942
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
movq -0x118(%rbp), %r15
movl -0x2c(%rbp), %r14d
je 0x33cd8
callq 0x31d0
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x33cf0
callq 0x31d0
movq -0x110(%rbp), %rax
cmpl -0x54(%rbp), %eax
leaq -0x88(%rbp), %rdx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
jge 0x34ba8
movq -0x110(%rbp), %rcx
leal (%rcx,%rcx), %eax
movslq %ecx, %rdi
movq %rdi, -0x160(%rbp)
cltq
movq %rax, -0x1b8(%rbp)
movl %ecx, %eax
movq %rax, -0x1c0(%rbp)
cmpl $0x0, -0x110(%rbp)
jle 0x34b8a
movq -0x160(%rbp), %rax
decq %rax
shlq $0x5, %rax
movq %rax, -0x1c8(%rbp)
addq %rbx, %rax
movq %rax, -0x1d0(%rbp)
xorl %edi, %edi
movq -0x160(%rbp), %rax
addq %rdi, %rax
cmpq %r15, %rax
jge 0x34b8a
movq %rax, -0x108(%rbp)
movl $0x1, %ebx
cmpl $0x9, -0x168(%rbp)
leaq -0x98(%rbp), %r15
jb 0x33dcc
movl $0x4, %ebx
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x33dc5
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x33dca
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x33dcc
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x33d97
addl $-0x3, %ebx
jmp 0x33dcc
addl $-0x2, %ebx
jmp 0x33dcc
decl %ebx
movq %rdi, -0x1d8(%rbp)
movl %ebx, %esi
movq %rdx, -0x98(%rbp)
movq %r15, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x98(%rbp), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0x2a6a5
movl $0x2, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x447ab(%rip), %rcx     # 0x785b9
callq 0x3230
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x33e37
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x33e3d
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0xb8(%rbp), %rbx
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x50(%rbp), %rdi
leaq 0x45310(%rip), %rsi     # 0x79176
callq 0x33d0
leaq -0xc8(%rbp), %rsi
movq %rsi, -0xd8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x33e9b
movq %rdx, -0xd8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc8(%rbp)
jmp 0x33ea1
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0xa8(%rbp), %rdi
movl $0xd1b71759, %esi       # imm = 0xD1B71759
movq 0x8(%rax), %rdx
movq %rdx, -0xd0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x108(%rbp), %r12
movl %r12d, %r14d
negl %r14d
cmovsl %r12d, %r14d
movl $0x1, %r15d
cmpl $0xa, %r14d
jb 0x33f26
movl $0x4, %r15d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x33f1d
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x33f23
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x33f26
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x33eed
addl $-0x3, %r15d
jmp 0x33f26
addl $-0x2, %r15d
jmp 0x33f26
decl %r15d
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
shrl $0x1f, %r12d
leal (%r15,%r12), %esi
movq %rdi, -0xb8(%rbp)
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x3250
movl %r12d, %eax
movq -0xb8(%rbp), %rdi
movq %rax, -0x1e0(%rbp)
addq %rax, %rdi
movl %r15d, %esi
movl %r14d, %edx
callq 0x2a6a5
movq -0xd8(%rbp), %rcx
movl $0xf, %edi
leaq -0xc8(%rbp), %r15
cmpq %r15, %rcx
je 0x33f86
movq -0xc8(%rbp), %rdi
movq -0xd0(%rbp), %r8
movq -0xb8(%rbp), %rsi
movq -0xb0(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
jbe 0x33fc1
movl $0xf, %edi
leaq -0xa8(%rbp), %r9
cmpq %r9, %rsi
je 0x33fbc
movq -0xa8(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x33fcf
leaq -0xd8(%rbp), %rdi
callq 0x30a0
jmp 0x33fdf
leaq -0xb8(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0x68(%rbp), %rsi
movq %rsi, -0x78(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x34000
movq %rdx, -0x78(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x68(%rbp)
jmp 0x34006
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x70(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x3403a
callq 0x31d0
movq -0xd8(%rbp), %rdi
cmpq %r15, %rdi
je 0x3404b
callq 0x31d0
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x3405d
callq 0x31d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x34075
callq 0x31d0
movl $0x1, %r15d
cmpl $0x9, -0x168(%rbp)
leaq -0xa8(%rbp), %rdx
jb 0x340ec
movl $0x4, %r15d
movl -0x2c(%rbp), %eax
movl $0xd1b71759, %esi       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x340cf
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x340db
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x340e6
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x34099
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
addl $-0x3, %r15d
jmp 0x340ec
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
addl $-0x2, %r15d
jmp 0x340ec
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
decl %r15d
jmp 0x340ec
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
movl %r15d, %esi
movq %rdx, -0xb8(%rbp)
leaq -0xb8(%rbp), %rbx
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0xb8(%rbp), %rdi
movl %r15d, %esi
movl -0x2c(%rbp), %edx
callq 0x2a6a5
movl $0x2, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x44b72(%rip), %rcx     # 0x78ca2
callq 0x3230
leaq -0x88(%rbp), %rsi
movq %rsi, -0x98(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x34165
movq %rdx, -0x98(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x88(%rbp)
jmp 0x3416b
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x90(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x98(%rbp), %rdi
leaq 0x44fe3(%rip), %rsi     # 0x79176
callq 0x33d0
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x341bc
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x341c2
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0xf0(%rbp), %rsi
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r15d
cmpl $0xa, %r14d
jb 0x3422e
movl $0x4, %r15d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x34225
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x3422b
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x3422e
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x341f5
addl $-0x3, %r15d
jmp 0x3422e
addl $-0x2, %r15d
jmp 0x3422e
decl %r15d
addl %r15d, %r12d
movq %rsi, -0x100(%rbp)
leaq -0x100(%rbp), %rdi
movq %r12, %rsi
movl $0x2d, %edx
callq 0x3250
movq -0x1e0(%rbp), %rdi
addq -0x100(%rbp), %rdi
movl %r15d, %esi
movl %r14d, %edx
callq 0x2a6a5
movq -0x50(%rbp), %rcx
movl $0xf, %edi
leaq -0x40(%rbp), %rax
cmpq %rax, %rcx
je 0x3427b
movq -0x40(%rbp), %rdi
movq -0x48(%rbp), %r8
movq -0x100(%rbp), %rsi
movq -0xf8(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
movq -0x158(%rbp), %r15
movq -0xe0(%rbp), %rbx
movl -0x2c(%rbp), %r14d
jbe 0x342c5
movl $0xf, %edi
leaq -0xf0(%rbp), %r9
cmpq %r9, %rsi
je 0x342c0
movq -0xf0(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x342d0
leaq -0x50(%rbp), %rdi
callq 0x30a0
jmp 0x342e0
leaq -0x100(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0xc8(%rbp), %rsi
movq %rsi, -0xd8(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x3430d
movq %rdx, -0xd8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc8(%rbp)
jmp 0x34313
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xd0(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x3434a
callq 0x31d0
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x3435c
callq 0x31d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x34374
callq 0x31d0
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x3438c
callq 0x31d0
leaq -0x98(%rbp), %r12
movq %r12, %rdi
leaq 0x448ec(%rip), %rsi     # 0x78c89
leaq -0x78(%rbp), %rdx
callq 0x2a567
movq %r12, %rdi
leaq 0x45361(%rip), %rsi     # 0x79711
callq 0x33d0
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x343d9
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x343df
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r15, %rdi
leaq -0x50(%rbp), %rsi
callq 0x2a942
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x34414
callq 0x31d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x3442c
callq 0x31d0
movq %r12, %rdi
leaq 0x44853(%rip), %rsi     # 0x78c89
leaq -0xd8(%rbp), %rdx
callq 0x2a567
movq %r12, %rdi
leaq 0x452c5(%rip), %rsi     # 0x79711
callq 0x33d0
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x34475
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x3447b
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r15, %rdi
leaq -0x50(%rbp), %rsi
callq 0x2a942
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x344b0
callq 0x31d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x344c8
callq 0x31d0
leaq -0x1b0(%rbp), %r12
movq %r12, %rdi
leaq 0x440d6(%rip), %rsi     # 0x785af
leaq -0x78(%rbp), %rdx
callq 0x2a567
movq %r12, %rdi
leaq 0x43d67(%rip), %rsi     # 0x78253
callq 0x33d0
leaq -0x138(%rbp), %rsi
movq %rsi, -0x148(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x34521
movq %rdx, -0x148(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x138(%rbp)
jmp 0x34527
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x140(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x108(%rbp), %rax
shlq $0x5, %rax
movq (%rbx,%rax), %rsi
movq %rax, %r13
movq 0x8(%rbx,%rax), %rdx
leaq -0x148(%rbp), %rdi
callq 0x30a0
leaq -0xf0(%rbp), %rsi
movq %rsi, -0x100(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x34594
movq %rdx, -0x100(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xf0(%rbp)
jmp 0x3459a
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xf8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x100(%rbp), %rdi
leaq 0x44bf3(%rip), %rsi     # 0x791b5
callq 0x33d0
leaq -0xa8(%rbp), %rsi
movq %rsi, -0xb8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x345f7
movq %rdx, -0xb8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa8(%rbp)
jmp 0x345fd
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xb0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x1d0(%rbp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0xb8(%rbp), %rdi
callq 0x30a0
leaq -0x88(%rbp), %rsi
movq %rsi, -0x98(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x34661
movq %rdx, -0x98(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x88(%rbp)
jmp 0x34667
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x90(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x98(%rbp), %rdi
leaq 0x45082(%rip), %rsi     # 0x79711
callq 0x33d0
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x346b8
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x346be
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r15, %rdi
leaq -0x50(%rbp), %rsi
callq 0x2a942
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x346f3
callq 0x31d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x3470b
callq 0x31d0
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x34723
callq 0x31d0
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x3473b
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x34753
callq 0x31d0
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
cmpq %rax, %rdi
je 0x3476b
callq 0x31d0
leaq -0x220(%rbp), %r12
movq %r12, %rdi
leaq 0x43e33(%rip), %rsi     # 0x785af
leaq -0xd8(%rbp), %rdx
callq 0x2a567
movq %r12, %rdi
leaq 0x43d15(%rip), %rsi     # 0x784a7
callq 0x33d0
leaq -0x180(%rbp), %rsi
movq %rsi, -0x190(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x347c7
movq %rdx, -0x190(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x180(%rbp)
jmp 0x347cd
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq (%rbx,%r13), %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x188(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rdx), %rsi
movq 0x8(%rdx), %rdx
leaq -0x190(%rbp), %rdi
callq 0x30a0
leaq -0x1a0(%rbp), %rsi
movq %rsi, -0x1b0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x3482e
movq %rdx, -0x1b0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1a0(%rbp)
jmp 0x34834
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0x138(%rbp), %rbx
leaq -0x1b0(%rbp), %rdi
movq 0x8(%rax), %rdx
movq %rdx, -0x1a8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x44952(%rip), %rsi     # 0x791b5
callq 0x33d0
movq %rbx, -0x148(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x34891
movq %rdx, -0x148(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x138(%rbp)
jmp 0x34897
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0x140(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x128(%rbp), %rbx
movq -0x1c8(%rbp), %rax
movq (%rbx,%rax), %rsi
movq 0x8(%rbx,%rax), %rdx
leaq -0x148(%rbp), %rdi
callq 0x30a0
leaq -0xf0(%rbp), %rsi
movq %rsi, -0x100(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x34904
movq %rdx, -0x100(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xf0(%rbp)
jmp 0x3490a
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xf8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x100(%rbp), %rdi
leaq 0x44766(%rip), %rsi     # 0x79098
callq 0x33d0
leaq -0xa8(%rbp), %rsi
movq %rsi, -0xb8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x34967
movq %rdx, -0xb8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa8(%rbp)
jmp 0x3496d
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xb0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq (%rbx,%r13), %rsi
movq 0x8(%rbx,%r13), %rdx
leaq -0xb8(%rbp), %rdi
callq 0x30a0
leaq -0x88(%rbp), %rsi
movq %rsi, -0x98(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x349cc
movq %rdx, -0x98(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x88(%rbp)
jmp 0x349d2
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq -0xe0(%rbp), %rbx
movq 0x8(%rax), %rdx
movq %rdx, -0x90(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x98(%rbp), %rdi
leaq 0x44d10(%rip), %rsi     # 0x79711
callq 0x33d0
leaq -0x40(%rbp), %rsi
movq %rsi, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x34a2a
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x34a30
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r15, %rdi
leaq -0x50(%rbp), %rsi
callq 0x2a942
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x34a65
callq 0x31d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
movq -0x118(%rbp), %r15
je 0x34a84
callq 0x31d0
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x34a9c
callq 0x31d0
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x34ab4
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x34acc
callq 0x31d0
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
cmpq %rax, %rdi
je 0x34ae4
callq 0x31d0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
je 0x34afc
callq 0x31d0
movq -0x220(%rbp), %rdi
leaq -0x210(%rbp), %rax
cmpq %rax, %rdi
je 0x34b14
callq 0x31d0
movq -0x120(%rbp), %rdi
addq %r13, %rdi
leaq -0xd8(%rbp), %rsi
callq 0x3120
addq -0x170(%rbp), %r13
movq %r13, %rdi
leaq -0x78(%rbp), %rsi
callq 0x3120
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x34b55
callq 0x31d0
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x34b67
callq 0x31d0
movq -0x1d8(%rbp), %rdi
incq %rdi
cmpq -0x1c0(%rbp), %rdi
leaq -0x88(%rbp), %rdx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
jne 0x33d60
movq -0x160(%rbp), %rcx
addq -0x1b8(%rbp), %rcx
movq %rcx, -0x160(%rbp)
cmpq %r15, %rcx
jl 0x33d32
movq -0x120(%rbp), %rbx
movq -0x128(%rbp), %r14
movq -0x150(%rbp), %r15
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3120
addq $0x20, %r14
addq $0x20, %rbx
decq %r15
jne 0x34bbd
movq -0x170(%rbp), %rbx
movq -0xe0(%rbp), %r14
movq -0x150(%rbp), %r15
leaq -0x78(%rbp), %r13
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3120
addq $0x20, %r14
addq $0x20, %rbx
decq %r15
jne 0x34bee
movq -0x110(%rbp), %rax
addl %eax, %eax
movl -0x2c(%rbp), %ecx
movq %rcx, -0x168(%rbp)
movq %rax, -0x110(%rbp)
cmpl -0x54(%rbp), %eax
movq -0x158(%rbp), %r14
movq -0xe0(%rbp), %rbx
jl 0x33b7e
leaq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
movq %rax, (%rdi)
leaq 0x449b8(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
leaq -0x78(%rbp), %rsi
movq %r14, %rdi
callq 0x2a942
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x34c6f
callq 0x31d0
leaq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
movq %rax, (%rdi)
leaq 0x4405f(%rip), %rsi     # 0x78ce0
leaq 0x4406a(%rip), %rdx     # 0x78cf2
callq 0x2ac04
leaq -0x78(%rbp), %rsi
movq %r14, %rdi
callq 0x2a942
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x34cab
callq 0x31d0
leaq -0x128(%rbp), %rdx
movl -0x54(%rbp), %edi
movq %r14, %r8
callq 0x2f814
movq %rbx, %rax
addq $-0x8, %rbx
movq -0x8(%rax), %r14
testq %r14, %r14
je 0x34cf4
shlq $0x5, %r14
leaq (%r14,%rax), %r15
addq $-0x10, %r15
negq %r14
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x34cea
callq 0x31d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x34cdc
movq %rbx, %rdi
callq 0x3280
movq -0x128(%rbp), %rax
testq %rax, %rax
je 0x34d44
leaq -0x8(%rax), %rbx
movq -0x8(%rax), %r14
testq %r14, %r14
je 0x34d3c
shlq $0x5, %r14
leaq (%r14,%rax), %r15
addq $-0x10, %r15
negq %r14
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x34d32
callq 0x31d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x34d24
movq %rbx, %rdi
callq 0x3280
movq -0x170(%rbp), %rax
testq %rax, %rax
je 0x34d8c
leaq -0x8(%rax), %rbx
movq -0x8(%rax), %r14
testq %r14, %r14
je 0x34d84
shlq $0x5, %r14
leaq (%r14,%rax), %r15
addq $-0x10, %r15
negq %r14
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x34d7a
callq 0x31d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x34d6c
movq %rbx, %rdi
callq 0x3280
movq -0x120(%rbp), %rax
testq %rax, %rax
je 0x34dd4
leaq -0x8(%rax), %rbx
movq -0x8(%rax), %r14
testq %r14, %r14
je 0x34dcc
shlq $0x5, %r14
leaq (%r14,%rax), %r15
addq $-0x10, %r15
negq %r14
movq -0x10(%r15), %rdi
cmpq %rdi, %r15
je 0x34dc2
callq 0x31d0
addq $-0x20, %r15
addq $0x20, %r14
jne 0x34db4
movq %rbx, %rdi
callq 0x3280
addq $0x208, %rsp            # imm = 0x208
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x35034
jmp 0x34e43
jmp 0x35034
jmp 0x34e43
jmp 0x35034
jmp 0x34e43
movq %rax, %rbx
movq -0x200(%rbp), %rdi
leaq -0x1f0(%rbp), %rax
jmp 0x3515c
movq %rax, %rbx
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x34e30
callq 0x31d0
jmp 0x34e30
jmp 0x35034
movq %rax, %rbx
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
jmp 0x3515c
movq %rax, %rbx
jmp 0x35166
movq %rax, %rbx
leaq -0x180(%rbp), %r15
jmp 0x34f30
movq %rax, %rbx
leaq -0x180(%rbp), %r15
jmp 0x34f00
movq %rax, %rbx
leaq -0x180(%rbp), %r15
jmp 0x34ed0
movq %rax, %rbx
jmp 0x34fb1
movq %rax, %rbx
jmp 0x34f77
movq %rax, %rbx
leaq -0x180(%rbp), %r15
jmp 0x34f18
movq %rax, %rbx
leaq -0x180(%rbp), %r15
jmp 0x34ee8
jmp 0x35139
movq %rax, %rbx
leaq -0x180(%rbp), %r15
jmp 0x34f48
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
leaq -0x180(%rbp), %r15
je 0x34ed0
callq 0x31d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x34ee8
callq 0x31d0
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x34f00
callq 0x31d0
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x34f18
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x34f30
callq 0x31d0
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
cmpq %rax, %rdi
je 0x34f48
callq 0x31d0
movq -0x190(%rbp), %rdi
cmpq %r15, %rdi
je 0x34fe6
callq 0x31d0
jmp 0x34fe6
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x34f77
callq 0x31d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x34f99
callq 0x31d0
jmp 0x34f99
movq %rax, %rbx
jmp 0x34fc9
movq %rax, %rbx
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x34fb1
callq 0x31d0
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x34fc9
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x35056
callq 0x31d0
jmp 0x35056
movq %rax, %rbx
movq -0x220(%rbp), %rdi
leaq -0x210(%rbp), %rax
jmp 0x3512d
movq %rax, %rbx
leaq -0xc8(%rbp), %r15
jmp 0x35089
movq %rax, %rbx
jmp 0x350ac
movq %rax, %rbx
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x350c2
callq 0x31d0
jmp 0x350c2
movq %rax, %rbx
jmp 0x35154
movq %rax, %rbx
jmp 0x350d4
jmp 0x35139
jmp 0x35103
jmp 0x3510a
movq %rax, %rbx
movq -0x1b0(%rbp), %rdi
leaq -0x1a0(%rbp), %rax
jmp 0x3512d
movq %rax, %rbx
jmp 0x3509a
movq %rax, %rbx
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x35089
callq 0x31d0
movq -0xd8(%rbp), %rdi
cmpq %r15, %rdi
je 0x3509a
callq 0x31d0
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x350ac
callq 0x31d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
jmp 0x3515c
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x350d4
callq 0x31d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x350f1
callq 0x31d0
jmp 0x350f1
movq %rax, %rbx
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
jmp 0x3514a
jmp 0x35139
movq %rax, %rbx
jmp 0x3511f
jmp 0x35139
movq %rax, %rbx
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x3511f
callq 0x31d0
movq -0x98(%rbp), %rdi
leaq -0x88(%rbp), %rax
cmpq %rax, %rdi
je 0x3513c
callq 0x31d0
jmp 0x3513c
movq %rax, %rbx
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x35154
callq 0x31d0
movq -0x78(%rbp), %rdi
leaq -0x68(%rbp), %rax
cmpq %rax, %rdi
je 0x35166
callq 0x31d0
movq %rbx, %rdi
callq 0x33a0