// File: /workspace/github_cpp_makefile_star2_O3/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, -0x27c(%rbp)
movl %ecx, -0x160(%rbp)
movl %edx, -0x120(%rbp)
movq %rsi, -0x2e0(%rbp)
movq %r8, -0xf8(%rbp)
movslq (%r8), %r15
movl $0x50, %ebx
movq %r15, %rax
mulq %rbx
movq %rdi, -0xb0(%rbp)
seto %cl
orq $0x8, %rax
movq $-0x1, %r12
testb %cl, %cl
cmovneq %r12, %rax
movq %rax, %rdi
callq 0x3030
leaq 0x8(%rax), %rsi
xorl %r13d, %r13d
movq %r15, (%rax)
movl $0x0, %ecx
testq %r15, %r15
movq %rsi, -0x158(%rbp)
je 0x65ecf
movq %rax, -0x128(%rbp)
shlq $0x4, %r15
leaq (%r15,%r15,4), %r14
negq %r14
xorl %ebx, %ebx
movq %rsi, %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 0x2ad8c
addq $-0x50, %rbx
addq $0x50, %r15
cmpq %rbx, %r14
jne 0x65e88
movq -0xf8(%rbp), %rax
movl (%rax), %ecx
movq -0x158(%rbp), %rsi
movl $0x50, %ebx
movslq %ecx, %r15
movq %r15, %rax
mulq %rbx
seto %cl
orq $0x8, %rax
movq %rsi, -0x248(%rbp)
testb %cl, %cl
cmoveq %rax, %r12
movq %r12, %rdi
callq 0x3030
movq %r15, (%rax)
movq %rax, -0x150(%rbp)
addq $0x8, %rax
movq %rax, -0x270(%rbp)
testl %r15d, %r15d
je 0x65f5e
shlq $0x4, %r15
leaq (%r15,%r15,4), %r14
negq %r14
xorl %ebx, %ebx
movq -0x270(%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 0x2ad8c
addq $-0x50, %rbx
addq $0x50, %r15
cmpq %rbx, %r14
jne 0x65f22
movq -0xf8(%rbp), %rax
movl (%rax), %r13d
movl -0x120(%rbp), %eax
testl %eax, %eax
jle 0x66015
movslq -0x160(%rbp), %rcx
movq %rcx, -0x128(%rbp)
movl %eax, %eax
movq %rax, -0x120(%rbp)
xorl %r12d, %r12d
cmpl $0x0, -0x160(%rbp)
setg %al
testl %r13d, %r13d
setg %cl
andb %al, %cl
cmpb $0x1, %cl
jne 0x66005
movl $0x1, %r14d
movq -0x158(%rbp), %r15
xorl %ebx, %ebx
movq -0xb0(%rbp), %r13
movq (%r13,%r12,8), %rdi
addq %rbx, %rdi
leaq 0x1363f(%rip), %rsi     # 0x79601
callq 0x3090
testl %eax, %eax
je 0x65fdb
movq (%r13,%r12,8), %rsi
addq %rbx, %rsi
movq %r15, %rdi
callq 0x3b624
movq -0xf8(%rbp), %rax
movl (%rax), %r13d
cmpq -0x128(%rbp), %r14
jge 0x66005
addq $0x20, %rbx
addq $0x50, %r15
leaq 0x1(%r14), %rax
movslq %r13d, %rcx
cmpq %rcx, %r14
movq %rax, %r14
jl 0x65fac
incq %r12
cmpq -0x120(%rbp), %r12
jne 0x65f86
leaq -0x310(%rbp), %rbx
movq $0x0, (%rbx)
movq -0x158(%rbp), %rdi
movl %r13d, %esi
callq 0x6aa1e
leaq -0x280(%rbp), %r14
movl %eax, %edi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x65c04
cmpl $0x0, (%r14)
jle 0x68115
movq $0x0, -0x278(%rbp)
leaq -0xf0(%rbp), %r15
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
xorl %r14d, %r14d
leaq -0xe0(%rbp), %rax
movq %rax, -0xf0(%rbp)
movq %r15, %rdi
leaq 0x1357e(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
movq 0x20(%rbp), %rdi
movq %r15, %rsi
callq 0x2a942
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x660af
callq 0x31d0
movq -0x278(%rbp), %rax
leaq 0x1(%rax), %rdx
movl $0x1, %ebx
cmpq $0x9, %rax
jb 0x66101
movl $0x4, %ebx
movl %edx, %eax
cmpl $0x63, %eax
jbe 0x660fa
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x660ff
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x66101
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x660cc
addl $-0x3, %ebx
jmp 0x66101
addl $-0x2, %ebx
jmp 0x66101
decl %ebx
movl %ebx, %esi
leaq -0x138(%rbp), %rax
movq %rax, -0x148(%rbp)
leaq -0x148(%rbp), %rdi
movq %rdx, %r12
movl $0x2d, %edx
callq 0x3250
movq -0x148(%rbp), %rdi
movl %ebx, %esi
movq %r12, -0x2e8(%rbp)
movl %r12d, %edx
callq 0x2a6a5
movl $0x19, %r8d
leaq -0x148(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x134ad(%rip), %rcx     # 0x79602
callq 0x3230
leaq -0xe0(%rbp), %rsi
movq %rsi, -0xf0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6618a
movq %rdx, -0xf0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xe0(%rbp)
jmp 0x66190
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xe8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x20(%rbp), %rdi
movq %r15, %rsi
callq 0x2a942
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x661ce
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x661e6
callq 0x31d0
movq -0xf8(%rbp), %rax
movl (%rax), %edx
testl %edx, %edx
jle 0x680e4
xorl %eax, %eax
xorl %ebx, %ebx
movq %rax, %rdx
shlq $0x4, %rax
leaq (%rax,%rax,4), %rax
movq -0x248(%rbp), %r12
addq %rax, %r12
movl %ebx, %ecx
movq %rcx, -0x158(%rbp)
movq -0x270(%rbp), %rcx
leaq (%rcx,%rax), %rsi
movq %rsi, -0x2d8(%rbp)
incq %rdx
movq %rdx, -0x120(%rbp)
addq %rcx, %rax
addq $0x50, %rax
movq %rax, -0x2c8(%rbp)
xorl %ebx, %ebx
movq %r12, -0x2d0(%rbp)
movq 0x48(%r12), %rax
movq %rax, %rdx
subq 0x28(%r12), %rdx
shrq $0x3, %rdx
cmpq $0x1, %rax
adcq $-0x1, %rdx
shlq $0x4, %rdx
movq 0x30(%r12), %rsi
subq 0x38(%r12), %rsi
sarq $0x5, %rsi
movq 0x10(%r12), %rax
movq 0x20(%r12), %rcx
subq %rax, %rcx
sarq $0x5, %rcx
addq %rsi, %rcx
addq %rdx, %rcx
cmpq $0x2, %rcx
jb 0x680ca
movq -0x158(%rbp), %rdx
addq %rbx, %rdx
addq %rdx, %rcx
movq -0x310(%rbp), %rdx
movq -0x278(%rbp), %rsi
movslq (%rdx,%rsi,4), %rdx
subq %rdx, %rcx
jbe 0x680ca
cmpq $0x2, %rcx
movl %r14d, -0x128(%rbp)
movq %rbx, -0x160(%rbp)
leaq -0xe0(%rbp), %rcx
jb 0x663c4
movq %rcx, -0xf0(%rbp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x2a8a4
movq %r12, %rdi
callq 0x2acee
movq 0x10(%r12), %rax
leaq -0x138(%rbp), %rcx
movq %rcx, -0x148(%rbp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq -0x148(%rbp), %rdi
callq 0x2a8a4
movq %r12, %rdi
callq 0x2acee
movq 0x10(%r12), %rax
leaq -0x230(%rbp), %rcx
movq %rcx, -0x240(%rbp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq -0x240(%rbp), %rdi
callq 0x2a8a4
movq %r12, %rdi
callq 0x2acee
movl %r14d, %r12d
negl %r12d
cmovsl %r14d, %r12d
movl $0x1, %r15d
cmpl $0xa, %r12d
jb 0x665c7
movl $0x4, %r15d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x66468
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x665c4
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x665c7
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x66385
addl $-0x3, %r15d
jmp 0x665c7
movq %rcx, -0xf0(%rbp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
movq %r15, %rdi
callq 0x2a8a4
movq %r12, %rdi
callq 0x2acee
movq 0x10(%r12), %rax
leaq -0x138(%rbp), %rcx
movq %rcx, -0x148(%rbp)
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq -0x148(%rbp), %rdi
callq 0x2a8a4
movq %r12, %rdi
callq 0x2acee
movl %r14d, %ebx
negl %ebx
cmovsl %r14d, %ebx
movl $0x1, %r15d
cmpl $0xa, %ebx
jb 0x66474
movl $0x4, %r15d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x66462
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x66471
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x66474
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x66432
addl $-0x3, %r15d
jmp 0x66474
addl $-0x2, %r15d
jmp 0x66474
addl $-0x2, %r15d
jmp 0x665c7
decl %r15d
movl %r14d, %r12d
shrl $0x1f, %r12d
leal (%r15,%r12), %esi
leaq -0xc0(%rbp), %rax
movq %rax, -0xd0(%rbp)
leaq -0xd0(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x3250
movl %r12d, %r14d
movq -0xd0(%rbp), %rdi
addq %r14, %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0x2a6a5
movl $0x7, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x13150(%rip), %rcx     # 0x7961c
callq 0x3230
leaq -0x58(%rbp), %rsi
movq %rsi, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x664f5
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x664fb
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 0x13107(%rip), %rsi     # 0x79624
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 0x6654c
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x66552
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, %r15d
cmpl $0xa, %ebx
jb 0x66742
movl $0x4, %r15d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x665bb
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x6673f
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x66742
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x66580
addl $-0x3, %r15d
jmp 0x66742
addl $-0x2, %r15d
jmp 0x66742
decl %r15d
leaq 0x1304e(%rip), %r13     # 0x7961c
movl %r14d, %ebx
shrl $0x1f, %ebx
leal (%r15,%rbx), %esi
leaq -0x98(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq -0xa8(%rbp), %r14
movq %r14, %rdi
movl $0x2d, %edx
callq 0x3250
movl %ebx, %eax
movq -0xa8(%rbp), %rdi
movq %rax, -0xb0(%rbp)
addq %rax, %rdi
movl %r15d, %esi
movl %r12d, %edx
callq 0x2a6a5
movl $0x7, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
movq %r13, %rcx
callq 0x3230
leaq -0xc0(%rbp), %rsi
movq %rsi, -0xd0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6665d
movq %rdx, -0xd0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc0(%rbp)
jmp 0x66663
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0xd0(%rbp), %rdi
leaq -0x68(%rbp), %r14
movq 0x8(%rax), %rdx
movq %rdx, -0xc8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x12f95(%rip), %rsi     # 0x79624
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 0x666be
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x666c4
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0x108(%rbp), %rdi
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r15d
cmpl $0xa, %r12d
jb 0x66959
movl $0x4, %r15d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x66736
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x66956
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x66959
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x666fb
addl $-0x3, %r15d
jmp 0x66959
addl $-0x2, %r15d
jmp 0x66959
decl %r15d
leal (%r15,%r12), %esi
leaq -0x98(%rbp), %rax
movq %rax, -0xa8(%rbp)
leaq -0xa8(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movq -0xa8(%rbp), %rdi
addq %r14, %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0x2a6a5
movq -0x48(%rbp), %rcx
movl $0xf, %edi
leaq -0x38(%rbp), %rax
cmpq %rax, %rcx
je 0x6678f
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %r8
movq -0xa8(%rbp), %rsi
movq -0xa0(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq -0x78(%rbp), %r15
jbe 0x667cb
movl $0xf, %edi
leaq -0x98(%rbp), %r9
cmpq %r9, %rsi
je 0x667c6
movq -0x98(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x667d6
leaq -0x48(%rbp), %rdi
callq 0x30a0
jmp 0x667e6
leaq -0xa8(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
movq %r15, -0x88(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x66809
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x66810
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0x88(%rbp), %rdi
leaq 0x12e04(%rip), %rsi     # 0x7963e
callq 0x33d0
leaq -0x230(%rbp), %rsi
movq %rsi, -0x240(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6686f
movq %rdx, -0x240(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x230(%rbp)
jmp 0x66875
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x238(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0x668a0
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x668b8
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x668ca
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x668dc
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x668f4
callq 0x31d0
movl $0x1, %r15d
cmpl $0xa, %ebx
leaq -0x258(%rbp), %rdx
jb 0x66b5d
movl $0x4, %r15d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x6694d
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x66b5a
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x66b5d
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x66912
addl $-0x3, %r15d
jmp 0x66b5d
addl $-0x2, %r15d
jmp 0x66b5d
decl %r15d
leal (%r15,%rbx), %esi
movq %rdi, -0x118(%rbp)
leaq -0x118(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x118(%rbp), %rdi
addq -0xb0(%rbp), %rdi
movl %r15d, %esi
movl %r12d, %edx
callq 0x2a6a5
movq -0x68(%rbp), %rcx
movl $0xf, %edi
leaq -0x58(%rbp), %rax
cmpq %rax, %rcx
je 0x669a4
movq -0x58(%rbp), %rdi
movq -0x60(%rbp), %r8
movq -0x118(%rbp), %rsi
movq -0x110(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq -0x78(%rbp), %r15
jbe 0x669e0
movl $0xf, %edi
leaq -0x108(%rbp), %r9
cmpq %r9, %rsi
je 0x669db
movq -0x108(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x669ea
movq %r14, %rdi
callq 0x30a0
jmp 0x669fa
leaq -0x118(%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 0x66a1b
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x66a21
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 0x12be0(%rip), %rsi     # 0x79628
callq 0x33d0
movq %r15, -0x88(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66a73
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x66a7a
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x66aa3
callq 0x31d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x66abb
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x66acd
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x66ae5
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x66afd
callq 0x31d0
movl $0x1, %r15d
cmpl $0xa, %r12d
jb 0x66e61
movl $0x4, %r15d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x66b51
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x66e5e
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x66e61
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x66b16
addl $-0x3, %r15d
jmp 0x66e61
addl $-0x2, %r15d
jmp 0x66e61
decl %r15d
leal (%r15,%r12), %esi
movq %rdx, -0x268(%rbp)
leaq -0x268(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x268(%rbp), %rdi
addq %r14, %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0x2a6a5
movl $0x9, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x12a9d(%rip), %rcx     # 0x79641
callq 0x3230
leaq -0x1b0(%rbp), %rsi
movq %rsi, -0x1c0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66bd9
movq %rdx, -0x1c0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1b0(%rbp)
jmp 0x66bdf
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
movq 0x8(%rax), %rdx
movq %rdx, -0x1b8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x1c0(%rbp), %rdi
leaq 0x1249f(%rip), %rsi     # 0x790ac
callq 0x33d0
leaq -0x1d0(%rbp), %rsi
movq %rsi, -0x1e0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66c42
movq %rdx, -0x1e0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1d0(%rbp)
jmp 0x66c48
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x1d8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xf0(%rbp), %rsi
movq -0xe8(%rbp), %rdx
leaq -0x1e0(%rbp), %rdi
callq 0x30a0
leaq -0x1f0(%rbp), %rsi
movq %rsi, -0x200(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66cac
movq %rdx, -0x200(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1f0(%rbp)
jmp 0x66cb2
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x1f8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x200(%rbp), %rdi
leaq 0x1191c(%rip), %rsi     # 0x785f6
callq 0x33d0
leaq -0x210(%rbp), %rsi
movq %rsi, -0x220(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66d0f
movq %rdx, -0x220(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x210(%rbp)
jmp 0x66d15
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x218(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x148(%rbp), %rsi
movq -0x140(%rbp), %rdx
leaq -0x220(%rbp), %rdi
callq 0x30a0
leaq -0x108(%rbp), %rsi
movq %rsi, -0x118(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66d79
movq %rdx, -0x118(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x108(%rbp)
jmp 0x66d7f
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x110(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x118(%rbp), %rdi
leaq 0x1288f(%rip), %rsi     # 0x79636
callq 0x33d0
leaq -0x98(%rbp), %rsi
movq %rsi, -0xa8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66ddc
movq %rdx, -0xa8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x98(%rbp)
jmp 0x66de2
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0x190(%rbp), %rdi
movq 0x8(%rax), %rdx
movq %rdx, -0xa0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r15d
cmpl $0xa, %ebx
jb 0x6723d
movl $0x4, %r15d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x66e55
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x6723a
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x6723d
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x66e1a
addl $-0x3, %r15d
jmp 0x6723d
addl $-0x2, %r15d
jmp 0x6723d
decl %r15d
leal (%r15,%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 -0xb0(%rbp), %rdi
movl %r15d, %esi
movl %r12d, %edx
callq 0x2a6a5
movl $0x9, %r8d
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x12778(%rip), %rcx     # 0x7962c
callq 0x3230
leaq -0x170(%rbp), %rsi
movq %rsi, -0x180(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66ee9
movq %rdx, -0x180(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x170(%rbp)
jmp 0x66eef
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0x78(%rbp), %r15
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
movq 0x8(%rax), %rdx
movq %rdx, -0x178(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x180(%rbp), %rdi
leaq 0x1218b(%rip), %rsi     # 0x790ac
callq 0x33d0
leaq -0x190(%rbp), %rsi
movq %rsi, -0x1a0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66f56
movq %rdx, -0x1a0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x190(%rbp)
jmp 0x66f5c
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x198(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xf0(%rbp), %rsi
movq -0xe8(%rbp), %rdx
leaq -0x1a0(%rbp), %rdi
callq 0x30a0
leaq -0x258(%rbp), %rsi
movq %rsi, -0x268(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x66fc0
movq %rdx, -0x268(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x258(%rbp)
jmp 0x66fc6
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x260(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x268(%rbp), %rdi
leaq 0x11608(%rip), %rsi     # 0x785f6
callq 0x33d0
leaq -0x1b0(%rbp), %rsi
movq %rsi, -0x1c0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67023
movq %rdx, -0x1c0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1b0(%rbp)
jmp 0x67029
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x1b8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x148(%rbp), %rsi
movq -0x140(%rbp), %rdx
leaq -0x1c0(%rbp), %rdi
callq 0x30a0
leaq -0x1d0(%rbp), %rsi
movq %rsi, -0x1e0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6708d
movq %rdx, -0x1e0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1d0(%rbp)
jmp 0x67093
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x1d8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x1e0(%rbp), %rdi
leaq 0x1153b(%rip), %rsi     # 0x785f6
callq 0x33d0
leaq -0x1f0(%rbp), %rsi
movq %rsi, -0x200(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x670f0
movq %rdx, -0x200(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x1f0(%rbp)
jmp 0x670f6
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x1f8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x240(%rbp), %rsi
movq -0x238(%rbp), %rdx
leaq -0x200(%rbp), %rdi
callq 0x30a0
leaq -0x210(%rbp), %rsi
movq %rsi, -0x220(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6715a
movq %rdx, -0x220(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x210(%rbp)
jmp 0x67160
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x218(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x220(%rbp), %rdi
leaq 0x124ae(%rip), %rsi     # 0x79636
callq 0x33d0
leaq -0x108(%rbp), %rsi
movq %rsi, -0x118(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x671bd
movq %rdx, -0x118(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x108(%rbp)
jmp 0x671c3
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x110(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r15d
cmpl $0xa, %r12d
jb 0x673f1
movl $0x4, %r15d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x67231
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x673ee
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x673f1
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x671f6
addl $-0x3, %r15d
jmp 0x673f1
addl $-0x2, %r15d
jmp 0x673f1
decl %r15d
leal (%r15,%r12), %esi
movq %rdi, -0x1a0(%rbp)
leaq -0x1a0(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x1a0(%rbp), %rdi
addq %r14, %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0x2a6a5
movq -0xa8(%rbp), %rcx
movl $0xf, %edi
leaq -0x98(%rbp), %rax
cmpq %rax, %rcx
je 0x6728c
movq -0x98(%rbp), %rdi
movq -0xa0(%rbp), %r8
movq -0x1a0(%rbp), %rsi
movq -0x198(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq -0xa8(%rbp), %rdi
jbe 0x672cf
movl $0xf, %r10d
leaq -0x190(%rbp), %r9
cmpq %r9, %rsi
je 0x672ca
movq -0x190(%rbp), %r10
cmpq %r10, %rax
jbe 0x672d6
callq 0x30a0
jmp 0x672e6
leaq -0x1a0(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0xc0(%rbp), %rsi
movq %rsi, -0xd0(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x67313
movq %rdx, -0xd0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc0(%rbp)
jmp 0x67319
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xc8(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0xd0(%rbp), %rdi
leaq 0x122f4(%rip), %rsi     # 0x7963a
callq 0x33d0
leaq -0x58(%rbp), %rsi
movq %rsi, -0x68(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6736f
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x67375
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0x170(%rbp), %rdi
movq 0x8(%rax), %rdx
movq %rdx, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %r15d
cmpl $0xa, %ebx
jb 0x675be
movl $0x4, %r15d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x673e5
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x675bb
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x675be
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x673aa
addl $-0x3, %r15d
jmp 0x675be
addl $-0x2, %r15d
jmp 0x675be
decl %r15d
leal (%r15,%rbx), %esi
leaq -0x2b0(%rbp), %rax
movq %rax, -0x2c0(%rbp)
leaq -0x2c0(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x2c0(%rbp), %rdi
addq -0xb0(%rbp), %rdi
movl %r15d, %esi
movl %r12d, %edx
callq 0x2a6a5
movq -0x118(%rbp), %rcx
movl $0xf, %edi
leaq -0x108(%rbp), %rax
cmpq %rax, %rcx
je 0x6744c
movq -0x108(%rbp), %rdi
movq -0x110(%rbp), %r8
movq -0x2c0(%rbp), %rsi
movq -0x2b8(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq -0x78(%rbp), %r15
jbe 0x6748b
movl $0xf, %edi
leaq -0x2b0(%rbp), %r9
cmpq %r9, %rsi
je 0x67486
movq -0x2b0(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x67499
leaq -0x118(%rbp), %rdi
callq 0x30a0
jmp 0x674a9
leaq -0x2c0(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0x98(%rbp), %rsi
movq %rsi, -0xa8(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x674d6
movq %rdx, -0xa8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x98(%rbp)
jmp 0x674dc
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xa0(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0xa8(%rbp), %rdi
leaq 0x12131(%rip), %rsi     # 0x7963a
callq 0x33d0
leaq -0xc0(%rbp), %rsi
movq %rsi, -0xd0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6753e
movq %rdx, -0xd0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc0(%rbp)
jmp 0x67544
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)
movl $0x1, %r15d
cmpl $0xa, %r12d
jb 0x678a3
movl $0x4, %r15d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x675b2
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x678a0
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x678a3
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x67577
addl $-0x3, %r15d
jmp 0x678a3
addl $-0x2, %r15d
jmp 0x678a3
decl %r15d
leal (%r15,%r12), %esi
movq %rdi, -0x180(%rbp)
leaq -0x180(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x180(%rbp), %rdi
addq %r14, %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0x2a6a5
movq -0x68(%rbp), %rcx
movl $0xf, %edi
leaq -0x58(%rbp), %rax
cmpq %rax, %rcx
je 0x67604
movq -0x58(%rbp), %rdi
movq -0x60(%rbp), %r8
movq -0x180(%rbp), %rsi
movq -0x178(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq -0x78(%rbp), %r15
jbe 0x67640
movl $0xf, %edi
leaq -0x170(%rbp), %r9
cmpq %r9, %rsi
je 0x6763b
movq -0x170(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x6764b
leaq -0x68(%rbp), %rdi
callq 0x30a0
jmp 0x6765b
leaq -0x180(%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 0x6767c
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x67682
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 0x12067(%rip), %rsi     # 0x79710
callq 0x33d0
movq %r15, -0x88(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x676d4
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x676db
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x88(%rbp), %rsi
movq -0x80(%rbp), %rdx
leaq -0x240(%rbp), %rdi
callq 0x30a0
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0x6771a
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x6772c
callq 0x31d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x67744
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x67756
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x6776e
callq 0x31d0
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x67786
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x6779e
callq 0x31d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x677b6
callq 0x31d0
movq -0x220(%rbp), %rdi
leaq -0x210(%rbp), %rax
cmpq %rax, %rdi
je 0x677ce
callq 0x31d0
movq -0x200(%rbp), %rdi
leaq -0x1f0(%rbp), %rax
cmpq %rax, %rdi
je 0x677e6
callq 0x31d0
movq -0x1e0(%rbp), %rdi
leaq -0x1d0(%rbp), %rax
cmpq %rax, %rdi
je 0x677fe
callq 0x31d0
movq -0x1c0(%rbp), %rdi
leaq -0x1b0(%rbp), %rax
cmpq %rax, %rdi
je 0x67816
callq 0x31d0
movq -0x268(%rbp), %rdi
leaq -0x258(%rbp), %rax
cmpq %rax, %rdi
je 0x6782e
callq 0x31d0
movq 0x20(%rbp), %rdi
leaq -0x240(%rbp), %rsi
callq 0x3b624
movq %r12, -0xb0(%rbp)
movl $0x1, %r15d
cmpl $0xa, %ebx
jb 0x67bce
movl $0x4, %r15d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x67897
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x67bcb
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x67bce
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x6785c
addl $-0x3, %r15d
jmp 0x67bce
addl $-0x2, %r15d
jmp 0x67bce
decl %r15d
leal (%r15,%rbx), %esi
leaq -0x290(%rbp), %rax
movq %rax, -0x2a0(%rbp)
leaq -0x2a0(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x2a0(%rbp), %rdi
addq -0xb0(%rbp), %rdi
movl %r15d, %esi
movl %r12d, %edx
callq 0x2a6a5
movq -0xd0(%rbp), %rcx
movl $0xf, %edi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rcx
je 0x678fe
movq -0xc0(%rbp), %rdi
movq -0xc8(%rbp), %r8
movq -0x2a0(%rbp), %rsi
movq -0x298(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq -0x78(%rbp), %r15
jbe 0x6793d
movl $0xf, %edi
leaq -0x290(%rbp), %r9
cmpq %r9, %rsi
je 0x67938
movq -0x290(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x6794b
leaq -0xd0(%rbp), %rdi
callq 0x30a0
jmp 0x6795b
leaq -0x2a0(%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 0x6797c
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x67982
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 %r14, %rdi
leaq 0x11d68(%rip), %rsi     # 0x79710
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x679d1
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x679d7
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 -0x88(%rbp), %rdi
callq 0x30a0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x67a14
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x67a26
callq 0x31d0
movq -0x2a0(%rbp), %rdi
leaq -0x290(%rbp), %rax
cmpq %rax, %rdi
je 0x67a3e
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x67a56
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x67a6e
callq 0x31d0
movq -0x2c0(%rbp), %rdi
leaq -0x2b0(%rbp), %rax
cmpq %rax, %rdi
je 0x67a86
callq 0x31d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x67a9e
callq 0x31d0
movq -0x220(%rbp), %rdi
leaq -0x210(%rbp), %rax
cmpq %rax, %rdi
je 0x67ab6
callq 0x31d0
movq -0x200(%rbp), %rdi
leaq -0x1f0(%rbp), %rax
cmpq %rax, %rdi
je 0x67ace
callq 0x31d0
movq -0x1e0(%rbp), %rdi
leaq -0x1d0(%rbp), %rax
cmpq %rax, %rdi
je 0x67ae6
callq 0x31d0
movq -0x1c0(%rbp), %rdi
leaq -0x1b0(%rbp), %rax
cmpq %rax, %rdi
je 0x67afe
callq 0x31d0
movq -0x268(%rbp), %rdi
leaq -0x258(%rbp), %rax
cmpq %rax, %rdi
je 0x67b16
callq 0x31d0
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x67b2e
callq 0x31d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x67b46
callq 0x31d0
movq -0x308(%rbp), %rdi
leaq -0x2f8(%rbp), %rax
cmpq %rax, %rdi
je 0x67b5e
callq 0x31d0
movq 0x20(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x3b624
movl $0x1, %r15d
cmpl $0xa, %r12d
jb 0x67d0d
movl $0x4, %r15d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x67bc2
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x67d0a
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x67d0d
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x67b87
addl $-0x3, %r15d
jmp 0x67d0d
addl $-0x2, %r15d
jmp 0x67d0d
decl %r15d
movq %r14, %r12
movq -0xb0(%rbp), %rax
leal (%r15,%rax), %esi
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %r14
movq %r14, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x48(%rbp), %rdi
addq %r12, %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0x2a6a5
movl $0x1, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x11a1e(%rip), %rcx     # 0x79638
callq 0x3230
leaq -0x78(%rbp), %r15
movq %r15, -0x88(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67c49
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x67c50
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x2d8(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x2a942
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0x67c8b
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x67c9d
callq 0x31d0
movq -0xf8(%rbp), %rax
movslq (%rax), %rax
cmpq %rax, -0x120(%rbp)
jge 0x67f15
movl $0x1, %r15d
cmpl $0xa, %ebx
jb 0x67e4b
movl $0x4, %r15d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x67e39
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x67e48
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x67e4b
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x67ccb
addl $-0x3, %r15d
jmp 0x67e4b
decl %r15d
leal (%r15,%rbx), %esi
leaq -0x58(%rbp), %rax
movq %rax, -0x68(%rbp)
movq %r14, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0x68(%rbp), %rdi
addq -0xb0(%rbp), %rdi
movl %r15d, %esi
movl %r12d, %edx
callq 0x2a6a5
movl $0x1, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x118e8(%rip), %rcx     # 0x79638
callq 0x3230
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67d79
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x67d7f
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0x78(%rbp), %r15
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x2d8(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2a942
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x67dbc
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x67dce
callq 0x31d0
movq -0xf8(%rbp), %rax
movslq (%rax), %rax
cmpq %rax, -0x120(%rbp)
jge 0x6804a
movl $0x1, %r15d
cmpl $0xa, %r12d
jb 0x67f87
movl $0x4, %r15d
movl %r12d, %eax
cmpl $0x63, %eax
jbe 0x67e3f
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x67f84
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x67f87
movl %eax, %ecx
imulq %r13, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x67dfe
addl $-0x3, %r15d
jmp 0x67f87
addl $-0x2, %r15d
jmp 0x67e4b
addl $-0x2, %r15d
jmp 0x67f87
decl %r15d
movq -0xb0(%rbp), %rsi
addl %r15d, %esi
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
leaq -0x48(%rbp), %r14
movq %r14, %rdi
movl $0x2d, %edx
callq 0x3250
addq -0x48(%rbp), %r12
movq %r12, %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0x2a6a5
movl $0x1, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x117a9(%rip), %rcx     # 0x7963c
callq 0x3230
leaq -0x78(%rbp), %rbx
movq %rbx, -0x88(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67ec2
movq %rdx, -0x88(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x78(%rbp)
jmp 0x67ec8
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0x80(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x2c8(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x2a942
movq -0x88(%rbp), %rdi
cmpq %rbx, %rdi
je 0x67f03
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x67f15
callq 0x31d0
movq -0x240(%rbp), %rdi
leaq -0x230(%rbp), %rax
cmpq %rax, %rdi
je 0x67f2d
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
leaq -0xf0(%rbp), %r15
movl -0x128(%rbp), %r14d
movq -0x160(%rbp), %rbx
movq -0x2d0(%rbp), %r12
je 0x67f61
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x67f79
callq 0x31d0
movl $0xd1b71759, %r13d      # imm = 0xD1B71759
jmp 0x680bf
decl %r15d
addl %r15d, %ebx
leaq -0x58(%rbp), %rax
movq %rax, -0x68(%rbp)
movq %r14, %rdi
movq %rbx, %rsi
movl $0x2d, %edx
callq 0x3250
movq -0xb0(%rbp), %rdi
addq -0x68(%rbp), %rdi
movl %r15d, %esi
movl %r12d, %edx
callq 0x2a6a5
movl $0x1, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0x11670(%rip), %rcx     # 0x7963c
callq 0x3230
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x67ff5
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x67ffb
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
leaq -0x78(%rbp), %r15
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 0x2a942
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x68038
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x6804a
callq 0x31d0
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0x6805b
callq 0x31d0
movq -0x240(%rbp), %rdi
leaq -0x230(%rbp), %rax
cmpq %rax, %rdi
leaq -0xf0(%rbp), %r15
movl -0x128(%rbp), %r14d
movq -0x160(%rbp), %rbx
movq -0x2d0(%rbp), %r12
je 0x6808f
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x680a7
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x680bf
callq 0x31d0
incl %r14d
incq %rbx
jmp 0x6624c
movq -0xf8(%rbp), %rax
movslq (%rax), %rdx
movq -0x120(%rbp), %rax
cmpq %rdx, %rax
jl 0x661fb
movq -0x248(%rbp), %rsi
movq -0x270(%rbp), %rdi
callq 0x6a80c
movslq -0x280(%rbp), %rax
movq -0x2e8(%rbp), %rdx
movq %rdx, -0x278(%rbp)
cmpq %rax, %rdx
jl 0x6606b
leaq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
movq %rax, (%rdi)
leaq 0x114d4(%rip), %rdx     # 0x79601
movq %rdx, %rsi
callq 0x2ac04
leaq -0xf0(%rbp), %rsi
movq 0x20(%rbp), %rdi
callq 0x2a942
movb 0x10(%rbp), %r14b
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x68161
callq 0x31d0
movq 0x28(%rbp), %rbx
testb %r14b, %r14b
je 0x681cd
leaq -0x320(%rbp), %r15
movq %r15, -0x10(%r15)
movq -0x2e0(%rbp), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq -0x330(%rbp), %r14
movq %r14, %rdi
callq 0x2a8a4
movq -0xf8(%rbp), %rax
movl (%rax), %edx
leaq -0x248(%rbp), %rdi
movq %r14, %rsi
movl -0x27c(%rbp), %ecx
movq 0x20(%rbp), %r8
movq %rbx, %r9
callq 0x6c563
movq -0x330(%rbp), %rdi
cmpq %r15, %rdi
je 0x681f1
callq 0x31d0
jmp 0x681f1
movq 0x30(%rbp), %r9
movq -0xf8(%rbp), %rax
movl (%rax), %esi
movzbl 0x18(%rbp), %ecx
leaq -0x248(%rbp), %rdi
movq 0x20(%rbp), %rdx
movq %rbx, %r8
callq 0x6aa8c
movq -0x150(%rbp), %rax
movq (%rax), %rax
testq %rax, %rax
je 0x68222
shlq $0x4, %rax
leaq (%rax,%rax,4), %rbx
movq -0x150(%rbp), %r14
addq $-0x48, %r14
leaq (%r14,%rbx), %rdi
callq 0x2a726
addq $-0x50, %rbx
jne 0x68213
movq -0x150(%rbp), %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 0x6881c
jmp 0x68821
jmp 0x684e4
jmp 0x68292
movq %rax, %r14
jmp 0x6827f
movq %rax, %r14
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x6827f
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
jmp 0x68817
movq %rax, %r14
jmp 0x68821
jmp 0x684e4
movq %rax, %r14
testq %rbx, %rbx
je 0x682c4
negq %rbx
movq -0x150(%rbp), %r15
addq $-0x48, %r15
leaq (%r15,%rbx), %rdi
callq 0x2a726
addq $-0x50, %rbx
jne 0x682b5
movq -0x150(%rbp), %rdi
jmp 0x682f9
movq %rax, %r14
testq %rbx, %rbx
je 0x682f2
negq %rbx
movq -0x128(%rbp), %r15
addq $-0x48, %r15
leaq (%r15,%rbx), %rdi
callq 0x2a726
addq $-0x50, %rbx
jne 0x682e3
movq -0x128(%rbp), %rdi
callq 0x3280
jmp 0x68821
movq %rax, %r14
movq -0x88(%rbp), %rdi
cmpq %rbx, %rdi
jne 0x683fe
jmp 0x68403
jmp 0x6868a
jmp 0x683ce
jmp 0x68418
jmp 0x683a5
jmp 0x683b1
movq %rax, %r14
jmp 0x68844
movq %rax, %r14
jmp 0x687a9
movq %rax, %r14
jmp 0x68856
jmp 0x684e4
jmp 0x6868a
jmp 0x68355
movq %rax, %r14
jmp 0x687f1
movq %rax, %r14
jmp 0x686ea
jmp 0x683a5
movq %rax, %r14
jmp 0x686fc
movq %rax, %r14
jmp 0x68744
movq %rax, %r14
jmp 0x68599
movq %rax, %r14
jmp 0x68791
movq %rax, %r14
leaq -0x78(%rbp), %r15
jmp 0x6846b
movq %rax, %r14
jmp 0x685b1
jmp 0x683a5
movq %rax, %r14
jmp 0x68483
movq %rax, %r14
leaq -0x78(%rbp), %r15
jmp 0x685f9
movq %rax, %r14
jmp 0x68403
movq %rax, %r14
jmp 0x68569
movq %rax, %r14
jmp 0x68581
movq %rax, %r14
jmp 0x6872c
movq %rax, %r14
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x6841f
callq 0x31d0
jmp 0x6841f
movq %rax, %r14
jmp 0x68441
movq %rax, %r14
jmp 0x68453
movq %rax, %r14
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0x68403
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
jmp 0x687cf
movq %rax, %r14
jmp 0x6864d
movq %rax, %r14
leaq -0x78(%rbp), %r15
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
jmp 0x685ef
movq %rax, %r14
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x68441
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x68453
callq 0x31d0
movq -0x2a0(%rbp), %rdi
leaq -0x290(%rbp), %rax
cmpq %rax, %rdi
je 0x6846b
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x68483
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x684ef
callq 0x31d0
jmp 0x684ef
movq %rax, %r14
leaq -0x78(%rbp), %r15
jmp 0x68507
movq %rax, %r14
leaq -0x78(%rbp), %r15
jmp 0x685e1
movq %rax, %r14
jmp 0x6851f
movq %rax, %r14
jmp 0x68623
movq %rax, %r14
jmp 0x68714
movq %rax, %r14
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0x6882c
callq 0x31d0
jmp 0x6882c
movq %rax, %r14
jmp 0x68809
movq %rax, %r14
movq -0x2c0(%rbp), %rdi
leaq -0x2b0(%rbp), %rax
cmpq %rax, %rdi
je 0x68507
callq 0x31d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x6851f
callq 0x31d0
movq -0x220(%rbp), %rdi
leaq -0x210(%rbp), %rax
cmpq %rax, %rdi
je 0x68551
callq 0x31d0
jmp 0x68551
movq %rax, %r14
jmp 0x6863b
jmp 0x6868a
movq %rax, %r14
jmp 0x68665
movq %rax, %r14
movq -0x200(%rbp), %rdi
leaq -0x1f0(%rbp), %rax
cmpq %rax, %rdi
je 0x68569
callq 0x31d0
movq -0x1e0(%rbp), %rdi
leaq -0x1d0(%rbp), %rax
cmpq %rax, %rdi
je 0x68581
callq 0x31d0
movq -0x1c0(%rbp), %rdi
leaq -0x1b0(%rbp), %rax
cmpq %rax, %rdi
je 0x68599
callq 0x31d0
movq -0x268(%rbp), %rdi
leaq -0x258(%rbp), %rax
cmpq %rax, %rdi
je 0x685b1
callq 0x31d0
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x685c9
callq 0x31d0
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x685e1
callq 0x31d0
movq -0x308(%rbp), %rdi
leaq -0x2f8(%rbp), %rax
cmpq %rax, %rdi
je 0x685f9
callq 0x31d0
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
jne 0x687d4
jmp 0x687d9
movq %rax, %r14
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x68623
callq 0x31d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x6863b
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x6864d
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x68665
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
jmp 0x687cf
jmp 0x6868a
movq %rax, %r14
jmp 0x68779
movq %rax, %r14
jmp 0x685c9
movq %rax, %r14
jmp 0x687d9
movq %rax, %r14
jmp 0x686ab
movq %rax, %r14
movq -0x88(%rbp), %rdi
cmpq %r15, %rdi
je 0x686ab
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x686d2
callq 0x31d0
jmp 0x686d2
movq %rax, %r14
jmp 0x687c1
movq %rax, %r14
jmp 0x68868
movq %rax, %r14
movq -0x180(%rbp), %rdi
leaq -0x170(%rbp), %rax
cmpq %rax, %rdi
je 0x686ea
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x686fc
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x68714
callq 0x31d0
movq -0x1a0(%rbp), %rdi
leaq -0x190(%rbp), %rax
cmpq %rax, %rdi
je 0x6872c
callq 0x31d0
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x68744
callq 0x31d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x68761
callq 0x31d0
jmp 0x68761
movq %rax, %r14
movq -0x220(%rbp), %rdi
leaq -0x210(%rbp), %rax
cmpq %rax, %rdi
je 0x68779
callq 0x31d0
movq -0x200(%rbp), %rdi
leaq -0x1f0(%rbp), %rax
cmpq %rax, %rdi
je 0x68791
callq 0x31d0
movq -0x1e0(%rbp), %rdi
leaq -0x1d0(%rbp), %rax
cmpq %rax, %rdi
je 0x687a9
callq 0x31d0
movq -0x1c0(%rbp), %rdi
leaq -0x1b0(%rbp), %rax
cmpq %rax, %rdi
je 0x687c1
callq 0x31d0
movq -0x268(%rbp), %rdi
leaq -0x258(%rbp), %rax
cmpq %rax, %rdi
je 0x687d9
callq 0x31d0
movq -0x240(%rbp), %rdi
leaq -0x230(%rbp), %rax
cmpq %rax, %rdi
je 0x687f1
callq 0x31d0
movq -0x148(%rbp), %rdi
leaq -0x138(%rbp), %rax
cmpq %rax, %rdi
je 0x68809
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x68821
callq 0x31d0
movq %r14, %rdi
callq 0x33a0
movq %rax, %r14
movq -0xa8(%rbp), %rdi
leaq -0x98(%rbp), %rax
cmpq %rax, %rdi
je 0x68844
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x68856
callq 0x31d0
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x68868
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
jmp 0x687e7
nop