// File: /workspace/github_cpp_makefile_star2_O2/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x188, %rsp            # imm = 0x188
movq %r9, %r12
movq %rcx, %r15
movl %edx, %ebp
movq %rsi, %r14
movq %rdi, %r13
movq 0x8(%r9), %rbx
subq (%r9), %rbx
xorpd %xmm0, %xmm0
movapd %xmm0, 0xd0(%rsp)
andq $0x0, 0xe0(%rsp)
movq %rsi, %rdi
movl %edx, %esi
movq %rcx, %rdx
movl %r8d, 0x108(%rsp)
movl %r8d, %ecx
callq 0xbf74
testb %al, %al
je 0x1353f
shrq $0x3, %rbx
movslq %ebx, %rsi
leaq 0xb0(%rsp), %rdx
andq $0x0, (%rdx)
leaq 0xd0(%rsp), %rdi
callq 0x1a756
movsd 0x18(%r14), %xmm0
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jb 0x134c6
sqrtsd %xmm0, %xmm1
jmp 0x134d3
callq 0x2160
xorpd %xmm2, %xmm2
movapd %xmm0, %xmm1
movsd 0x18(%r15), %xmm0
ucomisd %xmm2, %xmm0
jb 0x134e5
sqrtsd %xmm0, %xmm0
jmp 0x134f6
movsd %xmm1, 0x18(%rsp)
callq 0x2160
movsd 0x18(%rsp), %xmm1
mulsd %xmm0, %xmm1
movq (%r12), %rax
movq 0xd0(%rsp), %rcx
xorl %edx, %edx
testl %ebx, %ebx
cmovlel %edx, %ebx
cmpq %rdx, %rbx
je 0x13527
movsd (%rax,%rdx,8), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x13522
movsd %xmm1, (%rcx,%rdx,8)
incq %rdx
jmp 0x1350d
movq %r14, %rdi
callq 0x14f94
testb %al, %al
je 0x13575
movq %r15, %rdi
callq 0x14f94
testb %al, %al
je 0x13575
movapd 0xd0(%rsp), %xmm0
movupd %xmm0, (%r13)
movq 0xe0(%rsp), %rax
movq %rax, 0x10(%r13)
xorpd %xmm0, %xmm0
movapd %xmm0, 0xd0(%rsp)
andq $0x0, 0xe0(%rsp)
jmp 0x149a4
movq %r14, %rdi
callq 0xbda2
movl %eax, %ebx
movq %r15, %rdi
callq 0xbda2
movzbl %bpl, %ecx
movl %ecx, 0x18(%rsp)
movzbl 0x108(%rsp), %ecx
movl %ecx, 0x40(%rsp)
cmpl %eax, %ebx
jge 0x136c3
movq %r14, 0x38(%rsp)
movq %r15, %rax
movq %r13, %r15
movq 0x28(%rax), %rcx
movq 0x38(%rax), %rbp
movq 0x48(%rax), %r13
movq %rax, %r14
movq 0x58(%rax), %rax
movq %rax, 0x68(%rsp)
andq $0x0, 0xc0(%rsp)
andq $0x0, 0xa0(%rsp)
xorpd %xmm0, %xmm0
andq $0x0, 0x60(%rsp)
movapd %xmm0, 0xb0(%rsp)
andq $0x0, 0x80(%rsp)
movapd %xmm0, 0x90(%rsp)
movapd %xmm0, 0x50(%rsp)
movapd %xmm0, 0x70(%rsp)
testq %rcx, %rcx
je 0x13646
leaq 0x20(%rsp), %rdi
movq 0x38(%rsp), %rsi
movl 0x18(%rsp), %edx
movl 0x40(%rsp), %r8d
movq %r12, %r9
callq 0x13434
leaq 0xb0(%rsp), %rdi
leaq 0x20(%rsp), %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpb $0x0, 0x108(%rsp)
je 0x1380f
testq %r13, %r13
movq %r15, %r13
je 0x13697
movq 0x48(%r14), %rcx
leaq 0x20(%rsp), %rdi
pushq $0x1
popq %r8
movq 0x38(%rsp), %rsi
movl 0x18(%rsp), %edx
movq %r12, %r9
callq 0x13434
leaq 0x90(%rsp), %rdi
leaq 0x20(%rsp), %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
testq %rbp, %rbp
je 0x1388d
movq 0x38(%r14), %rcx
leaq 0x20(%rsp), %rdi
pushq $0x1
popq %r8
movq 0x38(%rsp), %rsi
movl 0x18(%rsp), %edx
movq %r12, %r9
callq 0x13434
jmp 0x13873
movq %r14, %rdi
callq 0xbda2
movl %eax, %ebx
movq %r15, %rdi
callq 0xbda2
cmpl %eax, %ebx
jle 0x13977
movq %r14, %rax
movq %r15, %r14
movq %r12, %r15
movq %r13, 0x108(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0xb0(%rsp)
andq $0x0, 0xc0(%rsp)
movapd %xmm0, 0x90(%rsp)
andq $0x0, 0xa0(%rsp)
movapd %xmm0, 0x50(%rsp)
andq $0x0, 0x60(%rsp)
movapd %xmm0, 0x70(%rsp)
andq $0x0, 0x80(%rsp)
movq 0x28(%rax), %rsi
movq 0x38(%rax), %r13
movq 0x48(%rax), %rcx
movq %rcx, 0x38(%rsp)
movq %rax, %r12
movq 0x58(%rax), %rax
movq %rax, 0x68(%rsp)
testq %rsi, %rsi
je 0x13789
leaq 0x20(%rsp), %rdi
movl 0x18(%rsp), %edx
movq %r14, %rcx
movl 0x40(%rsp), %r8d
movq %r15, %r9
callq 0x13434
leaq 0xb0(%rsp), %rdi
leaq 0x20(%rsp), %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
testb %bpl, %bpl
je 0x14440
cmpq $0x0, 0x38(%rsp)
je 0x137d4
movq 0x48(%r12), %rsi
leaq 0x20(%rsp), %rdi
pushq $0x1
popq %rdx
movq %r14, %rcx
movl 0x40(%rsp), %r8d
movq %r15, %r9
callq 0x13434
leaq 0x90(%rsp), %rdi
leaq 0x20(%rsp), %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
testq %r13, %r13
movq 0x108(%rsp), %r13
movq %r15, %rbx
movq %r14, %r15
movq %r12, %r14
je 0x144cb
movq 0x38(%r14), %rsi
leaq 0x20(%rsp), %rdi
pushq $0x1
popq %rdx
movq %r15, %rcx
movl 0x40(%rsp), %r8d
movq %rbx, %r9
callq 0x13434
jmp 0x144b1
testq %rbp, %rbp
je 0x1384e
movq 0x38(%r14), %rcx
leaq 0x20(%rsp), %rdi
movq 0x38(%rsp), %rsi
movl 0x18(%rsp), %edx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x90(%rsp), %rdi
leaq 0x20(%rsp), %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
testq %r13, %r13
movq %r15, %r13
je 0x1388d
movq 0x48(%r14), %rcx
leaq 0x20(%rsp), %rdi
movq 0x38(%rsp), %rsi
movl 0x18(%rsp), %edx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x50(%rsp), %rdi
leaq 0x20(%rsp), %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x68(%rsp)
je 0x138ce
movq 0x58(%r14), %rcx
leaq 0x20(%rsp), %rdi
movq 0x38(%rsp), %rsi
movl 0x18(%rsp), %edx
movl 0x40(%rsp), %r8d
movq %r12, %r9
callq 0x13434
leaq 0x70(%rsp), %rdi
leaq 0x20(%rsp), %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
movq 0xb0(%rsp), %rax
cmpq 0xb8(%rsp), %rax
jne 0x1390e
movq 0x90(%rsp), %rax
cmpq 0x98(%rsp), %rax
jne 0x1390e
movq 0x50(%rsp), %rax
cmpq 0x58(%rsp), %rax
jne 0x1390e
movq 0x70(%rsp), %rax
cmpq 0x78(%rsp), %rax
je 0x14ab3
xorpd %xmm0, %xmm0
leaq 0x20(%rsp), %rdi
movapd %xmm0, (%rdi)
andq $0x0, 0x10(%rdi)
leaq 0xb0(%rsp), %rsi
callq 0x1ab5c
leaq 0x20(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x1ab5c
leaq 0x20(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1ab5c
leaq 0x20(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x1ab5c
leaq 0xd0(%rsp), %rsi
leaq 0x20(%rsp), %rdx
movq %r13, %rdi
callq 0x1a78a
jmp 0x145ae
movq 0x28(%r14), %rax
movq %rax, 0x40(%rsp)
movq 0x38(%r14), %rax
movq %rax, 0xf8(%rsp)
movq 0x48(%r14), %rax
movq %rax, 0x100(%rsp)
movq 0x58(%r14), %rax
movq %rax, 0xf0(%rsp)
movq 0x28(%r15), %rax
movq %rax, 0x18(%rsp)
movq 0x38(%r15), %rax
movq %rax, 0x38(%rsp)
movq 0x48(%r15), %rax
movq %rax, 0x68(%rsp)
movq 0x58(%r15), %rax
movq %rax, 0xe8(%rsp)
andq $0x0, 0xc0(%rsp)
xorpd %xmm0, %xmm0
andq $0x0, 0xa0(%rsp)
movapd %xmm0, 0xb0(%rsp)
andq $0x0, 0x60(%rsp)
movapd %xmm0, 0x90(%rsp)
andq $0x0, 0x80(%rsp)
movapd %xmm0, 0x50(%rsp)
andq $0x0, 0x30(%rsp)
movapd %xmm0, 0x70(%rsp)
andq $0x0, 0x160(%rsp)
movapd %xmm0, 0x20(%rsp)
andq $0x0, 0x120(%rsp)
movapd %xmm0, 0x150(%rsp)
andq $0x0, 0x140(%rsp)
movapd %xmm0, 0x110(%rsp)
movapd %xmm0, 0x130(%rsp)
movl %ebp, %eax
orb 0x108(%rsp), %al
jne 0x13cb8
cmpq $0x0, 0x18(%rsp)
sete %al
cmpq $0x0, 0x40(%rsp)
sete %cl
orb %al, %cl
jne 0x13aaa
movq %rsp, %rdi
movq 0x40(%rsp), %rsi
xorl %edx, %edx
movq 0x18(%rsp), %rcx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0xb0(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x38(%rsp)
sete %al
cmpq $0x0, 0x100(%rsp)
sete %cl
orb %al, %cl
jne 0x13af6
movq 0x48(%r14), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x90(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x18(%rsp)
sete %al
cmpq $0x0, 0xf8(%rsp)
sete %cl
orb %al, %cl
jne 0x13b3f
movq 0x38(%r14), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x50(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x38(%rsp)
sete %al
cmpq $0x0, 0xf0(%rsp)
sete %cl
orb %al, %cl
jne 0x13b88
movq 0x58(%r14), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x70(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x68(%rsp)
sete %al
cmpq $0x0, 0x40(%rsp)
sete %cl
orb %al, %cl
jne 0x13bce
movq 0x28(%r14), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x20(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0xe8(%rsp)
sete %al
cmpq $0x0, 0x100(%rsp)
sete %cl
orb %al, %cl
jne 0x13c1d
movq 0x48(%r14), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x150(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x68(%rsp)
sete %al
cmpq $0x0, 0xf8(%rsp)
sete %cl
orb %al, %cl
jne 0x13c69
movq 0x38(%r14), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x110(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0xe8(%rsp)
sete %al
cmpq $0x0, 0xf0(%rsp)
sete %cl
orb %al, %cl
jne 0x13cb8
movq 0x58(%r14), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x130(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
movl 0x108(%rsp), %eax
xorb $0x1, %al
movb %al, 0x4f(%rsp)
orb %bpl, %al
jne 0x13f2d
cmpq $0x0, 0x18(%rsp)
sete %al
cmpq $0x0, 0x40(%rsp)
sete %cl
orb %al, %cl
jne 0x13d18
movq 0x28(%r14), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %r8
xorl %edx, %edx
movq %r12, %r9
callq 0x13434
leaq 0xb0(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x68(%rsp)
sete %al
cmpq $0x0, 0x100(%rsp)
sete %cl
orb %al, %cl
jne 0x13d65
movq 0x48(%r14), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %r8
xorl %edx, %edx
movq %r12, %r9
callq 0x13434
leaq 0x90(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x18(%rsp)
sete %al
cmpq $0x0, 0xf8(%rsp)
sete %cl
orb %al, %cl
jne 0x13daf
movq 0x38(%r14), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %r8
xorl %edx, %edx
movq %r12, %r9
callq 0x13434
leaq 0x50(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x68(%rsp)
sete %al
cmpq $0x0, 0xf0(%rsp)
sete %cl
orb %al, %cl
jne 0x13df9
movq 0x58(%r14), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %r8
xorl %edx, %edx
movq %r12, %r9
callq 0x13434
leaq 0x70(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x38(%rsp)
sete %al
cmpq $0x0, 0x40(%rsp)
sete %cl
orb %al, %cl
jne 0x13e40
movq 0x28(%r14), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %r8
xorl %edx, %edx
movq %r12, %r9
callq 0x13434
leaq 0x20(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0xe8(%rsp)
sete %al
cmpq $0x0, 0x100(%rsp)
sete %cl
orb %al, %cl
jne 0x13e90
movq 0x48(%r14), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %r8
xorl %edx, %edx
movq %r12, %r9
callq 0x13434
leaq 0x150(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x38(%rsp)
sete %al
cmpq $0x0, 0xf8(%rsp)
sete %cl
orb %al, %cl
jne 0x13edd
movq 0x38(%r14), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %r8
xorl %edx, %edx
movq %r12, %r9
callq 0x13434
leaq 0x110(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0xe8(%rsp)
sete %al
cmpq $0x0, 0xf0(%rsp)
sete %cl
orb %al, %cl
jne 0x13f2d
movq 0x58(%r14), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %r8
xorl %edx, %edx
movq %r12, %r9
callq 0x13434
leaq 0x130(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
xorb $0x1, %bpl
movl 0x108(%rsp), %eax
orb %bpl, %al
jne 0x141a0
cmpq $0x0, 0x18(%rsp)
sete %al
cmpq $0x0, 0x40(%rsp)
sete %cl
orb %al, %cl
jne 0x13f8b
movq 0x28(%r14), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0xb0(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x38(%rsp)
sete %al
cmpq $0x0, 0xf8(%rsp)
sete %cl
orb %al, %cl
jne 0x13fd8
movq 0x38(%r14), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x90(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x18(%rsp)
sete %al
cmpq $0x0, 0x100(%rsp)
sete %cl
orb %al, %cl
jne 0x14022
movq 0x48(%r14), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x50(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x38(%rsp)
sete %al
cmpq $0x0, 0xf0(%rsp)
sete %cl
orb %al, %cl
jne 0x1406c
movq 0x58(%r14), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x70(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x68(%rsp)
sete %al
cmpq $0x0, 0x40(%rsp)
sete %cl
orb %al, %cl
jne 0x140b3
movq 0x28(%r14), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x20(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0xe8(%rsp)
sete %al
cmpq $0x0, 0xf8(%rsp)
sete %cl
orb %al, %cl
jne 0x14103
movq 0x38(%r14), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x150(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x68(%rsp)
sete %al
cmpq $0x0, 0x100(%rsp)
sete %cl
orb %al, %cl
jne 0x14150
movq 0x48(%r14), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x110(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0xe8(%rsp)
sete %al
cmpq $0x0, 0xf0(%rsp)
sete %cl
orb %al, %cl
jne 0x141a0
movq 0x58(%r14), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
xorl %r8d, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x130(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
orb 0x4f(%rsp), %bpl
jne 0x1440a
cmpq $0x0, 0x18(%rsp)
sete %al
cmpq $0x0, 0x40(%rsp)
sete %cl
orb %al, %cl
jne 0x141f5
movq 0x28(%r14), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
movl %edx, %r8d
movq %r12, %r9
callq 0x13434
leaq 0xb0(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x68(%rsp)
sete %al
cmpq $0x0, 0xf8(%rsp)
sete %cl
orb %al, %cl
jne 0x14242
movq 0x38(%r14), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
movl %edx, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x90(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x18(%rsp)
sete %al
cmpq $0x0, 0x100(%rsp)
sete %cl
orb %al, %cl
jne 0x1428c
movq 0x48(%r14), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
movl %edx, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x50(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x68(%rsp)
sete %al
cmpq $0x0, 0xf0(%rsp)
sete %cl
orb %al, %cl
jne 0x142d6
movq 0x58(%r14), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
movl %edx, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x70(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x38(%rsp)
sete %al
cmpq $0x0, 0x40(%rsp)
sete %cl
orb %al, %cl
jne 0x1431d
movq 0x28(%r14), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
movl %edx, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x20(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0xe8(%rsp)
sete %al
cmpq $0x0, 0xf8(%rsp)
sete %cl
orb %al, %cl
jne 0x1436d
movq 0x38(%r14), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
movl %edx, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x150(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0x38(%rsp)
sete %al
cmpq $0x0, 0x100(%rsp)
sete %cl
orb %al, %cl
jne 0x143ba
movq 0x48(%r14), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
movl %edx, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x110(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
cmpq $0x0, 0xe8(%rsp)
sete %al
cmpq $0x0, 0xf0(%rsp)
sete %cl
orb %al, %cl
jne 0x1440a
movq 0x58(%r14), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
pushq $0x1
popq %rdx
movl %edx, %r8d
movq %r12, %r9
callq 0x13434
leaq 0x130(%rsp), %rdi
movq %rsp, %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
movq 0xb0(%rsp), %rax
movq 0xb8(%rsp), %rcx
cmpq %rcx, %rax
je 0x145bd
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
andq $0x0, 0x10(%rsp)
cmpq %rcx, %rax
jne 0x14618
jmp 0x145e2
testq %r13, %r13
movq 0x108(%rsp), %r13
movq %r15, %rbx
movq %r14, %r15
movq %r12, %r14
je 0x1448e
movq 0x38(%r14), %rsi
leaq 0x20(%rsp), %rdi
xorl %edx, %edx
movq %r15, %rcx
movl 0x40(%rsp), %r8d
movq %rbx, %r9
callq 0x13434
leaq 0x90(%rsp), %rdi
leaq 0x20(%rsp), %r12
movq %r12, %rsi
callq 0x1ab0a
movq %r12, %rdi
callq 0x1722c
cmpq $0x0, 0x38(%rsp)
je 0x144cb
movq 0x48(%r14), %rsi
leaq 0x20(%rsp), %rdi
xorl %edx, %edx
movq %r15, %rcx
movl 0x40(%rsp), %r8d
movq %rbx, %r9
callq 0x13434
leaq 0x50(%rsp), %rdi
leaq 0x20(%rsp), %r12
movq %r12, %rsi
callq 0x1ab0a
movq %r12, %rdi
callq 0x1722c
cmpq $0x0, 0x68(%rsp)
je 0x1450a
movq 0x58(%r14), %rsi
leaq 0x20(%rsp), %rdi
movl 0x18(%rsp), %edx
movq %r15, %rcx
movl 0x40(%rsp), %r8d
movq %rbx, %r9
callq 0x13434
leaq 0x70(%rsp), %rdi
leaq 0x20(%rsp), %rbx
movq %rbx, %rsi
callq 0x1ab0a
movq %rbx, %rdi
callq 0x1722c
movq 0xb0(%rsp), %rax
cmpq 0xb8(%rsp), %rax
jne 0x1454a
movq 0x90(%rsp), %rax
cmpq 0x98(%rsp), %rax
jne 0x1454a
movq 0x50(%rsp), %rax
cmpq 0x58(%rsp), %rax
jne 0x1454a
movq 0x70(%rsp), %rax
cmpq 0x78(%rsp), %rax
je 0x14ab3
xorpd %xmm0, %xmm0
leaq 0x20(%rsp), %rdi
movapd %xmm0, (%rdi)
andq $0x0, 0x10(%rdi)
leaq 0xb0(%rsp), %rsi
callq 0x1ab5c
leaq 0x20(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x1ab5c
leaq 0x20(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x1ab5c
leaq 0x20(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x1ab5c
leaq 0xd0(%rsp), %rsi
leaq 0x20(%rsp), %rdx
movq %r13, %rdi
callq 0x1a78a
leaq 0x20(%rsp), %rdi
callq 0x1a858
jmp 0x14976
movq 0x90(%rsp), %rax
cmpq 0x98(%rsp), %rax
je 0x149c6
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
andq $0x0, 0x10(%rsp)
movq 0x90(%rsp), %rax
cmpq 0x98(%rsp), %rax
je 0x146a4
movq %rsp, %rdi
leaq 0x90(%rsp), %rsi
callq 0x1a87a
movq 0xb0(%rsp), %rax
movq 0xb8(%rsp), %rcx
cmpq %rcx, %rax
je 0x146a4
movq 0x90(%rsp), %rdx
cmpq 0x98(%rsp), %rdx
jne 0x14653
movq %rsp, %rdi
leaq 0xb0(%rsp), %rsi
callq 0x1a87a
movq 0xb0(%rsp), %rax
movq 0xb8(%rsp), %rcx
cmpq %rcx, %rax
je 0x146a4
movq 0x90(%rsp), %rax
cmpq 0x98(%rsp), %rax
je 0x146a4
leaq 0x170(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x1a8a6
movq %rsp, %rdi
leaq 0x170(%rsp), %rsi
callq 0x1ab5c
leaq 0x170(%rsp), %rdi
callq 0x1722c
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rcx
cmpq %rcx, %rax
je 0x146ba
cmpq %rcx, %rax
jne 0x146f1
jmp 0x146ca
movq 0x70(%rsp), %rax
cmpq 0x78(%rsp), %rax
je 0x14a56
movq 0x70(%rsp), %rax
cmpq 0x78(%rsp), %rax
je 0x1475e
movq %rsp, %rdi
leaq 0x70(%rsp), %rsi
callq 0x1a87a
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rcx
cmpq %rcx, %rax
je 0x1475e
movq 0x70(%rsp), %rdx
cmpq 0x78(%rsp), %rdx
jne 0x14719
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1a87a
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rcx
cmpq %rcx, %rax
je 0x1475e
movq 0x70(%rsp), %rax
cmpq 0x78(%rsp), %rax
je 0x1475e
leaq 0x170(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0x70(%rsp), %rdx
callq 0x1a8a6
movq %rsp, %rdi
leaq 0x170(%rsp), %rsi
callq 0x1ab5c
leaq 0x170(%rsp), %rdi
callq 0x1722c
movq 0x20(%rsp), %rax
movq 0x28(%rsp), %rcx
cmpq %rcx, %rax
je 0x14774
cmpq %rcx, %rax
jne 0x147ba
jmp 0x1478a
movq 0x150(%rsp), %rax
cmpq 0x158(%rsp), %rax
je 0x14a72
movq 0x150(%rsp), %rax
cmpq 0x158(%rsp), %rax
je 0x14836
movq %rsp, %rdi
leaq 0x150(%rsp), %rsi
callq 0x1a87a
movq 0x20(%rsp), %rax
movq 0x28(%rsp), %rcx
cmpq %rcx, %rax
je 0x14836
movq 0x150(%rsp), %rdx
cmpq 0x158(%rsp), %rdx
jne 0x147e8
movq %rsp, %rdi
leaq 0x20(%rsp), %rsi
callq 0x1a87a
movq 0x20(%rsp), %rax
movq 0x28(%rsp), %rcx
cmpq %rcx, %rax
je 0x14836
movq 0x150(%rsp), %rax
cmpq 0x158(%rsp), %rax
je 0x14836
leaq 0x170(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x150(%rsp), %rdx
callq 0x1a8a6
movq %rsp, %rdi
leaq 0x170(%rsp), %rsi
callq 0x1ab5c
leaq 0x170(%rsp), %rdi
callq 0x1722c
movq 0x110(%rsp), %rax
movq 0x118(%rsp), %rcx
cmpq %rcx, %rax
je 0x14852
cmpq %rcx, %rax
jne 0x1489e
jmp 0x14868
movq 0x130(%rsp), %rax
cmpq 0x138(%rsp), %rax
je 0x14a8e
movq 0x130(%rsp), %rax
cmpq 0x138(%rsp), %rax
je 0x1492a
movq %rsp, %rdi
leaq 0x130(%rsp), %rsi
callq 0x1a87a
movq 0x110(%rsp), %rax
movq 0x118(%rsp), %rcx
cmpq %rcx, %rax
je 0x1492a
movq 0x130(%rsp), %rdx
cmpq 0x138(%rsp), %rdx
jne 0x148d9
movq %rsp, %rdi
leaq 0x110(%rsp), %rsi
callq 0x1a87a
movq 0x110(%rsp), %rax
movq 0x118(%rsp), %rcx
cmpq %rcx, %rax
je 0x1492a
movq 0x130(%rsp), %rax
cmpq 0x138(%rsp), %rax
je 0x1492a
leaq 0x170(%rsp), %rdi
leaq 0x110(%rsp), %rsi
leaq 0x130(%rsp), %rdx
callq 0x1a8a6
movq %rsp, %rdi
leaq 0x170(%rsp), %rsi
callq 0x1ab5c
leaq 0x170(%rsp), %rdi
callq 0x1722c
leaq 0xd0(%rsp), %rsi
movq %rsp, %rdx
movq %r13, %rdi
callq 0x1a78a
movq %rsp, %rdi
callq 0x1a858
leaq 0x130(%rsp), %rdi
callq 0x1722c
leaq 0x110(%rsp), %rdi
callq 0x1722c
leaq 0x150(%rsp), %rdi
callq 0x1722c
leaq 0x20(%rsp), %rdi
callq 0x1722c
leaq 0x70(%rsp), %rdi
callq 0x1722c
leaq 0x50(%rsp), %rdi
callq 0x1722c
leaq 0x90(%rsp), %rdi
callq 0x1722c
leaq 0xb0(%rsp), %rdi
callq 0x1722c
leaq 0xd0(%rsp), %rdi
callq 0x1722c
movq %r13, %rax
addq $0x188, %rsp            # imm = 0x188
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x50(%rsp), %rax
cmpq 0x58(%rsp), %rax
jne 0x14a24
movq 0x70(%rsp), %rax
cmpq 0x78(%rsp), %rax
jne 0x14a24
movq 0x20(%rsp), %rax
cmpq 0x28(%rsp), %rax
jne 0x14a24
movq 0x150(%rsp), %rax
cmpq 0x158(%rsp), %rax
jne 0x14a24
movq 0x110(%rsp), %rax
cmpq 0x118(%rsp), %rax
jne 0x14a24
movq 0x130(%rsp), %rax
cmpq 0x138(%rsp), %rax
je 0x14ae9
xorpd %xmm0, %xmm0
movq %rsp, %rdi
movapd %xmm0, (%rdi)
andq $0x0, 0x10(%rdi)
leaq 0xb0(%rsp), %rsi
callq 0x1a87a
movq 0xb0(%rsp), %rax
movq 0xb8(%rsp), %rcx
jmp 0x14432
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1a87a
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rcx
jmp 0x146b3
movq %rsp, %rdi
leaq 0x20(%rsp), %rsi
callq 0x1a87a
movq 0x20(%rsp), %rax
movq 0x28(%rsp), %rcx
jmp 0x1476d
movq %rsp, %rdi
leaq 0x110(%rsp), %rsi
callq 0x1a87a
movq 0x110(%rsp), %rax
movq 0x118(%rsp), %rcx
jmp 0x1484b
movapd 0xd0(%rsp), %xmm0
movupd %xmm0, (%r13)
movq 0xe0(%rsp), %rax
movq %rax, 0x10(%r13)
xorpd %xmm0, %xmm0
movapd %xmm0, 0xd0(%rsp)
andq $0x0, 0xe0(%rsp)
jmp 0x14976
movapd 0xd0(%rsp), %xmm0
movupd %xmm0, (%r13)
movq 0xe0(%rsp), %rax
movq %rax, 0x10(%r13)
xorpd %xmm0, %xmm0
movapd %xmm0, 0xd0(%rsp)
andq $0x0, 0xe0(%rsp)
jmp 0x14945
jmp 0x14b2b
jmp 0x14b9d
jmp 0x14b2b
jmp 0x14b9d
jmp 0x14b2b
jmp 0x14b9d
movq %rax, %rbx
leaq 0x170(%rsp), %rdi
callq 0x1722c
jmp 0x14ba0
jmp 0x14b9d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
jmp 0x14b7d
movq %rax, %rbx
jmp 0x14ba8
jmp 0x14b98
jmp 0x14b98
jmp 0x14b98
jmp 0x14b98
jmp 0x14b98
jmp 0x14b98
jmp 0x14b98
jmp 0x14b98
jmp 0x14b98
jmp 0x14b98
jmp 0x14b98
movq %rax, %rbx
jmp 0x14bec
movq %rax, %rbx
movq %rsp, %rdi
callq 0x1a858
leaq 0x130(%rsp), %rdi
callq 0x1722c
leaq 0x110(%rsp), %rdi
callq 0x1722c
leaq 0x150(%rsp), %rdi
callq 0x1722c
leaq 0x20(%rsp), %rdi
callq 0x1722c
jmp 0x14bec
jmp 0x14bdf
jmp 0x14c1e
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x1a858
leaq 0x70(%rsp), %rdi
callq 0x1722c
leaq 0x50(%rsp), %rdi
callq 0x1722c
leaq 0x90(%rsp), %rdi
callq 0x1722c
leaq 0xb0(%rsp), %rdi
callq 0x1722c
jmp 0x14c21
jmp 0x14c1e
movq %rax, %rbx
leaq 0xd0(%rsp), %rdi
callq 0x1722c
movq %rbx, %rdi
callq 0x2290