// File: /workspace/github_cpp_makefile_star2_O3/toxaart[P]hierarchical_block_sparse_lib/source/HierarchicalBlockSparseMatrix.h
// Function: hbsm::HierarchicalBlockSparseMatrix<double>::count_skips(hbsm::HierarchicalBlockSparseMatrix<double> const&, bool, hbsm::HierarchicalBlockSparseMatrix<double> const&, bool, std::vector<double, std::allocator<double>> const&, bool const&, bool const&)
std::vector<unsigned long int> HierarchicalBlockSparseMatrix<Treal>::count_skips(HierarchicalBlockSparseMatrix<Treal> const & A, const bool tA,
			 HierarchicalBlockSparseMatrix<Treal> const & B, const bool tB, std::vector<Treal> const & taus,
		   const bool & apply_truncation, const bool & apply_spamm){

	    // look at the current level
			std::vector<unsigned long int> curr_level_skips;
			const int length = taus.size();
			curr_level_skips.resize(length);

			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){

					// depending on values of apply_truncation and apply_spamm decide if this multiplication is to be skipped

					//truncmul
					if(apply_truncation && !apply_spamm){
						if(A_norm < taus[i] || B_norm < taus[i])	curr_level_skips[i] = 1;
						else curr_level_skips[i] = 0;
					}

					//SpAMM
					if(!apply_truncation && apply_spamm){
						if(product_of_norms < taus[i]) curr_level_skips[i] = 1;
						else curr_level_skips[i] = 0;
					}

					//hybrid
					if(apply_truncation && apply_spamm){
						if(A_norm < taus[i] || B_norm < taus[i] || product_of_norms < taus[i]) curr_level_skips[i] = 1;
						else curr_level_skips[i] = 0;
					}

					if(!apply_truncation && !apply_spamm){
						curr_level_skips[i] = 0;
					}

			}


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

			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<unsigned long int> sub_skips0(length,0),sub_skips1(length,0),sub_skips2(length,0),sub_skips3(length,0);

					if(B0) sub_skips0 = count_skips(A, tA, *B.children[0],tB, taus, apply_truncation, apply_spamm);
					if(tB){
						if(B2) sub_skips1 = count_skips(A, tA, *B.children[2], tB, taus, apply_truncation, apply_spamm);
						if(B1) sub_skips2 = count_skips(A, tA, *B.children[1], tB, taus, apply_truncation, apply_spamm);
					}
					else{
						if(B1) sub_skips1 = count_skips(A, tA, *B.children[1], tB, taus, apply_truncation, apply_spamm);
					  if(B2) sub_skips2 = count_skips(A, tA, *B.children[2], tB, taus, apply_truncation, apply_spamm);
					}
					if(B3) sub_skips3 = count_skips(A, tA, *B.children[3], tB, taus, apply_truncation, apply_spamm);

					std::vector<std::vector<unsigned long int> > all_subskips;
					all_subskips.push_back(std::move(sub_skips0));
					all_subskips.push_back(std::move(sub_skips1));
					all_subskips.push_back(std::move(sub_skips2));
					all_subskips.push_back(std::move(sub_skips3));

					return sum_skips(curr_level_skips, all_subskips);
			}

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

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

					std::vector<unsigned long int> sub_skips0(length,0),sub_skips1(length,0),sub_skips2(length,0),sub_skips3(length,0);

					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_skips0 = count_skips(*A.children[0], tA, B, tB, taus, apply_truncation, apply_spamm);
					if(tA){
						if(A2) sub_skips1 = count_skips(*A.children[2], tA, B, tB, taus, apply_truncation, apply_spamm);
						if(A1) sub_skips2 = count_skips(*A.children[1], tA, B, tB, taus, apply_truncation, apply_spamm);
					}
					else{
						if(A1) sub_skips1 = count_skips(*A.children[1], tA, B, tB, taus, apply_truncation, apply_spamm);
						if(A2) sub_skips2 = count_skips(*A.children[2], tA, B, tB, taus, apply_truncation, apply_spamm);
					}
					if(A3) sub_skips3 = count_skips(*A.children[3], tA, B, tB, taus, apply_truncation, apply_spamm);

					std::vector<std::vector<unsigned long int> > all_subskips;
					all_subskips.push_back(std::move(sub_skips0));
					all_subskips.push_back(std::move(sub_skips1));
					all_subskips.push_back(std::move(sub_skips2));
					all_subskips.push_back(std::move(sub_skips3));

					return sum_skips(curr_level_skips, all_subskips);
			}

			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<unsigned long int> sub_skips0(length,0),sub_skips1(length,0),sub_skips2(length,0),sub_skips3(length,0),sub_skips4(length,0),sub_skips5(length,0),sub_skips6(length,0),sub_skips7(length,0);

			if(!tA && !tB){
					if(A0 && B0) sub_skips0 = count_skips(*A.children[0], tA, *B.children[0], tB, taus, apply_truncation, apply_spamm);

					if(A2 && B1) sub_skips1 = count_skips(*A.children[2], tA, *B.children[1], tB, taus, apply_truncation, apply_spamm);

					if(A1 && B0) sub_skips2 = count_skips(*A.children[1], tA, *B.children[0], tB, taus, apply_truncation, apply_spamm);

					if(A3 && B1) sub_skips3 = count_skips(*A.children[3], tA, *B.children[1], tB, taus, apply_truncation, apply_spamm);

					if(A0 && B2) sub_skips4 = count_skips(*A.children[0], tA, *B.children[2], tB, taus, apply_truncation, apply_spamm);

					if(A2 && B3) sub_skips5 = count_skips(*A.children[2], tA, *B.children[3], tB, taus, apply_truncation, apply_spamm);

					if(A1 && B2) sub_skips6 = count_skips(*A.children[1], tA, *B.children[2], tB, taus, apply_truncation, apply_spamm);

					if(A3 && B3) sub_skips7 = count_skips(*A.children[3], tA, *B.children[3], tB, taus, apply_truncation, apply_spamm);
 			}

			if(!tA && tB){
					if(A0 && B0) sub_skips0 = count_skips(*A.children[0], tA, *B.children[0], tB, taus, apply_truncation, apply_spamm);

					if(A2 && B2) sub_skips1 = count_skips(*A.children[2], tA, *B.children[2], tB, taus, apply_truncation, apply_spamm);

					if(A1 && B0) sub_skips2 = count_skips(*A.children[1], tA, *B.children[0], tB, taus, apply_truncation, apply_spamm);

					if(A3 && B2) sub_skips3 = count_skips(*A.children[3], tA, *B.children[2], tB, taus, apply_truncation, apply_spamm);

					if(A0 && B1) sub_skips4 = count_skips(*A.children[0], tA, *B.children[1], tB, taus, apply_truncation, apply_spamm);

					if(A2 && B3) sub_skips5 = count_skips(*A.children[2], tA, *B.children[3], tB, taus, apply_truncation, apply_spamm);

					if(A1 && B1) sub_skips6 = count_skips(*A.children[1], tA, *B.children[1], tB, taus, apply_truncation, apply_spamm);

					if(A3 && B3) sub_skips7 = count_skips(*A.children[3], tA, *B.children[3], tB, taus, apply_truncation, apply_spamm);
			}

			if(tA && !tB){
					if(A0 && B0) sub_skips0 = count_skips(*A.children[0], tA, *B.children[0], tB, taus, apply_truncation, apply_spamm);

					if(A1 && B1) sub_skips1 = count_skips(*A.children[1], tA, *B.children[1], tB, taus, apply_truncation, apply_spamm);

					if(A2 && B0) sub_skips2 = count_skips(*A.children[2], tA, *B.children[0], tB, taus, apply_truncation, apply_spamm);

					if(A3 && B1) sub_skips3 = count_skips(*A.children[3], tA, *B.children[1], tB, taus, apply_truncation, apply_spamm);

					if(A0 && B2) sub_skips4 = count_skips(*A.children[0], tA, *B.children[2], tB, taus, apply_truncation, apply_spamm);

					if(A1 && B3) sub_skips5 = count_skips(*A.children[1], tA, *B.children[3], tB, taus, apply_truncation, apply_spamm);

					if(A2 && B2) sub_skips6 = count_skips(*A.children[2], tA, *B.children[2], tB, taus, apply_truncation, apply_spamm);

					if(A3 && B3) sub_skips7 = count_skips(*A.children[3], tA, *B.children[3], tB, taus, apply_truncation, apply_spamm);
			}

			if(tA && tB){
					if(A0 && B0) sub_skips0 = count_skips(*A.children[0], tA, *B.children[0], tB, taus, apply_truncation, apply_spamm);

					if(A1 && B2) sub_skips1 = count_skips(*A.children[1], tA, *B.children[2], tB, taus, apply_truncation, apply_spamm);

					if(A2 && B0) sub_skips2 = count_skips(*A.children[2], tA, *B.children[0], tB, taus, apply_truncation, apply_spamm);

					if(A3 && B2) sub_skips3 = count_skips(*A.children[3], tA, *B.children[2], tB, taus, apply_truncation, apply_spamm);;

					if(A0 && B1) sub_skips4 = count_skips(*A.children[0], tA, *B.children[1], tB, taus, apply_truncation, apply_spamm);

					if(A1 && B3) sub_skips5 = count_skips(*A.children[1], tA, *B.children[3], tB, taus, apply_truncation, apply_spamm);

					if(A2 && B1) sub_skips6 = count_skips(*A.children[2], tA, *B.children[1], tB, taus, apply_truncation, apply_spamm);

					if(A3 && B3) sub_skips7 = count_skips(*A.children[3], tA, *B.children[3], tB, taus, apply_truncation, apply_spamm);
			}



			std::vector<std::vector<unsigned long int> > all_subskips;
			all_subskips.push_back(std::move(sub_skips0));
			all_subskips.push_back(std::move(sub_skips1));
			all_subskips.push_back(std::move(sub_skips2));
			all_subskips.push_back(std::move(sub_skips3));
			all_subskips.push_back(std::move(sub_skips4));
			all_subskips.push_back(std::move(sub_skips5));
			all_subskips.push_back(std::move(sub_skips6));
			all_subskips.push_back(std::move(sub_skips7));

			return sum_skips(curr_level_skips, all_subskips);



	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x188, %rsp            # imm = 0x188
