// File: toxaart[P]hierarchical_block_sparse_lib/source/HierarchicalBlockSparseMatrix.h
// Function: hbsm::HierarchicalBlockSparseMatrix<double>::get_spamm_errors(hbsm::HierarchicalBlockSparseMatrix<double> const&, bool, hbsm::HierarchicalBlockSparseMatrix<double> const&, bool, std::vector<double, std::allocator<double>> const&)
std::vector<Treal> HierarchicalBlockSparseMatrix<Treal>::get_spamm_errors(HierarchicalBlockSparseMatrix<Treal> const & A, const bool tA, HierarchicalBlockSparseMatrix<Treal> const & B, const bool tB, std::vector<Treal> const & taus){



				// look at the current level
			 const int length = taus.size();
			 std::vector<real> curr_level_errors;

			 if(!worth_to_multiply(A, tA, B, tB)){
				 return curr_level_errors;
			 }

			 curr_level_errors.resize(length,0.0);

			 Treal A_norm = std::sqrt(A.get_frob_norm_squared_internal());
			 Treal B_norm = std::sqrt(B.get_frob_norm_squared_internal());

			 Treal product_of_norms = A_norm * B_norm;

			 for(int i = 0; i < length; ++i){

				 	 // ensure that not only matrix product is small enough, but also that it is not empty, which might be the case
					 if(product_of_norms < taus[i]) curr_level_errors[i] = product_of_norms;

			 }

			 if(A.lowest_level() && B.lowest_level()){
					 return curr_level_errors;
			 }

			 if(A.get_depth() < B.get_depth()){

 					bool B0 = false, B1 = false, B2 = false, B3 = false;
 					if(B.children[0] != NULL) B0 = true;
 					if(B.children[1] != NULL) B1 = true;
 					if(B.children[2] != NULL) B2 = true;
 					if(B.children[3] != NULL) B3 = true;

 					std::vector<real> sub_errors0,sub_errors1,sub_errors2,sub_errors3;

 					if(B0){
					  sub_errors0 = get_spamm_errors(A, tA, *B.children[0],tB, taus);
				  }
 					if(tB){
 						if(B2) sub_errors1 = get_spamm_errors(A, tA, *B.children[2], tB, taus);
 						if(B1) sub_errors2 = get_spamm_errors(A, tA, *B.children[1], tB, taus);
 					}
 					else{
 						if(B1) sub_errors1 = get_spamm_errors(A, tA, *B.children[1], tB, taus);
 						if(B2) sub_errors2 = get_spamm_errors(A, tA, *B.children[2], tB, taus);
 					}
 					if(B3) sub_errors3 = get_spamm_errors(A, tA, *B.children[3], tB, taus);

					if(sub_errors0.empty() && sub_errors1.empty() && sub_errors2.empty() && sub_errors3.empty()){
						return curr_level_errors;
					}

 					std::vector<std::vector<real> > all_suberrors;
 					all_suberrors.push_back(std::move(sub_errors0));
 					all_suberrors.push_back(std::move(sub_errors1));
 					all_suberrors.push_back(std::move(sub_errors2));
 					all_suberrors.push_back(std::move(sub_errors3));

 					return sum_spamm_errors(curr_level_errors, all_suberrors);
 			}

 			if(A.get_depth() > B.get_depth()){

 					bool A0 = false, A1 = false, A2 = false, A3 = false;

 					std::vector<real> sub_errors0,sub_errors1,sub_errors2,sub_errors3;

 					if(A.children[0] != NULL) A0 = true;
 					if(A.children[1] != NULL) A1 = true;
 					if(A.children[2] != NULL) A2 = true;
 					if(A.children[3] != NULL) A3 = true;

 					if(A0) sub_errors0 = get_spamm_errors(*A.children[0], tA, B, tB, taus);
 					if(tA){
 						if(A2) sub_errors1 = get_spamm_errors(*A.children[2], tA, B, tB, taus);
 						if(A1) sub_errors2 = get_spamm_errors(*A.children[1], tA, B, tB, taus);
 					}
 					else{
 						if(A1) sub_errors1 = get_spamm_errors(*A.children[1], tA, B, tB, taus);
 						if(A2) sub_errors2 = get_spamm_errors(*A.children[2], tA, B, tB, taus);
 					}
 					if(A3) sub_errors3 = get_spamm_errors(*A.children[3], tA, B, tB, taus);

					if(sub_errors0.empty() && sub_errors1.empty() && sub_errors2.empty() && sub_errors3.empty()){
						return curr_level_errors;
					}

					std::vector<std::vector<real> > all_suberrors;
					all_suberrors.push_back(std::move(sub_errors0));
					all_suberrors.push_back(std::move(sub_errors1));
					all_suberrors.push_back(std::move(sub_errors2));
					all_suberrors.push_back(std::move(sub_errors3));

 					return sum_spamm_errors(curr_level_errors, all_suberrors);
 			}

			bool A0 = false, A1 = false, A2 = false, A3 = false, B0 = false, B1 = false, B2 = false, B3 = false;

			if(A.children[0] != NULL) A0 = true;
			if(A.children[1] != NULL) A1 = true;
			if(A.children[2] != NULL) A2 = true;
			if(A.children[3] != NULL) A3 = true;

			if(B.children[0] != NULL) B0 = true;
			if(B.children[1] != NULL) B1 = true;
			if(B.children[2] != NULL) B2 = true;
			if(B.children[3] != NULL) B3 = true;

			std::vector<real> sub_errors0,sub_errors1,sub_errors2,sub_errors3,sub_errors4,sub_errors5,sub_errors6,sub_errors7;

			if(!tA && !tB){
					if(A0 && B0) sub_errors0 = get_spamm_errors(*A.children[0], tA, *B.children[0], tB, taus);

					if(A2 && B1) sub_errors1 = get_spamm_errors(*A.children[2], tA, *B.children[1], tB, taus);

					if(A1 && B0) sub_errors2 = get_spamm_errors(*A.children[1], tA, *B.children[0], tB, taus);

					if(A3 && B1) sub_errors3 = get_spamm_errors(*A.children[3], tA, *B.children[1], tB, taus);

					if(A0 && B2) sub_errors4 = get_spamm_errors(*A.children[0], tA, *B.children[2], tB, taus);

					if(A2 && B3) sub_errors5 = get_spamm_errors(*A.children[2], tA, *B.children[3], tB, taus);

					if(A1 && B2) sub_errors6 = get_spamm_errors(*A.children[1], tA, *B.children[2], tB, taus);

					if(A3 && B3) sub_errors7 = get_spamm_errors(*A.children[3], tA, *B.children[3], tB, taus);
 			}

			if(!tA && tB){
					if(A0 && B0) sub_errors0 = get_spamm_errors(*A.children[0], tA, *B.children[0], tB, taus);

					if(A2 && B2) sub_errors1 = get_spamm_errors(*A.children[2], tA, *B.children[2], tB, taus);

					if(A1 && B0) sub_errors2 = get_spamm_errors(*A.children[1], tA, *B.children[0], tB, taus);

					if(A3 && B2) sub_errors3 = get_spamm_errors(*A.children[3], tA, *B.children[2], tB, taus);

					if(A0 && B1) sub_errors4 = get_spamm_errors(*A.children[0], tA, *B.children[1], tB, taus);

					if(A2 && B3) sub_errors5 = get_spamm_errors(*A.children[2], tA, *B.children[3], tB, taus);

					if(A1 && B1) sub_errors6 = get_spamm_errors(*A.children[1], tA, *B.children[1], tB, taus);

					if(A3 && B3) sub_errors7 = get_spamm_errors(*A.children[3], tA, *B.children[3], tB, taus);
			}

			if(tA && !tB){
					if(A0 && B0) sub_errors0 = get_spamm_errors(*A.children[0], tA, *B.children[0], tB, taus);

					if(A1 && B1) sub_errors1 = get_spamm_errors(*A.children[1], tA, *B.children[1], tB, taus);

					if(A2 && B0) sub_errors2 = get_spamm_errors(*A.children[2], tA, *B.children[0], tB, taus);

					if(A3 && B1) sub_errors3 = get_spamm_errors(*A.children[3], tA, *B.children[1], tB, taus);

					if(A0 && B2) sub_errors4 = get_spamm_errors(*A.children[0], tA, *B.children[2], tB, taus);

					if(A1 && B3) sub_errors5 = get_spamm_errors(*A.children[1], tA, *B.children[3], tB, taus);

					if(A2 && B2) sub_errors6 = get_spamm_errors(*A.children[2], tA, *B.children[2], tB, taus);

					if(A3 && B3) sub_errors7 = get_spamm_errors(*A.children[3], tA, *B.children[3], tB, taus);
			}

			if(tA && tB){
					if(A0 && B0) sub_errors0 = get_spamm_errors(*A.children[0], tA, *B.children[0], tB, taus);

					if(A1 && B2) sub_errors1 = get_spamm_errors(*A.children[1], tA, *B.children[2], tB, taus);

					if(A2 && B0) sub_errors2 = get_spamm_errors(*A.children[2], tA, *B.children[0], tB, taus);

					if(A3 && B2) sub_errors3 = get_spamm_errors(*A.children[3], tA, *B.children[2], tB, taus);

					if(A0 && B1) sub_errors4 = get_spamm_errors(*A.children[0], tA, *B.children[1], tB, taus);

					if(A1 && B3) sub_errors5 = get_spamm_errors(*A.children[1], tA, *B.children[3], tB, taus);

					if(A2 && B1) sub_errors6 = get_spamm_errors(*A.children[2], tA, *B.children[1], tB, taus);

					if(A3 && B3) sub_errors7 = get_spamm_errors(*A.children[3], tA, *B.children[3], tB, taus);
			}

			if(sub_errors0.empty() && sub_errors1.empty() && sub_errors2.empty() && sub_errors3.empty() &&
				 sub_errors4.empty() && sub_errors5.empty() && sub_errors6.empty() && sub_errors7.empty() ){
				return curr_level_errors;
			}

			std::vector<std::vector<real> > all_suberrors;

			if(sub_errors0.empty() && sub_errors1.empty()) all_suberrors.push_back(sub_errors0);
			if(sub_errors0.empty() && !sub_errors1.empty()) all_suberrors.push_back(sub_errors1);
			if(!sub_errors0.empty() && sub_errors1.empty()) all_suberrors.push_back(sub_errors0);
			if(!sub_errors0.empty() && !sub_errors1.empty()) all_suberrors.push_back(sub_errors0+sub_errors1);

			if(sub_errors2.empty() && sub_errors3.empty()) all_suberrors.push_back(sub_errors2);
			if(sub_errors2.empty() && !sub_errors3.empty()) all_suberrors.push_back(sub_errors3);
			if(!sub_errors2.empty() && sub_errors3.empty()) all_suberrors.push_back(sub_errors2);
			if(!sub_errors2.empty() && !sub_errors3.empty()) all_suberrors.push_back(sub_errors2+sub_errors3);

			if(sub_errors4.empty() && sub_errors5.empty()) all_suberrors.push_back(sub_errors4);
			if(sub_errors4.empty() && !sub_errors5.empty()) all_suberrors.push_back(sub_errors5);
			if(!sub_errors4.empty() && sub_errors5.empty()) all_suberrors.push_back(sub_errors4);
			if(!sub_errors4.empty() && !sub_errors5.empty()) all_suberrors.push_back(sub_errors4+sub_errors5);

			if(sub_errors6.empty() && sub_errors7.empty()) all_suberrors.push_back(sub_errors6);
			if(sub_errors6.empty() && !sub_errors7.empty()) all_suberrors.push_back(sub_errors7);
			if(!sub_errors6.empty() && sub_errors7.empty()) all_suberrors.push_back(sub_errors6);
			if(!sub_errors6.empty() && !sub_errors7.empty()) all_suberrors.push_back(sub_errors6+sub_errors7);

			return sum_spamm_errors(curr_level_errors, all_suberrors);

		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x990, %rsp            # imm = 0x990
movq %rdi, -0x6f8(%rbp)
movb %r8b, %al
movq %rdi, %r8
movq %r8, -0x6f0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
andb $0x1, %dl
movb %dl, -0x11(%rbp)
movq %rcx, -0x20(%rbp)
andb $0x1, %al
movb %al, -0x21(%rbp)
movq %r9, -0x30(%rbp)
movq -0x30(%rbp), %rdi
callq 0x22b40
movl %eax, -0x34(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x10e80
movq -0x10(%rbp), %rdi
movq -0x20(%rbp), %rdx
movzbl -0x21(%rbp), %ecx
movzbl -0x11(%rbp), %esi
andl $0x1, %esi
andl $0x1, %ecx
callq 0x113a0
movb %al, -0x6e1(%rbp)
jmp 0x20532
movb -0x6e1(%rbp), %al
testb $0x1, %al
jne 0x2056b
jmp 0x2053e
movq -0x6f8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x320e0
movl $0x1, -0x60(%rbp)
jmp 0x22b0a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x22b23
movslq -0x34(%rbp), %rsi
movq $0x0, -0x68(%rbp)
leaq -0x50(%rbp), %rdi
leaq -0x68(%rbp), %rdx
callq 0x32110
jmp 0x20586
movq -0x10(%rbp), %rdi
callq 0x2ffd0
callq 0x2180
movsd %xmm0, -0x70(%rbp)
movq -0x20(%rbp), %rdi
callq 0x2ffd0
callq 0x2180
movsd %xmm0, -0x78(%rbp)
movsd -0x70(%rbp), %xmm0
mulsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x80(%rbp)
movl $0x0, -0x84(%rbp)
movl -0x84(%rbp), %eax
cmpl -0x34(%rbp), %eax
jge 0x2063b
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x700(%rbp)
movq -0x30(%rbp), %rdi
movslq -0x84(%rbp), %rsi
callq 0x245a0
movsd -0x700(%rbp), %xmm1
movsd (%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x20628
movsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x708(%rbp)
movslq -0x84(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x22b60
movsd -0x708(%rbp), %xmm0
movsd %xmm0, (%rax)
jmp 0x2062a
movl -0x84(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x84(%rbp)
jmp 0x205c5
movq -0x10(%rbp), %rdi
callq 0x23500
testb $0x1, %al
jne 0x2064a
jmp 0x20675
movq -0x20(%rbp), %rdi
callq 0x23500
testb $0x1, %al
jne 0x20659
jmp 0x20675
movq -0x6f8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x320e0
movl $0x1, -0x60(%rbp)
jmp 0x22b0a
movq -0x10(%rbp), %rdi
callq 0x10f40
movl %eax, -0x70c(%rbp)
jmp 0x20686
movq -0x20(%rbp), %rdi
callq 0x10f40
movl %eax, -0x710(%rbp)
jmp 0x20697
movl -0x70c(%rbp), %eax
movl -0x710(%rbp), %ecx
cmpl %ecx, %eax
jge 0x20bf0
movb $0x0, -0x85(%rbp)
movb $0x0, -0x86(%rbp)
movb $0x0, -0x87(%rbp)
movb $0x0, -0x88(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x206de
jmp 0x206e5
movb $0x1, -0x85(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x20700
jmp 0x20707
movb $0x1, -0x86(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x20722
jmp 0x20729
movb $0x1, -0x87(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
addq $0x30, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x20744
jmp 0x2074b
movb $0x1, -0x88(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x10e80
leaq -0xb8(%rbp), %rdi
callq 0x10e80
leaq -0xd0(%rbp), %rdi
callq 0x10e80
leaq -0xe8(%rbp), %rdi
callq 0x10e80
testb $0x1, -0x85(%rbp)
je 0x2080a
movq -0x10(%rbp), %rax
movq %rax, -0x718(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x71c(%rbp)
callq 0x24630
movl -0x71c(%rbp), %edx
movq -0x718(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x100(%rbp), %rdi
callq 0x204c0
jmp 0x207d8
leaq -0xa0(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0x321c0
leaq -0x100(%rbp), %rdi
callq 0x112e0
jmp 0x2080a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x20bbb
testb $0x1, -0x21(%rbp)
je 0x20909
testb $0x1, -0x87(%rbp)
je 0x2088c
movq -0x10(%rbp), %rax
movq %rax, -0x728(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x72c(%rbp)
callq 0x24630
movl -0x72c(%rbp), %edx
movq -0x728(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x118(%rbp), %rdi
callq 0x204c0
jmp 0x2086d
leaq -0xb8(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x321c0
leaq -0x118(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x86(%rbp)
je 0x20904
movq -0x10(%rbp), %rax
movq %rax, -0x738(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x73c(%rbp)
callq 0x24630
movl -0x73c(%rbp), %edx
movq -0x738(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x130(%rbp), %rdi
callq 0x204c0
jmp 0x208e5
leaq -0xd0(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x321c0
leaq -0x130(%rbp), %rdi
callq 0x112e0
jmp 0x209fb
testb $0x1, -0x86(%rbp)
je 0x20981
movq -0x10(%rbp), %rax
movq %rax, -0x748(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x74c(%rbp)
callq 0x24630
movl -0x74c(%rbp), %edx
movq -0x748(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x148(%rbp), %rdi
callq 0x204c0
jmp 0x20962
leaq -0xb8(%rbp), %rdi
leaq -0x148(%rbp), %rsi
callq 0x321c0
leaq -0x148(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x87(%rbp)
je 0x209f9
movq -0x10(%rbp), %rax
movq %rax, -0x758(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x75c(%rbp)
callq 0x24630
movl -0x75c(%rbp), %edx
movq -0x758(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x160(%rbp), %rdi
callq 0x204c0
jmp 0x209da
leaq -0xd0(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0x321c0
leaq -0x160(%rbp), %rdi
callq 0x112e0
jmp 0x209fb
testb $0x1, -0x88(%rbp)
je 0x20a73
movq -0x10(%rbp), %rax
movq %rax, -0x768(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x76c(%rbp)
callq 0x24630
movl -0x76c(%rbp), %edx
movq -0x768(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x178(%rbp), %rdi
callq 0x204c0
jmp 0x20a54
leaq -0xe8(%rbp), %rdi
leaq -0x178(%rbp), %rsi
callq 0x321c0
leaq -0x178(%rbp), %rdi
callq 0x112e0
leaq -0xa0(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x20a85
jmp 0x20ad7
leaq -0xb8(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x20a97
jmp 0x20ad7
leaq -0xd0(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x20aa9
jmp 0x20ad7
leaq -0xe8(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x20abb
jmp 0x20ad7
movq -0x6f8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x320e0
movl $0x1, -0x60(%rbp)
jmp 0x20b86
leaq -0x190(%rbp), %rdi
movq %rdi, -0x778(%rbp)
callq 0x321f0
movq -0x778(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x32210
jmp 0x20aff
leaq -0x190(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0x32210
jmp 0x20b14
leaq -0x190(%rbp), %rdi
leaq -0xd0(%rbp), %rsi
callq 0x32210
jmp 0x20b29
leaq -0x190(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x32210
jmp 0x20b3e
movq -0x6f8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
leaq -0x190(%rbp), %rdx
callq 0x32240
jmp 0x20b57
movl $0x1, -0x60(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x32430
jmp 0x20b86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x190(%rbp), %rdi
callq 0x32430
jmp 0x20bbb
leaq -0xe8(%rbp), %rdi
callq 0x112e0
leaq -0xd0(%rbp), %rdi
callq 0x112e0
leaq -0xb8(%rbp), %rdi
callq 0x112e0
leaq -0xa0(%rbp), %rdi
callq 0x112e0
jmp 0x22b0a
leaq -0xe8(%rbp), %rdi
callq 0x112e0
leaq -0xd0(%rbp), %rdi
callq 0x112e0
leaq -0xb8(%rbp), %rdi
callq 0x112e0
leaq -0xa0(%rbp), %rdi
callq 0x112e0
jmp 0x22b23
movq -0x10(%rbp), %rdi
callq 0x10f40
movl %eax, -0x77c(%rbp)
jmp 0x20c01
movq -0x20(%rbp), %rdi
callq 0x10f40
movl %eax, -0x780(%rbp)
jmp 0x20c12
movl -0x77c(%rbp), %eax
movl -0x780(%rbp), %ecx
cmpl %ecx, %eax
jle 0x210cb
movb $0x0, -0x191(%rbp)
movb $0x0, -0x192(%rbp)
movb $0x0, -0x193(%rbp)
movb $0x0, -0x194(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x10e80
leaq -0x1c8(%rbp), %rdi
callq 0x10e80
leaq -0x1e0(%rbp), %rdi
callq 0x10e80
leaq -0x1f8(%rbp), %rdi
callq 0x10e80
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x20c89
jmp 0x20c90
movb $0x1, -0x191(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x20cab
jmp 0x20cb2
movb $0x1, -0x192(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x20ccd
jmp 0x20cd4
movb $0x1, -0x193(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
addq $0x30, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x20cef
jmp 0x20cf6
movb $0x1, -0x194(%rbp)
testb $0x1, -0x191(%rbp)
je 0x20d67
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, %rsi
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
movzbl -0x11(%rbp), %edx
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x210(%rbp), %rdi
callq 0x204c0
jmp 0x20d35
leaq -0x1b0(%rbp), %rdi
leaq -0x210(%rbp), %rsi
callq 0x321c0
leaq -0x210(%rbp), %rdi
callq 0x112e0
jmp 0x20d67
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x21096
testb $0x1, -0x11(%rbp)
je 0x20e32
testb $0x1, -0x193(%rbp)
je 0x20dcf
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, %rsi
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
movzbl -0x11(%rbp), %edx
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x228(%rbp), %rdi
callq 0x204c0
jmp 0x20db0
leaq -0x1c8(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x321c0
leaq -0x228(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x192(%rbp)
je 0x20e2d
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, %rsi
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
movzbl -0x11(%rbp), %edx
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x240(%rbp), %rdi
callq 0x204c0
jmp 0x20e0e
leaq -0x1e0(%rbp), %rdi
leaq -0x240(%rbp), %rsi
callq 0x321c0
leaq -0x240(%rbp), %rdi
callq 0x112e0
jmp 0x20ef0
testb $0x1, -0x192(%rbp)
je 0x20e90
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, %rsi
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
movzbl -0x11(%rbp), %edx
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x258(%rbp), %rdi
callq 0x204c0
jmp 0x20e71
leaq -0x1c8(%rbp), %rdi
leaq -0x258(%rbp), %rsi
callq 0x321c0
leaq -0x258(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x193(%rbp)
je 0x20eee
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, %rsi
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
movzbl -0x11(%rbp), %edx
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x270(%rbp), %rdi
callq 0x204c0
jmp 0x20ecf
leaq -0x1e0(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0x321c0
leaq -0x270(%rbp), %rdi
callq 0x112e0
jmp 0x20ef0
testb $0x1, -0x194(%rbp)
je 0x20f4e
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, %rsi
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
movzbl -0x11(%rbp), %edx
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x288(%rbp), %rdi
callq 0x204c0
jmp 0x20f2f
leaq -0x1f8(%rbp), %rdi
leaq -0x288(%rbp), %rsi
callq 0x321c0
leaq -0x288(%rbp), %rdi
callq 0x112e0
leaq -0x1b0(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x20f60
jmp 0x20fb2
leaq -0x1c8(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x20f72
jmp 0x20fb2
leaq -0x1e0(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x20f84
jmp 0x20fb2
leaq -0x1f8(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x20f96
jmp 0x20fb2
movq -0x6f8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x320e0
movl $0x1, -0x60(%rbp)
jmp 0x21061
leaq -0x2a0(%rbp), %rdi
movq %rdi, -0x788(%rbp)
callq 0x321f0
movq -0x788(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x32210
jmp 0x20fda
leaq -0x2a0(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x32210
jmp 0x20fef
leaq -0x2a0(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x32210
jmp 0x21004
leaq -0x2a0(%rbp), %rdi
leaq -0x1f8(%rbp), %rsi
callq 0x32210
jmp 0x21019
movq -0x6f8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
leaq -0x2a0(%rbp), %rdx
callq 0x32240
jmp 0x21032
movl $0x1, -0x60(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x32430
jmp 0x21061
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0x32430
jmp 0x21096
leaq -0x1f8(%rbp), %rdi
callq 0x112e0
leaq -0x1e0(%rbp), %rdi
callq 0x112e0
leaq -0x1c8(%rbp), %rdi
callq 0x112e0
leaq -0x1b0(%rbp), %rdi
callq 0x112e0
jmp 0x22b0a
leaq -0x1f8(%rbp), %rdi
callq 0x112e0
leaq -0x1e0(%rbp), %rdi
callq 0x112e0
leaq -0x1c8(%rbp), %rdi
callq 0x112e0
leaq -0x1b0(%rbp), %rdi
callq 0x112e0
jmp 0x22b23
movb $0x0, -0x2a1(%rbp)
movb $0x0, -0x2a2(%rbp)
movb $0x0, -0x2a3(%rbp)
movb $0x0, -0x2a4(%rbp)
movb $0x0, -0x2a5(%rbp)
movb $0x0, -0x2a6(%rbp)
movb $0x0, -0x2a7(%rbp)
movb $0x0, -0x2a8(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x2111a
jmp 0x21121
movb $0x1, -0x2a1(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x2113c
jmp 0x21143
movb $0x1, -0x2a2(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x2115e
jmp 0x21165
movb $0x1, -0x2a3(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
addq $0x30, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x21180
jmp 0x21187
movb $0x1, -0x2a4(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x2119e
jmp 0x211a5
movb $0x1, -0x2a5(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x211c0
jmp 0x211c7
movb $0x1, -0x2a6(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x211e2
jmp 0x211e9
movb $0x1, -0x2a7(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
addq $0x30, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x21204
jmp 0x2120b
movb $0x1, -0x2a8(%rbp)
leaq -0x2c0(%rbp), %rdi
callq 0x10e80
leaq -0x2d8(%rbp), %rdi
callq 0x10e80
leaq -0x2f0(%rbp), %rdi
callq 0x10e80
leaq -0x308(%rbp), %rdi
callq 0x10e80
leaq -0x320(%rbp), %rdi
callq 0x10e80
leaq -0x338(%rbp), %rdi
callq 0x10e80
leaq -0x350(%rbp), %rdi
callq 0x10e80
leaq -0x368(%rbp), %rdi
callq 0x10e80
testb $0x1, -0x11(%rbp)
jne 0x21708
testb $0x1, -0x21(%rbp)
jne 0x21708
testb $0x1, -0x2a1(%rbp)
je 0x21324
testb $0x1, -0x2a5(%rbp)
je 0x21324
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0x790(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x794(%rbp)
callq 0x24630
movl -0x794(%rbp), %edx
movq -0x790(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x380(%rbp), %rdi
callq 0x204c0
jmp 0x212f2
leaq -0x2c0(%rbp), %rdi
leaq -0x380(%rbp), %rsi
callq 0x321c0
leaq -0x380(%rbp), %rdi
callq 0x112e0
jmp 0x21324
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x22aa8
testb $0x1, -0x2a3(%rbp)
je 0x213b2
testb $0x1, -0x2a6(%rbp)
je 0x213b2
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0x7a0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x7a4(%rbp)
callq 0x24630
movl -0x7a4(%rbp), %edx
movq -0x7a0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x398(%rbp), %rdi
callq 0x204c0
jmp 0x21393
leaq -0x2d8(%rbp), %rdi
leaq -0x398(%rbp), %rsi
callq 0x321c0
leaq -0x398(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a2(%rbp)
je 0x21440
testb $0x1, -0x2a5(%rbp)
je 0x21440
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0x7b0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x7b4(%rbp)
callq 0x24630
movl -0x7b4(%rbp), %edx
movq -0x7b0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x3b0(%rbp), %rdi
callq 0x204c0
jmp 0x21421
leaq -0x2f0(%rbp), %rdi
leaq -0x3b0(%rbp), %rsi
callq 0x321c0
leaq -0x3b0(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a4(%rbp)
je 0x214ce
testb $0x1, -0x2a6(%rbp)
je 0x214ce
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0x7c0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x7c4(%rbp)
callq 0x24630
movl -0x7c4(%rbp), %edx
movq -0x7c0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x3c8(%rbp), %rdi
callq 0x204c0
jmp 0x214af
leaq -0x308(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
callq 0x321c0
leaq -0x3c8(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a1(%rbp)
je 0x2155c
testb $0x1, -0x2a7(%rbp)
je 0x2155c
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0x7d0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x7d4(%rbp)
callq 0x24630
movl -0x7d4(%rbp), %edx
movq -0x7d0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x3e0(%rbp), %rdi
callq 0x204c0
jmp 0x2153d
leaq -0x320(%rbp), %rdi
leaq -0x3e0(%rbp), %rsi
callq 0x321c0
leaq -0x3e0(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a3(%rbp)
je 0x215ea
testb $0x1, -0x2a8(%rbp)
je 0x215ea
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0x7e0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x7e4(%rbp)
callq 0x24630
movl -0x7e4(%rbp), %edx
movq -0x7e0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x3f8(%rbp), %rdi
callq 0x204c0
jmp 0x215cb
leaq -0x338(%rbp), %rdi
leaq -0x3f8(%rbp), %rsi
callq 0x321c0
leaq -0x3f8(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a2(%rbp)
je 0x21678
testb $0x1, -0x2a7(%rbp)
je 0x21678
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0x7f0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x7f4(%rbp)
callq 0x24630
movl -0x7f4(%rbp), %edx
movq -0x7f0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x410(%rbp), %rdi
callq 0x204c0
jmp 0x21659
leaq -0x350(%rbp), %rdi
leaq -0x410(%rbp), %rsi
callq 0x321c0
leaq -0x410(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a4(%rbp)
je 0x21706
testb $0x1, -0x2a8(%rbp)
je 0x21706
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0x800(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x804(%rbp)
callq 0x24630
movl -0x804(%rbp), %edx
movq -0x800(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x428(%rbp), %rdi
callq 0x204c0
jmp 0x216e7
leaq -0x368(%rbp), %rdi
leaq -0x428(%rbp), %rsi
callq 0x321c0
leaq -0x428(%rbp), %rdi
callq 0x112e0
jmp 0x21708
testb $0x1, -0x11(%rbp)
jne 0x21b8e
testb $0x1, -0x21(%rbp)
je 0x21b8e
testb $0x1, -0x2a1(%rbp)
je 0x217aa
testb $0x1, -0x2a5(%rbp)
je 0x217aa
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0x810(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x814(%rbp)
callq 0x24630
movl -0x814(%rbp), %edx
movq -0x810(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x440(%rbp), %rdi
callq 0x204c0
jmp 0x2178b
leaq -0x2c0(%rbp), %rdi
leaq -0x440(%rbp), %rsi
callq 0x321c0
leaq -0x440(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a3(%rbp)
je 0x21838
testb $0x1, -0x2a7(%rbp)
je 0x21838
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0x820(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x824(%rbp)
callq 0x24630
movl -0x824(%rbp), %edx
movq -0x820(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x458(%rbp), %rdi
callq 0x204c0
jmp 0x21819
leaq -0x2d8(%rbp), %rdi
leaq -0x458(%rbp), %rsi
callq 0x321c0
leaq -0x458(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a2(%rbp)
je 0x218c6
testb $0x1, -0x2a5(%rbp)
je 0x218c6
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0x830(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x834(%rbp)
callq 0x24630
movl -0x834(%rbp), %edx
movq -0x830(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x470(%rbp), %rdi
callq 0x204c0
jmp 0x218a7
leaq -0x2f0(%rbp), %rdi
leaq -0x470(%rbp), %rsi
callq 0x321c0
leaq -0x470(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a4(%rbp)
je 0x21954
testb $0x1, -0x2a7(%rbp)
je 0x21954
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0x840(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x844(%rbp)
callq 0x24630
movl -0x844(%rbp), %edx
movq -0x840(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x488(%rbp), %rdi
callq 0x204c0
jmp 0x21935
leaq -0x308(%rbp), %rdi
leaq -0x488(%rbp), %rsi
callq 0x321c0
leaq -0x488(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a1(%rbp)
je 0x219e2
testb $0x1, -0x2a6(%rbp)
je 0x219e2
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0x850(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x854(%rbp)
callq 0x24630
movl -0x854(%rbp), %edx
movq -0x850(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x4a0(%rbp), %rdi
callq 0x204c0
jmp 0x219c3
leaq -0x320(%rbp), %rdi
leaq -0x4a0(%rbp), %rsi
callq 0x321c0
leaq -0x4a0(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a3(%rbp)
je 0x21a70
testb $0x1, -0x2a8(%rbp)
je 0x21a70
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0x860(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x864(%rbp)
callq 0x24630
movl -0x864(%rbp), %edx
movq -0x860(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x4b8(%rbp), %rdi
callq 0x204c0
jmp 0x21a51
leaq -0x338(%rbp), %rdi
leaq -0x4b8(%rbp), %rsi
callq 0x321c0
leaq -0x4b8(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a2(%rbp)
je 0x21afe
testb $0x1, -0x2a6(%rbp)
je 0x21afe
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0x870(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x874(%rbp)
callq 0x24630
movl -0x874(%rbp), %edx
movq -0x870(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x4d0(%rbp), %rdi
callq 0x204c0
jmp 0x21adf
leaq -0x350(%rbp), %rdi
leaq -0x4d0(%rbp), %rsi
callq 0x321c0
leaq -0x4d0(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a4(%rbp)
je 0x21b8c
testb $0x1, -0x2a8(%rbp)
je 0x21b8c
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0x880(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x884(%rbp)
callq 0x24630
movl -0x884(%rbp), %edx
movq -0x880(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x4e8(%rbp), %rdi
callq 0x204c0
jmp 0x21b6d
leaq -0x368(%rbp), %rdi
leaq -0x4e8(%rbp), %rsi
callq 0x321c0
leaq -0x4e8(%rbp), %rdi
callq 0x112e0
jmp 0x21b8e
testb $0x1, -0x11(%rbp)
je 0x22014
testb $0x1, -0x21(%rbp)
jne 0x22014
testb $0x1, -0x2a1(%rbp)
je 0x21c30
testb $0x1, -0x2a5(%rbp)
je 0x21c30
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0x890(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x894(%rbp)
callq 0x24630
movl -0x894(%rbp), %edx
movq -0x890(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x500(%rbp), %rdi
callq 0x204c0
jmp 0x21c11
leaq -0x2c0(%rbp), %rdi
leaq -0x500(%rbp), %rsi
callq 0x321c0
leaq -0x500(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a2(%rbp)
je 0x21cbe
testb $0x1, -0x2a6(%rbp)
je 0x21cbe
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0x8a0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x8a4(%rbp)
callq 0x24630
movl -0x8a4(%rbp), %edx
movq -0x8a0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x518(%rbp), %rdi
callq 0x204c0
jmp 0x21c9f
leaq -0x2d8(%rbp), %rdi
leaq -0x518(%rbp), %rsi
callq 0x321c0
leaq -0x518(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a3(%rbp)
je 0x21d4c
testb $0x1, -0x2a5(%rbp)
je 0x21d4c
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0x8b0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x8b4(%rbp)
callq 0x24630
movl -0x8b4(%rbp), %edx
movq -0x8b0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x530(%rbp), %rdi
callq 0x204c0
jmp 0x21d2d
leaq -0x2f0(%rbp), %rdi
leaq -0x530(%rbp), %rsi
callq 0x321c0
leaq -0x530(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a4(%rbp)
je 0x21dda
testb $0x1, -0x2a6(%rbp)
je 0x21dda
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0x8c0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x8c4(%rbp)
callq 0x24630
movl -0x8c4(%rbp), %edx
movq -0x8c0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x548(%rbp), %rdi
callq 0x204c0
jmp 0x21dbb
leaq -0x308(%rbp), %rdi
leaq -0x548(%rbp), %rsi
callq 0x321c0
leaq -0x548(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a1(%rbp)
je 0x21e68
testb $0x1, -0x2a7(%rbp)
je 0x21e68
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0x8d0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x8d4(%rbp)
callq 0x24630
movl -0x8d4(%rbp), %edx
movq -0x8d0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x560(%rbp), %rdi
callq 0x204c0
jmp 0x21e49
leaq -0x320(%rbp), %rdi
leaq -0x560(%rbp), %rsi
callq 0x321c0
leaq -0x560(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a2(%rbp)
je 0x21ef6
testb $0x1, -0x2a8(%rbp)
je 0x21ef6
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0x8e0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x8e4(%rbp)
callq 0x24630
movl -0x8e4(%rbp), %edx
movq -0x8e0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x578(%rbp), %rdi
callq 0x204c0
jmp 0x21ed7
leaq -0x338(%rbp), %rdi
leaq -0x578(%rbp), %rsi
callq 0x321c0
leaq -0x578(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a3(%rbp)
je 0x21f84
testb $0x1, -0x2a7(%rbp)
je 0x21f84
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0x8f0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x8f4(%rbp)
callq 0x24630
movl -0x8f4(%rbp), %edx
movq -0x8f0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x590(%rbp), %rdi
callq 0x204c0
jmp 0x21f65
leaq -0x350(%rbp), %rdi
leaq -0x590(%rbp), %rsi
callq 0x321c0
leaq -0x590(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a4(%rbp)
je 0x22012
testb $0x1, -0x2a8(%rbp)
je 0x22012
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0x900(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x904(%rbp)
callq 0x24630
movl -0x904(%rbp), %edx
movq -0x900(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x5a8(%rbp), %rdi
callq 0x204c0
jmp 0x21ff3
leaq -0x368(%rbp), %rdi
leaq -0x5a8(%rbp), %rsi
callq 0x321c0
leaq -0x5a8(%rbp), %rdi
callq 0x112e0
jmp 0x22014
testb $0x1, -0x11(%rbp)
je 0x2249a
testb $0x1, -0x21(%rbp)
je 0x2249a
testb $0x1, -0x2a1(%rbp)
je 0x220b6
testb $0x1, -0x2a5(%rbp)
je 0x220b6
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0x910(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x914(%rbp)
callq 0x24630
movl -0x914(%rbp), %edx
movq -0x910(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x5c0(%rbp), %rdi
callq 0x204c0
jmp 0x22097
leaq -0x2c0(%rbp), %rdi
leaq -0x5c0(%rbp), %rsi
callq 0x321c0
leaq -0x5c0(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a2(%rbp)
je 0x22144
testb $0x1, -0x2a7(%rbp)
je 0x22144
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0x920(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x924(%rbp)
callq 0x24630
movl -0x924(%rbp), %edx
movq -0x920(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x5d8(%rbp), %rdi
callq 0x204c0
jmp 0x22125
leaq -0x2d8(%rbp), %rdi
leaq -0x5d8(%rbp), %rsi
callq 0x321c0
leaq -0x5d8(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a3(%rbp)
je 0x221d2
testb $0x1, -0x2a5(%rbp)
je 0x221d2
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0x930(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x934(%rbp)
callq 0x24630
movl -0x934(%rbp), %edx
movq -0x930(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x5f0(%rbp), %rdi
callq 0x204c0
jmp 0x221b3
leaq -0x2f0(%rbp), %rdi
leaq -0x5f0(%rbp), %rsi
callq 0x321c0
leaq -0x5f0(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a4(%rbp)
je 0x22260
testb $0x1, -0x2a7(%rbp)
je 0x22260
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0x940(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x944(%rbp)
callq 0x24630
movl -0x944(%rbp), %edx
movq -0x940(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x608(%rbp), %rdi
callq 0x204c0
jmp 0x22241
leaq -0x308(%rbp), %rdi
leaq -0x608(%rbp), %rsi
callq 0x321c0
leaq -0x608(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a1(%rbp)
je 0x222ee
testb $0x1, -0x2a6(%rbp)
je 0x222ee
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0x950(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x954(%rbp)
callq 0x24630
movl -0x954(%rbp), %edx
movq -0x950(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x620(%rbp), %rdi
callq 0x204c0
jmp 0x222cf
leaq -0x320(%rbp), %rdi
leaq -0x620(%rbp), %rsi
callq 0x321c0
leaq -0x620(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a2(%rbp)
je 0x2237c
testb $0x1, -0x2a8(%rbp)
je 0x2237c
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0x960(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x964(%rbp)
callq 0x24630
movl -0x964(%rbp), %edx
movq -0x960(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x638(%rbp), %rdi
callq 0x204c0
jmp 0x2235d
leaq -0x338(%rbp), %rdi
leaq -0x638(%rbp), %rsi
callq 0x321c0
leaq -0x638(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a3(%rbp)
je 0x2240a
testb $0x1, -0x2a6(%rbp)
je 0x2240a
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0x970(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x974(%rbp)
callq 0x24630
movl -0x974(%rbp), %edx
movq -0x970(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x650(%rbp), %rdi
callq 0x204c0
jmp 0x223eb
leaq -0x350(%rbp), %rdi
leaq -0x650(%rbp), %rsi
callq 0x321c0
leaq -0x650(%rbp), %rdi
callq 0x112e0
testb $0x1, -0x2a4(%rbp)
je 0x22498
testb $0x1, -0x2a8(%rbp)
je 0x22498
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0x980(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x984(%rbp)
callq 0x24630
movl -0x984(%rbp), %edx
movq -0x980(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movzbl -0x21(%rbp), %r8d
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x668(%rbp), %rdi
callq 0x204c0
jmp 0x22479
leaq -0x368(%rbp), %rdi
leaq -0x668(%rbp), %rsi
callq 0x321c0
leaq -0x668(%rbp), %rdi
callq 0x112e0
jmp 0x2249a
leaq -0x2c0(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x224af
jmp 0x2254c
leaq -0x2d8(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x224c4
jmp 0x2254c
leaq -0x2f0(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x224d6
jmp 0x2254c
leaq -0x308(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x224e8
jmp 0x2254c
leaq -0x320(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x224fa
jmp 0x2254c
leaq -0x338(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x2250c
jmp 0x2254c
leaq -0x350(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x2251e
jmp 0x2254c
leaq -0x368(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22530
jmp 0x2254c
movq -0x6f8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x320e0
movl $0x1, -0x60(%rbp)
jmp 0x22a46
leaq -0x680(%rbp), %rdi
callq 0x321f0
leaq -0x2c0(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x2256a
jmp 0x225a4
leaq -0x2d8(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x2257c
jmp 0x225a4
leaq -0x680(%rbp), %rdi
leaq -0x2c0(%rbp), %rsi
callq 0x32490
jmp 0x22591
jmp 0x225a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x22a38
leaq -0x2c0(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x225b6
jmp 0x225dd
leaq -0x2d8(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x225dd
leaq -0x680(%rbp), %rdi
leaq -0x2d8(%rbp), %rsi
callq 0x32490
jmp 0x225db
jmp 0x225dd
leaq -0x2c0(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22616
leaq -0x2d8(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x225ff
jmp 0x22616
leaq -0x680(%rbp), %rdi
leaq -0x2c0(%rbp), %rsi
callq 0x32490
jmp 0x22614
jmp 0x22616
leaq -0x2c0(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22692
leaq -0x2d8(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22692
leaq -0x698(%rbp), %rdi
leaq -0x2c0(%rbp), %rsi
leaq -0x2d8(%rbp), %rdx
callq 0x32500
jmp 0x22652
leaq -0x680(%rbp), %rdi
leaq -0x698(%rbp), %rsi
callq 0x32210
jmp 0x22667
leaq -0x698(%rbp), %rdi
callq 0x112e0
jmp 0x22692
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x698(%rbp), %rdi
callq 0x112e0
jmp 0x22a38
leaq -0x2f0(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x226a4
jmp 0x226cd
leaq -0x308(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x226b6
jmp 0x226cd
leaq -0x680(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x32490
jmp 0x226cb
jmp 0x226cd
leaq -0x2f0(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x226df
jmp 0x22706
leaq -0x308(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22706
leaq -0x680(%rbp), %rdi
leaq -0x308(%rbp), %rsi
callq 0x32490
jmp 0x22704
jmp 0x22706
leaq -0x2f0(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x2273f
leaq -0x308(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22728
jmp 0x2273f
leaq -0x680(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x32490
jmp 0x2273d
jmp 0x2273f
leaq -0x2f0(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x227bb
leaq -0x308(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x227bb
leaq -0x6b0(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
leaq -0x308(%rbp), %rdx
callq 0x32500
jmp 0x2277b
leaq -0x680(%rbp), %rdi
leaq -0x6b0(%rbp), %rsi
callq 0x32210
jmp 0x22790
leaq -0x6b0(%rbp), %rdi
callq 0x112e0
jmp 0x227bb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x6b0(%rbp), %rdi
callq 0x112e0
jmp 0x22a38
leaq -0x320(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x227cd
jmp 0x227f6
leaq -0x338(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x227df
jmp 0x227f6
leaq -0x680(%rbp), %rdi
leaq -0x320(%rbp), %rsi
callq 0x32490
jmp 0x227f4
jmp 0x227f6
leaq -0x320(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22808
jmp 0x2282f
leaq -0x338(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x2282f
leaq -0x680(%rbp), %rdi
leaq -0x338(%rbp), %rsi
callq 0x32490
jmp 0x2282d
jmp 0x2282f
leaq -0x320(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22868
leaq -0x338(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22851
jmp 0x22868
leaq -0x680(%rbp), %rdi
leaq -0x320(%rbp), %rsi
callq 0x32490
jmp 0x22866
jmp 0x22868
leaq -0x320(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x228e4
leaq -0x338(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x228e4
leaq -0x6c8(%rbp), %rdi
leaq -0x320(%rbp), %rsi
leaq -0x338(%rbp), %rdx
callq 0x32500
jmp 0x228a4
leaq -0x680(%rbp), %rdi
leaq -0x6c8(%rbp), %rsi
callq 0x32210
jmp 0x228b9
leaq -0x6c8(%rbp), %rdi
callq 0x112e0
jmp 0x228e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x6c8(%rbp), %rdi
callq 0x112e0
jmp 0x22a38
leaq -0x350(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x228f6
jmp 0x2291f
leaq -0x368(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22908
jmp 0x2291f
leaq -0x680(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0x32490
jmp 0x2291d
jmp 0x2291f
leaq -0x350(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22931
jmp 0x22958
leaq -0x368(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22958
leaq -0x680(%rbp), %rdi
leaq -0x368(%rbp), %rsi
callq 0x32490
jmp 0x22956
jmp 0x22958
leaq -0x350(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22991
leaq -0x368(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x2297a
jmp 0x22991
leaq -0x680(%rbp), %rdi
leaq -0x350(%rbp), %rsi
callq 0x32490
jmp 0x2298f
jmp 0x22991
leaq -0x350(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22a0a
leaq -0x368(%rbp), %rdi
callq 0x23100
testb $0x1, %al
jne 0x22a0a
leaq -0x6e0(%rbp), %rdi
leaq -0x350(%rbp), %rsi
leaq -0x368(%rbp), %rdx
callq 0x32500
jmp 0x229cd
leaq -0x680(%rbp), %rdi
leaq -0x6e0(%rbp), %rsi
callq 0x32210
jmp 0x229e2
leaq -0x6e0(%rbp), %rdi
callq 0x112e0
jmp 0x22a0a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x6e0(%rbp), %rdi
callq 0x112e0
jmp 0x22a38
movq -0x6f8(%rbp), %rdi
leaq -0x50(%rbp), %rsi
leaq -0x680(%rbp), %rdx
callq 0x32240
jmp 0x22a23
movl $0x1, -0x60(%rbp)
leaq -0x680(%rbp), %rdi
callq 0x32430
jmp 0x22a46
leaq -0x680(%rbp), %rdi
callq 0x32430
jmp 0x22aa8
leaq -0x368(%rbp), %rdi
callq 0x112e0
leaq -0x350(%rbp), %rdi
callq 0x112e0
leaq -0x338(%rbp), %rdi
callq 0x112e0
leaq -0x320(%rbp), %rdi
callq 0x112e0
leaq -0x308(%rbp), %rdi
callq 0x112e0
leaq -0x2f0(%rbp), %rdi
callq 0x112e0
leaq -0x2d8(%rbp), %rdi
callq 0x112e0
leaq -0x2c0(%rbp), %rdi
callq 0x112e0
jmp 0x22b0a
leaq -0x368(%rbp), %rdi
callq 0x112e0
leaq -0x350(%rbp), %rdi
callq 0x112e0
leaq -0x338(%rbp), %rdi
callq 0x112e0
leaq -0x320(%rbp), %rdi
callq 0x112e0
leaq -0x308(%rbp), %rdi
callq 0x112e0
leaq -0x2f0(%rbp), %rdi
callq 0x112e0
leaq -0x2d8(%rbp), %rdi
callq 0x112e0
leaq -0x2c0(%rbp), %rdi
callq 0x112e0
jmp 0x22b23
leaq -0x50(%rbp), %rdi
callq 0x112e0
movq -0x6f0(%rbp), %rax
addq $0x990, %rsp            # imm = 0x990
popq %rbp
retq
leaq -0x50(%rbp), %rdi
callq 0x112e0
movq -0x58(%rbp), %rdi
callq 0x2340
nopw %cs:(%rax,%rax)
nop