// File: /workspace/github_cpp_makefile_star2_O1/temelmertcan[P]multgen/src/dadda.cpp
// Function: create_daddatree(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>**, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, int, int, int&, int, bool, 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>>>>>&, int&, bool**&)
void create_daddatree (string** pp_matrix,
		       string final_stage_adder,
		       int pp_dim1,
		       int pp_dim2,
		       int& out_size,
		       int shift_amount,
		       bool create_fin_adder,
		       bool signed_mult,
		       std::queue<string>& verilog,
		       int& adder_size,
		       bool**& zeros_in_output
		       ){


  //out_size = create_fin_adder ? out_size : pp_dim2;

  
  std::queue<string>* main_queue = new std::queue<string>[out_size];
  std::queue<string>* temp_queue = new std::queue<string>[out_size];

  // create the initial queue
  //for (int i = pp_dim1; i >= 0; i--)
  for (int i = 0; i < pp_dim1; i++)
    for (int j = 0; j < pp_dim2 && j< out_size; j++)
      if (pp_matrix[i][j] != "")
	main_queue[j].push (pp_matrix[i][j]);

  int cnt = 0;

  int* coeffs = 0;
  int coeffs_size;
  
  get_dadda_coeffs(get_max_queue_size(main_queue, out_size), coeffs, coeffs_size);
  


  // cout << "out_size " << out_size << endl;
  
  //print_queue(main_queue, out_size);

  //cout << "Dadda summmation stage count: " << coeffs_size << endl; 
  
  
  for (int phase = 0; phase < coeffs_size; phase++) {
    
    // Step 1: sum the stuff in main_queue with fa/ha
    verilog.push("");
    verilog.push("// Dadda Summation Stage " + to_string(phase+1));
    int carrysize = 0;
    
    for (int j = 0; j < out_size; j++){
      std::queue<string>& cur = main_queue[j];
      int sumsize = 0;
      while (((cur.size() + carrysize + sumsize) > coeffs[phase]) && (cur.size() >= 2)){
	if ((cur.size() + carrysize + sumsize) - coeffs[phase] > 1){
	  string var1 = cur.front();
	  cur.pop();
	  string var2 = cur.front();
	  cur.pop();
	  string var3 = cur.front();
	  cur.pop();
	  string inst = "logic s" + to_string(cnt)
	    + " ,c" + to_string(cnt) + "; \n";
	  inst += "    fa fa" + to_string(cnt)
	    + " (" + var1 + ", " + var2 + ", " + var3
	    + ", s" + to_string(cnt) + ", c" + to_string(cnt) + ");";

	  verilog.push(inst);

	  temp_queue[j].push("s" + to_string(cnt));

	  if (j+1 < out_size)
	    temp_queue[j+1].push("c" + to_string(cnt));
	  cnt++;
	  

	}else{
	  string var1 = cur.front();
	  cur.pop();
	  string var2 = cur.front();
	  cur.pop();
	  string inst = "logic s" + to_string(cnt)
	    + " ,c" + to_string(cnt) + ";\n";
	  inst += "    ha ha" + to_string(cnt)
	    + " (" + var1 + ", " + var2
	    + ", s" + to_string(cnt) + ", c" + to_string(cnt) + ");";

	  verilog.push(inst);

	  temp_queue[j].push("s" + to_string(cnt));

	  if (j+1 < out_size)
	    temp_queue[j+1].push("c" + to_string(cnt));
	  cnt++;
	}
	sumsize++;
      }
      carrysize = sumsize;
    }

    // Step 2; Move stuff from temp_queue to main_queue
    move_to_main_queue(temp_queue, main_queue, out_size);

    //print_queue(main_queue, out_size);

  }

  verilog.push("");

  if (create_fin_adder)
    create_finaladder_inst (main_queue,
			    final_stage_adder,
			    out_size,
			    shift_amount,
			    verilog,
			    adder_size);
  else
    create_two_result_vectors (main_queue,
			       out_size,
			       verilog,
			       signed_mult,
			       adder_size,
			       zeros_in_output);
  

   delete[] temp_queue;
   //delete[] coeffs;
  // delete[] main_queue;

   
  // cout << "adder size " << adder_size << endl;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x308, %rsp            # imm = 0x308
movl %r9d, -0x26c(%rbp)
movl %ecx, -0x94(%rbp)
movl %edx, -0x128(%rbp)
movq %rsi, -0x2d0(%rbp)
movq %r8, -0xe0(%rbp)
movslq (%r8), %r15
movl $0x50, %ecx
movq %r15, %rax
mulq %rcx
movq %rdi, -0x158(%rbp)
seto %cl
orq $0x8, %rax
movq $-0x1, %r13
testb %cl, %cl
cmovneq %r13, %rax
movq %rax, %rdi
callq 0x3030
leaq 0x8(%rax), %r14
movq %rax, -0x70(%rbp)
movq %r15, (%rax)
testq %r15, %r15
je 0x663b3
shlq $0x4, %r15
leaq (%r15,%r15,4), %r12
negq %r12
xorl %ebx, %ebx
movq %r14, %r15
xorps %xmm0, %xmm0
movups %xmm0, 0x40(%r15)
movups %xmm0, 0x30(%r15)
movups %xmm0, 0x20(%r15)
movups %xmm0, 0x10(%r15)
movups %xmm0, (%r15)
movq %r15, %rdi
xorl %esi, %esi
callq 0x2b1a0
addq $-0x50, %rbx
addq $0x50, %r15
cmpq %rbx, %r12
jne 0x66381
movq %r14, -0x130(%rbp)
movq -0xe0(%rbp), %rax
movslq (%rax), %r15
movq %r15, %rax
movl $0x50, %ecx
mulq %rcx
seto %cl
orq $0x8, %rax
testb %cl, %cl
cmoveq %rax, %r13
movq %r13, %rdi
callq 0x3030
movq %rax, %r12
addq $0x8, %rax
movq %rax, -0x260(%rbp)
movq %r15, (%r12)
testq %r15, %r15
je 0x66441
shlq $0x4, %r15
leaq (%r15,%r15,4), %r14
negq %r14
xorl %ebx, %ebx
movq -0x260(%rbp), %r15
xorps %xmm0, %xmm0
movups %xmm0, 0x40(%r15)
movups %xmm0, 0x30(%r15)
movups %xmm0, 0x20(%r15)
movups %xmm0, 0x10(%r15)
movups %xmm0, (%r15)
movq %r15, %rdi
xorl %esi, %esi
callq 0x2b1a0
addq $-0x50, %rbx
addq $0x50, %r15
cmpq %rbx, %r14
jne 0x6640f
movq %r12, -0x2d8(%rbp)
movl -0x128(%rbp), %eax
testl %eax, %eax
movq -0x158(%rbp), %r12
jle 0x664f1
movslq -0x94(%rbp), %rcx
movq %rcx, -0x70(%rbp)
movl %eax, %eax
movq %rax, -0x128(%rbp)
xorl %ebx, %ebx
cmpl $0x0, -0x94(%rbp)
jle 0x664e5
movq -0xe0(%rbp), %rax
cmpl $0x0, (%rax)
jle 0x664e5
movl $0x1, %r13d
xorl %r15d, %r15d
xorl %r14d, %r14d
movq (%r12,%rbx,8), %rdi
addq %r14, %rdi
leaq 0x1415f(%rip), %rsi     # 0x7a601
callq 0x3090
testl %eax, %eax
je 0x664c1
movq -0x130(%rbp), %rdi
addq %r15, %rdi
movq (%r12,%rbx,8), %rsi
addq %r14, %rsi
callq 0x3b832
cmpq -0x70(%rbp), %r13
jge 0x664e5
addq $0x20, %r14
addq $0x50, %r15
leaq 0x1(%r13), %rax
movq -0xe0(%rbp), %rcx
movslq (%rcx), %rcx
cmpq %rcx, %r13
movq %rax, %r13
jl 0x66494
incq %rbx
cmpq -0x128(%rbp), %rbx
jne 0x66473
leaq -0x310(%rbp), %rbx
movq $0x0, (%rbx)
movq -0x130(%rbp), %rdi
movq -0xe0(%rbp), %rax
movl (%rax), %esi
callq 0x6aeee
leaq -0x270(%rbp), %r14
movl %eax, %edi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x66108
cmpl $0x0, (%r14)
leaq -0xf0(%rbp), %rax
jle 0x6861b
movq $0x0, -0x268(%rbp)
leaq -0x100(%rbp), %r14
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
xorl %r15d, %r15d
movq %rax, -0x100(%rbp)
movq %r14, %rdi
leaq 0x1409c(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
movq 0x20(%rbp), %rdi
movq %r14, %rsi
callq 0x2ad60
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x66591
callq 0x31d0
movq -0x268(%rbp), %rax
leaq 0x1(%rax), %rdx
movl $0x1, %ebx
cmpq $0x9, %rax
jb 0x665e3
movl $0x4, %ebx
movl %edx, %eax
cmpl $0x63, %eax
jbe 0x665dc
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x665e1
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x665e3
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x665ae
addl $-0x3, %ebx
jmp 0x665e3
addl $-0x2, %ebx
jmp 0x665e3
decl %ebx
movl %ebx, %esi
leaq -0x140(%rbp), %rax
movq %rax, -0x150(%rbp)
leaq -0x150(%rbp), %rdi
movq %rdx, %r12
movl $0x2d, %edx
callq 0x3250
movq -0x150(%rbp), %rdi
movl %ebx, %esi
movq %r12, -0x2e0(%rbp)
movl %r12d, %edx
callq 0x2aad9
movl $0x19, %r8d
leaq -0x150(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x13fcb(%rip), %rcx     # 0x7a602
callq 0x3230
leaq -0xf0(%rbp), %rsi
movq %rsi, -0x100(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6666c
movq %rdx, -0x100(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xf0(%rbp)
jmp 0x66672
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)
movq 0x20(%rbp), %rdi
movq %r14, %rsi
callq 0x2ad60
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x666b0
callq 0x31d0
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x666c8
callq 0x31d0
movq -0xe0(%rbp), %rax
movl (%rax), %edx
testl %edx, %edx
jle 0x685e3
xorl %eax, %eax
xorl %ebx, %ebx
leaq -0xf0(%rbp), %rsi
movq %rax, %rdx
shlq $0x4, %rax
leaq (%rax,%rax,4), %rax
movq -0x130(%rbp), %r12
addq %rax, %r12
movl %ebx, %ecx
movq %rcx, -0x2e8(%rbp)
movq -0x260(%rbp), %rcx
leaq (%rcx,%rax), %rdi
movq %rdi, -0x2c8(%rbp)
incq %rdx
movq %rdx, -0x158(%rbp)
addq %rcx, %rax
addq $0x50, %rax
movq %rax, -0x2b8(%rbp)
xorl %ebx, %ebx
movq %r12, -0x2c0(%rbp)
movq 0x48(%r12), %rax
movq %rax, %rcx
subq 0x28(%r12), %rcx
shrq $0x3, %rcx
cmpq $0x1, %rax
adcq $-0x1, %rcx
shlq $0x4, %rcx
movq 0x30(%r12), %rdx
subq 0x38(%r12), %rdx
movq 0x20(%r12), %rax
sarq $0x5, %rdx
subq 0x10(%r12), %rax
sarq $0x5, %rax
addq %rdx, %rax
addq %rcx, %rax
cmpq $0x2, %rax
jb 0x685c9
movq -0x2e8(%rbp), %rcx
addq %rbx, %rcx
addq %rcx, %rax
movq -0x310(%rbp), %rcx
movq -0x268(%rbp), %rdx
movslq (%rcx,%rdx,4), %rcx
subq %rcx, %rax
jbe 0x685c9
cmpq $0x2, %rax
movl %r15d, -0x94(%rbp)
movq %rbx, -0x128(%rbp)
jb 0x668af
movq 0x10(%r12), %rax
movq %rsi, -0x100(%rbp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x2acc6
movq %r12, %rdi
callq 0x2b108
movq 0x10(%r12), %rax
leaq -0x140(%rbp), %rcx
movq %rcx, -0x150(%rbp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq -0x150(%rbp), %rdi
callq 0x2acc6
movq %r12, %rdi
callq 0x2b108
movq 0x10(%r12), %rax
leaq -0x228(%rbp), %rcx
movq %rcx, -0x238(%rbp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq -0x238(%rbp), %rdi
callq 0x2acc6
movq %r12, %rdi
callq 0x2b108
movl %r15d, %r12d
negl %r12d
cmovsl %r15d, %r12d
movl $0x1, %r14d
cmpl $0xa, %r12d
leaq -0xb8(%rbp), %rdi
jb 0x66abe
movl $0x4, %r14d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x66958
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x66abb
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x66abe
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x66870
addl $-0x3, %r14d
jmp 0x66abe
movq 0x10(%r12), %rax
movq %rsi, -0x100(%rbp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x2acc6
movq %r12, %rdi
callq 0x2b108
movq 0x10(%r12), %rax
leaq -0x140(%rbp), %rcx
movq %rcx, -0x150(%rbp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq -0x150(%rbp), %rdi
callq 0x2acc6
movq %r12, %rdi
callq 0x2b108
movl %r15d, %ebx
negl %ebx
cmovsl %r15d, %ebx
movl $0x1, %r14d
cmpl $0xa, %ebx
jb 0x66964
movl $0x4, %r14d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x66952
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x66961
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x66964
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x66922
addl $-0x3, %r14d
jmp 0x66964
addl $-0x2, %r14d
jmp 0x66964
addl $-0x2, %r14d
jmp 0x66abe
decl %r14d
movl %r15d, %r12d
shrl $0x1f, %r12d
leal (%r14,%r12), %esi
leaq -0xc8(%rbp), %rax
movq %rax, -0xd8(%rbp)
leaq -0xd8(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x3250
movl %r12d, %r15d
movq -0xd8(%rbp), %rdi
addq %r15, %rdi
movl %r14d, %esi
movl %ebx, %edx
callq 0x2aad9
movl $0x7, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x13c60(%rip), %rcx     # 0x7a61c
callq 0x3230
leaq -0x58(%rbp), %rsi
movq %rsi, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x669e5
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x669eb
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)
leaq -0x68(%rbp), %rdi
leaq 0x13c17(%rip), %rsi     # 0x7a624
callq 0x33d0
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66a3c
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x66a42
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, %r14d
cmpl $0xa, %ebx
leaq -0xb8(%rbp), %rdi
jb 0x66c2d
movl $0x4, %r14d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x66ab2
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x66c2a
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x66c2d
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x66a77
addl $-0x3, %r14d
jmp 0x66c2d
addl $-0x2, %r14d
jmp 0x66c2d
decl %r14d
leaq 0x13b57(%rip), %r15     # 0x7a61c
movl -0x94(%rbp), %eax
movl %eax, %ebx
shrl $0x1f, %ebx
leal (%r14,%rbx), %esi
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq %rdi, %r13
movl $0x2d, %edx
callq 0x3250
movl %ebx, %eax
movq -0xb8(%rbp), %rdi
movq %rax, -0x70(%rbp)
addq %rax, %rdi
movl %r14d, %esi
movl %r12d, %edx
callq 0x2aad9
movl $0x7, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
movq %r15, %rcx
callq 0x3230
leaq -0xc8(%rbp), %rsi
movq %rsi, -0xd8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66b4f
movq %rdx, -0xd8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc8(%rbp)
jmp 0x66b55
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0xd8(%rbp), %rdi
leaq -0x68(%rbp), %r15
movq 0x8(%rax), %rdx
movq %rdx, -0xd0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x13aa3(%rip), %rsi     # 0x7a624
callq 0x33d0
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
leaq -0x58(%rbp), %rsi
movq %rsi, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66bb0
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x66bb6
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)
movl $0x1, %r14d
cmpl $0xa, %r12d
jb 0x66e47
movl $0x4, %r14d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x66c21
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x66e44
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x66e47
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x66be6
addl $-0x3, %r14d
jmp 0x66e47
addl $-0x2, %r14d
jmp 0x66e47
decl %r14d
leal (%r14,%r12), %esi
leaq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
movl $0x2d, %edx
callq 0x3250
movq -0xb8(%rbp), %rdi
addq %r15, %rdi
movl %r14d, %esi
movl %ebx, %edx
callq 0x2aad9
movq -0x48(%rbp), %rcx
movl $0xf, %esi
leaq -0x38(%rbp), %rax
cmpq %rax, %rcx
je 0x66c73
movq -0x38(%rbp), %rsi
movq -0x40(%rbp), %r8
movq -0xb0(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x66ca8
movl $0xf, %esi
leaq -0xa8(%rbp), %rdi
cmpq %rdi, -0xb8(%rbp)
je 0x66ca3
movq -0xa8(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x66cba
movq -0xb8(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x30a0
jmp 0x66cca
leaq -0xb8(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0x80(%rbp), %rsi
movq %rsi, -0x90(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x66cf1
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x66cf7
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x88(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0x90(%rbp), %rdi
leaq 0x1391a(%rip), %rsi     # 0x7a63e
callq 0x33d0
leaq -0x228(%rbp), %rsi
movq %rsi, -0x238(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66d59
movq %rdx, -0x238(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x228(%rbp)
jmp 0x66d5f
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x230(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x66d8e
callq 0x31d0
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x66da6
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x66db8
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x66dca
callq 0x31d0
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x66de2
callq 0x31d0
movl $0x1, %r14d
cmpl $0xa, %ebx
leaq -0x248(%rbp), %rdx
jb 0x67055
movl $0x4, %r14d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x66e3b
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x67052
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x67055
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x66e00
addl $-0x3, %r14d
jmp 0x67055
addl $-0x2, %r14d
jmp 0x67055
decl %r14d
leal (%r14,%rbx), %esi
leaq -0x110(%rbp), %rax
movq %rax, -0x120(%rbp)
leaq -0x120(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x120(%rbp), %rdi
addq -0x70(%rbp), %rdi
movl %r14d, %esi
movl %r12d, %edx
callq 0x2aad9
movq -0x68(%rbp), %rcx
movl $0xf, %esi
leaq -0x58(%rbp), %rax
cmpq %rax, %rcx
je 0x66e96
movq -0x58(%rbp), %rsi
movq -0x60(%rbp), %r8
movq -0x118(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x66ecb
movl $0xf, %esi
leaq -0x110(%rbp), %rdi
cmpq %rdi, -0x120(%rbp)
je 0x66ec6
movq -0x110(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x66edc
movq -0x120(%rbp), %rsi
movq %r15, %rdi
callq 0x30a0
jmp 0x66eec
leaq -0x120(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x66f0d
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x66f13
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0x48(%rbp), %rdi
leaq 0x136ee(%rip), %rsi     # 0x7a628
callq 0x33d0
leaq -0x80(%rbp), %rsi
movq %rsi, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66f69
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x66f6f
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)
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x66f9b
callq 0x31d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x66fb3
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x66fc5
callq 0x31d0
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x66fdd
callq 0x31d0
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x66ff5
callq 0x31d0
movl $0x1, %r14d
cmpl $0xa, %r12d
jb 0x67352
movl $0x4, %r14d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x67049
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x6734f
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x67352
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x6700e
addl $-0x3, %r14d
jmp 0x67352
addl $-0x2, %r14d
jmp 0x67352
decl %r14d
leal (%r14,%r12), %esi
movq %rdx, -0x258(%rbp)
leaq -0x258(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x258(%rbp), %rdi
addq %r15, %rdi
movl %r14d, %esi
movl %ebx, %edx
callq 0x2aad9
movl $0x9, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x135a5(%rip), %rcx     # 0x7a641
callq 0x3230
leaq -0x1a8(%rbp), %rsi
movq %rsi, -0x1b8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x670d1
movq %rdx, -0x1b8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1a8(%rbp)
jmp 0x670d7
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
movq 0x8(%rax), %rdx
movq %rdx, -0x1b0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x1b8(%rbp), %rdi
leaq 0x12fa7(%rip), %rsi     # 0x7a0ac
callq 0x33d0
leaq -0x1c8(%rbp), %rsi
movq %rsi, -0x1d8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6713a
movq %rdx, -0x1d8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1c8(%rbp)
jmp 0x67140
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x1d0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x100(%rbp), %rsi
movq -0xf8(%rbp), %rdx
leaq -0x1d8(%rbp), %rdi
callq 0x30a0
leaq -0x1e8(%rbp), %rsi
movq %rsi, -0x1f8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x671a4
movq %rdx, -0x1f8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1e8(%rbp)
jmp 0x671aa
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x1f0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x1f8(%rbp), %rdi
leaq 0x12427(%rip), %rsi     # 0x795f9
callq 0x33d0
leaq -0x208(%rbp), %rsi
movq %rsi, -0x218(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67207
movq %rdx, -0x218(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x208(%rbp)
jmp 0x6720d
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x210(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x150(%rbp), %rsi
movq -0x148(%rbp), %rdx
leaq -0x218(%rbp), %rdi
callq 0x30a0
leaq -0x110(%rbp), %rsi
movq %rsi, -0x120(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67271
movq %rdx, -0x120(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x110(%rbp)
jmp 0x67277
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)
leaq -0x120(%rbp), %rdi
leaq 0x13397(%rip), %rsi     # 0x7a636
callq 0x33d0
leaq -0xa8(%rbp), %rsi
movq %rsi, -0xb8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x672d4
movq %rdx, -0xb8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa8(%rbp)
jmp 0x672da
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)
movl $0x1, %r14d
cmpl $0xa, %ebx
jb 0x6772a
movl $0x4, %r14d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x67346
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x67727
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x6772a
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x6730b
addl $-0x3, %r14d
jmp 0x6772a
addl $-0x2, %r14d
jmp 0x6772a
decl %r14d
leal (%r14,%rbx), %esi
leaq -0x2f8(%rbp), %rax
movq %rax, -0x308(%rbp)
leaq -0x308(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x308(%rbp), %rdi
addq -0x70(%rbp), %rdi
movl %r14d, %esi
movl %r12d, %edx
callq 0x2aad9
movl $0x9, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x1328a(%rip), %rcx     # 0x7a62c
callq 0x3230
leaq -0x168(%rbp), %rsi
movq %rsi, -0x178(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x673d7
movq %rdx, -0x178(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x168(%rbp)
jmp 0x673dd
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0x258(%rbp), %r14
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
movq 0x8(%rax), %rdx
movq %rdx, -0x170(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x178(%rbp), %rdi
leaq 0x12c9a(%rip), %rsi     # 0x7a0ac
callq 0x33d0
leaq -0x188(%rbp), %rsi
movq %rsi, -0x198(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67447
movq %rdx, -0x198(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x188(%rbp)
jmp 0x6744d
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x190(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x100(%rbp), %rsi
movq -0xf8(%rbp), %rdx
leaq -0x198(%rbp), %rdi
callq 0x30a0
leaq -0x248(%rbp), %rsi
movq %rsi, -0x258(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x674b1
movq %rdx, -0x258(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x248(%rbp)
jmp 0x674b7
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x250(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %r14, %rdi
leaq 0x1211e(%rip), %rsi     # 0x795f9
callq 0x33d0
leaq -0x1a8(%rbp), %rsi
movq %rsi, -0x1b8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67510
movq %rdx, -0x1b8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1a8(%rbp)
jmp 0x67516
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x1b0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x150(%rbp), %rsi
movq -0x148(%rbp), %rdx
leaq -0x1b8(%rbp), %rdi
callq 0x30a0
leaq -0x1c8(%rbp), %rsi
movq %rsi, -0x1d8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6757a
movq %rdx, -0x1d8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1c8(%rbp)
jmp 0x67580
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x1d0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x1d8(%rbp), %rdi
leaq 0x12051(%rip), %rsi     # 0x795f9
callq 0x33d0
leaq -0x1e8(%rbp), %rsi
movq %rsi, -0x1f8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x675dd
movq %rdx, -0x1f8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1e8(%rbp)
jmp 0x675e3
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x1f0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x238(%rbp), %rsi
movq -0x230(%rbp), %rdx
leaq -0x1f8(%rbp), %rdi
callq 0x30a0
leaq -0x208(%rbp), %rsi
movq %rsi, -0x218(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67647
movq %rdx, -0x218(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x208(%rbp)
jmp 0x6764d
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x210(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x218(%rbp), %rdi
leaq 0x12fc1(%rip), %rsi     # 0x7a636
callq 0x33d0
leaq -0x110(%rbp), %rsi
movq %rsi, -0x120(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x676aa
movq %rdx, -0x120(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x110(%rbp)
jmp 0x676b0
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)
movl $0x1, %r14d
cmpl $0xa, %r12d
jb 0x678e1
movl $0x4, %r14d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x6771e
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x678de
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x678e1
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x676e3
addl $-0x3, %r14d
jmp 0x678e1
addl $-0x2, %r14d
jmp 0x678e1
decl %r14d
leal (%r14,%r12), %esi
leaq -0x188(%rbp), %rax
movq %rax, -0x198(%rbp)
leaq -0x198(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x198(%rbp), %rdi
addq %r15, %rdi
movl %r14d, %esi
movl %ebx, %edx
callq 0x2aad9
movq -0xb8(%rbp), %rcx
movl $0xf, %esi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rcx
je 0x67780
movq -0xa8(%rbp), %rsi
movq -0xb0(%rbp), %r8
movq -0x190(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x677b8
movl $0xf, %esi
leaq -0x188(%rbp), %rdi
cmpq %rdi, -0x198(%rbp)
je 0x677b3
movq -0x188(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x677cd
movq -0x198(%rbp), %rsi
leaq -0xb8(%rbp), %rdi
callq 0x30a0
jmp 0x677dd
leaq -0x198(%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 0x6780a
movq %rdx, -0xd8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc8(%rbp)
jmp 0x67810
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)
leaq -0xd8(%rbp), %rdi
leaq 0x12dfd(%rip), %rsi     # 0x7a63a
callq 0x33d0
leaq -0x58(%rbp), %rsi
movq %rsi, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67866
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x6786c
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)
movl $0x1, %r14d
cmpl $0xa, %ebx
jb 0x67aab
movl $0x4, %r14d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x678d5
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x67aa8
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x67aab
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x6789a
addl $-0x3, %r14d
jmp 0x67aab
addl $-0x2, %r14d
jmp 0x67aab
decl %r14d
leal (%r14,%rbx), %esi
leaq -0x2a0(%rbp), %rax
movq %rax, -0x2b0(%rbp)
leaq -0x2b0(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x2b0(%rbp), %rdi
addq -0x70(%rbp), %rdi
movl %r14d, %esi
movl %r12d, %edx
callq 0x2aad9
movq -0x120(%rbp), %rcx
movl $0xf, %esi
leaq -0x110(%rbp), %rax
cmpq %rax, %rcx
je 0x67939
movq -0x110(%rbp), %rsi
movq -0x118(%rbp), %r8
movq -0x2a8(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x67971
movl $0xf, %esi
leaq -0x2a0(%rbp), %rdi
cmpq %rdi, -0x2b0(%rbp)
je 0x6796c
movq -0x2a0(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x67986
movq -0x2b0(%rbp), %rsi
leaq -0x120(%rbp), %rdi
callq 0x30a0
jmp 0x67996
leaq -0x2b0(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0xa8(%rbp), %rsi
movq %rsi, -0xb8(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x679c3
movq %rdx, -0xb8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa8(%rbp)
jmp 0x679c9
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xb0(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0xb8(%rbp), %rdi
leaq 0x12c44(%rip), %rsi     # 0x7a63a
callq 0x33d0
leaq -0xc8(%rbp), %rsi
movq %rsi, -0xd8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67a2b
movq %rdx, -0xd8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc8(%rbp)
jmp 0x67a31
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xd0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r14d
cmpl $0xa, %r12d
jb 0x67da1
movl $0x4, %r14d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x67a9f
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x67d9e
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x67da1
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x67a64
addl $-0x3, %r14d
jmp 0x67da1
addl $-0x2, %r14d
jmp 0x67da1
decl %r14d
leal (%r14,%r12), %esi
leaq -0x168(%rbp), %rax
movq %rax, -0x178(%rbp)
leaq -0x178(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x178(%rbp), %rdi
addq %r15, %rdi
movl %r14d, %esi
movl %ebx, %edx
callq 0x2aad9
movq -0x68(%rbp), %rcx
movl $0xf, %esi
leaq -0x58(%rbp), %rax
cmpq %rax, %rcx
je 0x67af8
movq -0x58(%rbp), %rsi
movq -0x60(%rbp), %r8
movq -0x170(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x67b2d
movl $0xf, %esi
leaq -0x168(%rbp), %rdi
cmpq %rdi, -0x178(%rbp)
je 0x67b28
movq -0x168(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x67b3f
movq -0x178(%rbp), %rsi
leaq -0x68(%rbp), %rdi
callq 0x30a0
jmp 0x67b4f
leaq -0x178(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x67b70
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x67b76
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0x48(%rbp), %rdi
leaq 0x12b73(%rip), %rsi     # 0x7a710
callq 0x33d0
leaq -0x80(%rbp), %rsi
movq %rsi, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67bcc
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x67bd2
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)
movq -0x90(%rbp), %rsi
movq -0x88(%rbp), %rdx
leaq -0x238(%rbp), %rdi
callq 0x30a0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x67c1b
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x67c2d
callq 0x31d0
movq -0x178(%rbp), %rdi
leaq -0x168(%rbp), %rax
cmpq %rax, %rdi
je 0x67c45
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x67c57
callq 0x31d0
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x67c6f
callq 0x31d0
movq -0x198(%rbp), %rdi
leaq -0x188(%rbp), %rax
cmpq %rax, %rdi
je 0x67c87
callq 0x31d0
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x67c9f
callq 0x31d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x67cb7
callq 0x31d0
movq -0x218(%rbp), %rdi
leaq -0x208(%rbp), %rax
cmpq %rax, %rdi
je 0x67ccf
callq 0x31d0
movq -0x1f8(%rbp), %rdi
leaq -0x1e8(%rbp), %rax
cmpq %rax, %rdi
je 0x67ce7
callq 0x31d0
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
cmpq %rax, %rdi
je 0x67cff
callq 0x31d0
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x67d17
callq 0x31d0
movq -0x258(%rbp), %rdi
leaq -0x248(%rbp), %rax
cmpq %rax, %rdi
je 0x67d2f
callq 0x31d0
movq 0x20(%rbp), %rdi
leaq -0x238(%rbp), %rsi
callq 0x3b832
movq %r12, -0x70(%rbp)
movl $0x1, %r14d
cmpl $0xa, %ebx
jb 0x680c9
movl $0x4, %r14d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x67d95
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x680c6
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x680c9
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x67d5a
addl $-0x3, %r14d
jmp 0x680c9
addl $-0x2, %r14d
jmp 0x680c9
decl %r14d
leal (%r14,%rbx), %esi
leaq -0x280(%rbp), %rax
movq %rax, -0x290(%rbp)
leaq -0x290(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x290(%rbp), %rdi
addq -0x70(%rbp), %rdi
movl %r14d, %esi
movl %r12d, %edx
callq 0x2aad9
movq -0xd8(%rbp), %rcx
movl $0xf, %esi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rcx
je 0x67df9
movq -0xc8(%rbp), %rsi
movq -0xd0(%rbp), %r8
movq -0x288(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
jbe 0x67e31
movl $0xf, %esi
leaq -0x280(%rbp), %rdi
cmpq %rdi, -0x290(%rbp)
je 0x67e2c
movq -0x280(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x67e46
movq -0x290(%rbp), %rsi
leaq -0xd8(%rbp), %rdi
callq 0x30a0
jmp 0x67e56
leaq -0x290(%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 0x67e77
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x67e7d
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 %r15, %rdi
leaq 0x1286d(%rip), %rsi     # 0x7a710
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67ecc
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x67ed2
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 -0x48(%rbp), %rsi
movq -0x40(%rbp), %rdx
leaq -0x90(%rbp), %rdi
callq 0x30a0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x67f0f
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x67f21
callq 0x31d0
movq -0x290(%rbp), %rdi
leaq -0x280(%rbp), %rax
cmpq %rax, %rdi
je 0x67f39
callq 0x31d0
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x67f51
callq 0x31d0
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x67f69
callq 0x31d0
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0x67f81
callq 0x31d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x67f99
callq 0x31d0
movq -0x218(%rbp), %rdi
leaq -0x208(%rbp), %rax
cmpq %rax, %rdi
je 0x67fb1
callq 0x31d0
movq -0x1f8(%rbp), %rdi
leaq -0x1e8(%rbp), %rax
cmpq %rax, %rdi
je 0x67fc9
callq 0x31d0
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
cmpq %rax, %rdi
je 0x67fe1
callq 0x31d0
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x67ff9
callq 0x31d0
movq -0x258(%rbp), %rdi
leaq -0x248(%rbp), %rax
cmpq %rax, %rdi
je 0x68011
callq 0x31d0
movq -0x198(%rbp), %rdi
leaq -0x188(%rbp), %rax
cmpq %rax, %rdi
je 0x68029
callq 0x31d0
movq -0x178(%rbp), %rdi
leaq -0x168(%rbp), %rax
cmpq %rax, %rdi
je 0x68041
callq 0x31d0
movq -0x308(%rbp), %rdi
leaq -0x2f8(%rbp), %rax
cmpq %rax, %rdi
je 0x68059
callq 0x31d0
movq 0x20(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x3b832
movl $0x1, %r14d
cmpl $0xa, %r12d
jb 0x6820b
movl $0x4, %r14d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x680bd
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x68208
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x6820b
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x68082
addl $-0x3, %r14d
jmp 0x6820b
addl $-0x2, %r14d
jmp 0x6820b
decl %r14d
movq %r15, %r12
movq -0x70(%rbp), %rax
leal (%r14,%rax), %esi
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %r15
movq %r15, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x48(%rbp), %rdi
addq %r12, %rdi
movl %r14d, %esi
movl %ebx, %edx
callq 0x2aad9
movl $0x1, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x12526(%rip), %rcx     # 0x7a638
callq 0x3230
leaq -0x80(%rbp), %rsi
movq %rsi, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x68141
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x68147
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)
movq -0x2c8(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x2ad60
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x68189
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x6819b
callq 0x31d0
movq -0xe0(%rbp), %rax
movslq (%rax), %rax
cmpq %rax, -0x158(%rbp)
jge 0x68410
movl $0x1, %r14d
cmpl $0xa, %ebx
jb 0x68342
movl $0x4, %r14d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x68330
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x6833f
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x68342
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x681c9
addl $-0x3, %r14d
jmp 0x68342
decl %r14d
leal (%r14,%rbx), %esi
leaq -0x58(%rbp), %rax
movq %rax, -0x68(%rbp)
movq %r15, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x68(%rbp), %rdi
addq -0x70(%rbp), %rdi
movl %r14d, %esi
movl %r12d, %edx
callq 0x2aad9
movl $0x1, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x123ed(%rip), %rcx     # 0x7a638
callq 0x3230
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x68274
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x6827a
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 -0x2c8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2ad60
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x682b3
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x682c5
callq 0x31d0
movq -0xe0(%rbp), %rax
movslq (%rax), %rax
cmpq %rax, -0x158(%rbp)
jge 0x6853e
movl $0x1, %r14d
cmpl $0xa, %r12d
jb 0x68482
movl $0x4, %r14d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x68336
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x6847f
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x68482
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x682f5
addl $-0x3, %r14d
jmp 0x68482
addl $-0x2, %r14d
jmp 0x68342
addl $-0x2, %r14d
jmp 0x68482
decl %r14d
movq -0x70(%rbp), %rsi
addl %r14d, %esi
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %r15
movq %r15, %rdi
movl $0x2d, %edx
callq 0x3250
addq -0x48(%rbp), %r12
movq %r12, %rdi
movl %r14d, %esi
movl %ebx, %edx
callq 0x2aad9
movl $0x1, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x122b5(%rip), %rcx     # 0x7a63c
callq 0x3230
leaq -0x80(%rbp), %rsi
movq %rsi, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x683b6
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x683bc
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)
movq -0x2b8(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x2ad60
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x683fe
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x68410
callq 0x31d0
movq -0x238(%rbp), %rdi
leaq -0x228(%rbp), %rax
cmpq %rax, %rdi
je 0x68428
callq 0x31d0
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
leaq -0x100(%rbp), %r14
movl -0x94(%rbp), %r15d
movq -0x128(%rbp), %rbx
movq -0x2c0(%rbp), %r12
je 0x6845c
callq 0x31d0
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x68474
callq 0x31d0
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
jmp 0x685b7
decl %r14d
addl %r14d, %ebx
leaq -0x58(%rbp), %rax
movq %rax, -0x68(%rbp)
movq %r15, %rdi
movq %rbx, %rsi
movl $0x2d, %edx
callq 0x3250
movq -0x70(%rbp), %rdi
addq -0x68(%rbp), %rdi
movl %r14d, %esi
movl %r12d, %edx
callq 0x2aad9
movl $0x1, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x12178(%rip), %rcx     # 0x7a63c
callq 0x3230
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x684ed
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x684f3
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 -0x2b8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2ad60
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x6852c
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x6853e
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x68553
callq 0x31d0
movq -0x238(%rbp), %rdi
leaq -0x228(%rbp), %rax
cmpq %rax, %rdi
leaq -0x100(%rbp), %r14
movl -0x94(%rbp), %r15d
movq -0x128(%rbp), %rbx
movq -0x2c0(%rbp), %r12
je 0x68587
callq 0x31d0
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x6859f
callq 0x31d0
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x685b7
callq 0x31d0
incl %r15d
incq %rbx
leaq -0xf0(%rbp), %rsi
jmp 0x66735
movq -0xe0(%rbp), %rax
movslq (%rax), %rdx
movq -0x158(%rbp), %rax
cmpq %rdx, %rax
jl 0x666e4
movq -0x130(%rbp), %rsi
movq -0x260(%rbp), %rdi
callq 0x6acdc
movslq -0x270(%rbp), %rax
movq -0x2e0(%rbp), %rdx
movq %rdx, -0x268(%rbp)
cmpq %rax, %rdx
leaq -0xf0(%rbp), %rax
jl 0x66554
leaq -0x100(%rbp), %rdi
movq %rax, (%rdi)
leaq 0x11fd5(%rip), %rdx     # 0x7a601
movq %rdx, %rsi
callq 0x2b022
leaq -0x100(%rbp), %rsi
movq 0x20(%rbp), %rdi
callq 0x2ad60
movb 0x10(%rbp), %r14b
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
movq -0x2d8(%rbp), %r12
je 0x68667
callq 0x31d0
movq 0x28(%rbp), %rbx
testb %r14b, %r14b
je 0x686d3
leaq -0x320(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0x2d0(%rbp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq -0x330(%rbp), %r14
movq %r14, %rdi
callq 0x2acc6
movq -0xe0(%rbp), %rax
movl (%rax), %edx
leaq -0x130(%rbp), %rdi
movq %r14, %rsi
movl -0x26c(%rbp), %ecx
movq 0x20(%rbp), %r8
movq %rbx, %r9
callq 0x6ca1d
movq -0x330(%rbp), %rdi
cmpq %r15, %rdi
je 0x686f7
callq 0x31d0
jmp 0x686f7
movq 0x30(%rbp), %r9
movq -0xe0(%rbp), %rax
movl (%rax), %esi
movzbl 0x18(%rbp), %ecx
leaq -0x130(%rbp), %rdi
movq 0x20(%rbp), %rdx
movq %rbx, %r8
callq 0x6af5c
movq (%r12), %rax
testq %rax, %rax
je 0x6871e
shlq $0x4, %rax
leaq (%rax,%rax,4), %rbx
movq %r12, %r14
addq $-0x48, %r14
leaq (%r14,%rbx), %rdi
callq 0x2ab5a
addq $-0x50, %rbx
jne 0x6870f
movq %r12, %rdi
callq 0x3280
addq $0x308, %rsp            # imm = 0x308
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %r14
movq -0x330(%rbp), %rdi
cmpq %r15, %rdi
jne 0x68ce3
jmp 0x68ce8
jmp 0x689ac
jmp 0x6878a
movq %rax, %r14
jmp 0x68777
movq %rax, %r14
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x68777
callq 0x31d0
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
jmp 0x68cde
movq %rax, %r14
jmp 0x68ce8
jmp 0x689ac
movq %rax, %r14
testq %rbx, %rbx
je 0x687b8
negq %rbx
movq %r12, %r15
addq $-0x48, %r15
leaq (%r15,%rbx), %rdi
callq 0x2ab5a
addq $-0x50, %rbx
jne 0x687a9
movq %r12, %rdi
jmp 0x687e3
movq %rax, %r14
testq %rbx, %rbx
je 0x687df
negq %rbx
movq -0x70(%rbp), %r15
addq $-0x48, %r15
leaq (%r15,%rbx), %rdi
callq 0x2ab5a
addq $-0x50, %rbx
jne 0x687d0
movq -0x70(%rbp), %rdi
callq 0x3280
jmp 0x68ce8
jmp 0x688bb
jmp 0x68b4d
jmp 0x6889a
jmp 0x688e8
jmp 0x68875
jmp 0x6887d
movq %rax, %r14
jmp 0x68d0b
movq %rax, %r14
jmp 0x68c70
movq %rax, %r14
jmp 0x68d1d
jmp 0x689ac
jmp 0x68b4d
jmp 0x68829
movq %rax, %r14
jmp 0x68cb8
movq %rax, %r14
jmp 0x68bb1
jmp 0x68875
movq %rax, %r14
jmp 0x68bc3
movq %rax, %r14
jmp 0x68c0b
movq %rax, %r14
jmp 0x68a61
movq %rax, %r14
jmp 0x68c58
movq %rax, %r14
jmp 0x68937
movq %rax, %r14
jmp 0x68a79
jmp 0x68875
movq %rax, %r14
jmp 0x6894f
movq %rax, %r14
jmp 0x68ac1
movq %rax, %r14
jmp 0x688d3
movq %rax, %r14
jmp 0x68a31
movq %rax, %r14
jmp 0x68a49
movq %rax, %r14
jmp 0x68bf3
movq %rax, %r14
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x688eb
callq 0x31d0
jmp 0x688eb
movq %rax, %r14
jmp 0x6890d
movq %rax, %r14
jmp 0x6891f
movq %rax, %r14
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x688d3
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
jmp 0x68c96
movq %rax, %r14
jmp 0x68b10
movq %rax, %r14
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
jmp 0x68ab7
movq %rax, %r14
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x6890d
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x6891f
callq 0x31d0
movq -0x290(%rbp), %rdi
leaq -0x280(%rbp), %rax
cmpq %rax, %rdi
je 0x68937
callq 0x31d0
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x6894f
callq 0x31d0
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x689b7
callq 0x31d0
jmp 0x689b7
movq %rax, %r14
jmp 0x689cf
movq %rax, %r14
jmp 0x68aa9
movq %rax, %r14
jmp 0x689e7
movq %rax, %r14
jmp 0x68ae6
movq %rax, %r14
jmp 0x68bdb
movq %rax, %r14
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x68cf3
callq 0x31d0
jmp 0x68cf3
movq %rax, %r14
jmp 0x68cd0
movq %rax, %r14
movq -0x2b0(%rbp), %rdi
leaq -0x2a0(%rbp), %rax
cmpq %rax, %rdi
je 0x689cf
callq 0x31d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x689e7
callq 0x31d0
movq -0x218(%rbp), %rdi
leaq -0x208(%rbp), %rax
cmpq %rax, %rdi
je 0x68a19
callq 0x31d0
jmp 0x68a19
movq %rax, %r14
jmp 0x68afe
jmp 0x68b4d
movq %rax, %r14
jmp 0x68b28
movq %rax, %r14
movq -0x1f8(%rbp), %rdi
leaq -0x1e8(%rbp), %rax
cmpq %rax, %rdi
je 0x68a31
callq 0x31d0
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
cmpq %rax, %rdi
je 0x68a49
callq 0x31d0
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x68a61
callq 0x31d0
movq -0x258(%rbp), %rdi
leaq -0x248(%rbp), %rax
cmpq %rax, %rdi
je 0x68a79
callq 0x31d0
movq -0x198(%rbp), %rdi
leaq -0x188(%rbp), %rax
cmpq %rax, %rdi
je 0x68a91
callq 0x31d0
movq -0x178(%rbp), %rdi
leaq -0x168(%rbp), %rax
cmpq %rax, %rdi
je 0x68aa9
callq 0x31d0
movq -0x308(%rbp), %rdi
leaq -0x2f8(%rbp), %rax
cmpq %rax, %rdi
je 0x68ac1
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
jmp 0x68c96
movq %rax, %r14
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x68ae6
callq 0x31d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x68afe
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x68b10
callq 0x31d0
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x68b28
callq 0x31d0
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
jmp 0x68c96
jmp 0x68b4d
movq %rax, %r14
jmp 0x68c40
movq %rax, %r14
jmp 0x68a91
movq %rax, %r14
jmp 0x68ca0
movq %rax, %r14
jmp 0x68b72
movq %rax, %r14
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x68b72
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x68b99
callq 0x31d0
jmp 0x68b99
movq %rax, %r14
jmp 0x68c88
movq %rax, %r14
jmp 0x68d2f
movq %rax, %r14
movq -0x178(%rbp), %rdi
leaq -0x168(%rbp), %rax
cmpq %rax, %rdi
je 0x68bb1
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x68bc3
callq 0x31d0
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
cmpq %rax, %rdi
je 0x68bdb
callq 0x31d0
movq -0x198(%rbp), %rdi
leaq -0x188(%rbp), %rax
cmpq %rax, %rdi
je 0x68bf3
callq 0x31d0
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x68c0b
callq 0x31d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x68c28
callq 0x31d0
jmp 0x68c28
movq %rax, %r14
movq -0x218(%rbp), %rdi
leaq -0x208(%rbp), %rax
cmpq %rax, %rdi
je 0x68c40
callq 0x31d0
movq -0x1f8(%rbp), %rdi
leaq -0x1e8(%rbp), %rax
cmpq %rax, %rdi
je 0x68c58
callq 0x31d0
movq -0x1d8(%rbp), %rdi
leaq -0x1c8(%rbp), %rax
cmpq %rax, %rdi
je 0x68c70
callq 0x31d0
movq -0x1b8(%rbp), %rdi
leaq -0x1a8(%rbp), %rax
cmpq %rax, %rdi
je 0x68c88
callq 0x31d0
movq -0x258(%rbp), %rdi
leaq -0x248(%rbp), %rax
cmpq %rax, %rdi
je 0x68ca0
callq 0x31d0
movq -0x238(%rbp), %rdi
leaq -0x228(%rbp), %rax
cmpq %rax, %rdi
je 0x68cb8
callq 0x31d0
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x68cd0
callq 0x31d0
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x68ce8
callq 0x31d0
movq %r14, %rdi
callq 0x33a0
movq %rax, %r14
movq -0xb8(%rbp), %rdi
leaq -0xa8(%rbp), %rax
cmpq %rax, %rdi
je 0x68d0b
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x68d1d
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x68d2f
callq 0x31d0
movq -0xd8(%rbp), %rdi
leaq -0xc8(%rbp), %rax
jmp 0x68cae