// File: /workspace/github_cpp_makefile_star2_O3/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, %r14
movq %rcx, %r15
movl %edx, %r12d
movq %rsi, %r13
movq 0x8(%r9), %rbx
subq (%r9), %rbx
movq %rdi, %rbp
xorpd %xmm0, %xmm0
movapd %xmm0, 0x150(%rsp)
movq $0x0, 0x160(%rsp)
movq %rsi, %rdi
movl %edx, %esi
movq %rcx, %rdx
movl %r8d, 0x44(%rsp)
movl %r8d, %ecx
callq 0xed7c
testb %al, %al
je 0x18dab
shrq $0x3, %rbx
movslq %ebx, %rsi
leaq 0x70(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x150(%rsp), %rdi
callq 0x21c8a
movsd 0x18(%r13), %xmm0
xorpd %xmm2, %xmm2
ucomisd %xmm2, %xmm0
jb 0x18dc1
sqrtsd %xmm0, %xmm1
jmp 0x18dce
xorpd %xmm0, %xmm0
movupd %xmm0, (%rbp)
movq $0x0, 0x10(%rbp)
jmp 0x1adb7
callq 0x2170
xorpd %xmm2, %xmm2
movapd %xmm0, %xmm1
movsd 0x18(%r15), %xmm0
ucomisd %xmm2, %xmm0
jb 0x18de0
sqrtsd %xmm0, %xmm0
jmp 0x18df1
movsd %xmm1, 0x48(%rsp)
callq 0x2170
movsd 0x48(%rsp), %xmm1
testl %ebx, %ebx
jle 0x18e24
mulsd %xmm0, %xmm1
movq (%r14), %rax
movq 0x150(%rsp), %rcx
andl $0x7fffffff, %ebx       # imm = 0x7FFFFFFF
xorl %edx, %edx
movsd (%rax,%rdx,8), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x18e1c
movsd %xmm1, (%rcx,%rdx,8)
incq %rdx
cmpq %rdx, %rbx
jne 0x18e0c
movq %r13, %rdi
callq 0x1b448
testb %al, %al
je 0x18e5b
movq %r15, %rdi
callq 0x1b448
testb %al, %al
je 0x18e5b
movapd 0x150(%rsp), %xmm0
movupd %xmm0, (%rbp)
movq 0x160(%rsp), %rax
movq %rax, 0x10(%rbp)
jmp 0x1adb7
movq %r13, %rdi
callq 0xeabc
movl %eax, %ebx
movq %r15, %rdi
callq 0xeabc
cmpl %eax, %ebx
jge 0x18fd2
movq %r15, %rdx
movq %r13, %r15
movq %r14, 0x48(%rsp)
movq 0x28(%rdx), %rcx
movq 0x38(%rdx), %r14
xorl %eax, %eax
movq 0x48(%rdx), %r13
movq %rdx, 0xa8(%rsp)
movq 0x58(%rdx), %rbx
movq %rax, 0x80(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x70(%rsp)
movq %rax, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq %rax, 0x60(%rsp)
movapd %xmm0, 0x50(%rsp)
movq %rax, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
testq %rcx, %rcx
je 0x18f57
movzbl %r12b, %edx
movzbl 0x44(%rsp), %r8d
leaq 0x20(%rsp), %rdi
movq %r15, %rsi
movq 0x48(%rsp), %r9
callq 0x18d1c
movq 0x70(%rsp), %rdi
movq 0x80(%rsp), %rsi
movapd 0x20(%rsp), %xmm0
movapd %xmm0, 0x70(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x80(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
testq %rdi, %rdi
je 0x18f57
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x18f57
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpb $0x0, 0x44(%rsp)
movq %rbp, 0x180(%rsp)
movq %rbx, 0xc8(%rsp)
je 0x1914e
testq %r13, %r13
je 0x1a5a2
movq 0xa8(%rsp), %rax
movq 0x48(%rax), %rcx
movzbl %r12b, %edx
leaq 0x20(%rsp), %rdi
movq %r15, %r13
movq %r15, %rsi
movl $0x1, %r8d
movq 0x48(%rsp), %r9
callq 0x18d1c
movq 0x20(%rsp), %rbp
movq 0x28(%rsp), %rbx
movq %rbp, 0x90(%rsp)
movq %rbx, 0x98(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0xa0(%rsp)
jmp 0x1a5a9
movq %r13, %rdi
callq 0xeabc
movl %eax, %ebx
movq %r15, %rdi
callq 0xeabc
cmpl %eax, %ebx
jle 0x191ab
movl %r12d, %ecx
movq %r14, %r12
xorpd %xmm0, %xmm0
movapd %xmm0, 0x70(%rsp)
xorl %eax, %eax
movq %rax, 0x80(%rsp)
movq %rax, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq %rax, 0x60(%rsp)
movapd %xmm0, 0x50(%rsp)
movq %rax, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movq 0x28(%r13), %rsi
movq 0x38(%r13), %r14
movq %r13, %rax
movq 0x48(%r13), %r13
movq %rax, 0x48(%rsp)
movq 0x58(%rax), %rax
movq %rax, 0xc8(%rsp)
movl %ecx, %ebx
movzbl %cl, %eax
movl %eax, 0xa8(%rsp)
movzbl 0x44(%rsp), %eax
movl %eax, 0x44(%rsp)
testq %rsi, %rsi
je 0x190e6
leaq 0x20(%rsp), %rdi
movl 0xa8(%rsp), %edx
movq %r15, %rcx
movl 0x44(%rsp), %r8d
movq %r12, %r9
callq 0x18d1c
movq 0x70(%rsp), %rdi
movq 0x80(%rsp), %rsi
movapd 0x20(%rsp), %xmm0
movapd %xmm0, 0x70(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x80(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
testq %rdi, %rdi
je 0x190e6
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x190e6
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
testb %bl, %bl
movq %rbp, 0x180(%rsp)
je 0x1a54a
testq %r13, %r13
je 0x1ab7b
movq 0x48(%rsp), %r13
movq 0x48(%r13), %rsi
leaq 0x20(%rsp), %rdi
movl $0x1, %edx
movq %r15, %rcx
movl 0x44(%rsp), %r8d
movq %r12, %r9
callq 0x18d1c
movq 0x20(%rsp), %rbx
movq 0x28(%rsp), %rbp
movq %rbx, 0x90(%rsp)
movq %rbp, 0x98(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0xa0(%rsp)
jmp 0x1ab84
testq %r14, %r14
je 0x1a5d8
movq 0xa8(%rsp), %rax
movq 0x38(%rax), %rcx
movzbl %r12b, %edx
leaq 0x20(%rsp), %rdi
movq %r15, %rsi
xorl %r8d, %r8d
movq 0x48(%rsp), %r14
movq %r14, %r9
callq 0x18d1c
movq 0x20(%rsp), %rbp
movq 0x28(%rsp), %rbx
movq %rbp, 0x90(%rsp)
movq %rbx, 0x98(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0xa0(%rsp)
jmp 0x1a5e1
movq 0x28(%r13), %rax
movq %rax, 0xa8(%rsp)
movq 0x38(%r13), %rax
movq %rax, 0x138(%rsp)
movq 0x48(%r13), %rax
movq %rax, 0x140(%rsp)
movq 0x58(%r13), %rax
movq %rax, 0x130(%rsp)
movq 0x28(%r15), %rax
movq %rax, 0x48(%rsp)
movq 0x38(%r15), %rax
movq %rax, 0xc8(%rsp)
movq 0x48(%r15), %rax
movq %rax, 0x148(%rsp)
movq 0x58(%r15), %rax
movq %rax, 0x128(%rsp)
xorl %eax, %eax
movq %rax, 0x80(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x70(%rsp)
movq %rax, 0xa0(%rsp)
movapd %xmm0, 0x90(%rsp)
movq %rax, 0x60(%rsp)
movapd %xmm0, 0x50(%rsp)
movq %rax, 0xc0(%rsp)
movapd %xmm0, 0xb0(%rsp)
movq %rax, 0x30(%rsp)
movapd %xmm0, 0x20(%rsp)
movq %rax, 0x120(%rsp)
movapd %xmm0, 0x110(%rsp)
movq %rax, 0xe0(%rsp)
movapd %xmm0, 0xd0(%rsp)
movq %rax, 0x100(%rsp)
movapd %xmm0, 0xf0(%rsp)
movl %r12d, %eax
orb 0x44(%rsp), %al
jne 0x19715
cmpq $0x0, 0x48(%rsp)
sete %al
cmpq $0x0, 0xa8(%rsp)
sete %cl
orb %al, %cl
jne 0x19324
movq %rsp, %rdi
movq 0xa8(%rsp), %rsi
xorl %edx, %edx
movq 0x48(%rsp), %rcx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x70(%rsp), %rdi
movq 0x80(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x70(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x80(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x19324
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19324
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
cmpq $0x0, 0x140(%rsp)
sete %cl
orb %al, %cl
jne 0x193b8
movq 0x48(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x90(%rsp), %rdi
movq 0xa0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x90(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xa0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x193b8
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x193b8
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x48(%rsp)
sete %al
cmpq $0x0, 0x138(%rsp)
sete %cl
orb %al, %cl
jne 0x1943d
movq 0x38(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x50(%rsp), %rdi
movq 0x60(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x50(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x60(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x1943d
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1943d
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
cmpq $0x0, 0x130(%rsp)
sete %cl
orb %al, %cl
jne 0x194d1
movq 0x58(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0xb0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xb0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xc0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x194d1
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x194d1
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x148(%rsp)
sete %al
cmpq $0x0, 0xa8(%rsp)
sete %cl
orb %al, %cl
jne 0x19559
movq 0x28(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x20(%rsp), %rdi
movq 0x30(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x20(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x30(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x19559
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19559
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x128(%rsp)
sete %al
cmpq $0x0, 0x140(%rsp)
sete %cl
orb %al, %cl
jne 0x195ed
movq 0x48(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x110(%rsp), %rdi
movq 0x120(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x110(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x120(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x195ed
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x195ed
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x148(%rsp)
sete %al
cmpq $0x0, 0x138(%rsp)
sete %cl
orb %al, %cl
jne 0x19681
movq 0x38(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0xd0(%rsp), %rdi
movq 0xe0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xd0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xe0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x19681
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19681
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x128(%rsp)
sete %al
cmpq $0x0, 0x130(%rsp)
sete %cl
orb %al, %cl
jne 0x19715
movq 0x58(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0xf0(%rsp), %rdi
movq 0x100(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xf0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x100(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x19715
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19715
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movl 0x44(%rsp), %eax
movl %eax, %ebx
xorb $0x1, %bl
movl %ebx, %eax
orb %r12b, %al
jne 0x19bbd
cmpq $0x0, 0x48(%rsp)
sete %al
cmpq $0x0, 0xa8(%rsp)
sete %cl
orb %al, %cl
jne 0x197b7
movq 0x28(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x70(%rsp), %rdi
movq 0x80(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x70(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x80(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x197b7
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x197b7
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x148(%rsp)
sete %al
cmpq $0x0, 0x140(%rsp)
sete %cl
orb %al, %cl
jne 0x1984e
movq 0x48(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x90(%rsp), %rdi
movq 0xa0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x90(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xa0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x1984e
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1984e
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x48(%rsp)
sete %al
cmpq $0x0, 0x138(%rsp)
sete %cl
orb %al, %cl
jne 0x198d6
movq 0x38(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x50(%rsp), %rdi
movq 0x60(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x50(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x60(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x198d6
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x198d6
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x148(%rsp)
sete %al
cmpq $0x0, 0x130(%rsp)
sete %cl
orb %al, %cl
jne 0x1996d
movq 0x58(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0xb0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xb0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xc0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x1996d
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1996d
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
cmpq $0x0, 0xa8(%rsp)
sete %cl
orb %al, %cl
jne 0x199f8
movq 0x28(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x20(%rsp), %rdi
movq 0x30(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x20(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x30(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x199f8
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x199f8
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x128(%rsp)
sete %al
cmpq $0x0, 0x140(%rsp)
sete %cl
orb %al, %cl
jne 0x19a8f
movq 0x48(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x110(%rsp), %rdi
movq 0x120(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x110(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x120(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x19a8f
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19a8f
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
cmpq $0x0, 0x138(%rsp)
sete %cl
orb %al, %cl
jne 0x19b26
movq 0x38(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0xd0(%rsp), %rdi
movq 0xe0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xd0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xe0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x19b26
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19b26
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x128(%rsp)
sete %al
cmpq $0x0, 0x130(%rsp)
sete %cl
orb %al, %cl
jne 0x19bbd
movq 0x58(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0xf0(%rsp), %rdi
movq 0x100(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xf0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x100(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x19bbd
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19bbd
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
xorb $0x1, %r12b
movl 0x44(%rsp), %eax
orb %r12b, %al
jne 0x1a062
cmpq $0x0, 0x48(%rsp)
sete %al
cmpq $0x0, 0xa8(%rsp)
sete %cl
orb %al, %cl
jne 0x19c5c
movq 0x28(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x70(%rsp), %rdi
movq 0x80(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x70(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x80(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x19c5c
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19c5c
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
cmpq $0x0, 0x138(%rsp)
sete %cl
orb %al, %cl
jne 0x19cf3
movq 0x38(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x90(%rsp), %rdi
movq 0xa0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x90(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xa0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x19cf3
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19cf3
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x48(%rsp)
sete %al
cmpq $0x0, 0x140(%rsp)
sete %cl
orb %al, %cl
jne 0x19d7b
movq 0x48(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x50(%rsp), %rdi
movq 0x60(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x50(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x60(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x19d7b
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19d7b
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
cmpq $0x0, 0x130(%rsp)
sete %cl
orb %al, %cl
jne 0x19e12
movq 0x58(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0xb0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xb0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xc0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x19e12
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19e12
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x148(%rsp)
sete %al
cmpq $0x0, 0xa8(%rsp)
sete %cl
orb %al, %cl
jne 0x19e9d
movq 0x28(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x20(%rsp), %rdi
movq 0x30(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x20(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x30(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x19e9d
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19e9d
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x128(%rsp)
sete %al
cmpq $0x0, 0x138(%rsp)
sete %cl
orb %al, %cl
jne 0x19f34
movq 0x38(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x110(%rsp), %rdi
movq 0x120(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x110(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x120(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x19f34
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19f34
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x148(%rsp)
sete %al
cmpq $0x0, 0x140(%rsp)
sete %cl
orb %al, %cl
jne 0x19fcb
movq 0x48(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0xd0(%rsp), %rdi
movq 0xe0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xd0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xe0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x19fcb
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x19fcb
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x128(%rsp)
sete %al
cmpq $0x0, 0x130(%rsp)
sete %cl
orb %al, %cl
jne 0x1a062
movq 0x58(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0xf0(%rsp), %rdi
movq 0x100(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xf0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x100(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x1a062
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1a062
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
orb %bl, %r12b
jne 0x1a517
cmpq $0x0, 0x48(%rsp)
sete %al
cmpq $0x0, 0xa8(%rsp)
sete %cl
orb %al, %cl
jne 0x1a0fc
movq 0x28(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x70(%rsp), %rdi
movq 0x80(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x70(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x80(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x1a0fc
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1a0fc
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x148(%rsp)
sete %al
cmpq $0x0, 0x138(%rsp)
sete %cl
orb %al, %cl
jne 0x1a196
movq 0x38(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x90(%rsp), %rdi
movq 0xa0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x90(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xa0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x1a196
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1a196
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x48(%rsp)
sete %al
cmpq $0x0, 0x140(%rsp)
sete %cl
orb %al, %cl
jne 0x1a221
movq 0x48(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x50(%rsp), %rdi
movq 0x60(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x50(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x60(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x1a221
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1a221
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x148(%rsp)
sete %al
cmpq $0x0, 0x130(%rsp)
sete %cl
orb %al, %cl
jne 0x1a2bb
movq 0x58(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0xb0(%rsp), %rdi
movq 0xc0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xb0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xc0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x1a2bb
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1a2bb
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
cmpq $0x0, 0xa8(%rsp)
sete %cl
orb %al, %cl
jne 0x1a349
movq 0x28(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x20(%rsp), %rdi
movq 0x30(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x20(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x30(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x1a349
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1a349
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x128(%rsp)
sete %al
cmpq $0x0, 0x138(%rsp)
sete %cl
orb %al, %cl
jne 0x1a3e3
movq 0x38(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x110(%rsp), %rdi
movq 0x120(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x110(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x120(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x1a3e3
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1a3e3
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
cmpq $0x0, 0x140(%rsp)
sete %cl
orb %al, %cl
jne 0x1a47d
movq 0x48(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0xd0(%rsp), %rdi
movq 0xe0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xd0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xe0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x1a47d
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1a47d
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x128(%rsp)
sete %al
cmpq $0x0, 0x130(%rsp)
sete %cl
orb %al, %cl
jne 0x1a517
movq 0x58(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0xf0(%rsp), %rdi
movq 0x100(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xf0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x100(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x1a517
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1a517
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x70(%rsp), %rax
movq 0x78(%rsp), %rcx
cmpq %rcx, %rax
je 0x1a725
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
cmpq %rcx, %rax
jne 0x1a77d
jmp 0x1a74d
testq %r14, %r14
je 0x1aba9
movq 0x48(%rsp), %rax
movq 0x38(%rax), %rsi
leaq 0x20(%rsp), %rdi
xorl %edx, %edx
movq %r15, %rcx
movl 0x44(%rsp), %r8d
movq %r12, %r14
movq %r12, %r9
callq 0x18d1c
movq 0x20(%rsp), %rbx
movq 0x28(%rsp), %rbp
movq %rbx, 0x90(%rsp)
movq %rbp, 0x98(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0xa0(%rsp)
jmp 0x1abb0
xorl %ebx, %ebx
xorl %ebp, %ebp
movq %r15, %r13
testq %r14, %r14
je 0x1a629
movq 0xa8(%rsp), %rax
movq 0x38(%rax), %rcx
movzbl %r12b, %edx
leaq 0x20(%rsp), %rdi
movq %r13, %rsi
movl $0x1, %r8d
movq 0x48(%rsp), %r9
callq 0x18d1c
jmp 0x1a609
xorl %ebx, %ebx
xorl %ebp, %ebp
movq 0x48(%rsp), %r14
testq %r13, %r13
je 0x1a629
movq 0xa8(%rsp), %rax
movq 0x48(%rax), %rcx
movzbl %r12b, %edx
leaq 0x20(%rsp), %rdi
movq %r15, %rsi
xorl %r8d, %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x20(%rsp), %r14
movq 0x28(%rsp), %r13
movq %r14, 0x50(%rsp)
movq %r13, 0x58(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x60(%rsp)
jmp 0x1a62f
xorl %r13d, %r13d
xorl %r14d, %r14d
cmpq $0x0, 0xc8(%rsp)
je 0x1a68b
movq 0xa8(%rsp), %rax
movq 0x58(%rax), %rcx
movzbl %r12b, %edx
movzbl 0x44(%rsp), %r8d
leaq 0x20(%rsp), %rdi
movq %r15, %rsi
movq 0x48(%rsp), %r9
callq 0x18d1c
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rdi, 0xb0(%rsp)
movq %rax, 0xb8(%rsp)
movq 0x30(%rsp), %rcx
movq %rcx, 0xc0(%rsp)
jmp 0x1a68f
xorl %eax, %eax
xorl %edi, %edi
movq 0x70(%rsp), %rcx
xorq 0x78(%rsp), %rcx
xorq %rbx, %rbp
xorq %r13, %r14
orq %rbp, %r14
orq %rcx, %r14
xorq %rdi, %rax
orq %r14, %rax
je 0x1ac76
xorpd %xmm0, %xmm0
leaq 0x20(%rsp), %rdi
movapd %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq 0x70(%rsp), %rsi
callq 0x222ec
movq 0x180(%rsp), %rbp
leaq 0x20(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x222ec
leaq 0x20(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x222ec
leaq 0x20(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x222ec
leaq 0x150(%rsp), %rsi
leaq 0x20(%rsp), %rdx
movq %rbp, %rdi
callq 0x21cbe
jmp 0x1ad25
movq 0x90(%rsp), %rax
cmpq 0x98(%rsp), %rax
je 0x1adcc
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
movq 0x90(%rsp), %rax
cmpq 0x98(%rsp), %rax
je 0x1a80d
movq %rsp, %rdi
leaq 0x90(%rsp), %rsi
callq 0x21dfa
movq 0x70(%rsp), %rax
movq 0x78(%rsp), %rcx
cmpq %rcx, %rax
je 0x1a80d
movq 0x90(%rsp), %rdx
cmpq 0x98(%rsp), %rdx
jne 0x1a7af
movq %rsp, %rdi
leaq 0x70(%rsp), %rsi
callq 0x21dfa
movq 0x70(%rsp), %rax
movq 0x78(%rsp), %rcx
cmpq %rcx, %rax
je 0x1a80d
movq 0x90(%rsp), %rax
cmpq 0x98(%rsp), %rax
je 0x1a80d
leaq 0x168(%rsp), %rdi
leaq 0x70(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x21e26
movq %rsp, %rdi
leaq 0x168(%rsp), %rsi
callq 0x222ec
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0x1a80d
movq 0x178(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rcx
cmpq %rcx, %rax
je 0x1a823
cmpq %rcx, %rax
jne 0x1a869
jmp 0x1a839
movq 0xb0(%rsp), %rax
cmpq 0xb8(%rsp), %rax
je 0x1ae5c
movq 0xb0(%rsp), %rax
cmpq 0xb8(%rsp), %rax
je 0x1a8f9
movq %rsp, %rdi
leaq 0xb0(%rsp), %rsi
callq 0x21dfa
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rcx
cmpq %rcx, %rax
je 0x1a8f9
movq 0xb0(%rsp), %rdx
cmpq 0xb8(%rsp), %rdx
jne 0x1a89b
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x21dfa
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rcx
cmpq %rcx, %rax
je 0x1a8f9
movq 0xb0(%rsp), %rax
cmpq 0xb8(%rsp), %rax
je 0x1a8f9
leaq 0x168(%rsp), %rdi
leaq 0x50(%rsp), %rsi
leaq 0xb0(%rsp), %rdx
callq 0x21e26
movq %rsp, %rdi
leaq 0x168(%rsp), %rsi
callq 0x222ec
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0x1a8f9
movq 0x178(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rax
movq 0x28(%rsp), %rcx
cmpq %rcx, %rax
je 0x1a90f
cmpq %rcx, %rax
jne 0x1a955
jmp 0x1a925
movq 0x110(%rsp), %rax
cmpq 0x118(%rsp), %rax
je 0x1ae78
movq 0x110(%rsp), %rax
cmpq 0x118(%rsp), %rax
je 0x1a9e5
movq %rsp, %rdi
leaq 0x110(%rsp), %rsi
callq 0x21dfa
movq 0x20(%rsp), %rax
movq 0x28(%rsp), %rcx
cmpq %rcx, %rax
je 0x1a9e5
movq 0x110(%rsp), %rdx
cmpq 0x118(%rsp), %rdx
jne 0x1a987
movq %rsp, %rdi
leaq 0x20(%rsp), %rsi
callq 0x21dfa
movq 0x20(%rsp), %rax
movq 0x28(%rsp), %rcx
cmpq %rcx, %rax
je 0x1a9e5
movq 0x110(%rsp), %rax
cmpq 0x118(%rsp), %rax
je 0x1a9e5
leaq 0x168(%rsp), %rdi
leaq 0x20(%rsp), %rsi
leaq 0x110(%rsp), %rdx
callq 0x21e26
movq %rsp, %rdi
leaq 0x168(%rsp), %rsi
callq 0x222ec
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0x1a9e5
movq 0x178(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
cmpq %rcx, %rax
je 0x1aa01
cmpq %rcx, %rax
jne 0x1aa4d
jmp 0x1aa17
movq 0xf0(%rsp), %rax
cmpq 0xf8(%rsp), %rax
je 0x1ae94
movq 0xf0(%rsp), %rax
cmpq 0xf8(%rsp), %rax
je 0x1aae9
movq %rsp, %rdi
leaq 0xf0(%rsp), %rsi
callq 0x21dfa
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
cmpq %rcx, %rax
je 0x1aae9
movq 0xf0(%rsp), %rdx
cmpq 0xf8(%rsp), %rdx
jne 0x1aa88
movq %rsp, %rdi
leaq 0xd0(%rsp), %rsi
callq 0x21dfa
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
cmpq %rcx, %rax
je 0x1aae9
movq 0xf0(%rsp), %rax
cmpq 0xf8(%rsp), %rax
je 0x1aae9
leaq 0x168(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
leaq 0xf0(%rsp), %rdx
callq 0x21e26
movq %rsp, %rdi
leaq 0x168(%rsp), %rsi
callq 0x222ec
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0x1aae9
movq 0x178(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
leaq 0x150(%rsp), %rsi
movq %rsp, %rdx
movq %rbp, %rdi
callq 0x21cbe
movq %rsp, %rdi
callq 0x21da6
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x1ab21
movq 0x100(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x1ab3e
movq 0xe0(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x110(%rsp), %rdi
testq %rdi, %rdi
je 0x1ab5b
movq 0x120(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x1ad2f
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
jmp 0x1ad2f
xorl %ebp, %ebp
xorl %ebx, %ebx
movq 0x48(%rsp), %r13
testq %r14, %r14
je 0x1abf5
movq 0x38(%r13), %rsi
leaq 0x20(%rsp), %rdi
movl $0x1, %edx
movq %r15, %rcx
movl 0x44(%rsp), %r8d
movq %r12, %r9
callq 0x18d1c
jmp 0x1abd5
xorl %ebp, %ebp
xorl %ebx, %ebx
movq %r12, %r14
testq %r13, %r13
je 0x1abf5
movq 0x48(%rsp), %rax
movq 0x48(%rax), %rsi
leaq 0x20(%rsp), %rdi
xorl %edx, %edx
movq %r15, %rcx
movl 0x44(%rsp), %r8d
movq %r14, %r9
callq 0x18d1c
movq 0x20(%rsp), %r14
movq 0x28(%rsp), %r13
movq %r14, 0x50(%rsp)
movq %r13, 0x58(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x60(%rsp)
jmp 0x1abfb
xorl %r13d, %r13d
xorl %r14d, %r14d
cmpq $0x0, 0xc8(%rsp)
je 0x1ac54
movq 0x48(%rsp), %rax
movq 0x58(%rax), %rsi
leaq 0x20(%rsp), %rdi
movl 0xa8(%rsp), %edx
movq %r15, %rcx
movl 0x44(%rsp), %r8d
movq %r12, %r9
callq 0x18d1c
movq 0x20(%rsp), %rdi
movq 0x28(%rsp), %rax
movq %rdi, 0xb0(%rsp)
movq %rax, 0xb8(%rsp)
movq 0x30(%rsp), %rcx
movq %rcx, 0xc0(%rsp)
jmp 0x1ac58
xorl %eax, %eax
xorl %edi, %edi
movq 0x70(%rsp), %rcx
xorq 0x78(%rsp), %rcx
xorq %rbp, %rbx
xorq %r13, %r14
orq %rbx, %r14
orq %rcx, %r14
xorq %rdi, %rax
orq %r14, %rax
jne 0x1acb6
movapd 0x150(%rsp), %xmm0
movq 0x180(%rsp), %rbp
movupd %xmm0, (%rbp)
movq 0x160(%rsp), %rax
movq %rax, 0x10(%rbp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x150(%rsp)
movq $0x0, 0x160(%rsp)
jmp 0x1ad37
xorpd %xmm0, %xmm0
leaq 0x20(%rsp), %rdi
movapd %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq 0x70(%rsp), %rsi
callq 0x222ec
movq 0x180(%rsp), %rbp
leaq 0x20(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0x222ec
leaq 0x20(%rsp), %rdi
leaq 0x50(%rsp), %rsi
callq 0x222ec
leaq 0x20(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0x222ec
leaq 0x150(%rsp), %rsi
leaq 0x20(%rsp), %rdx
movq %rbp, %rdi
callq 0x21cbe
leaq 0x20(%rsp), %rdi
callq 0x21da6
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x1ad4c
movq 0xc0(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x1ad63
movq 0x60(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x1ad80
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x1ad9a
movq 0x80(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x150(%rsp), %rdi
testq %rdi, %rdi
je 0x1adb7
movq 0x160(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq %rbp, %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 0x1ae30
movq 0xb0(%rsp), %rax
cmpq 0xb8(%rsp), %rax
jne 0x1ae30
movq 0x20(%rsp), %rax
cmpq 0x28(%rsp), %rax
jne 0x1ae30
movq 0x110(%rsp), %rax
cmpq 0x118(%rsp), %rax
jne 0x1ae30
movq 0xd0(%rsp), %rax
cmpq 0xd8(%rsp), %rax
jne 0x1ae30
movq 0xf0(%rsp), %rdi
cmpq 0xf8(%rsp), %rdi
je 0x1aeb9
xorpd %xmm0, %xmm0
movq %rsp, %rdi
movapd %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq 0x70(%rsp), %rsi
callq 0x21dfa
movq 0x70(%rsp), %rax
movq 0x78(%rsp), %rcx
jmp 0x1a53c
movq %rsp, %rdi
leaq 0x50(%rsp), %rsi
callq 0x21dfa
movq 0x50(%rsp), %rax
movq 0x58(%rsp), %rcx
jmp 0x1a81c
movq %rsp, %rdi
leaq 0x20(%rsp), %rsi
callq 0x21dfa
movq 0x20(%rsp), %rax
movq 0x28(%rsp), %rcx
jmp 0x1a908
movq %rsp, %rdi
leaq 0xd0(%rsp), %rsi
callq 0x21dfa
movq 0xd0(%rsp), %rax
movq 0xd8(%rsp), %rcx
jmp 0x1a9fa
movapd 0x150(%rsp), %xmm0
movupd %xmm0, (%rbp)
movq 0x160(%rsp), %rax
movq %rax, 0x10(%rbp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x150(%rsp)
movq $0x0, 0x160(%rsp)
jmp 0x1ab0c
jmp 0x1af06
jmp 0x1af8d
jmp 0x1af06
jmp 0x1af8d
jmp 0x1af06
jmp 0x1af8d
movq %rax, %rbx
movq 0x168(%rsp), %rdi
testq %rdi, %rdi
je 0x1af90
movq 0x178(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
jmp 0x1af90
jmp 0x1af8d
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
jmp 0x1af68
movq %rax, %rbx
jmp 0x1af98
jmp 0x1af83
jmp 0x1af83
jmp 0x1af83
jmp 0x1af83
jmp 0x1af83
jmp 0x1af83
jmp 0x1af83
jmp 0x1af83
jmp 0x1af83
jmp 0x1af83
jmp 0x1af83
movq %rax, %rbx
jmp 0x1b032
jmp 0x1b008
movq %rax, %rbx
movq %rsp, %rdi
callq 0x21da6
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x1afb5
movq 0x100(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0xd0(%rsp), %rdi
testq %rdi, %rdi
je 0x1afd2
movq 0xe0(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x110(%rsp), %rdi
testq %rdi, %rdi
je 0x1afef
movq 0x120(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x1b015
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
jmp 0x1b015
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x21da6
movq 0xb0(%rsp), %rdi
testq %rdi, %rdi
je 0x1b032
movq 0xc0(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x50(%rsp), %rdi
testq %rdi, %rdi
je 0x1b049
movq 0x60(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x90(%rsp), %rdi
testq %rdi, %rdi
je 0x1b066
movq 0xa0(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x1b089
movq 0x80(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
jmp 0x1b089
jmp 0x1b086
jmp 0x1b086
movq %rax, %rbx
movq 0x150(%rsp), %rdi
testq %rdi, %rdi
je 0x1b0a6
movq 0x160(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq %rbx, %rdi
callq 0x22b0