// File: /workspace/github_cpp_makefile_star2_O3/temelmertcan[P]multgen/src/wallace.cpp
// Function: create_two_result_vectors(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, 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>>>>>&, bool, int&, bool**&)
void create_two_result_vectors (std::queue<string>*& main_queue,
                                int out_size,
                                std::queue<string>& verilog,
                                bool signed_mult,
                                int& result_vector_size,
                                bool**& zeros_in_output){

  int final_offset = 0;
  int final_size = 0;
  bool flag = false;

  string final_in1 = " }";
  string final_in2 = " }";

  std::queue<string> fin1;
  std::queue<string> fin2;

  zeros_in_output = new bool*[2];
  for (int i = 0; i < 2; i++){
    zeros_in_output[i] = new bool[out_size];
    for (int j = 0; j < out_size; j++)
      zeros_in_output[i][j] = false;
  }
  

  //cout << "hereee" << endl;

  for (int j = 0; j < out_size; j++){

    if (flag || main_queue[j].size()>1) {
      flag = true;

      bool b = false;
      for (int i = j; main_queue[i].empty() && i<out_size; i++ )
        if (i==out_size-1)
          b=true;
      if(b)
        break;

      fin1.push (main_queue[j].empty() ? "1'b0" : main_queue[j].front());

      if(main_queue[j].empty())
	zeros_in_output[0][j] = true;

      // final_in1 += (main_queue[j].empty() ? "1'b0" : main_queue[j].front());

      if (!main_queue[j].empty())
        main_queue[j].pop();

      fin2.push (main_queue[j].empty() ? "1'b0" : main_queue[j].front());
      
      if(main_queue[j].empty())
	zeros_in_output[1][j] = true;
      
      //final_in2 += (main_queue[j].empty() ? "1'b0" : main_queue[j].front());
      if (!main_queue[j].empty())
        main_queue[j].pop();
      final_size++;

    } else {
      final_offset++;
      string cur = "assign result0[" + to_string(j) + "] = "
        + main_queue[j].front() + ";";
      main_queue[j].pop();
      verilog.push(cur);
      cur = "assign result1[" + to_string(j) + "] = 1'b0;";
      zeros_in_output[1][j] = true;
      verilog.push(cur);
    }
  }

  while (!fin1.empty()) {
    final_in1 = fin1.front() + final_in1;
    if (fin1.size() > 1)
      final_in1 = ", " + final_in1;
    else
      final_in1 = "{" + final_in1;
    fin1.pop();
  }

  while (!fin2.empty()) {
    final_in2 = fin2.front() + final_in2;
    if (fin2.size() > 1)
      final_in2 = ", " + final_in2;
    else
      final_in2 = "{" + final_in2;
    fin2.pop();
  }

  verilog.push ("");

  if (final_size > 0){

    verilog.push ("assign result0[" + to_string(final_size+final_offset+-1) + ":"
                  + to_string(final_offset) + "] = " + final_in1 + ";");
    verilog.push ("assign result1[" + to_string(final_size+final_offset+-1) + ":"
                  + to_string(final_offset) + "] = " + final_in2 + ";");

  }

  result_vector_size = final_size+final_offset;

  for (int i = result_vector_size; i< out_size; i++)
    if (signed_mult && false){
      verilog.push("assign result0["+to_string(i)+"] = result0["+to_string(result_vector_size-1)+"];");
      verilog.push("assign result1["+to_string(i)+"] = result1["+to_string(result_vector_size-1)+"];");
    }else{
      zeros_in_output[0][i] = true;
      zeros_in_output[1][i] = true;
      verilog.push("assign result0["+to_string(i)+"] = 1'b0;");
      verilog.push("assign result1["+to_string(i)+"] = 1'b0;");
    }

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x238, %rsp            # imm = 0x238
movq %r9, -0xf8(%rbp)
movq %r8, -0x190(%rbp)
movq %rdx, -0xe0(%rbp)
movq %rsi, -0x140(%rbp)
movq %rdi, %r15
leaq -0x108(%rbp), %rax
movq %rax, -0x10(%rax)
leaq 0xebd3(%rip), %rbx      # 0x796a4
leaq 0xebce(%rip), %r14      # 0x796a6
leaq -0x118(%rbp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x2ac04
leaq -0x1b0(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0x1c0(%rbp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
callq 0x2ac04
xorps %xmm0, %xmm0
leaq -0x260(%rbp), %rdi
movaps %xmm0, 0x40(%rdi)
movaps %xmm0, 0x30(%rdi)
movaps %xmm0, 0x20(%rdi)
movaps %xmm0, 0x10(%rdi)
movaps %xmm0, (%rdi)
xorl %esi, %esi
callq 0x2ad8c
leaq -0x210(%rbp), %rdi
xorps %xmm0, %xmm0
movaps %xmm0, 0x40(%rdi)
movaps %xmm0, 0x30(%rdi)
movaps %xmm0, 0x20(%rdi)
movaps %xmm0, 0x10(%rdi)
movaps %xmm0, (%rdi)
xorl %esi, %esi
callq 0x2ad8c
movq -0xf8(%rbp), %rbx
movq %r15, -0xe8(%rbp)
movl $0x10, %edi
callq 0x3030
movq %rax, (%rbx)
movq -0x140(%rbp), %rcx
testl %ecx, %ecx
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
cmovnsl %ecx, %eax
movslq %eax, %rbx
movl %ecx, %r12d
movb $0x1, %r14b
xorl %r15d, %r15d
movq %rbx, %rdi
callq 0x3030
movq -0xf8(%rbp), %rdx
movq (%rdx), %rcx
movq %rax, (%rcx,%r15,8)
cmpl $0x0, -0x140(%rbp)
jle 0x6abd6
movq (%rdx), %rax
movq (%rax,%r15,8), %rdi
movq $0x0, -0xf0(%rbp)
xorl %esi, %esi
movq %r12, %rdx
callq 0x3130
movl $0x1, %r15d
testb $0x1, %r14b
movl $0x0, %r14d
jne 0x6ab87
jmp 0x6ac04
movq $0x0, -0xd8(%rbp)
movl $0x1, %r15d
movl $0x0, %eax
movq %rax, -0xf0(%rbp)
testb $0x1, %r14b
movl $0x0, %r14d
jne 0x6ab87
jmp 0x6b2fb
movq -0x140(%rbp), %rax
leal -0x1(%rax), %r13d
negq %r13
movl $0x1, %r14d
movl $0x80, %r15d
leaq -0x48(%rbp), %rbx
leaq -0xd0(%rbp), %rdi
xorl %eax, %eax
xorl %ecx, %ecx
movq $0x0, -0xd8(%rbp)
movq %rax, %rdx
movq -0xe8(%rbp), %rax
movq (%rax), %rax
movq %rdx, -0x50(%rbp)
leaq (%rdx,%rdx,4), %rdx
shlq $0x4, %rdx
movq %rdx, -0x148(%rbp)
leaq (%rax,%rdx), %rsi
testb $0x1, %cl
movq %r14, -0x1a0(%rbp)
je 0x6ac72
movq 0x10(%rsi), %rcx
movq 0x30(%rsi), %rdx
jmp 0x6acbb
movq 0x48(%rsi), %rcx
movq %rcx, %r9
subq 0x28(%rsi), %r9
shrq $0x3, %r9
cmpq $0x1, %rcx
adcq $-0x1, %r9
shlq $0x4, %r9
movq 0x30(%rsi), %rdx
movq %rdx, %r8
subq 0x38(%rsi), %r8
sarq $0x5, %r8
movq 0x10(%rsi), %rcx
movq 0x20(%rsi), %rsi
subq %rcx, %rsi
sarq $0x5, %rsi
addq %r8, %rsi
addq %r9, %rsi
cmpq $0x2, %rsi
jb 0x6ae4e
cmpq %rcx, %rdx
jne 0x6ad05
addq %r15, %rax
xorl %edi, %edi
movq %r14, %rsi
movl %edi, %r8d
leaq (%rsi,%r13), %rdi
cmpq $0x1, %rdi
sete %dil
orb %r8b, %dil
cmpq %r12, %rsi
jae 0x6acf2
movq -0x20(%rax), %r8
incq %rsi
leaq 0x50(%rax), %r9
cmpq %r8, (%rax)
movq %r9, %rax
je 0x6acc8
testb $0x1, %dil
jne 0x6b2fb
cmpq %rcx, %rdx
je 0x6ae9a
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq (%rcx), %rsi
movq 0x8(%rcx), %rdx
addq %rsi, %rdx
movq %rbx, %rdi
callq 0x2a8a4
leaq -0x260(%rbp), %rdi
movq %rbx, %rsi
callq 0x2a942
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x6ad40
callq 0x31d0
movq -0xe8(%rbp), %r14
movq (%r14), %rdi
movq -0x148(%rbp), %rbx
movq 0x10(%rdi,%rbx), %rax
movq 0x30(%rdi,%rbx), %rcx
cmpq %rax, %rcx
je 0x6ad77
addq %rbx, %rdi
callq 0x2acee
movq (%r14), %rcx
movq 0x10(%rcx,%rbx), %rax
movq 0x30(%rcx,%rbx), %rcx
jmp 0x6ad8c
movq -0xf8(%rbp), %rdx
movq (%rdx), %rdx
movq (%rdx), %rdx
movq -0x50(%rbp), %rsi
movb $0x1, (%rdx,%rsi)
leaq -0x38(%rbp), %rdx
movq %rdx, -0x48(%rbp)
cmpq %rax, %rcx
movq -0x1a0(%rbp), %r14
je 0x6adb8
movq (%rax), %rsi
movq 0x8(%rax), %rdx
addq %rsi, %rdx
leaq -0x48(%rbp), %rbx
movq %rbx, %rdi
callq 0x2a8a4
jmp 0x6add2
leaq -0x48(%rbp), %rbx
movq %rbx, %rdi
leaq 0xe22e(%rip), %rsi      # 0x78ff4
leaq 0xe22b(%rip), %rdx      # 0x78ff8
callq 0x2ac04
leaq -0x210(%rbp), %rdi
movq %rbx, %rsi
callq 0x2a942
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x6adf3
callq 0x31d0
movq -0xe8(%rbp), %rax
movq (%rax), %rdi
movq -0x148(%rbp), %rcx
movq 0x30(%rdi,%rcx), %rax
cmpq 0x10(%rdi,%rcx), %rax
je 0x6ae1a
addq %rcx, %rdi
callq 0x2acee
jmp 0x6ae30
movq -0xf8(%rbp), %rax
movq (%rax), %rax
movq 0x8(%rax), %rax
movq -0x50(%rbp), %rcx
movb $0x1, (%rax,%rcx)
leaq -0xd0(%rbp), %rdi
movq -0xf0(%rbp), %rax
incl %eax
movq %rax, -0xf0(%rbp)
movb $0x1, %cl
jmp 0x6b2e4
movl $0x1, %r14d
cmpq $0xa, -0x50(%rbp)
jb 0x6aec6
movl $0x4, %r14d
movq -0x50(%rbp), %rax
cmpl $0x63, %eax
jbe 0x6aebd
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x6aec3
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x6aec6
movl %eax, %ecx
movl $0xd1b71759, %edx       # imm = 0xD1B71759
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r14d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x6ae65
addl $-0x3, %r14d
jmp 0x6aec6
leaq -0x38(%rbp), %rax
movq %rax, -0x48(%rbp)
movq %rbx, %rdi
leaq 0xe148(%rip), %rsi      # 0x78ff4
leaq 0xe145(%rip), %rdx      # 0x78ff8
callq 0x2ac04
jmp 0x6ad1f
addl $-0x2, %r14d
jmp 0x6aec6
decl %r14d
movq %r15, -0x198(%rbp)
movq %rbx, %r15
movl %r14d, %esi
leaq -0xc0(%rbp), %rax
movq %rax, -0xd0(%rbp)
movl $0x2d, %edx
movq %rdi, %rbx
callq 0x3250
movq -0xd0(%rbp), %rdi
movl %r14d, %esi
movq -0x50(%rbp), %rdx
callq 0x2a6a5
movl $0xf, %r8d
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xe792(%rip), %rcx      # 0x796a7
callq 0x3230
leaq -0xa0(%rbp), %rsi
movq %rsi, -0xb0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0xb0(%rbp), %rdi
movq %r15, %rbx
je 0x6af54
movq %rdx, -0xb0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa0(%rbp)
jmp 0x6af5a
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq -0x198(%rbp), %r15
movq -0x148(%rbp), %r14
movq 0x8(%rax), %rdx
movq %rdx, -0xa8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xd2c9(%rip), %rsi      # 0x78252
callq 0x33d0
leaq -0x60(%rbp), %rsi
movq %rsi, -0x70(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6afb2
movq %rdx, -0x70(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x60(%rbp)
jmp 0x6afb8
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x68(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xe8(%rbp), %rax
movq (%rax), %rax
movq 0x10(%rax,%r14), %rax
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq -0x70(%rbp), %rdi
callq 0x30a0
leaq -0x80(%rbp), %rsi
movq %rsi, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6b018
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x6b01e
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x88(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x90(%rbp), %rdi
leaq 0xe6cb(%rip), %rsi      # 0x79711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6b06f
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x6b075
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 -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x6b0a1
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x6b0b3
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x6b0cb
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x6b0e3
callq 0x31d0
movq -0xe8(%rbp), %rax
addq (%rax), %r14
movq %r14, %rdi
callq 0x2acee
movq -0xe0(%rbp), %rdi
movq %rbx, %rsi
callq 0x3b624
movl $0x1, %ebx
cmpq $0xa, -0x50(%rbp)
leaq -0xa0(%rbp), %rdx
leaq -0xb0(%rbp), %r14
jb 0x6b161
movl $0x4, %ebx
movq -0x50(%rbp), %rax
cmpl $0x63, %eax
jbe 0x6b15a
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x6b15f
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x6b161
movl %eax, %ecx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %ebx
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x6b127
addl $-0x3, %ebx
jmp 0x6b161
addl $-0x2, %ebx
jmp 0x6b161
decl %ebx
movl %ebx, %esi
movq %rdx, -0xb0(%rbp)
movq %r14, %rdi
movl $0x2d, %edx
callq 0x3250
movq -0xb0(%rbp), %rdi
movl %ebx, %esi
movq -0x50(%rbp), %rdx
callq 0x2a6a5
movl $0xf, %r8d
movq %r14, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xe51a(%rip), %rcx      # 0x796b7
callq 0x3230
leaq -0x60(%rbp), %rsi
movq %rsi, -0x70(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
movq -0xf8(%rbp), %rbx
leaq -0x80(%rbp), %r14
je 0x6b1d1
movq %rdx, -0x70(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x60(%rbp)
jmp 0x6b1d7
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x68(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x70(%rbp), %rdi
leaq 0xe4ce(%rip), %rsi      # 0x796c7
callq 0x33d0
movq %r14, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6b224
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x6b22b
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, -0x88(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x48(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x3260
movq -0x90(%rbp), %rdi
cmpq %r14, %rdi
je 0x6b266
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x6b278
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x6b290
callq 0x31d0
movq (%rbx), %rax
movq 0x8(%rax), %rax
movq -0x50(%rbp), %rcx
movb $0x1, (%rax,%rcx)
movq -0xe0(%rbp), %rdi
leaq -0x48(%rbp), %rbx
movq %rbx, %rsi
callq 0x3b624
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x6b2c4
callq 0x31d0
movq -0xd8(%rbp), %rax
incl %eax
movq %rax, -0xd8(%rbp)
xorl %ecx, %ecx
movq -0x1a0(%rbp), %r14
leaq -0xd0(%rbp), %rdi
movq -0x50(%rbp), %rax
incq %rax
incq %r14
addq $0x50, %r15
cmpq %r12, %rax
jne 0x6ac38
movq -0x250(%rbp), %rsi
cmpq %rsi, -0x230(%rbp)
je 0x6b3f8
leaq -0x38(%rbp), %r15
leaq -0x48(%rbp), %rbx
leaq -0x118(%rbp), %r14
leaq -0x260(%rbp), %r12
leaq 0xdc45(%rip), %r13      # 0x78f71
movq %rbx, %rdi
movq %r14, %rdx
callq 0x2a647
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3260
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x6b350
callq 0x31d0
movq -0x218(%rbp), %rax
movq %rax, %rcx
subq -0x238(%rbp), %rcx
shrq $0x3, %rcx
cmpq $0x1, %rax
adcq $-0x1, %rcx
shlq $0x4, %rcx
movq -0x230(%rbp), %rax
subq -0x228(%rbp), %rax
movq -0x240(%rbp), %rdx
sarq $0x5, %rax
subq -0x250(%rbp), %rdx
sarq $0x5, %rdx
addq %rax, %rdx
addq %rcx, %rdx
cmpq $0x2, %rdx
jb 0x6b3b5
movq %rbx, %rdi
leaq 0xd24b(%rip), %rsi      # 0x785f6
movq %r14, %rdx
callq 0x2a567
jmp 0x6b3c3
movq %rbx, %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x2a567
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3260
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x6b3dc
callq 0x31d0
movq %r12, %rdi
callq 0x2acee
movq -0x250(%rbp), %rsi
cmpq %rsi, -0x230(%rbp)
jne 0x6b32c
movq -0x200(%rbp), %rsi
cmpq %rsi, -0x1e0(%rbp)
je 0x6b4f5
leaq -0x38(%rbp), %r15
leaq -0x48(%rbp), %rbx
leaq -0x1c0(%rbp), %r14
leaq -0x210(%rbp), %r12
leaq 0xdb48(%rip), %r13      # 0x78f71
movq %rbx, %rdi
movq %r14, %rdx
callq 0x2a647
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3260
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x6b44d
callq 0x31d0
movq -0x1c8(%rbp), %rax
movq %rax, %rcx
subq -0x1e8(%rbp), %rcx
shrq $0x3, %rcx
cmpq $0x1, %rax
adcq $-0x1, %rcx
shlq $0x4, %rcx
movq -0x1e0(%rbp), %rax
subq -0x1d8(%rbp), %rax
movq -0x1f0(%rbp), %rdx
sarq $0x5, %rax
subq -0x200(%rbp), %rdx
sarq $0x5, %rdx
addq %rax, %rdx
addq %rcx, %rdx
cmpq $0x2, %rdx
jb 0x6b4b2
movq %rbx, %rdi
leaq 0xd14e(%rip), %rsi      # 0x785f6
movq %r14, %rdx
callq 0x2a567
jmp 0x6b4c0
movq %rbx, %rdi
movq %r13, %rsi
movq %r14, %rdx
callq 0x2a567
movq %r14, %rdi
movq %rbx, %rsi
callq 0x3260
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x6b4d9
callq 0x31d0
movq %r12, %rdi
callq 0x2acee
movq -0x200(%rbp), %rsi
cmpq %rsi, -0x1e0(%rbp)
jne 0x6b429
leaq -0x38(%rbp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0xe0fd(%rip), %rdx      # 0x79601
leaq -0x48(%rbp), %rdi
movq %rdx, %rsi
callq 0x2ac04
leaq -0x48(%rbp), %rsi
movq -0xe0(%rbp), %rdi
callq 0x2a942
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6b52e
callq 0x31d0
movq -0xf0(%rbp), %rcx
testl %ecx, %ecx
jle 0x6be3a
movq -0xd8(%rbp), %rax
leal (%rcx,%rax), %r15d
decl %r15d
movl %r15d, %r14d
negl %r14d
cmovsl %r15d, %r14d
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0x6b5a5
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0x6b59e
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x6b5a3
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x6b5a5
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x6b56d
addl $-0x3, %ebx
jmp 0x6b5a5
addl $-0x2, %ebx
jmp 0x6b5a5
decl %ebx
shrl $0x1f, %r15d
leal (%rbx,%r15), %esi
leaq -0x178(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0x188(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movl %r15d, %r13d
leaq -0x188(%rbp), %r12
movq (%r12), %rdi
addq %r13, %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0x2a6a5
leaq 0xe0bc(%rip), %rcx      # 0x796a7
movl $0xf, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0x158(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6b62a
movq %rdx, -0x168(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x158(%rbp)
jmp 0x6b630
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x168(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xb055(%rip), %rsi      # 0x766aa
callq 0x33d0
leaq -0xc0(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6b687
movq %rdx, -0xd0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc0(%rbp)
jmp 0x6b68d
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xc8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xd8(%rbp), %rax
movl %eax, %r12d
negl %r12d
cmovsl %eax, %r12d
movl $0x1, %ebx
cmpl $0xa, %r12d
jb 0x6b708
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x6b701
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x6b706
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x6b708
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x6b6d0
addl $-0x3, %ebx
jmp 0x6b708
addl $-0x2, %ebx
jmp 0x6b708
decl %ebx
movq %r13, -0x50(%rbp)
movq -0xd8(%rbp), %r13
shrl $0x1f, %r13d
leal (%rbx,%r13), %esi
leaq -0x128(%rbp), %rax
movq %rax, -0x10(%rax)
leaq -0x138(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movl %r13d, %eax
movq -0x138(%rbp), %rdi
movq %rax, -0xe8(%rbp)
addq %rax, %rdi
movl %ebx, %esi
movl %r12d, %edx
callq 0x2a6a5
movq -0xd0(%rbp), %rcx
movq -0xc8(%rbp), %r8
movq -0x130(%rbp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %edi
leaq -0xc0(%rbp), %rbx
cmpq %rbx, %rcx
je 0x6b786
movq -0xc0(%rbp), %rdi
movq -0x138(%rbp), %rsi
cmpq %rdi, %rax
jbe 0x6b7af
movl $0xf, %edi
leaq -0x128(%rbp), %r9
cmpq %r9, %rsi
je 0x6b7aa
movq -0x128(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x6b7bd
leaq -0xd0(%rbp), %rdi
callq 0x30a0
jmp 0x6b7cd
leaq -0x138(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0xa0(%rbp), %rdx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
leaq 0x10(%rax), %rcx
cmpq %rcx, %rsi
je 0x6b7f7
movq %rsi, -0xb0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa0(%rbp)
jmp 0x6b7fd
movups (%rcx), %xmm0
movups %xmm0, (%rdx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xa8(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xca2f(%rip), %rsi      # 0x78252
leaq -0xb0(%rbp), %rdi
callq 0x33d0
leaq -0x60(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6b853
movq %rdx, -0x70(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x60(%rbp)
jmp 0x6b859
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x70(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x118(%rbp), %rsi
movq -0x110(%rbp), %rdx
callq 0x30a0
leaq -0x80(%rbp), %rsi
movq %rsi, -0x10(%rsi)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6b8ae
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x6b8b4
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x90(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xde38(%rip), %rsi      # 0x79711
callq 0x33d0
leaq -0x38(%rbp), %rsi
movq %rsi, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6b902
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x6b908
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
leaq -0x48(%rbp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xe0(%rbp), %rdi
callq 0x2a942
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x6b941
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x6b956
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x6b968
callq 0x31d0
leaq -0xa0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6b97d
callq 0x31d0
movq -0x138(%rbp), %rdi
leaq -0x128(%rbp), %rax
cmpq %rax, %rdi
je 0x6b995
callq 0x31d0
movq -0xd0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6b9a6
callq 0x31d0
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x6b9be
callq 0x31d0
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x6b9d6
callq 0x31d0
movl $0x1, %ebx
cmpl $0xa, %r14d
jb 0x6ba26
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r14d, %ecx
cmpl $0x63, %ecx
jbe 0x6ba1f
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x6ba24
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x6ba26
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x6b9ee
addl $-0x3, %ebx
jmp 0x6ba26
addl $-0x2, %ebx
jmp 0x6ba26
decl %ebx
addl %ebx, %r15d
leaq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
movq %rax, (%rdi)
movq %r15, %rsi
movl $0x2d, %edx
callq 0x3250
leaq -0x188(%rbp), %r15
movq -0x50(%rbp), %rdi
addq (%r15), %rdi
movl %ebx, %esi
movl %r14d, %edx
callq 0x2a6a5
leaq 0xdc51(%rip), %rcx      # 0x796b7
movl $0xf, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0x158(%rbp), %r14
movq %r14, -0x168(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0xc0(%rbp), %rbx
je 0x6baaf
movq %rdx, -0x168(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x158(%rbp)
jmp 0x6bab6
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
leaq -0x168(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xabcf(%rip), %rsi      # 0x766aa
callq 0x33d0
movq %rbx, -0xd0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6bb09
movq %rdx, -0xd0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xc0(%rbp)
jmp 0x6bb0f
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0xc8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl $0x1, %ebx
cmpl $0xa, %r12d
jb 0x6bb79
movl $0x4, %ebx
movl $0xd1b71759, %eax       # imm = 0xD1B71759
movl %r12d, %ecx
cmpl $0x63, %ecx
jbe 0x6bb72
cmpl $0x3e7, %ecx            # imm = 0x3E7
jbe 0x6bb77
cmpl $0x2710, %ecx           # imm = 0x2710
jb 0x6bb79
movl %ecx, %edx
imulq %rax, %rdx
shrq $0x2d, %rdx
addl $0x4, %ebx
cmpl $0x1869f, %ecx          # imm = 0x1869F
movl %edx, %ecx
ja 0x6bb41
addl $-0x3, %ebx
jmp 0x6bb79
addl $-0x2, %ebx
jmp 0x6bb79
decl %ebx
addl %ebx, %r13d
leaq -0x138(%rbp), %rdi
leaq -0x128(%rbp), %rax
movq %rax, (%rdi)
movq %r13, %rsi
movl $0x2d, %edx
callq 0x3250
movq -0xe8(%rbp), %rdi
addq -0x138(%rbp), %rdi
movl %ebx, %esi
movl %r12d, %edx
callq 0x2a6a5
movq -0xd0(%rbp), %rcx
movq -0xc8(%rbp), %r8
movq -0x130(%rbp), %rdx
leaq (%rdx,%r8), %rax
movl $0xf, %edi
leaq -0xc0(%rbp), %rsi
cmpq %rsi, %rcx
leaq -0x38(%rbp), %rbx
leaq -0x80(%rbp), %r12
je 0x6bbeb
movq -0xc0(%rbp), %rdi
movq -0x138(%rbp), %rsi
cmpq %rdi, %rax
leaq -0x60(%rbp), %r15
jbe 0x6bc18
movl $0xf, %edi
leaq -0x128(%rbp), %r9
cmpq %r9, %rsi
je 0x6bc13
movq -0x128(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x6bc26
leaq -0xd0(%rbp), %rdi
callq 0x30a0
jmp 0x6bc36
leaq -0x138(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
leaq -0xa0(%rbp), %rsi
movq %rsi, -0xb0(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x6bc63
movq %rdx, -0xb0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xa0(%rbp)
jmp 0x6bc69
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0xa8(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xc5c3(%rip), %rsi      # 0x78252
leaq -0xb0(%rbp), %rdi
callq 0x33d0
movq %r15, -0x70(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6bcbb
movq %rdx, -0x70(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x60(%rbp)
jmp 0x6bcc2
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq -0x70(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x1c0(%rbp), %rsi
movq -0x1b8(%rbp), %rdx
callq 0x30a0
movq %r12, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6bd16
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x6bd1e
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq 0x8(%rax), %rdx
leaq -0x90(%rbp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xd9ce(%rip), %rsi      # 0x79711
callq 0x33d0
movq %rbx, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6bd68
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x6bd6e
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
leaq -0x48(%rbp), %rsi
movq %rdx, 0x8(%rsi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xe0(%rbp), %rdi
callq 0x2a942
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6bda3
callq 0x31d0
movq -0x90(%rbp), %rdi
cmpq %r12, %rdi
leaq -0xc0(%rbp), %rbx
je 0x6bdbb
callq 0x31d0
movq -0x70(%rbp), %rdi
cmpq %r15, %rdi
leaq -0xa0(%rbp), %r15
je 0x6bdd0
callq 0x31d0
movq -0xb0(%rbp), %rdi
cmpq %r15, %rdi
je 0x6bde1
callq 0x31d0
movq -0x138(%rbp), %rdi
leaq -0x128(%rbp), %rax
cmpq %rax, %rdi
je 0x6bdf9
callq 0x31d0
movq -0xd0(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6be0a
callq 0x31d0
movq -0x168(%rbp), %rdi
cmpq %r14, %rdi
je 0x6be1b
callq 0x31d0
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x6be33
callq 0x31d0
movq -0xf0(%rbp), %rcx
addl -0xd8(%rbp), %ecx
movq -0x190(%rbp), %rax
movl %ecx, (%rax)
movq -0x140(%rbp), %rax
cmpl %eax, %ecx
jge 0x6c1a6
movslq %ecx, %r15
cltq
movq %rax, -0xf0(%rbp)
leaq -0x70(%rbp), %r12
movq -0xf8(%rbp), %rax
movq (%rax), %rax
movq (%rax), %rcx
movb $0x1, %dl
movb %dl, (%rcx,%r15)
movq 0x8(%rax), %rax
movb %dl, (%rax,%r15)
movq %r15, -0x50(%rbp)
movl %r15d, %r14d
negl %r14d
cmovsl %r15d, %r14d
movl $0x1, %r13d
cmpl $0xa, %r14d
jb 0x6bee4
movl $0x4, %r13d
movl %r14d, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x6bedb
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x6bee1
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x6bee4
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r13d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x6beab
addl $-0x3, %r13d
jmp 0x6bee4
addl $-0x2, %r13d
jmp 0x6bee4
decl %r13d
shrl $0x1f, %r15d
leal (%r15,%r13), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movq %r12, %rdi
movl $0x2d, %edx
callq 0x3250
movl %r15d, %ebx
movq -0x70(%rbp), %rdi
addq %rbx, %rdi
movl %r13d, %esi
movl %r14d, %edx
callq 0x2a6a5
movl $0xf, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xd77d(%rip), %rcx      # 0x796a7
callq 0x3230
leaq -0x80(%rbp), %rsi
movq %rsi, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0x38(%rbp), %r13
je 0x6bf5d
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x6bf63
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0x88(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x90(%rbp), %rdi
leaq 0xd73c(%rip), %rsi      # 0x796c7
callq 0x33d0
movq %r13, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6bfb0
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x6bfb8
movups (%rcx), %xmm0
movups %xmm0, (%r13)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xe0(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2a942
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
je 0x6bfed
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x6c002
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x6c014
callq 0x31d0
movl $0x1, %r13d
cmpl $0xa, %r14d
jb 0x6c067
movl $0x4, %r13d
movl %r14d, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x6c05e
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x6c064
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x6c067
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r13d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x6c02e
addl $-0x3, %r13d
jmp 0x6c067
addl $-0x2, %r13d
jmp 0x6c067
decl %r13d
addl %r13d, %r15d
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x70(%rbp), %r12
movq %r12, %rdi
movq %r15, %rsi
movl $0x2d, %edx
callq 0x3250
addq -0x70(%rbp), %rbx
movq %rbx, %rdi
movl %r13d, %esi
movl %r14d, %edx
callq 0x2a6a5
movl $0xf, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
leaq 0xd60b(%rip), %rcx      # 0x796b7
callq 0x3230
leaq -0x80(%rbp), %r14
movq %r14, -0x90(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0x38(%rbp), %r15
je 0x6c0df
movq %rdx, -0x90(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x80(%rbp)
jmp 0x6c0e6
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, -0x88(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x90(%rbp), %rdi
leaq 0xd5b9(%rip), %rsi      # 0x796c7
callq 0x33d0
movq %r15, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x6c133
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x6c13a
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0xe0(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x2a942
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x6c16f
callq 0x31d0
movq -0x90(%rbp), %rdi
cmpq %r14, %rdi
movq -0x50(%rbp), %r15
je 0x6c184
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x6c196
callq 0x31d0
incq %r15
cmpq -0xf0(%rbp), %r15
jl 0x6be68
leaq -0x210(%rbp), %rdi
callq 0x2a726
leaq -0x260(%rbp), %rdi
callq 0x2a726
movq -0x1c0(%rbp), %rdi
leaq -0x1b0(%rbp), %rax
cmpq %rax, %rdi
je 0x6c1d6
callq 0x31d0
movq -0x118(%rbp), %rdi
leaq -0x108(%rbp), %rax
cmpq %rax, %rdi
je 0x6c1ee
callq 0x31d0
addq $0x238, %rsp            # imm = 0x238
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %r12, %r13
movq %r15, %r12
movq %r14, %r15
movq %rax, %r14
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6c228
callq 0x31d0
jmp 0x6c228
movq %r12, %r13
movq %r15, %r12
movq %r14, %r15
movq %rax, %r14
movq -0x90(%rbp), %rdi
cmpq %r13, %rdi
je 0x6c244
callq 0x31d0
jmp 0x6c244
movq %r15, %r12
movq %r14, %r15
movq %rax, %r14
movq -0x70(%rbp), %rdi
cmpq %r12, %rdi
je 0x6c25a
callq 0x31d0
jmp 0x6c25a
movq %r14, %r15
movq %rax, %r14
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x6c27a
callq 0x31d0
jmp 0x6c27a
movq %r14, %r15
movq %rax, %r14
movq -0x138(%rbp), %rdi
leaq -0x128(%rbp), %rax
cmpq %rax, %rdi
je 0x6c29a
callq 0x31d0
jmp 0x6c29a
movq %r14, %r15
movq %rax, %r14
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x6c2ba
callq 0x31d0
jmp 0x6c2ba
movq %r14, %r15
movq %rax, %r14
movq -0x168(%rbp), %rdi
cmpq %r15, %rdi
jne 0x6c38b
jmp 0x6c395
jmp 0x6c392
jmp 0x6c510
movq %rax, %r14
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x6c2f3
callq 0x31d0
jmp 0x6c2f3
movq %rax, %r14
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x6c30d
callq 0x31d0
jmp 0x6c30d
movq %rax, %r14
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x6c324
callq 0x31d0
jmp 0x6c324
movq %rax, %r14
leaq -0xa0(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x6c33e
callq 0x31d0
jmp 0x6c33e
movq %rax, %r14
movq -0x138(%rbp), %rdi
leaq -0x128(%rbp), %rax
cmpq %rax, %rdi
je 0x6c35b
callq 0x31d0
jmp 0x6c35b
movq %rax, %r14
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
cmpq %rax, %rdi
je 0x6c378
callq 0x31d0
jmp 0x6c378
movq %rax, %r14
movq -0x168(%rbp), %rdi
leaq -0x158(%rbp), %rax
cmpq %rax, %rdi
je 0x6c395
callq 0x31d0
jmp 0x6c395
movq %rax, %r14
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
jmp 0x6c500
jmp 0x6c510
movq %rax, %r14
movq -0x48(%rbp), %rdi
cmpq %rbx, %rdi
jne 0x6c505
jmp 0x6c513
jmp 0x6c510
jmp 0x6c510
movq %rax, %r14
leaq -0x108(%rbp), %rbx
jmp 0x6c526
movq %rax, %r14
leaq -0x108(%rbp), %rbx
jmp 0x6c532
movq %rax, %r14
leaq -0x108(%rbp), %rbx
jmp 0x6c54a
movq %rax, %r14
jmp 0x6c45b
movq %rax, %r14
jmp 0x6c46d
movq %rax, %r14
jmp 0x6c485
jmp 0x6c510
movq %rax, %r14
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x6c427
callq 0x31d0
jmp 0x6c427
movq %rax, %r14
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x6c4a6
callq 0x31d0
jmp 0x6c4a6
jmp 0x6c4a3
movq %rax, %r14
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x6c45b
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x6c46d
callq 0x31d0
movq -0xb0(%rbp), %rdi
leaq -0xa0(%rbp), %rax
cmpq %rax, %rdi
je 0x6c485
callq 0x31d0
movq -0xd0(%rbp), %rdi
leaq -0xc0(%rbp), %rax
jmp 0x6c500
jmp 0x6c4a3
jmp 0x6c510
jmp 0x6c510
jmp 0x6c510
jmp 0x6c510
jmp 0x6c4a3
jmp 0x6c510
movq %rax, %r14
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
jmp 0x6c500
jmp 0x6c510
jmp 0x6c510
jmp 0x6c4c8
jmp 0x6c4cd
movq %rax, %r14
movq -0x48(%rbp), %rdi
cmpq %r13, %rdi
jne 0x6c4de
jmp 0x6c4e3
jmp 0x6c510
movq %rax, %r14
jmp 0x6c4f8
movq %rax, %r14
jmp 0x6c4e3
movq %rax, %r14
movq -0x48(%rbp), %rdi
cmpq %r15, %rdi
je 0x6c4e3
callq 0x31d0
movq -0x90(%rbp), %rdi
leaq -0x80(%rbp), %rax
cmpq %rax, %rdi
je 0x6c4f8
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x6c513
callq 0x31d0
jmp 0x6c513
jmp 0x6c510
jmp 0x6c510
movq %rax, %r14
leaq -0x108(%rbp), %rbx
leaq -0x210(%rbp), %rdi
callq 0x2a726
leaq -0x260(%rbp), %rdi
callq 0x2a726
movq -0x1c0(%rbp), %rdi
leaq -0x1b0(%rbp), %rax
cmpq %rax, %rdi
je 0x6c54a
callq 0x31d0
movq -0x118(%rbp), %rdi
cmpq %rbx, %rdi
je 0x6c55b
callq 0x31d0
movq %r14, %rdi
callq 0x33a0