// File: /workspace/github_cpp_makefile_star2_O1/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 $0x1a8, %rsp            # imm = 0x1A8
movq %rsi, -0x168(%rbp)
movl (%rsi), %eax
leal -0x1(%rax), %ecx
testl %ecx, %ecx
jle 0x72476
movq %rdi, -0xa8(%rbp)
leaq -0x80(%rbp), %r13
xorl %ebx, %ebx
leaq -0x90(%rbp), %r14
xorl %r12d, %r12d
leal (%r12,%rbx), %eax
incl %eax
cltq
shlq $0x5, %rax
movq %r13, %r15
movq %r13, -0x90(%rbp)
movq -0xa8(%rbp), %r13
movq (%r13,%rax), %rsi
movq 0x8(%r13,%rax), %rdx
addq %rsi, %rdx
movq %r14, %rdi
callq 0x2acc6
movslq %r12d, %rdi
shlq $0x5, %rdi
addq %r13, %rdi
movl $0x3, %ecx
movq %rdi, -0x30(%rbp)
leaq 0x8a3c(%rip), %r13      # 0x79ff5
movq %r13, %rsi
xorl %edx, %edx
callq 0x3390
cmpq $-0x1, %rax
movq %rbx, -0xa0(%rbp)
je 0x717a9
movl $0x3, %ecx
movq %r14, %rdi
movq %r13, %rsi
xorl %edx, %edx
callq 0x3390
cmpq $-0x1, %rax
je 0x717a9
movq %r12, -0x98(%rbp)
movl $0x3, %ecx
movq -0x30(%rbp), %r14
movq %r14, %rdi
movq %r13, %rsi
xorl %edx, %edx
callq 0x3390
leaq -0x50(%rbp), %rdi
movq %r14, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3220
movq -0x50(%rbp), %r15
callq 0x3050
movq %rax, %r14
movl (%rax), %r13d
movl $0x0, (%rax)
movq %r15, %rdi
leaq -0x70(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r15, -0x70(%rbp)
je 0x724ad
movq %rax, %r12
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x724a1
movl (%r14), %eax
cmpl $0x22, %eax
je 0x724a1
testl %eax, %eax
leaq 0x8976(%rip), %rsi      # 0x79ff5
jne 0x71684
movl %r13d, (%r14)
movl $0x3, %ecx
leaq -0x90(%rbp), %rbx
movq %rbx, %rdi
xorl %edx, %edx
callq 0x3390
leaq -0x70(%rbp), %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3220
movq -0x70(%rbp), %r13
movl (%r14), %ebx
movl $0x0, (%r14)
movq %r13, %rdi
leaq -0xc8(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r13, -0xc8(%rbp)
je 0x72495
movq %rax, %r15
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
leaq -0x80(%rbp), %r13
movl $0xd1b71759, %edx       # imm = 0xD1B71759
jb 0x724b9
movl (%r14), %eax
cmpl $0x22, %eax
je 0x724b9
testl %eax, %eax
jne 0x71712
movl %ebx, (%r14)
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x71729
callq 0x31d0
movl $0xd1b71759, %edx       # imm = 0xD1B71759
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
leaq -0x70(%rbp), %rbx
je 0x71744
callq 0x31d0
movl $0xd1b71759, %edx       # imm = 0xD1B71759
addl %r12d, %r15d
movl %r15d, %r14d
negl %r14d
cmovsl %r15d, %r14d
movl $0x1, %r12d
cmpl $0xa, %r14d
jb 0x71f62
movl $0x4, %r12d
movl %r14d, %eax
cmpl $0x63, %eax
jbe 0x71f59
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x71f5f
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x71f62
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r12d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x7176a
addl $-0x3, %r12d
jmp 0x71f62
xorl %r14d, %r14d
movl $0x1, %ecx
movq -0x30(%rbp), %rdi
leaq 0x7cd1(%rip), %r13      # 0x7948d
movq %r13, %rsi
xorl %edx, %edx
callq 0x3390
cmpq $-0x1, %rax
je 0x718e3
xorl %r14d, %r14d
movl $0x1, %ecx
leaq -0x90(%rbp), %rdi
movq %r13, %rsi
xorl %edx, %edx
callq 0x3390
cmpq $-0x1, %rax
je 0x718e3
movq %r12, %r13
xorl %r14d, %r14d
movl $0x1, %ecx
movq -0x30(%rbp), %rdi
leaq 0x7613(%rip), %r12      # 0x78e1c
movq %r12, %rsi
xorl %edx, %edx
callq 0x3390
cmpq $-0x1, %rax
je 0x718e7
xorl %r14d, %r14d
movl $0x1, %ecx
leaq -0x90(%rbp), %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x3390
cmpq $-0x1, %rax
je 0x718e7
movl $0x1, %ecx
movq -0x30(%rbp), %r14
movq %r14, %rdi
leaq 0x7c3a(%rip), %rsi      # 0x7948d
xorl %edx, %edx
callq 0x3390
leaq -0x188(%rbp), %rdi
movq %r14, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3220
movq %r13, %r12
movl $0x1, %ecx
leaq -0x90(%rbp), %r14
movq %r14, %rdi
leaq 0x7c06(%rip), %rsi      # 0x7948d
xorl %edx, %edx
callq 0x3390
leaq -0x1c8(%rbp), %rdi
movq %r14, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3220
movq %r15, %r13
movq -0x180(%rbp), %rdx
cmpq -0x1c0(%rbp), %rdx
movq -0x30(%rbp), %r15
movb $0x1, %r14b
jne 0x72030
testq %rdx, %rdx
je 0x7246f
movq -0x1c8(%rbp), %rsi
movq -0x188(%rbp), %rdi
callq 0x3210
testl %eax, %eax
sete %bl
jmp 0x718f3
xorl %ebx, %ebx
jmp 0x718ec
xorl %ebx, %ebx
movq %r13, %r12
movq %r15, %r13
movq -0x30(%rbp), %r15
testb %r14b, %r14b
leaq -0x90(%rbp), %r14
je 0x7192f
movq -0x1c8(%rbp), %rdi
leaq -0x1b8(%rbp), %rax
cmpq %rax, %rdi
je 0x71917
callq 0x31d0
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
cmpq %rax, %rdi
je 0x7192f
callq 0x31d0
leal 0x1(%r12), %eax
testb %bl, %bl
je 0x71ae7
movl %eax, -0xcc(%rbp)
movl $0x1, %ecx
movq %r15, %rdi
leaq 0x5d59(%rip), %rbx      # 0x776aa
movq %rbx, %rsi
xorl %edx, %edx
callq 0x3390
cmpq $-0x1, %rax
movq %r12, -0x98(%rbp)
movl $0x1, %ecx
movq %r15, %rdi
leaq 0x7b18(%rip), %rsi      # 0x7948d
je 0x71b09
xorl %edx, %edx
callq 0x3390
leaq 0x1(%rax), %r14
movl $0x1, %ecx
movq %r15, %rdi
movq %rbx, %rsi
xorl %edx, %edx
callq 0x3390
leaq -0x50(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rax, %rcx
callq 0x3220
movq -0x50(%rbp), %r14
callq 0x3050
movq %rax, %r15
movl (%rax), %ebx
movl $0x0, (%rax)
movq %r14, %rdi
leaq -0x70(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r14, -0x70(%rbp)
je 0x724e9
leaq -0x80000000(%rax), %rdx
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rdx
jb 0x724dd
movl (%r15), %ecx
cmpl $0x22, %ecx
je 0x724dd
movq %rax, -0x160(%rbp)
testl %ecx, %ecx
jne 0x71a0d
movl %ebx, (%r15)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x71a1f
callq 0x31d0
movl $0x1, %ecx
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
leaq 0x5c78(%rip), %rsi      # 0x776aa
xorl %edx, %edx
callq 0x3390
leaq 0x1(%rax), %r14
movl $0x1, %ecx
movq %rbx, %rdi
leaq 0x73d0(%rip), %rsi      # 0x78e1c
xorl %edx, %edx
callq 0x3390
leaq -0x50(%rbp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
movq %rax, %rcx
callq 0x3220
movq -0x50(%rbp), %r14
movl (%r15), %ebx
movl $0x0, (%r15)
movq %r14, %rdi
leaq -0x70(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r14, -0x70(%rbp)
je 0x724d1
leaq -0x80000000(%rax), %rdx
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rdx
leaq -0x90(%rbp), %r14
jb 0x724c5
movl (%r15), %ecx
cmpl $0x22, %ecx
je 0x724c5
testl %ecx, %ecx
jne 0x71ac2
movl %ebx, (%r15)
movq %rax, -0x158(%rbp)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x71adb
callq 0x31d0
leaq 0x5bc8(%rip), %r15      # 0x776aa
jmp 0x71bce
movslq %eax, %rdi
shlq $0x5, %rdi
addq -0xa8(%rbp), %rdi
movq %r14, %rsi
callq 0x3120
movq -0xa0(%rbp), %rbx
jmp 0x72441
xorl %edx, %edx
callq 0x3390
leaq 0x1(%rax), %r14
movl $0x1, %ecx
movq %r15, %rdi
leaq 0x72f9(%rip), %rsi      # 0x78e1c
xorl %edx, %edx
callq 0x3390
leaq -0x50(%rbp), %rdi
movq %r15, %rsi
movq %r14, %rdx
movq %rax, %rcx
callq 0x3220
movq -0x50(%rbp), %r15
callq 0x3050
movq %rax, %r14
movl (%rax), %ebx
movl $0x0, (%rax)
movq %r15, %rdi
leaq -0x70(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r15, -0x70(%rbp)
je 0x72531
movq %rax, %rdx
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x7253d
movl (%r14), %eax
cmpl $0x22, %eax
je 0x7253d
testl %eax, %eax
leaq 0x5b0e(%rip), %r15      # 0x776aa
jne 0x71ba1
movl %ebx, (%r14)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x71bb9
movq %rdx, %rbx
callq 0x31d0
movq %rbx, %rdx
movq %rdx, -0x158(%rbp)
movq %rdx, -0x160(%rbp)
leaq -0x90(%rbp), %r14
leaq 0x7247(%rip), %r12      # 0x78e1c
movl $0x1, %ecx
movq %r14, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x3390
movl $0x1, %ecx
cmpq $-0x1, %rax
je 0x71d6f
movq %r14, %rdi
leaq 0x788d(%rip), %rsi      # 0x7948d
xorl %edx, %edx
callq 0x3390
movq %r14, %rbx
leaq 0x1(%rax), %r14
movl $0x1, %ecx
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x3390
leaq -0x50(%rbp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
movq %rax, %rcx
callq 0x3220
movq -0x50(%rbp), %r15
callq 0x3050
movq %rax, %r14
movl (%rax), %ebx
movl $0x0, (%rax)
movq %r15, %rdi
leaq -0x70(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r15, -0x70(%rbp)
je 0x72519
movq %rax, %r12
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x7250d
movl (%r14), %eax
cmpl $0x22, %eax
je 0x7250d
testl %eax, %eax
leaq 0x5a18(%rip), %r15      # 0x776aa
jne 0x71c97
movl %ebx, (%r14)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x71ca9
callq 0x31d0
movl $0x1, %ecx
leaq -0x90(%rbp), %rbx
movq %rbx, %rdi
movq %r15, %rsi
xorl %edx, %edx
callq 0x3390
leaq 0x1(%rax), %r15
movl $0x1, %ecx
movq %rbx, %rdi
leaq 0x7147(%rip), %rsi      # 0x78e1c
xorl %edx, %edx
callq 0x3390
leaq -0x50(%rbp), %rdi
movq %rbx, %rsi
movq %r15, %rdx
movq %rax, %rcx
callq 0x3220
movq -0x50(%rbp), %r13
movl (%r14), %ebx
movl $0x0, (%r14)
movq %r13, %rdi
leaq -0x70(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r13, -0x70(%rbp)
je 0x72501
movq %rax, %r15
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
jb 0x724f5
movl (%r14), %eax
cmpl $0x22, %eax
je 0x724f5
testl %eax, %eax
jne 0x71d46
movl %ebx, (%r14)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x71d58
callq 0x31d0
movq -0xa0(%rbp), %rbx
leaq -0x90(%rbp), %r14
leaq -0x80(%rbp), %r13
jmp 0x71e2d
movq -0x30(%rbp), %rdi
leaq 0x7713(%rip), %rsi      # 0x7948d
xorl %edx, %edx
callq 0x3390
movq %r14, %rbx
leaq 0x1(%rax), %r14
movl $0x1, %ecx
movq %rbx, %rdi
movq %r12, %rsi
xorl %edx, %edx
callq 0x3390
leaq -0x50(%rbp), %rdi
movq %rbx, %rsi
movq %r14, %rdx
movq %rax, %rcx
callq 0x3220
movq -0x50(%rbp), %r12
callq 0x3050
movq %rax, %r14
movl (%rax), %ebx
movl $0x0, (%rax)
movq %r12, %rdi
leaq -0x70(%rbp), %rsi
movl $0xa, %edx
callq 0x32b0
cmpq %r12, -0x70(%rbp)
je 0x72525
movq %rax, %r15
addq $-0x80000000, %rax      # imm = 0x80000000
movabsq $-0x100000000, %rcx     # imm = 0xFFFFFFFF00000000
cmpq %rcx, %rax
leaq -0x40(%rbp), %rcx
jb 0x72549
movl (%r14), %eax
cmpl $0x22, %eax
je 0x72549
testl %eax, %eax
jne 0x71e0e
movl %ebx, (%r14)
movq -0x50(%rbp), %rdi
cmpq %rcx, %rdi
je 0x71e1c
callq 0x31d0
movl %r15d, %r12d
movq -0xa0(%rbp), %rbx
leaq -0x90(%rbp), %r14
movq -0x160(%rbp), %rax
incl %eax
cmpl %eax, %r15d
movl -0xcc(%rbp), %eax
jne 0x71eb0
movl $0x1, %ecx
movq -0x30(%rbp), %rbx
movq %rbx, %rdi
leaq 0x7639(%rip), %r15      # 0x7948d
movq %r15, %rsi
xorl %edx, %edx
callq 0x3390
leaq -0x1a8(%rbp), %r14
movq %r14, %rdi
movq %rbx, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0x3220
leaq -0x120(%rbp), %rbx
movq %r14, %rdi
movq %r15, %rsi
callq 0x33d0
movq %rbx, -0x130(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x71ed2
movq %rdx, -0x130(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x120(%rbp)
jmp 0x71ed8
movslq %eax, %rdi
shlq $0x5, %rdi
addq -0xa8(%rbp), %rdi
movq %r14, %rsi
callq 0x3120
movq -0x98(%rbp), %r12
jmp 0x72441
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0x128(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movl %r12d, %r14d
negl %r14d
cmovsl %r12d, %r14d
movl $0x1, %r15d
cmpl $0xa, %r14d
jb 0x72040
movl $0x4, %r15d
movl %r14d, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x72037
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x7203d
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x72040
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x71f1a
addl $-0x3, %r15d
jmp 0x72040
addl $-0x2, %r12d
jmp 0x71f62
decl %r12d
shrl $0x1f, %r15d
leal (%r12,%r15), %esi
leaq -0x60(%rbp), %rax
movq %rax, -0x70(%rbp)
movq %rbx, %rdi
movl $0x2d, %edx
callq 0x3250
movl %r15d, %edi
addq -0x70(%rbp), %rdi
movl %r12d, %esi
movl %r14d, %edx
callq 0x2aad9
movq %rbx, %rdi
leaq 0x805a(%rip), %rsi      # 0x79ff5
callq 0x33d0
leaq -0x40(%rbp), %r12
movq %r12, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
leaq -0x60(%rbp), %rbx
leaq -0x90(%rbp), %r14
movq -0x30(%rbp), %rdi
je 0x71fd3
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x71fdb
movups (%rcx), %xmm0
movups %xmm0, (%r12)
movq %r12, %r15
movq -0x98(%rbp), %r12
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq -0x50(%rbp), %rsi
callq 0x3260
movq -0x50(%rbp), %rdi
cmpq %r15, %rdi
je 0x72013
callq 0x31d0
movq -0x70(%rbp), %rdi
cmpq %rbx, %rdi
je 0x72021
callq 0x31d0
decl %r12d
movq -0xa0(%rbp), %rbx
jmp 0x7243f
xorl %ebx, %ebx
jmp 0x718f3
addl $-0x2, %r15d
jmp 0x72040
decl %r15d
shrl $0x1f, %r12d
leal (%r15,%r12), %esi
leaq -0x100(%rbp), %rax
movq %rax, -0x110(%rbp)
leaq -0x110(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movl %r12d, %edi
addq -0x110(%rbp), %rdi
movl %r15d, %esi
movl %r14d, %edx
callq 0x2aad9
movq -0x130(%rbp), %rcx
movl $0xf, %esi
leaq -0x120(%rbp), %rax
cmpq %rax, %rcx
je 0x7209b
movq -0x120(%rbp), %rsi
movq -0x128(%rbp), %r8
movq -0x108(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq -0x140(%rbp), %rbx
leaq 0x55ec(%rip), %r14      # 0x776aa
movq -0x98(%rbp), %r12
jbe 0x720e8
movl $0xf, %esi
leaq -0x100(%rbp), %rdi
cmpq %rdi, -0x110(%rbp)
je 0x720e3
movq -0x100(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x720fd
movq -0x110(%rbp), %rsi
leaq -0x130(%rbp), %rdi
callq 0x30a0
jmp 0x7210d
leaq -0x110(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
movq %rbx, -0x150(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x72133
movq %rdx, -0x150(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x140(%rbp)
jmp 0x72139
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x148(%rbp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0x150(%rbp), %rdi
movq %r14, %rsi
callq 0x33d0
leaq -0xb8(%rbp), %rsi
movq %rsi, -0xc8(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x72197
movq %rdx, -0xc8(%rbp)
movq (%rcx), %rdx
movq %rdx, -0xb8(%rbp)
jmp 0x7219d
movups (%rcx), %xmm0
movups %xmm0, (%rsi)
movq 0x8(%rax), %rdx
movq %rdx, -0xc0(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x158(%rbp), %rsi
movl %esi, %r14d
negl %r14d
cmovsl %esi, %r14d
movl $0x1, %r15d
cmpl $0xa, %r14d
jb 0x7221b
movl $0x4, %r15d
movl %r14d, %eax
movl $0xd1b71759, %edx       # imm = 0xD1B71759
cmpl $0x63, %eax
jbe 0x72212
cmpl $0x3e7, %eax            # imm = 0x3E7
jbe 0x72218
cmpl $0x2710, %eax           # imm = 0x2710
jb 0x7221b
movl %eax, %ecx
imulq %rdx, %rcx
shrq $0x2d, %rcx
addl $0x4, %r15d
cmpl $0x1869f, %eax          # imm = 0x1869F
movl %ecx, %eax
ja 0x721e2
addl $-0x3, %r15d
jmp 0x7221b
addl $-0x2, %r15d
jmp 0x7221b
decl %r15d
shrl $0x1f, %esi
movq %rsi, %rbx
addl %r15d, %esi
leaq -0xe0(%rbp), %rax
movq %rax, -0xf0(%rbp)
leaq -0xf0(%rbp), %rdi
movl $0x2d, %edx
callq 0x3250
movl %ebx, %edi
addq -0xf0(%rbp), %rdi
movl %r15d, %esi
movl %r14d, %edx
callq 0x2aad9
movq -0xc8(%rbp), %rcx
movl $0xf, %esi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rcx
je 0x72276
movq -0xb8(%rbp), %rsi
movq -0xc0(%rbp), %r8
movq -0xe8(%rbp), %rdx
leaq (%rdx,%r8), %rax
cmpq %rsi, %rax
leaq -0x120(%rbp), %rbx
leaq -0x140(%rbp), %r14
leaq -0x60(%rbp), %r15
jbe 0x722c0
movl $0xf, %esi
leaq -0xe0(%rbp), %rdi
cmpq %rdi, -0xf0(%rbp)
je 0x722bb
movq -0xe0(%rbp), %rsi
cmpq %rsi, %rax
jbe 0x722d5
movq -0xf0(%rbp), %rsi
leaq -0xc8(%rbp), %rdi
callq 0x30a0
jmp 0x722e5
leaq -0xf0(%rbp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x3230
movq %r15, -0x70(%rbp)
movq (%rax), %rdx
leaq 0x10(%rax), %rcx
cmpq %rcx, %rdx
je 0x72302
movq %rdx, -0x70(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x60(%rbp)
jmp 0x72309
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq %r14, %r15
movq %rax, %rdx
addq $0x8, %rdx
movq 0x8(%rax), %rsi
movq %rsi, -0x68(%rbp)
movq %rcx, (%rax)
movq %rbx, %r14
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq -0x70(%rbp), %rdi
leaq 0x6ae6(%rip), %rsi      # 0x78e1c
callq 0x33d0
leaq -0x40(%rbp), %rbx
movq %rbx, -0x50(%rbp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x7235f
movq %rdx, -0x50(%rbp)
movq (%rcx), %rdx
movq %rdx, -0x40(%rbp)
jmp 0x72365
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, -0x48(%rbp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq -0x30(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x3260
movq -0x50(%rbp), %rdi
cmpq %rbx, %rdi
je 0x72397
callq 0x31d0
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
movq %r14, %rbx
je 0x723ac
callq 0x31d0
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x723c4
callq 0x31d0
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x723dc
callq 0x31d0
movq -0x150(%rbp), %rdi
cmpq %r15, %rdi
je 0x723ed
callq 0x31d0
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
leaq -0x90(%rbp), %r14
je 0x7240c
callq 0x31d0
movq -0x130(%rbp), %rdi
cmpq %rbx, %rdi
je 0x7241d
callq 0x31d0
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
cmpq %rax, %rdi
movq -0xa0(%rbp), %rbx
je 0x7243c
callq 0x31d0
decl %r12d
incl %ebx
movq -0x90(%rbp), %rdi
cmpq %r13, %rdi
je 0x72452
callq 0x31d0
incl %r12d
movq -0x168(%rbp), %rax
movl (%rax), %eax
movl %ebx, %ecx
notl %ecx
addl %eax, %ecx
cmpl %ecx, %r12d
jl 0x7156d
jmp 0x72478
movb $0x1, %bl
jmp 0x718f3
xorl %ebx, %ebx
subl %ebx, %eax
movq -0x168(%rbp), %rcx
movl %eax, (%rcx)
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x834f(%rip), %rdi      # 0x7a7eb
callq 0x3140
leaq 0x8343(%rip), %rdi      # 0x7a7eb
callq 0x32d0
leaq 0x8337(%rip), %rdi      # 0x7a7eb
callq 0x3140
leaq 0x832b(%rip), %rdi      # 0x7a7eb
callq 0x32d0
leaq 0x831f(%rip), %rdi      # 0x7a7eb
callq 0x32d0
leaq 0x8313(%rip), %rdi      # 0x7a7eb
callq 0x3140
leaq 0x8307(%rip), %rdi      # 0x7a7eb
callq 0x32d0
leaq 0x82fb(%rip), %rdi      # 0x7a7eb
callq 0x3140
leaq 0x82ef(%rip), %rdi      # 0x7a7eb
callq 0x32d0
leaq 0x82e3(%rip), %rdi      # 0x7a7eb
callq 0x3140
leaq 0x82d7(%rip), %rdi      # 0x7a7eb
callq 0x32d0
leaq 0x82cb(%rip), %rdi      # 0x7a7eb
callq 0x3140
leaq 0x82bf(%rip), %rdi      # 0x7a7eb
callq 0x3140
leaq 0x82b3(%rip), %rdi      # 0x7a7eb
callq 0x3140
leaq 0x82a7(%rip), %rdi      # 0x7a7eb
callq 0x32d0
leaq 0x829b(%rip), %rdi      # 0x7a7eb
callq 0x32d0
movq %rdx, %r15
movq %rax, %r12
movq -0x188(%rbp), %rdi
leaq -0x178(%rbp), %rax
jmp 0x72713
jmp 0x726d1
jmp 0x726d1
jmp 0x726d1
movq %rdx, %r15
movq %rax, %r12
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x7259d
callq 0x31d0
jmp 0x7259d
movq %rdx, %r15
movq %rax, %r12
movq -0xf0(%rbp), %rdi
leaq -0xe0(%rbp), %rax
cmpq %rax, %rdi
je 0x725bd
callq 0x31d0
jmp 0x725bd
movq %rdx, %r15
movq %rax, %r12
movq -0xc8(%rbp), %rdi
leaq -0xb8(%rbp), %rax
cmpq %rax, %rdi
je 0x725dd
callq 0x31d0
jmp 0x725dd
movq %rdx, %r15
movq %rax, %r12
movq -0x150(%rbp), %rdi
leaq -0x140(%rbp), %rax
cmpq %rax, %rdi
je 0x725fd
callq 0x31d0
jmp 0x725fd
movq %rdx, %r15
movq %rax, %r12
movq -0x110(%rbp), %rdi
leaq -0x100(%rbp), %rax
cmpq %rax, %rdi
je 0x7261d
callq 0x31d0
jmp 0x7261d
movq %rdx, %r15
movq %rax, %r12
movq -0x130(%rbp), %rdi
leaq -0x120(%rbp), %rax
cmpq %rax, %rdi
je 0x7263d
callq 0x31d0
jmp 0x7263d
movq %rdx, %r15
movq %rax, %r12
movq -0x1a8(%rbp), %rdi
leaq -0x198(%rbp), %rax
jmp 0x72713
jmp 0x726d1
jmp 0x72666
jmp 0x7265a
jmp 0x726d1
jmp 0x726d1
movq %rdx, %r14
movq %rax, %r12
jmp 0x726ae
jmp 0x72673
jmp 0x72673
movq %rdx, %r15
movq %rax, %r12
jmp 0x72721
jmp 0x72673
movq %rdx, %r15
movq %rax, %r12
cmpl $0x0, (%r14)
jne 0x7270b
movl %ebx, (%r14)
jmp 0x7270b
jmp 0x7268d
movq %rdx, %r14
movq %rax, %r12
cmpl $0x0, (%r15)
jne 0x7269c
movl %ebx, (%r15)
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x726ae
callq 0x31d0
leaq -0x80(%rbp), %r13
movq %r14, %r15
jmp 0x72721
movq %rdx, %r15
movq %rax, %r12
jmp 0x7270b
jmp 0x726d1
movq %rdx, %r15
movq %rax, %r12
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
jmp 0x72713
movq %rdx, %r15
movq %rax, %r12
jmp 0x7271d
movq %rdx, %r15
movq %rax, %r12
cmpl $0x0, (%r14)
jne 0x7270b
movl %r13d, (%r14)
jmp 0x7270b
movq %rdx, %r15
movq %rax, %r12
cmpl $0x0, (%r14)
jne 0x726f9
movl %ebx, (%r14)
movq -0x70(%rbp), %rdi
leaq -0x60(%rbp), %rax
cmpq %rax, %rdi
je 0x7270b
callq 0x31d0
movq -0x50(%rbp), %rdi
leaq -0x40(%rbp), %rax
cmpq %rax, %rdi
je 0x7271d
callq 0x31d0
leaq -0x80(%rbp), %r13
movq -0x90(%rbp), %rdi
cmpq %r13, %rdi
je 0x72732
callq 0x31d0
cmpl $0x1, %r15d
jne 0x72776
movq %r12, %rdi
callq 0x30d0
movq 0x14889(%rip), %rdi     # 0x86fd0
leaq 0x7ff3(%rip), %rsi      # 0x7a741
movl $0x12, %edx
callq 0x3240
movq 0x14871(%rip), %rdi     # 0x86fd0
callq 0x3100
callq 0x3350
jmp 0x72483
movq %rax, %r12
callq 0x3350
movq %r12, %rdi
callq 0x33a0
movq %rax, %rdi
callq 0x2ab4b
movq %rdx, %r15
movq %rax, %r12
jmp 0x72732