movq %r9, %r12
movl %r8d, 0x9c(%rsp)
movq %rcx, %r15
movl %edx, 0xbc(%rsp)
movq %rsi, %rbp
movq %rdi, %r14
xorpd %xmm0, %xmm0
leaq 0x170(%rsp), %rdi
movapd %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
movq 0x8(%r9), %r13
subq (%r9), %r13
shrq $0x3, %r13
movslq %r13d, %rbx
movq %rbx, %rsi
callq 0x21576
movq %rbp, 0x160(%rsp)
movsd 0x18(%rbp), %xmm0
xorpd %xmm1, %xmm1
ucomisd %xmm1, %xmm0
jb 0x16571
sqrtsd %xmm0, %xmm5
jmp 0x1657e
callq 0x2170
xorpd %xmm1, %xmm1
movapd %xmm0, %xmm5
movsd 0x18(%r15), %xmm0
ucomisd %xmm1, %xmm0
jb 0x16590
sqrtsd %xmm0, %xmm0
jmp 0x165a7
movapd %xmm5, 0x110(%rsp)
callq 0x2170
movapd 0x110(%rsp), %xmm5
testl %r13d, %r13d
jle 0x16647
movapd %xmm5, %xmm1
mulsd %xmm0, %xmm1
movq 0x1c0(%rsp), %rax
movb (%rax), %al
movq 0x1c8(%rsp), %rcx
movb (%rcx), %cl
movq (%r12), %rdx
movq 0x170(%rsp), %rsi
andl $0x7fffffff, %r13d      # imm = 0x7FFFFFFF
xorl %edi, %edi
testb %al, %al
je 0x1661d
movsd (%rdx,%rdi,8), %xmm2
movapd %xmm0, %xmm3
cmpltpd %xmm2, %xmm3
movapd %xmm5, %xmm4
cmpltpd %xmm2, %xmm4
orpd %xmm3, %xmm4
movd %xmm4, %r8d
testb $0x1, %cl
je 0x16615
ucomisd %xmm1, %xmm2
seta %r9b
orb %r9b, %r8b
testb $0x1, %r8b
jne 0x1662d
jmp 0x16637
testb $0x1, %cl
je 0x16637
movsd (%rdx,%rdi,8), %xmm2
ucomisd %xmm1, %xmm2
jbe 0x16637
movq $0x1, (%rsi,%rdi,8)
jmp 0x1663f
movq $0x0, (%rsi,%rdi,8)
incq %rdi
cmpq %rdi, %r13
jne 0x165e1
movq 0x160(%rsp), %r13
movq %r13, %rdi
callq 0x1b448
testb %al, %al
je 0x16686
movq %r15, %rdi
callq 0x1b448
testb %al, %al
je 0x16686
movapd 0x170(%rsp), %xmm0
movupd %xmm0, (%r14)
movq 0x180(%rsp), %rax
movq %rax, 0x10(%r14)
jmp 0x187e7
movq %r13, %rdi
callq 0xeabc
movl %eax, %ebp
movq %r15, %rdi
callq 0xeabc
cmpl %eax, %ebp
jge 0x168e4
movq %r12, %r13
movq %r14, %r12
movq 0x28(%r15), %r14
movq 0x38(%r15), %rcx
movq %rcx, 0x110(%rsp)
movq 0x48(%r15), %rbp
movq 0x58(%r15), %rax
movq %rax, 0xc0(%rsp)
leaq 0x60(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0xa0(%rsp), %rdi
leaq 0x40(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
leaq 0x40(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x60(%rsp), %rdi
leaq 0x80(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
leaq 0x80(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
leaq 0x20(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x80(%rsp), %rdi
leaq 0xf0(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
testq %r14, %r14
movq %r12, %r14
movq %r13, %rbx
movq 0x160(%rsp), %r12
movl 0xbc(%rsp), %r13d
je 0x16802
movq 0x28(%r15), %rcx
movzbl %r13b, %edx
movzbl 0x9c(%rsp), %r8d
leaq 0x20(%rsp), %rdi
movq %r12, %rsi
movq %rbx, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0xa0(%rsp), %rdi
movq 0xb0(%rsp), %rsi
movapd 0x20(%rsp), %xmm0
movapd %xmm0, 0xa0(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0xb0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
testq %rdi, %rdi
je 0x16802
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x16802
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpb $0x0, 0x9c(%rsp)
je 0x18300
testq %rbp, %rbp
je 0x168a0
movq 0x48(%r15), %rcx
movzbl %r13b, %edx
leaq 0x20(%rsp), %rdi
movq %r12, %rsi
movl $0x1, %r8d
movq %rbx, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x60(%rsp), %rdi
movq 0x70(%rsp), %rsi
movapd 0x20(%rsp), %xmm0
movapd %xmm0, 0x60(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x70(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
testq %rdi, %rdi
je 0x168a0
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x168a0
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x110(%rsp)
je 0x18420
movq 0x38(%r15), %rcx
movzbl %r13b, %edx
leaq 0x20(%rsp), %rdi
movq %r12, %rsi
movl $0x1, %r8d
movq %rbx, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
jmp 0x183c9
movq %r13, %rdi
callq 0xeabc
movl %eax, %ebp
movq %r15, %rdi
callq 0xeabc
cmpl %eax, %ebp
jle 0x16b37
leaq 0x60(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0xa0(%rsp), %rdi
leaq 0x40(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
leaq 0x40(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x60(%rsp), %rdi
leaq 0x80(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
leaq 0x80(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
leaq 0x20(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x80(%rsp), %rdi
leaq 0xf0(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
movq 0x28(%r13), %rsi
movq %r13, %rax
movq 0x38(%r13), %r13
movq 0x48(%rax), %rbp
movq 0x58(%rax), %rax
movq %rax, 0xc0(%rsp)
movzbl 0xbc(%rsp), %eax
movl %eax, 0x110(%rsp)
movzbl 0x9c(%rsp), %ebx
testq %rsi, %rsi
je 0x16a4f
leaq 0x20(%rsp), %rdi
movl 0x110(%rsp), %edx
movq %r15, %rcx
movl %ebx, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0xa0(%rsp), %rdi
movq 0xb0(%rsp), %rsi
movapd 0x20(%rsp), %xmm0
movapd %xmm0, 0xa0(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0xb0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
testq %rdi, %rdi
je 0x16a4f
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x16a4f
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpb $0x0, 0xbc(%rsp)
je 0x18531
testq %rbp, %rbp
je 0x16af3
movq 0x160(%rsp), %rax
movq 0x48(%rax), %rsi
leaq 0x20(%rsp), %rdi
movl $0x1, %edx
movq %r15, %rcx
movl %ebx, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x60(%rsp), %rdi
movq 0x70(%rsp), %rsi
movapd 0x20(%rsp), %xmm0
movapd %xmm0, 0x60(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x70(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
testq %rdi, %rdi
je 0x16af3
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x16af3
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
testq %r13, %r13
movq 0x160(%rsp), %r13
je 0x1864f
movq 0x38(%r13), %rsi
leaq 0x20(%rsp), %rdi
movl $0x1, %edx
movq %r15, %rcx
movl %ebx, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
jmp 0x185f8
movq 0x28(%r13), %rax
movq %rax, 0xc0(%rsp)
movq 0x38(%r13), %rax
movq %rax, 0xe0(%rsp)
movq 0x48(%r13), %rax
movq %rax, 0xe8(%rsp)
movq 0x58(%r13), %rbp
movq 0x28(%r15), %rax
movq %rax, 0x110(%rsp)
movq 0x38(%r15), %rax
movq %rax, 0xd0(%rsp)
movq 0x48(%r15), %rax
movq %rax, 0xd8(%rsp)
movq 0x58(%r15), %rax
movq %rax, 0xc8(%rsp)
leaq 0x60(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0xa0(%rsp), %rdi
leaq 0x40(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
leaq 0x40(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x60(%rsp), %rdi
leaq 0x80(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
leaq 0x80(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x40(%rsp), %rdi
leaq 0x20(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
leaq 0x20(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x80(%rsp), %rdi
leaq 0xf0(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
leaq 0xf0(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x20(%rsp), %rdi
leaq 0x140(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
leaq 0x140(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0xf0(%rsp), %rdi
leaq 0x120(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
leaq 0x120(%rsp), %rdx
movq $0x0, (%rdx)
leaq 0x140(%rsp), %rdi
movq %rsp, %rcx
movq %rbx, %rsi
callq 0x215a8
movq %rsp, %rdx
movq $0x0, (%rdx)
leaq 0x120(%rsp), %rdi
leaq 0x15f(%rsp), %rcx
movq %rbx, %rsi
callq 0x215a8
movl 0xbc(%rsp), %eax
orb 0x9c(%rsp), %al
jne 0x171cd
cmpq $0x0, 0x110(%rsp)
sete %al
cmpq $0x0, 0xc0(%rsp)
sete %cl
orb %al, %cl
jne 0x16d63
movq 0x28(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0xa0(%rsp), %rdi
movq 0xb0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xa0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xb0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x16d63
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x16d63
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd0(%rsp)
sete %al
cmpq $0x0, 0xe8(%rsp)
sete %cl
orb %al, %cl
jne 0x16dfd
movq 0x48(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x60(%rsp), %rdi
movq 0x70(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x60(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x70(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x16dfd
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x16dfd
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x110(%rsp)
sete %al
cmpq $0x0, 0xe0(%rsp)
sete %cl
orb %al, %cl
jne 0x16e97
movq 0x38(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x40(%rsp), %rdi
movq 0x50(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x40(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x50(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x16e97
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x16e97
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd0(%rsp)
sete %al
testq %rbp, %rbp
sete %cl
orb %al, %cl
jne 0x16f3b
movq 0x58(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x80(%rsp), %rdi
movq 0x90(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x80(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x90(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x16f3b
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x16f3b
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd8(%rsp)
sete %al
cmpq $0x0, 0xc0(%rsp)
sete %cl
orb %al, %cl
jne 0x16fd5
movq 0x28(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
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 0x16fd5
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x16fd5
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
cmpq $0x0, 0xe8(%rsp)
sete %cl
orb %al, %cl
jne 0x1707f
movq 0x48(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
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 0x1707f
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1707f
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd8(%rsp)
sete %al
cmpq $0x0, 0xe0(%rsp)
sete %cl
orb %al, %cl
jne 0x17129
movq 0x38(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x140(%rsp), %rdi
movq 0x150(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x140(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x150(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x17129
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17129
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
testq %rbp, %rbp
sete %cl
orb %al, %cl
jne 0x171cd
movq 0x58(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x120(%rsp), %rdi
movq 0x130(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x120(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x130(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x171cd
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x171cd
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movl 0x9c(%rsp), %eax
movl %eax, %ebx
xorb $0x1, %bl
movl %ebx, %eax
orb 0xbc(%rsp), %al
jne 0x17720
cmpq $0x0, 0x110(%rsp)
sete %al
cmpq $0x0, 0xc0(%rsp)
sete %cl
orb %al, %cl
jne 0x17295
movq 0x28(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0xa0(%rsp), %rdi
movq 0xb0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xa0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xb0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x17295
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17295
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd8(%rsp)
sete %al
cmpq $0x0, 0xe8(%rsp)
sete %cl
orb %al, %cl
jne 0x17336
movq 0x48(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x60(%rsp), %rdi
movq 0x70(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x60(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x70(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x17336
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17336
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x110(%rsp)
sete %al
cmpq $0x0, 0xe0(%rsp)
sete %cl
orb %al, %cl
jne 0x173d7
movq 0x38(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x40(%rsp), %rdi
movq 0x50(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x40(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x50(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x173d7
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x173d7
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd8(%rsp)
sete %al
testq %rbp, %rbp
sete %cl
orb %al, %cl
jne 0x1747e
movq 0x58(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x80(%rsp), %rdi
movq 0x90(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x80(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x90(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x1747e
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1747e
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd0(%rsp)
sete %al
cmpq $0x0, 0xc0(%rsp)
sete %cl
orb %al, %cl
jne 0x1751f
movq 0x28(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
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 0x1751f
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1751f
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
cmpq $0x0, 0xe8(%rsp)
sete %cl
orb %al, %cl
jne 0x175cc
movq 0x48(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
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 0x175cc
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x175cc
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd0(%rsp)
sete %al
cmpq $0x0, 0xe0(%rsp)
sete %cl
orb %al, %cl
jne 0x17679
movq 0x38(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x140(%rsp), %rdi
movq 0x150(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x140(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x150(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x17679
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17679
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
testq %rbp, %rbp
sete %cl
orb %al, %cl
jne 0x17720
movq 0x58(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
xorl %edx, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x120(%rsp), %rdi
movq 0x130(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x120(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x130(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x17720
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17720
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq %rbp, 0x168(%rsp)
movl 0xbc(%rsp), %eax
xorb $0x1, %al
movl %eax, %ebp
movl 0x9c(%rsp), %ecx
orb %al, %cl
jne 0x17c86
cmpq $0x0, 0x110(%rsp)
sete %al
cmpq $0x0, 0xc0(%rsp)
sete %cl
orb %al, %cl
jne 0x177ef
movq 0x28(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0xa0(%rsp), %rdi
movq 0xb0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xa0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xb0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x177ef
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x177ef
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd0(%rsp)
sete %al
cmpq $0x0, 0xe0(%rsp)
sete %cl
orb %al, %cl
jne 0x17890
movq 0x38(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x60(%rsp), %rdi
movq 0x70(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x60(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x70(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x17890
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17890
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x110(%rsp)
sete %al
cmpq $0x0, 0xe8(%rsp)
sete %cl
orb %al, %cl
jne 0x17931
movq 0x48(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x40(%rsp), %rdi
movq 0x50(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x40(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x50(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x17931
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17931
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd0(%rsp)
sete %al
cmpq $0x0, 0x168(%rsp)
sete %cl
orb %al, %cl
jne 0x179de
movq 0x58(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x80(%rsp), %rdi
movq 0x90(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x80(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x90(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x179de
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x179de
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd8(%rsp)
sete %al
cmpq $0x0, 0xc0(%rsp)
sete %cl
orb %al, %cl
jne 0x17a7f
movq 0x28(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
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 0x17a7f
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17a7f
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
cmpq $0x0, 0xe0(%rsp)
sete %cl
orb %al, %cl
jne 0x17b2c
movq 0x38(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
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 0x17b2c
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17b2c
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd8(%rsp)
sete %al
cmpq $0x0, 0xe8(%rsp)
sete %cl
orb %al, %cl
jne 0x17bd9
movq 0x48(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x140(%rsp), %rdi
movq 0x150(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x140(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x150(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x17bd9
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17bd9
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
cmpq $0x0, 0x168(%rsp)
sete %cl
orb %al, %cl
jne 0x17c86
movq 0x58(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
xorl %r8d, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x120(%rsp), %rdi
movq 0x130(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x120(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x130(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x17c86
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17c86
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
orb %bl, %bpl
jne 0x181e7
cmpq $0x0, 0x110(%rsp)
sete %al
cmpq $0x0, 0xc0(%rsp)
sete %cl
orb %al, %cl
movq 0x168(%rsp), %rbx
jne 0x17d47
movq 0x28(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0xa0(%rsp), %rdi
movq 0xb0(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0xa0(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0xb0(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x17d47
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17d47
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd8(%rsp)
sete %al
cmpq $0x0, 0xe0(%rsp)
sete %cl
orb %al, %cl
jne 0x17deb
movq 0x38(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x60(%rsp), %rdi
movq 0x70(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x60(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x70(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x17deb
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17deb
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0x110(%rsp)
sete %al
cmpq $0x0, 0xe8(%rsp)
sete %cl
orb %al, %cl
jne 0x17e8f
movq 0x48(%r13), %rsi
movq 0x28(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x40(%rsp), %rdi
movq 0x50(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x40(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x50(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x17e8f
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17e8f
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd8(%rsp)
sete %al
testq %rbx, %rbx
sete %cl
orb %al, %cl
jne 0x17f39
movq 0x58(%r13), %rsi
movq 0x48(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x80(%rsp), %rdi
movq 0x90(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x80(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x90(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x17f39
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17f39
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd0(%rsp)
sete %al
cmpq $0x0, 0xc0(%rsp)
sete %cl
orb %al, %cl
jne 0x17fdd
movq 0x28(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
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 0x17fdd
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x17fdd
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
cmpq $0x0, 0xe0(%rsp)
sete %cl
orb %al, %cl
jne 0x1808d
movq 0x38(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
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 0x1808d
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1808d
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xd0(%rsp)
sete %al
cmpq $0x0, 0xe8(%rsp)
sete %cl
orb %al, %cl
jne 0x1813d
movq 0x48(%r13), %rsi
movq 0x38(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x140(%rsp), %rdi
movq 0x150(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x140(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x150(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x1813d
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x1813d
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc8(%rsp)
sete %al
testq %rbx, %rbx
sete %cl
orb %al, %cl
jne 0x181e7
movq 0x58(%r13), %rsi
movq 0x58(%r15), %rcx
movq %rsp, %rdi
movl $0x1, %edx
movl $0x1, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x120(%rsp), %rdi
movq 0x130(%rsp), %rsi
movapd (%rsp), %xmm0
movapd %xmm0, 0x120(%rsp)
movq 0x10(%rsp), %rax
movq %rax, 0x130(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, (%rsp)
movq $0x0, 0x10(%rsp)
testq %rdi, %rdi
je 0x181e7
subq %rdi, %rsi
callq 0x21d0
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x181e7
movq 0x10(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
xorpd %xmm0, %xmm0
movq %rsp, %rdi
movapd %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq 0xa0(%rsp), %rsi
callq 0x21960
movq %rsp, %rdi
leaq 0x60(%rsp), %rsi
callq 0x21960
movq %rsp, %rdi
leaq 0x40(%rsp), %rsi
callq 0x21960
movq %rsp, %rdi
leaq 0x80(%rsp), %rsi
callq 0x21960
movq %rsp, %rdi
leaq 0x20(%rsp), %rsi
callq 0x21960
movq %rsp, %rdi
leaq 0xf0(%rsp), %rsi
callq 0x21960
movq %rsp, %rdi
leaq 0x140(%rsp), %rsi
callq 0x21960
movq %rsp, %rdi
leaq 0x120(%rsp), %rsi
callq 0x21960
leaq 0x170(%rsp), %rsi
movq %rsp, %rdx
movq %r14, %rdi
callq 0x216c8
movq %rsp, %rdi
callq 0x2179e
movq 0x120(%rsp), %rdi
testq %rdi, %rdi
je 0x182a6
movq 0x130(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x140(%rsp), %rdi
testq %rdi, %rdi
je 0x182c3
movq 0x150(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x182e0
movq 0x100(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x18762
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
jmp 0x18762
cmpq $0x0, 0x110(%rsp)
je 0x18393
movq 0x38(%r15), %rcx
movzbl %r13b, %edx
leaq 0x20(%rsp), %rdi
movq %r12, %rsi
xorl %r8d, %r8d
movq %rbx, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x60(%rsp), %rdi
movq 0x70(%rsp), %rsi
movapd 0x20(%rsp), %xmm0
movapd %xmm0, 0x60(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x70(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
testq %rdi, %rdi
je 0x18393
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x18393
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
testq %rbp, %rbp
je 0x18420
movq 0x48(%r15), %rcx
movzbl %r13b, %edx
leaq 0x20(%rsp), %rdi
movq %r12, %rsi
xorl %r8d, %r8d
movq %rbx, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x40(%rsp), %rdi
movq 0x50(%rsp), %rsi
movapd 0x20(%rsp), %xmm0
movapd %xmm0, 0x40(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x50(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
testq %rdi, %rdi
je 0x18420
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x18420
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc0(%rsp)
je 0x184c5
movq 0x58(%r15), %rcx
movzbl %r13b, %edx
movzbl 0x9c(%rsp), %r8d
leaq 0x20(%rsp), %rdi
movq %r12, %rsi
movq %rbx, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x80(%rsp), %rdi
movq 0x90(%rsp), %rsi
movapd 0x20(%rsp), %xmm0
movapd %xmm0, 0x80(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x90(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
testq %rdi, %rdi
je 0x184c5
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x184c5
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
xorpd %xmm0, %xmm0
leaq 0x20(%rsp), %rdi
movapd %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq 0xa0(%rsp), %rsi
callq 0x21960
leaq 0x20(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x21960
leaq 0x20(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x21960
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x21960
leaq 0x170(%rsp), %rsi
leaq 0x20(%rsp), %rdx
movq %r14, %rdi
callq 0x216c8
jmp 0x18758
testq %r13, %r13
movq 0x160(%rsp), %r13
je 0x185c4
movq 0x38(%r13), %rsi
leaq 0x20(%rsp), %rdi
xorl %edx, %edx
movq %r15, %rcx
movl %ebx, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x60(%rsp), %rdi
movq 0x70(%rsp), %rsi
movapd 0x20(%rsp), %xmm0
movapd %xmm0, 0x60(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x70(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
testq %rdi, %rdi
je 0x185c4
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x185c4
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
testq %rbp, %rbp
je 0x1864f
movq 0x48(%r13), %rsi
leaq 0x20(%rsp), %rdi
xorl %edx, %edx
movq %r15, %rcx
movl %ebx, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x40(%rsp), %rdi
movq 0x50(%rsp), %rsi
movapd 0x20(%rsp), %xmm0
movapd %xmm0, 0x40(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x50(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
testq %rdi, %rdi
je 0x1864f
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x1864f
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
cmpq $0x0, 0xc0(%rsp)
je 0x186f1
movq 0x58(%r13), %rsi
leaq 0x20(%rsp), %rdi
movl 0x110(%rsp), %edx
movq %r15, %rcx
movl %ebx, %r8d
movq %r12, %r9
pushq 0x1c8(%rsp)
pushq 0x1c8(%rsp)
callq 0x164fa
addq $0x10, %rsp
movq 0x80(%rsp), %rdi
movq 0x90(%rsp), %rsi
movapd 0x20(%rsp), %xmm0
movapd %xmm0, 0x80(%rsp)
movq 0x30(%rsp), %rax
movq %rax, 0x90(%rsp)
xorpd %xmm0, %xmm0
movapd %xmm0, 0x20(%rsp)
movq $0x0, 0x30(%rsp)
testq %rdi, %rdi
je 0x186f1
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x186f1
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
xorpd %xmm0, %xmm0
leaq 0x20(%rsp), %rdi
movapd %xmm0, (%rdi)
movq $0x0, 0x10(%rdi)
leaq 0xa0(%rsp), %rsi
callq 0x21960
leaq 0x20(%rsp), %rdi
leaq 0x60(%rsp), %rsi
callq 0x21960
leaq 0x20(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x21960
leaq 0x20(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0x21960
leaq 0x170(%rsp), %rsi
leaq 0x20(%rsp), %rdx
movq %r14, %rdi
callq 0x216c8
leaq 0x20(%rsp), %rdi
callq 0x2179e
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x1877f
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x18796
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x187ad
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0xa0(%rsp), %rdi
testq %rdi, %rdi
je 0x187ca
movq 0xb0(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x170(%rsp), %rdi
testq %rdi, %rdi
je 0x187e7
movq 0x180(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq %r14, %rax
addq $0x188, %rsp            # imm = 0x188
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
jmp 0x1883a
movq %rax, %rbx
jmp 0x188c2
jmp 0x18888
jmp 0x18888
jmp 0x18888
jmp 0x18888
jmp 0x18888
jmp 0x18888
jmp 0x18888
jmp 0x18888
jmp 0x18888
jmp 0x18888
movq %rax, %rbx
jmp 0x188df
movq %rax, %rbx
jmp 0x188fc
movq %rax, %rbx
jmp 0x18919
jmp 0x18888
jmp 0x18890
jmp 0x18890
jmp 0x18898
jmp 0x18898
jmp 0x188a0
jmp 0x188a0
jmp 0x189a9
jmp 0x189a9
jmp 0x18888
movq %rax, %rbx
jmp 0x1893f
movq %rax, %rbx
jmp 0x1895c
movq %rax, %rbx
jmp 0x18973
movq %rax, %rbx
jmp 0x1898a
jmp 0x189a9
jmp 0x18932
jmp 0x189a9
movq %rax, %rbx
movq %rsp, %rdi
callq 0x2179e
movq 0x120(%rsp), %rdi
testq %rdi, %rdi
je 0x188df
movq 0x130(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x140(%rsp), %rdi
testq %rdi, %rdi
je 0x188fc
movq 0x150(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x18919
movq 0x100(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x1893f
movq 0x30(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
jmp 0x1893f
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x2179e
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x1895c
movq 0x90(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x40(%rsp), %rdi
testq %rdi, %rdi
je 0x18973
movq 0x50(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0x60(%rsp), %rdi
testq %rdi, %rdi
je 0x1898a
movq 0x70(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq 0xa0(%rsp), %rdi
testq %rdi, %rdi
je 0x189ac
movq 0xb0(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
jmp 0x189ac
movq %rax, %rbx
movq 0x170(%rsp), %rdi
testq %rdi, %rdi
je 0x189c9
movq 0x180(%rsp), %rsi
subq %rdi, %rsi
callq 0x21d0
movq %rbx, %rdi
callq 0x22b0
nop