// File: /workspace/github_cpp_makefile_star2_O3/temelmertcan[P]multgen/src/wallace.cpp
// Function: compress_concat_vector(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, int&)
void compress_concat_vector (string* arr, int& size){

  const unsigned long max = std::string::npos;

  // cout << "Starting compress_concat_vector before:" << endl;
  // for (int i = 0 ; i <size ; i++)
  //   cout << arr[i] << " ";
  // cout << endl;
    
  
  try{
    
    int offset = 0;
    for (int i = 0; i<size-1-offset; i++){
      string& a = arr[i];
      string b = arr[i+1+offset];
      if (a.find("'b0") < max && b.find("'b0") < max){

	// !!
	//cout << "Merging zeros sizes: " << a.size() << " "<< b.size() << endl;
	//cout << "Merging zeros find res: " << a.find("'b0") << " "<< b.find("'b0") << endl;
	//cout << "Merging zeros: " << a << " "<< b << endl;
	
	int newcoef = stoi(a.substr(0,a.find("'b0"))) + stoi(b.substr(0,b.find("'b0")));
	a = to_string(newcoef) + "'b0";
	i--;
	offset++;
      }
      else if (a.find("[") <max && b.find("[") <max && a.find("]") <max && b.find("]")<max
	  && a.substr(0, a.find("[")) == b.substr(0, b.find("["))){

	int s1, e1;
	if (a.find(":")<max){
	  e1 = stoi(a.substr(a.find("[")+1,a.find(":")));
	  s1 = stoi(a.substr(a.find(":")+1,a.find("]")));
	}else {
	  s1 = stoi(a.substr(a.find("[")+1,a.find("]")));
	  e1 = s1;
	}

	int s2, e2;
	if (b.find(":")<max){
	  e2 = stoi(b.substr(b.find("[")+1,b.find(":")));
	  s2 = stoi(b.substr(b.find(":")+1,b.find("]")));
	}else {
	  s2 = stoi(b.substr(a.find("[")+1,b.find("]")));
	  e2 = s2;
	}
      
	if (s2 == (1 + e1)){
	  
	  // !!
	  //cout << "Merging vectors: " << a << " "<< b << endl;

	  
	  a = a.substr(0, a.find("[")) + "[" + to_string(e2) + ":" + to_string(s1) + "]";
	  i--;
	  offset++;
	} else {
	  arr[i+1] = b;
	}
      } else
	arr[i+1] = b;
    }

    size -= offset;
    

  }
  catch(exception &err)
    {
      cout<<"Conversion failure"<<endl;
      //cout << err << endl;
    }

  // for (int i = 0 ; i <size ; i++)
  //   cout << arr[i] << " ";
  // cout << endl;
  
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x168, %rsp            # imm = 0x168
movq %rsi, %rbx
movl (%rsi), %eax
leal -0x1(%rax), %ecx
testl %ecx, %ecx
jle 0x71eb6
movq %rdi, %r12
leaq -0x58(%rbp), %r15
leaq -0x38(%rbp), %r14
xorl %edx, %edx
xorl %r13d, %r13d
movq %rbx, -0x90(%rbp)
movq %rdi, -0xa0(%rbp)
movq %rdx, -0x80(%rbp)
leal (%rdx,%r13), %eax
incl %eax
cltq
shlq $0x5, %rax
leaq -0xd0(%rbp), %rcx
movq %rcx, -0xe0(%rbp)
movq (%r12,%rax), %rsi
movq 0x8(%r12,%rax), %rdx
addq %rsi, %rdx
leaq -0xe0(%rbp), %rdi
callq 0x2a8a4
movslq %r13d, %rdi
shlq $0x5, %rdi
addq %r12, %rdi
movl $0x3, %ecx
movq %rdi, -0x70(%rbp)
leaq 0x7f4f(%rip), %r12      # 0x78ff5
movq %r12, %rsi
xorl %edx, %edx
callq 0x3390
cmpq $-0x1, %rax
je 0x7127d
movl $0x3, %ecx
leaq -0xe0(%rbp), %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x3390
cmpq $-0x1, %rax
je 0x7127d
movq %r13, -0x98(%rbp)
movl $0x3, %ecx
movq -0x70(%rbp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x3390
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3220
movq -0x48(%rbp), %r12
callq 0x3050
movq %rax, %rbx
movl (%rax), %r14d
movl $0x0, (%rax)
movq %r12, %rdi
leaq -0x68(%rbp), %r13
movq %r13, %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r12, -0x68(%rbp)
je 0x71ece
movq %rax, %r15
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x71ef2
movl (%rbx), %eax
cmpl $0x22, %eax
je 0x71ef2
testl %eax, %eax
leaq 0x7e8a(%rip), %rsi      # 0x78ff5
jne 0x71170
movl %r14d, (%rbx)
movl $0x3, %ecx
leaq -0xe0(%rbp), %r14
movq %r14, %rdi
xorl %edx, %edx
callq 0x3390
movq %r13, %rdi
movq %r14, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3220
movq -0x68(%rbp), %r14
movl (%rbx), %r13d
movl $0x0, (%rbx)
movq %r14, %rdi
leaq -0xc0(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r14, -0xc0(%rbp)
je 0x71ee6
movq %rax, %r12
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
leaq -0x38(%rbp), %r14
jb 0x71eda
movl (%rbx), %eax
cmpl $0x22, %eax
je 0x71eda
testl %eax, %eax
jne 0x711f6
movl %r13d, (%rbx)
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x71208
callq 0x31d0
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x71216
callq 0x31d0
addl %r15d, %r12d
movl %r12d, %ebx
negl %ebx
cmovsl %r12d, %ebx
movl $0x1, %r15d
cmpl $0xa, %ebx
jb 0x713a9
movl $0x4, %r15d
movl %ebx, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x713a0
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x713a6
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x713a9
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x7123e
addl $-0x3, %r15d
jmp 0x713a9
leal 0x1(%r13), %eax
movl %eax, -0x84(%rbp)
movl $0x1, %ecx
movq -0x70(%rbp), %r12
movq %r12, %rdi
leaq 0x71f0(%rip), %rsi      # 0x7848a
xorl %edx, %edx
callq 0x3390
cmpq $-0x1, %rax
je 0x7165a
movl $0x1, %ecx
leaq -0xe0(%rbp), %rdi
leaq 0x71cc(%rip), %rsi      # 0x7848a
xorl %edx, %edx
callq 0x3390
cmpq $-0x1, %rax
je 0x7165a
movl $0x1, %ecx
movq %r12, %rdi
leaq 0x6b3b(%rip), %rsi      # 0x77e19
xorl %edx, %edx
callq 0x3390
cmpq $-0x1, %rax
je 0x7165a
movl $0x1, %ecx
leaq -0xe0(%rbp), %rdi
leaq 0x6b17(%rip), %rsi      # 0x77e19
xorl %edx, %edx
callq 0x3390
cmpq $-0x1, %rax
je 0x7165a
movl $0x1, %ecx
movq %r12, %rdi
movq %r12, %rbx
leaq 0x7165(%rip), %r12      # 0x7848a
movq %r12, %rsi
xorl %edx, %edx
callq 0x3390
leaq -0x48(%rbp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3220
movl $0x1, %ecx
leaq -0xe0(%rbp), %rbx
movq %rbx, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x3390
leaq -0x68(%rbp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3220
movq -0x40(%rbp), %rdx
cmpq -0x60(%rbp), %rdx
movq -0x70(%rbp), %r12
jne 0x7147c
movq -0x68(%rbp), %rbx
testq %rdx, %rdx
je 0x71485
movq -0x48(%rbp), %rdi
movq %rbx, %rsi
callq 0x3210
testl %eax, %eax
sete %r14b
jmp 0x71488
addl $-0x2, %r15d
jmp 0x713a9
decl %r15d
shrl $0x1f, %r12d
leal (%r15,%r12), %esi
leaq -0x58(%rbp), %rax
movq %rax, -0x68(%rbp)
leaq -0x68(%rbp), %r13
movq %r13, %rdi
movl $0x2d, %edx
callq 0x3250
movl %r12d, %edi
addq -0x68(%rbp), %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0x2a6a5
movq %r13, %rdi
leaq 0x7c10(%rip), %rsi      # 0x78ff5
callq 0x33d0
movq %r14, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0x58(%rbp), %r15
movq -0x90(%rbp), %rbx
movq -0xa0(%rbp), %r12
movq -0x98(%rbp), %r13
je 0x71423
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x7142a
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x70(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x3260
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x7145c
callq 0x31d0
movq -0x68(%rbp), %rdi
cmpq %r15, %rdi
je 0x7146a
callq 0x31d0
decl %r13d
movq -0x80(%rbp), %rax
incl %eax
movq %rax, -0x80(%rbp)
jmp 0x7167b
movq -0x68(%rbp), %rbx
xorl %r14d, %r14d
jmp 0x71488
movb $0x1, %r14b
cmpq %r15, %rbx
je 0x71495
movq %rbx, %rdi
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x714a7
callq 0x31d0
testb %r14b, %r14b
leaq -0x38(%rbp), %r14
movq -0x90(%rbp), %rbx
je 0x7165a
movl $0x1, %ecx
movq %r12, %rdi
movq %r12, %r14
leaq 0x51dd(%rip), %r12      # 0x766aa
movq %r12, %rsi
xorl %edx, %edx
callq 0x3390
cmpq $-0x1, %rax
movq %r13, -0x98(%rbp)
movl $0x1, %ecx
movq %r14, %rdi
leaq 0x6f99(%rip), %rsi      # 0x7848a
je 0x716b0
xorl %edx, %edx
callq 0x3390
leaq 0x1(%rax), %rbx
movl $0x1, %ecx
movq %r14, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x3390
leaq -0x48(%rbp), %rdi
movq %r14, %rsi
movq %rbx, %rdx
movq %rax, %rcx
callq 0x3220
leaq -0xe0(%rbp), %r15
movq -0x48(%rbp), %r14
callq 0x3050
movq %rax, %rbx
movl (%rax), %r13d
movl $0x0, (%rax)
movq %r14, %rdi
leaq -0x68(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r14, -0x68(%rbp)
je 0x71f22
leaq -0x80000000(%rax), %rdx
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rdx
leaq -0x38(%rbp), %rcx
jb 0x71f16
movl (%rbx), %edx
cmpl $0x22, %edx
je 0x71f16
movq %rax, -0x170(%rbp)
testl %edx, %edx
jne 0x71594
movl %r13d, (%rbx)
movq -0x48(%rbp), %rdi
cmpq %rcx, %rdi
je 0x715a2
callq 0x31d0
movl $0x1, %ecx
movq -0x70(%rbp), %r13
movq %r13, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x3390
leaq 0x1(%rax), %r14
movl $0x1, %ecx
movq %r13, %rdi
leaq 0x684e(%rip), %rsi      # 0x77e19
xorl %edx, %edx
callq 0x3390
leaq -0x48(%rbp), %rdi
movq %r13, %rsi
movq %r14, %rdx
movq %rax, %rcx
callq 0x3220
movq -0x48(%rbp), %r14
movl (%rbx), %r13d
movl $0x0, (%rbx)
movq %r14, %rdi
leaq -0x68(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r14, -0x68(%rbp)
je 0x71f0a
leaq -0x80000000(%rax), %rdx
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rdx
leaq -0x38(%rbp), %rcx
jb 0x71efe
movl (%rbx), %edx
cmpl $0x22, %edx
je 0x71efe
testl %edx, %edx
jne 0x7163c
movl %r13d, (%rbx)
movq %rax, -0x168(%rbp)
movq -0x48(%rbp), %rdi
cmpq %rcx, %rdi
je 0x7176c
callq 0x31d0
jmp 0x7176c
movslq -0x84(%rbp), %rdi
shlq $0x5, %rdi
movq -0xa0(%rbp), %r12
addq %r12, %rdi
leaq -0xe0(%rbp), %rsi
callq 0x3120
movq -0xe0(%rbp), %rdi
leaq -0xd0(%rbp), %rax
cmpq %rax, %rdi
je 0x71693
callq 0x31d0
incl %r13d
movl (%rbx), %eax
movq -0x80(%rbp), %rdx
movl %edx, %ecx
notl %ecx
addl %eax, %ecx
cmpl %ecx, %r13d
jl 0x71056
jmp 0x71eb8
xorl %edx, %edx
callq 0x3390
leaq 0x1(%rax), %rbx
movl $0x1, %ecx
movq %r14, %rdi
leaq 0x674f(%rip), %rsi      # 0x77e19
xorl %edx, %edx
callq 0x3390
leaq -0x48(%rbp), %rdi
movq %r14, %rsi
movq %rbx, %rdx
movq %rax, %rcx
callq 0x3220
leaq -0xe0(%rbp), %r15
movq -0x48(%rbp), %r14
callq 0x3050
movq %rax, %rbx
movl (%rax), %r13d
movl $0x0, (%rax)
movq %r14, %rdi
leaq -0x68(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r14, -0x68(%rbp)
je 0x71f82
leaq -0x80000000(%rax), %rdx
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rdx
leaq -0x38(%rbp), %rcx
jb 0x71f76
movl (%rbx), %edx
cmpl $0x22, %edx
je 0x71f76
testl %edx, %edx
jne 0x7174a
movl %r13d, (%rbx)
movq -0x48(%rbp), %rdi
cmpq %rcx, %rdi
je 0x7175e
movq %rax, %rbx
callq 0x31d0
movq %rbx, %rax
movq %rax, -0x168(%rbp)
movq %rax, -0x170(%rbp)
movl $0x1, %ecx
movq %r15, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x3390
movl $0x1, %ecx
cmpq $-0x1, %rax
je 0x718ed
movq %r15, %rdi
leaq 0x6cf3(%rip), %rsi      # 0x7848a
xorl %edx, %edx
callq 0x3390
leaq 0x1(%rax), %rbx
movl $0x1, %ecx
movq %r15, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x3390
leaq -0x48(%rbp), %rdi
movq %r15, %rsi
movq %rbx, %rdx
movq %rax, %rcx
callq 0x3220
movq -0x48(%rbp), %r14
callq 0x3050
movq %rax, %rbx
movl (%rax), %r13d
movl $0x0, (%rax)
movq %r14, %rdi
leaq -0x68(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r14, -0x68(%rbp)
je 0x71f52
movq %rax, -0x78(%rbp)
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
leaq -0x38(%rbp), %rcx
jb 0x71f46
movl (%rbx), %eax
cmpl $0x22, %eax
je 0x71f46
testl %eax, %eax
jne 0x71829
movl %r13d, (%rbx)
movq -0x48(%rbp), %rdi
cmpq %rcx, %rdi
je 0x71837
callq 0x31d0
movl $0x1, %ecx
movq %r15, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x3390
leaq 0x1(%rax), %r14
movl $0x1, %ecx
movq %r15, %rdi
leaq 0x65bd(%rip), %rsi      # 0x77e19
xorl %edx, %edx
callq 0x3390
leaq -0x48(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rax, %rcx
callq 0x3220
movq -0x48(%rbp), %r14
movl (%rbx), %r13d
movl $0x0, (%rbx)
movq %r14, %rdi
leaq -0x68(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r14, -0x68(%rbp)
leaq -0x190(%rbp), %r12
je 0x71f3a
movq %rax, %r15
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
leaq -0x38(%rbp), %r14
jb 0x71f2e
movl (%rbx), %eax
cmpl $0x22, %eax
je 0x71f2e
testl %eax, %eax
jne 0x718d6
movl %r13d, (%rbx)
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x719a9
callq 0x31d0
jmp 0x719a9
movq -0x70(%rbp), %rdi
leaq 0x6b92(%rip), %rsi      # 0x7848a
xorl %edx, %edx
callq 0x3390
leaq 0x1(%rax), %rbx
movl $0x1, %ecx
movq %r15, %rdi
leaq 0x6507(%rip), %rsi      # 0x77e19
xorl %edx, %edx
callq 0x3390
leaq -0x48(%rbp), %rdi
movq %r15, %rsi
movq %rbx, %rdx
movq %rax, %rcx
callq 0x3220
movq -0x48(%rbp), %r14
callq 0x3050
movq %rax, %rbx
movl (%rax), %r13d
movl $0x0, (%rax)
movq %r14, %rdi
leaq -0x68(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r14, -0x68(%rbp)
leaq -0x190(%rbp), %r12
je 0x71f6a
movq %rax, %r15
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
leaq -0x38(%rbp), %r14
jb 0x71f5e
movl (%rbx), %eax
cmpl $0x22, %eax
je 0x71f5e
testl %eax, %eax
jne 0x71994
movl %r13d, (%rbx)
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x719a2
callq 0x31d0
movl %r15d, %eax
movq %rax, -0x78(%rbp)
leaq -0xf0(%rbp), %rbx
movq -0x170(%rbp), %rax
incl %eax
cmpl %eax, %r15d
jne 0x71a24
movl $0x1, %ecx
movq -0x70(%rbp), %r13
movq %r13, %rdi
leaq 0x6ab9(%rip), %r15      # 0x7848a
movq %r15, %rsi
xorl %edx, %edx
callq 0x3390
movq %r12, %rdi
movq %r13, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3220
movq %r12, %rdi
movq %r15, %rsi
callq 0x33d0
movq %rbx, -0x100(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
movl $0xd1b71759, %esi       # imm = 0xD1B71759
je 0x71a5c
movq %rdx, -0x100(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xf0(%rbp)
jmp 0x71a62
movslq -0x84(%rbp), %rdi
shlq $0x5, %rdi
movq -0xa0(%rbp), %r12
addq %r12, %rdi
leaq -0xe0(%rbp), %rsi
callq 0x3120
leaq -0x58(%rbp), %r15
movq -0x90(%rbp), %rbx
movq -0x98(%rbp), %r13
jmp 0x7167b
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0xf8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x78(%rbp), %r13
movl %r13d, %r15d
negl %r15d
cmovsl %r13d, %r15d
movl $0x1, %r12d
cmpl $0xa, %r15d
jb 0x71adc
movl $0x4, %r12d
movl %r15d, %eax
cmpl $0x63, %eax
jbe 0x71acf
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x71ad5
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x71ad8
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x71a9f
addl $-0x3, %r12d
jmp 0x71ad8
addl $-0x2, %r12d
jmp 0x71ad8
decl %r12d
movq -0x78(%rbp), %r13
shrl $0x1f, %r13d
leal (%r12,%r13), %esi
leaq -0x150(%rbp), %rax
movq %rax, -0x160(%rbp)
leaq -0x160(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movl %r13d, %edi
addq -0x160(%rbp), %rdi
movl %r12d, %esi
movl %r15d, %edx
callq 0x2a6a5
movq -0x100(%rbp), %rcx
movl $0xf, %edi
cmpq %rbx, %rcx
je 0x71b30
movq -0xf0(%rbp), %rdi
movq -0xf8(%rbp), %r8
movq -0x160(%rbp), %rsi
movq -0x158(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq -0x110(%rbp), %rbx
movq -0xa0(%rbp), %r12
jbe 0x71b79
movl $0xf, %edi
leaq -0x150(%rbp), %r9
cmpq %r9, %rsi
je 0x71b74
movq -0x150(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x71b87
leaq -0x100(%rbp), %rdi
callq 0x30a0
jmp 0x71b97
leaq -0x160(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
movq %rbx, -0x120(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x71bbd
movq %rdx, -0x120(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x110(%rbp)
jmp 0x71bc3
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x118(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0x120(%rbp), %rdi
leaq 0x4aba(%rip), %rsi      # 0x766aa
callq 0x33d0
leaq -0xb0(%rbp), %rsi
movq %rsi, -0xc0(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x71c25
movq %rdx, -0xc0(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb0(%rbp)
jmp 0x71c2b
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movl $0xd1b71759, %esi       # imm = 0xD1B71759
movq 0x8(%rax), %rdx
movq %rdx, -0xb8(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x168(%rbp), %rdx
movl %edx, %ebx
negl %ebx
cmovsl %edx, %ebx
movl $0x1, %r15d
cmpl $0xa, %ebx
jb 0x71ca4
movl $0x4, %r15d
movl %ebx, %eax
cmpl $0x63, %eax
jbe 0x71c9b
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x71ca1
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x71ca4
movl %eax, %ecx
imulq %rsi, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x71c6b
addl $-0x3, %r15d
jmp 0x71ca4
addl $-0x2, %r15d
jmp 0x71ca4
decl %r15d
shrl $0x1f, %edx
leal (%r15,%rdx), %esi
leaq -0x130(%rbp), %rax
movq %rax, -0x140(%rbp)
leaq -0x140(%rbp), %rdi
movq %rdx, %r13
movl $0x2d, %edx
callq 0x3250
movl %r13d, %edi
addq -0x140(%rbp), %rdi
movl %r15d, %esi
movl %ebx, %edx
callq 0x2a6a5
movq -0xc0(%rbp), %rcx
movl $0xf, %edi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rcx
movq -0x98(%rbp), %r13
je 0x71d07
movq -0xb0(%rbp), %rdi
movq -0xb8(%rbp), %r8
movq -0x140(%rbp), %rsi
movq -0x138(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rdi, %rax
leaq -0xf0(%rbp), %rbx
leaq -0x58(%rbp), %r15
jbe 0x71d4d
movl $0xf, %edi
leaq -0x130(%rbp), %r9
cmpq %r9, %rsi
je 0x71d48
movq -0x130(%rbp), %rdi
cmpq %rdi, %rax
jbe 0x71d5b
leaq -0xc0(%rbp), %rdi
callq 0x30a0
jmp 0x71d6b
leaq -0x140(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
movq %r15, -0x68(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x71d88
movq %rdx, -0x68(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x58(%rbp)
jmp 0x71d8f
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x60(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0x68(%rbp), %rdi
leaq 0x6063(%rip), %rsi      # 0x77e19
callq 0x33d0
movq %r14, -0x48(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x71ddb
movq %rdx, -0x48(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x38(%rbp)
jmp 0x71de2
movups (%rcx), %xmm0
movups %xmm0, (%r14)
movq 0x8(%rax), %rdx
movq %rdx, -0x40(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x70(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x3260
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
je 0x71e14
callq 0x31d0
movq -0x68(%rbp), %rdi
cmpq %r15, %rdi
je 0x71e22
callq 0x31d0
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x71e3a
callq 0x31d0
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x71e52
callq 0x31d0
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x71e6a
callq 0x31d0
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x71e82
callq 0x31d0
movq -0x100(%rbp), %rdi
cmpq %rbx, %rdi
je 0x71e93
callq 0x31d0
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
cmpq %rax, %rdi
movq -0x90(%rbp), %rbx
jne 0x71465
jmp 0x7146a
xorl %edx, %edx
subl %edx, %eax
movl %eax, (%rbx)
addq $0x168, %rsp            # imm = 0x168
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x7916(%rip), %rdi      # 0x797eb
callq 0x3140
leaq 0x790a(%rip), %rdi      # 0x797eb
callq 0x32d0
leaq 0x78fe(%rip), %rdi      # 0x797eb
callq 0x3140
leaq 0x78f2(%rip), %rdi      # 0x797eb
callq 0x32d0
leaq 0x78e6(%rip), %rdi      # 0x797eb
callq 0x32d0
leaq 0x78da(%rip), %rdi      # 0x797eb
callq 0x3140
leaq 0x78ce(%rip), %rdi      # 0x797eb
callq 0x32d0
leaq 0x78c2(%rip), %rdi      # 0x797eb
callq 0x3140
leaq 0x78b6(%rip), %rdi      # 0x797eb
callq 0x32d0
leaq 0x78aa(%rip), %rdi      # 0x797eb
callq 0x3140
leaq 0x789e(%rip), %rdi      # 0x797eb
callq 0x32d0
leaq 0x7892(%rip), %rdi      # 0x797eb
callq 0x3140
leaq 0x7886(%rip), %rdi      # 0x797eb
callq 0x32d0
leaq 0x787a(%rip), %rdi      # 0x797eb
callq 0x3140
leaq 0x786e(%rip), %rdi      # 0x797eb
callq 0x32d0
leaq 0x7862(%rip), %rdi      # 0x797eb
callq 0x3140
jmp 0x720bf
jmp 0x720bf
movq %r15, %rcx
movq %rdx, %r15
movq %rax, %r12
movq -0x68(%rbp), %rdi
cmpq %rcx, %rdi
je 0x71fb7
callq 0x31d0
jmp 0x71fb7
movq %rdx, %r15
movq %rax, %r12
movq -0x140(%rbp), %rdi
leaq -0x130(%rbp), %rax
cmpq %rax, %rdi
je 0x71fd7
callq 0x31d0
jmp 0x71fd7
movq %rdx, %r15
movq %rax, %r12
movq -0xc0(%rbp), %rdi
leaq -0xb0(%rbp), %rax
cmpq %rax, %rdi
je 0x71ff7
callq 0x31d0
jmp 0x71ff7
movq %rdx, %r15
movq %rax, %r12
movq -0x120(%rbp), %rdi
leaq -0x110(%rbp), %rax
cmpq %rax, %rdi
je 0x72017
callq 0x31d0
jmp 0x72017
movq %rdx, %r15
movq %rax, %r12
movq -0x160(%rbp), %rdi
leaq -0x150(%rbp), %rax
cmpq %rax, %rdi
je 0x72037
callq 0x31d0
jmp 0x72037
movq %rdx, %r15
movq %rax, %r12
movq -0x100(%rbp), %rdi
leaq -0xf0(%rbp), %rax
cmpq %rax, %rdi
je 0x72057
callq 0x31d0
jmp 0x72057
movq %rdx, %r15
movq %rax, %r12
movq -0x190(%rbp), %rdi
leaq -0x180(%rbp), %rax
jmp 0x720ff
jmp 0x720bf
jmp 0x720bf
jmp 0x720bf
jmp 0x720bf
jmp 0x720bf
jmp 0x720bf
jmp 0x72080
jmp 0x72080
jmp 0x72080
jmp 0x72080
jmp 0x72080
movq %rdx, %r15
movq %rax, %r12
cmpl $0x0, (%rbx)
jne 0x720f7
movl %r13d, (%rbx)
jmp 0x720f7
movq %rdx, %r15
movq %rax, %r12
movq -0x48(%rbp), %rdi
cmpq %r14, %rdi
jne 0x72104
jmp 0x72109
jmp 0x720bf
jmp 0x720bf
movq %rdx, %r15
movq %rax, %r12
jmp 0x720f7
jmp 0x720bf
movq %rdx, %r15
movq %rax, %r12
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
jmp 0x720ff
movq %rdx, %r15
movq %rax, %r12
jmp 0x72109
movq %rdx, %r15
movq %rax, %r12
cmpl $0x0, (%rbx)
jne 0x720f7
movl %r14d, (%rbx)
jmp 0x720f7
movq %rdx, %r15
movq %rax, %r12
cmpl $0x0, (%rbx)
jne 0x720e5
movl %r13d, (%rbx)
movq -0x68(%rbp), %rdi
leaq -0x58(%rbp), %rax
cmpq %rax, %rdi
je 0x720f7
callq 0x31d0
movq -0x48(%rbp), %rdi
leaq -0x38(%rbp), %rax
cmpq %rax, %rdi
je 0x72109
callq 0x31d0
movq -0xe0(%rbp), %rdi
leaq -0xd0(%rbp), %rax
cmpq %rax, %rdi
je 0x72129
callq 0x31d0
jmp 0x72129
movq %rdx, %r15
movq %rax, %r12
cmpl $0x1, %r15d
jne 0x7216d
movq %r12, %rdi
callq 0x30d0
movq 0x13e92(%rip), %rdi     # 0x85fd0
leaq 0x75fc(%rip), %rsi      # 0x79741
movl $0x12, %edx
callq 0x3240
movq 0x13e7a(%rip), %rdi     # 0x85fd0
callq 0x3100
callq 0x3350
jmp 0x71ebc
movq %rax, %r12
callq 0x3350
movq %r12, %rdi
callq 0x33a0
movq %rax, %rdi
callq 0x2a717