// File: 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
movq %rsp, %rbp
subq $0xb60, %rsp            # imm = 0xB60
movq %rdi, -0x798(%rbp)
movb %r8b, %al
movq %rdi, %r8
movq %r8, -0x790(%rbp)
movq 0x18(%rbp), %r8
movq 0x10(%rbp), %r8
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
andb $0x1, %dl
movb %dl, -0x11(%rbp)
movq %rcx, -0x20(%rbp)
andb $0x1, %al
movb %al, -0x21(%rbp)
movq %r9, -0x30(%rbp)
leaq -0x48(%rbp), %rdi
movq %rdi, -0x788(%rbp)
callq 0x2fff0
movq -0x30(%rbp), %rdi
callq 0x22b40
movq -0x788(%rbp), %rdi
movl %eax, -0x4c(%rbp)
movslq -0x4c(%rbp), %rsi
callq 0x30010
jmp 0x1d310
movq -0x10(%rbp), %rdi
callq 0x2ffd0
callq 0x2180
movsd %xmm0, -0x68(%rbp)
movq -0x20(%rbp), %rdi
callq 0x2ffd0
callq 0x2180
movsd %xmm0, -0x70(%rbp)
movsd -0x68(%rbp), %xmm0
mulsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x78(%rbp)
movl $0x0, -0x7c(%rbp)
movl -0x7c(%rbp), %eax
cmpl -0x4c(%rbp), %eax
jge 0x1d571
movq 0x10(%rbp), %rax
testb $0x1, (%rax)
je 0x1d407
movq 0x18(%rbp), %rax
testb $0x1, (%rax)
jne 0x1d407
movsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x7a0(%rbp)
movq -0x30(%rbp), %rdi
movslq -0x7c(%rbp), %rsi
callq 0x245a0
movsd -0x7a0(%rbp), %xmm1
movsd (%rax), %xmm0
ucomisd %xmm1, %xmm0
ja 0x1d3ca
movsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x7a8(%rbp)
movq -0x30(%rbp), %rdi
movslq -0x7c(%rbp), %rsi
callq 0x245a0
movsd -0x7a8(%rbp), %xmm1
movsd (%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1d3f1
movslq -0x7c(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x1ff50
movq $0x1, (%rax)
jmp 0x1d405
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x1ff1c
movslq -0x7c(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x1ff50
movq $0x0, (%rax)
jmp 0x1d407
movq 0x10(%rbp), %rax
testb $0x1, (%rax)
jne 0x1d471
movq 0x18(%rbp), %rax
testb $0x1, (%rax)
je 0x1d471
movsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x7b0(%rbp)
movq -0x30(%rbp), %rdi
movslq -0x7c(%rbp), %rsi
callq 0x245a0
movsd -0x7b0(%rbp), %xmm1
movsd (%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1d45b
movslq -0x7c(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x1ff50
movq $0x1, (%rax)
jmp 0x1d46f
movslq -0x7c(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x1ff50
movq $0x0, (%rax)
jmp 0x1d471
movq 0x10(%rbp), %rax
testb $0x1, (%rax)
je 0x1d53b
movq 0x18(%rbp), %rax
testb $0x1, (%rax)
je 0x1d53b
movsd -0x68(%rbp), %xmm0
movsd %xmm0, -0x7b8(%rbp)
movq -0x30(%rbp), %rdi
movslq -0x7c(%rbp), %rsi
callq 0x245a0
movsd -0x7b8(%rbp), %xmm1
movsd (%rax), %xmm0
ucomisd %xmm1, %xmm0
ja 0x1d50f
movsd -0x70(%rbp), %xmm0
movsd %xmm0, -0x7c0(%rbp)
movq -0x30(%rbp), %rdi
movslq -0x7c(%rbp), %rsi
callq 0x245a0
movsd -0x7c0(%rbp), %xmm1
movsd (%rax), %xmm0
ucomisd %xmm1, %xmm0
ja 0x1d50f
movsd -0x78(%rbp), %xmm0
movsd %xmm0, -0x7c8(%rbp)
movq -0x30(%rbp), %rdi
movslq -0x7c(%rbp), %rsi
callq 0x245a0
movsd -0x7c8(%rbp), %xmm1
movsd (%rax), %xmm0
ucomisd %xmm1, %xmm0
jbe 0x1d525
movslq -0x7c(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x1ff50
movq $0x1, (%rax)
jmp 0x1d539
movslq -0x7c(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x1ff50
movq $0x0, (%rax)
jmp 0x1d53b
movq 0x10(%rbp), %rax
testb $0x1, (%rax)
jne 0x1d561
movq 0x18(%rbp), %rax
testb $0x1, (%rax)
jne 0x1d561
movslq -0x7c(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x1ff50
movq $0x0, (%rax)
jmp 0x1d563
movl -0x7c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x7c(%rbp)
jmp 0x1d34c
movq -0x10(%rbp), %rdi
callq 0x23500
testb $0x1, %al
jne 0x1d580
jmp 0x1d5ab
movq -0x20(%rbp), %rdi
callq 0x23500
testb $0x1, %al
jne 0x1d58f
jmp 0x1d5ab
movq -0x798(%rbp), %rdi
leaq -0x48(%rbp), %rsi
callq 0x300a0
movl $0x1, -0x80(%rbp)
jmp 0x1ff03
movq -0x10(%rbp), %rdi
callq 0x10f40
movl %eax, -0x7cc(%rbp)
jmp 0x1d5bc
movq -0x20(%rbp), %rdi
callq 0x10f40
movl %eax, -0x7d0(%rbp)
jmp 0x1d5cd
movl -0x7cc(%rbp), %eax
movl -0x7d0(%rbp), %ecx
cmpl %ecx, %eax
jge 0x1dce5
movb $0x0, -0x81(%rbp)
movb $0x0, -0x82(%rbp)
movb $0x0, -0x83(%rbp)
movb $0x0, -0x84(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1d614
jmp 0x1d61b
movb $0x1, -0x81(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1d636
jmp 0x1d63d
movb $0x1, -0x82(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1d658
jmp 0x1d65f
movb $0x1, -0x83(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
addq $0x30, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1d67a
jmp 0x1d681
movb $0x1, -0x84(%rbp)
movslq -0x4c(%rbp), %rax
movq %rax, -0x7e0(%rbp)
movq $0x0, -0xa8(%rbp)
leaq -0xa9(%rbp), %rdi
movq %rdi, -0x7d8(%rbp)
callq 0x300d0
movq -0x7e0(%rbp), %rsi
movq -0x7d8(%rbp), %rcx
leaq -0xa0(%rbp), %rdi
leaq -0xa8(%rbp), %rdx
callq 0x300f0
jmp 0x1d6cd
leaq -0xa9(%rbp), %rdi
callq 0x30170
movslq -0x4c(%rbp), %rax
movq %rax, -0x7f0(%rbp)
movq $0x0, -0xd0(%rbp)
leaq -0xd1(%rbp), %rdi
movq %rdi, -0x7e8(%rbp)
callq 0x300d0
movq -0x7f0(%rbp), %rsi
movq -0x7e8(%rbp), %rcx
leaq -0xc8(%rbp), %rdi
leaq -0xd0(%rbp), %rdx
callq 0x300f0
jmp 0x1d725
leaq -0xd1(%rbp), %rdi
callq 0x30170
movslq -0x4c(%rbp), %rax
movq %rax, -0x800(%rbp)
movq $0x0, -0xf8(%rbp)
leaq -0xf9(%rbp), %rdi
movq %rdi, -0x7f8(%rbp)
callq 0x300d0
movq -0x800(%rbp), %rsi
movq -0x7f8(%rbp), %rcx
leaq -0xf0(%rbp), %rdi
leaq -0xf8(%rbp), %rdx
callq 0x300f0
jmp 0x1d77d
leaq -0xf9(%rbp), %rdi
callq 0x30170
movslq -0x4c(%rbp), %rax
movq %rax, -0x810(%rbp)
movq $0x0, -0x120(%rbp)
leaq -0x121(%rbp), %rdi
movq %rdi, -0x808(%rbp)
callq 0x300d0
movq -0x810(%rbp), %rsi
movq -0x808(%rbp), %rcx
leaq -0x118(%rbp), %rdi
leaq -0x120(%rbp), %rdx
callq 0x300f0
jmp 0x1d7d5
leaq -0x121(%rbp), %rdi
callq 0x30170
testb $0x1, -0x81(%rbp)
je 0x1d8f9
movq -0x10(%rbp), %rax
movq %rax, -0x818(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x81c(%rbp)
callq 0x24630
movl -0x81c(%rbp), %edx
movq -0x818(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x140(%rbp), %rdi
callq 0x1d2a0
jmp 0x1d850
leaq -0xa0(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0x30190
leaq -0x140(%rbp), %rdi
callq 0x22d20
jmp 0x1d8f9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xa9(%rbp), %rdi
callq 0x30170
jmp 0x1ff1c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xd1(%rbp), %rdi
callq 0x30170
jmp 0x1dcd4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xf9(%rbp), %rdi
callq 0x30170
jmp 0x1dcc8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x121(%rbp), %rdi
callq 0x30170
jmp 0x1dcbc
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x1dcb0
testb $0x1, -0x21(%rbp)
je 0x1da24
testb $0x1, -0x83(%rbp)
je 0x1d991
movq -0x10(%rbp), %rax
movq %rax, -0x828(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x82c(%rbp)
callq 0x24630
movl -0x82c(%rbp), %edx
movq -0x828(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x158(%rbp), %rdi
callq 0x1d2a0
jmp 0x1d972
leaq -0xc8(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x30190
leaq -0x158(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x82(%rbp)
je 0x1da1f
movq -0x10(%rbp), %rax
movq %rax, -0x838(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x83c(%rbp)
callq 0x24630
movl -0x83c(%rbp), %edx
movq -0x838(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x170(%rbp), %rdi
callq 0x1d2a0
jmp 0x1da00
leaq -0xf0(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0x30190
leaq -0x170(%rbp), %rdi
callq 0x22d20
jmp 0x1db42
testb $0x1, -0x82(%rbp)
je 0x1dab2
movq -0x10(%rbp), %rax
movq %rax, -0x848(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x84c(%rbp)
callq 0x24630
movl -0x84c(%rbp), %edx
movq -0x848(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x188(%rbp), %rdi
callq 0x1d2a0
jmp 0x1da93
leaq -0xc8(%rbp), %rdi
leaq -0x188(%rbp), %rsi
callq 0x30190
leaq -0x188(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x83(%rbp)
je 0x1db40
movq -0x10(%rbp), %rax
movq %rax, -0x858(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x85c(%rbp)
callq 0x24630
movl -0x85c(%rbp), %edx
movq -0x858(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x1a0(%rbp), %rdi
callq 0x1d2a0
jmp 0x1db21
leaq -0xf0(%rbp), %rdi
leaq -0x1a0(%rbp), %rsi
callq 0x30190
leaq -0x1a0(%rbp), %rdi
callq 0x22d20
jmp 0x1db42
testb $0x1, -0x84(%rbp)
je 0x1dbd0
movq -0x10(%rbp), %rax
movq %rax, -0x868(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x86c(%rbp)
callq 0x24630
movl -0x86c(%rbp), %edx
movq -0x868(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x1b8(%rbp), %rdi
callq 0x1d2a0
jmp 0x1dbb1
leaq -0x118(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
callq 0x30190
leaq -0x1b8(%rbp), %rdi
callq 0x22d20
leaq -0x1d0(%rbp), %rdi
movq %rdi, -0x878(%rbp)
callq 0x301c0
movq -0x878(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x301e0
jmp 0x1dbf8
leaq -0x1d0(%rbp), %rdi
leaq -0xc8(%rbp), %rsi
callq 0x301e0
jmp 0x1dc0d
leaq -0x1d0(%rbp), %rdi
leaq -0xf0(%rbp), %rsi
callq 0x301e0
jmp 0x1dc22
leaq -0x1d0(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x301e0
jmp 0x1dc37
movq -0x798(%rbp), %rdi
leaq -0x48(%rbp), %rsi
leaq -0x1d0(%rbp), %rdx
callq 0x30210
jmp 0x1dc50
movl $0x1, -0x80(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x30360
leaq -0x118(%rbp), %rdi
callq 0x22d20
leaq -0xf0(%rbp), %rdi
callq 0x22d20
leaq -0xc8(%rbp), %rdi
callq 0x22d20
leaq -0xa0(%rbp), %rdi
callq 0x22d20
jmp 0x1ff03
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1d0(%rbp), %rdi
callq 0x30360
leaq -0x118(%rbp), %rdi
callq 0x22d20
leaq -0xf0(%rbp), %rdi
callq 0x22d20
leaq -0xc8(%rbp), %rdi
callq 0x22d20
leaq -0xa0(%rbp), %rdi
callq 0x22d20
jmp 0x1ff1c
movq -0x10(%rbp), %rdi
callq 0x10f40
movl %eax, -0x87c(%rbp)
jmp 0x1dcf6
movq -0x20(%rbp), %rdi
callq 0x10f40
movl %eax, -0x880(%rbp)
jmp 0x1dd07
movl -0x87c(%rbp), %eax
movl -0x880(%rbp), %ecx
cmpl %ecx, %eax
jle 0x1e36a
movb $0x0, -0x1d1(%rbp)
movb $0x0, -0x1d2(%rbp)
movb $0x0, -0x1d3(%rbp)
movb $0x0, -0x1d4(%rbp)
movslq -0x4c(%rbp), %rax
movq %rax, -0x890(%rbp)
movq $0x0, -0x1f8(%rbp)
leaq -0x1f9(%rbp), %rdi
movq %rdi, -0x888(%rbp)
callq 0x300d0
movq -0x890(%rbp), %rsi
movq -0x888(%rbp), %rcx
leaq -0x1f0(%rbp), %rdi
leaq -0x1f8(%rbp), %rdx
callq 0x300f0
jmp 0x1dd83
leaq -0x1f9(%rbp), %rdi
callq 0x30170
movslq -0x4c(%rbp), %rax
movq %rax, -0x8a0(%rbp)
movq $0x0, -0x220(%rbp)
leaq -0x221(%rbp), %rdi
movq %rdi, -0x898(%rbp)
callq 0x300d0
movq -0x8a0(%rbp), %rsi
movq -0x898(%rbp), %rcx
leaq -0x218(%rbp), %rdi
leaq -0x220(%rbp), %rdx
callq 0x300f0
jmp 0x1dddb
leaq -0x221(%rbp), %rdi
callq 0x30170
movslq -0x4c(%rbp), %rax
movq %rax, -0x8b0(%rbp)
movq $0x0, -0x248(%rbp)
leaq -0x249(%rbp), %rdi
movq %rdi, -0x8a8(%rbp)
callq 0x300d0
movq -0x8b0(%rbp), %rsi
movq -0x8a8(%rbp), %rcx
leaq -0x240(%rbp), %rdi
leaq -0x248(%rbp), %rdx
callq 0x300f0
jmp 0x1de33
leaq -0x249(%rbp), %rdi
callq 0x30170
movslq -0x4c(%rbp), %rax
movq %rax, -0x8c0(%rbp)
movq $0x0, -0x270(%rbp)
leaq -0x271(%rbp), %rdi
movq %rdi, -0x8b8(%rbp)
callq 0x300d0
movq -0x8c0(%rbp), %rsi
movq -0x8b8(%rbp), %rcx
leaq -0x268(%rbp), %rdi
leaq -0x270(%rbp), %rdx
callq 0x300f0
jmp 0x1de8b
leaq -0x271(%rbp), %rdi
callq 0x30170
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1deae
jmp 0x1df2b
movb $0x1, -0x1d1(%rbp)
jmp 0x1df2b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1f9(%rbp), %rdi
callq 0x30170
jmp 0x1ff1c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x221(%rbp), %rdi
callq 0x30170
jmp 0x1e359
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x249(%rbp), %rdi
callq 0x30170
jmp 0x1e34d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x271(%rbp), %rdi
callq 0x30170
jmp 0x1e341
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1df46
jmp 0x1df4d
movb $0x1, -0x1d2(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1df68
jmp 0x1df6f
movb $0x1, -0x1d3(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
addq $0x30, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1df8a
jmp 0x1df91
movb $0x1, -0x1d4(%rbp)
testb $0x1, -0x1d1(%rbp)
je 0x1e014
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, %rsi
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movzbl -0x11(%rbp), %edx
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x290(%rbp), %rdi
callq 0x1d2a0
jmp 0x1dfe2
leaq -0x1f0(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0x30190
leaq -0x290(%rbp), %rdi
callq 0x22d20
jmp 0x1e014
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x1e335
testb $0x1, -0x11(%rbp)
je 0x1e103
testb $0x1, -0x1d3(%rbp)
je 0x1e08e
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, %rsi
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movzbl -0x11(%rbp), %edx
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x2a8(%rbp), %rdi
callq 0x1d2a0
jmp 0x1e06f
leaq -0x218(%rbp), %rdi
leaq -0x2a8(%rbp), %rsi
callq 0x30190
leaq -0x2a8(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x1d2(%rbp)
je 0x1e0fe
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, %rsi
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movzbl -0x11(%rbp), %edx
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x2c0(%rbp), %rdi
callq 0x1d2a0
jmp 0x1e0df
leaq -0x240(%rbp), %rdi
leaq -0x2c0(%rbp), %rsi
callq 0x30190
leaq -0x2c0(%rbp), %rdi
callq 0x22d20
jmp 0x1e1e5
testb $0x1, -0x1d2(%rbp)
je 0x1e173
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, %rsi
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movzbl -0x11(%rbp), %edx
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x2d8(%rbp), %rdi
callq 0x1d2a0
jmp 0x1e154
leaq -0x218(%rbp), %rdi
leaq -0x2d8(%rbp), %rsi
callq 0x30190
leaq -0x2d8(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x1d3(%rbp)
je 0x1e1e3
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, %rsi
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movzbl -0x11(%rbp), %edx
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x2f0(%rbp), %rdi
callq 0x1d2a0
jmp 0x1e1c4
leaq -0x240(%rbp), %rdi
leaq -0x2f0(%rbp), %rsi
callq 0x30190
leaq -0x2f0(%rbp), %rdi
callq 0x22d20
jmp 0x1e1e5
testb $0x1, -0x1d4(%rbp)
je 0x1e255
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, %rsi
movq -0x20(%rbp), %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movzbl -0x11(%rbp), %edx
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x308(%rbp), %rdi
callq 0x1d2a0
jmp 0x1e236
leaq -0x268(%rbp), %rdi
leaq -0x308(%rbp), %rsi
callq 0x30190
leaq -0x308(%rbp), %rdi
callq 0x22d20
leaq -0x320(%rbp), %rdi
movq %rdi, -0x8c8(%rbp)
callq 0x301c0
movq -0x8c8(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x301e0
jmp 0x1e27d
leaq -0x320(%rbp), %rdi
leaq -0x218(%rbp), %rsi
callq 0x301e0
jmp 0x1e292
leaq -0x320(%rbp), %rdi
leaq -0x240(%rbp), %rsi
callq 0x301e0
jmp 0x1e2a7
leaq -0x320(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0x301e0
jmp 0x1e2bc
movq -0x798(%rbp), %rdi
leaq -0x48(%rbp), %rsi
leaq -0x320(%rbp), %rdx
callq 0x30210
jmp 0x1e2d5
movl $0x1, -0x80(%rbp)
leaq -0x320(%rbp), %rdi
callq 0x30360
leaq -0x268(%rbp), %rdi
callq 0x22d20
leaq -0x240(%rbp), %rdi
callq 0x22d20
leaq -0x218(%rbp), %rdi
callq 0x22d20
leaq -0x1f0(%rbp), %rdi
callq 0x22d20
jmp 0x1ff03
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x320(%rbp), %rdi
callq 0x30360
leaq -0x268(%rbp), %rdi
callq 0x22d20
leaq -0x240(%rbp), %rdi
callq 0x22d20
leaq -0x218(%rbp), %rdi
callq 0x22d20
leaq -0x1f0(%rbp), %rdi
callq 0x22d20
jmp 0x1ff1c
movb $0x0, -0x321(%rbp)
movb $0x0, -0x322(%rbp)
movb $0x0, -0x323(%rbp)
movb $0x0, -0x324(%rbp)
movb $0x0, -0x325(%rbp)
movb $0x0, -0x326(%rbp)
movb $0x0, -0x327(%rbp)
movb $0x0, -0x328(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1e3b9
jmp 0x1e3c0
movb $0x1, -0x321(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1e3db
jmp 0x1e3e2
movb $0x1, -0x322(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1e3fd
jmp 0x1e404
movb $0x1, -0x323(%rbp)
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
addq $0x30, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1e41f
jmp 0x1e426
movb $0x1, -0x324(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1e43d
jmp 0x1e444
movb $0x1, -0x325(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
addq $0x10, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1e45f
jmp 0x1e466
movb $0x1, -0x326(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1e481
jmp 0x1e488
movb $0x1, -0x327(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
addq $0x30, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x232b0
testb $0x1, %al
jne 0x1e4a3
jmp 0x1e4aa
movb $0x1, -0x328(%rbp)
movslq -0x4c(%rbp), %rax
movq %rax, -0x8d8(%rbp)
movq $0x0, -0x348(%rbp)
leaq -0x349(%rbp), %rdi
movq %rdi, -0x8d0(%rbp)
callq 0x300d0
movq -0x8d8(%rbp), %rsi
movq -0x8d0(%rbp), %rcx
leaq -0x340(%rbp), %rdi
leaq -0x348(%rbp), %rdx
callq 0x300f0
jmp 0x1e4f6
leaq -0x349(%rbp), %rdi
callq 0x30170
movslq -0x4c(%rbp), %rax
movq %rax, -0x8e8(%rbp)
movq $0x0, -0x370(%rbp)
leaq -0x371(%rbp), %rdi
movq %rdi, -0x8e0(%rbp)
callq 0x300d0
movq -0x8e8(%rbp), %rsi
movq -0x8e0(%rbp), %rcx
leaq -0x368(%rbp), %rdi
leaq -0x370(%rbp), %rdx
callq 0x300f0
jmp 0x1e54e
leaq -0x371(%rbp), %rdi
callq 0x30170
movslq -0x4c(%rbp), %rax
movq %rax, -0x8f8(%rbp)
movq $0x0, -0x398(%rbp)
leaq -0x399(%rbp), %rdi
movq %rdi, -0x8f0(%rbp)
callq 0x300d0
movq -0x8f8(%rbp), %rsi
movq -0x8f0(%rbp), %rcx
leaq -0x390(%rbp), %rdi
leaq -0x398(%rbp), %rdx
callq 0x300f0
jmp 0x1e5a6
leaq -0x399(%rbp), %rdi
callq 0x30170
movslq -0x4c(%rbp), %rax
movq %rax, -0x908(%rbp)
movq $0x0, -0x3c0(%rbp)
leaq -0x3c1(%rbp), %rdi
movq %rdi, -0x900(%rbp)
callq 0x300d0
movq -0x908(%rbp), %rsi
movq -0x900(%rbp), %rcx
leaq -0x3b8(%rbp), %rdi
leaq -0x3c0(%rbp), %rdx
callq 0x300f0
jmp 0x1e5fe
leaq -0x3c1(%rbp), %rdi
callq 0x30170
movslq -0x4c(%rbp), %rax
movq %rax, -0x918(%rbp)
movq $0x0, -0x3e8(%rbp)
leaq -0x3e9(%rbp), %rdi
movq %rdi, -0x910(%rbp)
callq 0x300d0
movq -0x918(%rbp), %rsi
movq -0x910(%rbp), %rcx
leaq -0x3e0(%rbp), %rdi
leaq -0x3e8(%rbp), %rdx
callq 0x300f0
jmp 0x1e656
leaq -0x3e9(%rbp), %rdi
callq 0x30170
movslq -0x4c(%rbp), %rax
movq %rax, -0x928(%rbp)
movq $0x0, -0x410(%rbp)
leaq -0x411(%rbp), %rdi
movq %rdi, -0x920(%rbp)
callq 0x300d0
movq -0x928(%rbp), %rsi
movq -0x920(%rbp), %rcx
leaq -0x408(%rbp), %rdi
leaq -0x410(%rbp), %rdx
callq 0x300f0
jmp 0x1e6ae
leaq -0x411(%rbp), %rdi
callq 0x30170
movslq -0x4c(%rbp), %rax
movq %rax, -0x938(%rbp)
movq $0x0, -0x438(%rbp)
leaq -0x439(%rbp), %rdi
movq %rdi, -0x930(%rbp)
callq 0x300d0
movq -0x938(%rbp), %rsi
movq -0x930(%rbp), %rcx
leaq -0x430(%rbp), %rdi
leaq -0x438(%rbp), %rdx
callq 0x300f0
jmp 0x1e706
leaq -0x439(%rbp), %rdi
callq 0x30170
movslq -0x4c(%rbp), %rax
movq %rax, -0x948(%rbp)
movq $0x0, -0x460(%rbp)
leaq -0x461(%rbp), %rdi
movq %rdi, -0x940(%rbp)
callq 0x300d0
movq -0x948(%rbp), %rsi
movq -0x940(%rbp), %rcx
leaq -0x458(%rbp), %rdi
leaq -0x460(%rbp), %rdx
callq 0x300f0
jmp 0x1e75e
leaq -0x461(%rbp), %rdi
callq 0x30170
testb $0x1, -0x11(%rbp)
jne 0x1ed9e
testb $0x1, -0x21(%rbp)
jne 0x1ed9e
testb $0x1, -0x321(%rbp)
je 0x1e920
testb $0x1, -0x325(%rbp)
je 0x1e920
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0x950(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x954(%rbp)
callq 0x24630
movl -0x954(%rbp), %edx
movq -0x950(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x480(%rbp), %rdi
callq 0x1d2a0
jmp 0x1e803
leaq -0x340(%rbp), %rdi
leaq -0x480(%rbp), %rsi
callq 0x30190
leaq -0x480(%rbp), %rdi
callq 0x22d20
jmp 0x1e920
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x349(%rbp), %rdi
callq 0x30170
jmp 0x1ff1c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x371(%rbp), %rdi
callq 0x30170
jmp 0x1fef5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x399(%rbp), %rdi
callq 0x30170
jmp 0x1fee9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x3c1(%rbp), %rdi
callq 0x30170
jmp 0x1fedd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x3e9(%rbp), %rdi
callq 0x30170
jmp 0x1fed1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x411(%rbp), %rdi
callq 0x30170
jmp 0x1fec5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x439(%rbp), %rdi
callq 0x30170
jmp 0x1feb9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x461(%rbp), %rdi
callq 0x30170
jmp 0x1fead
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x1fea1
testb $0x1, -0x323(%rbp)
je 0x1e9c4
testb $0x1, -0x326(%rbp)
je 0x1e9c4
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0x960(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x964(%rbp)
callq 0x24630
movl -0x964(%rbp), %edx
movq -0x960(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x498(%rbp), %rdi
callq 0x1d2a0
jmp 0x1e9a5
leaq -0x368(%rbp), %rdi
leaq -0x498(%rbp), %rsi
callq 0x30190
leaq -0x498(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x322(%rbp)
je 0x1ea68
testb $0x1, -0x325(%rbp)
je 0x1ea68
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0x970(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x974(%rbp)
callq 0x24630
movl -0x974(%rbp), %edx
movq -0x970(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x4b0(%rbp), %rdi
callq 0x1d2a0
jmp 0x1ea49
leaq -0x390(%rbp), %rdi
leaq -0x4b0(%rbp), %rsi
callq 0x30190
leaq -0x4b0(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x324(%rbp)
je 0x1eb0c
testb $0x1, -0x326(%rbp)
je 0x1eb0c
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0x980(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x984(%rbp)
callq 0x24630
movl -0x984(%rbp), %edx
movq -0x980(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x4c8(%rbp), %rdi
callq 0x1d2a0
jmp 0x1eaed
leaq -0x3b8(%rbp), %rdi
leaq -0x4c8(%rbp), %rsi
callq 0x30190
leaq -0x4c8(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x321(%rbp)
je 0x1ebb0
testb $0x1, -0x327(%rbp)
je 0x1ebb0
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0x990(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x994(%rbp)
callq 0x24630
movl -0x994(%rbp), %edx
movq -0x990(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x4e0(%rbp), %rdi
callq 0x1d2a0
jmp 0x1eb91
leaq -0x3e0(%rbp), %rdi
leaq -0x4e0(%rbp), %rsi
callq 0x30190
leaq -0x4e0(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x323(%rbp)
je 0x1ec54
testb $0x1, -0x328(%rbp)
je 0x1ec54
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0x9a0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x9a4(%rbp)
callq 0x24630
movl -0x9a4(%rbp), %edx
movq -0x9a0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x4f8(%rbp), %rdi
callq 0x1d2a0
jmp 0x1ec35
leaq -0x408(%rbp), %rdi
leaq -0x4f8(%rbp), %rsi
callq 0x30190
leaq -0x4f8(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x322(%rbp)
je 0x1ecf8
testb $0x1, -0x327(%rbp)
je 0x1ecf8
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0x9b0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x9b4(%rbp)
callq 0x24630
movl -0x9b4(%rbp), %edx
movq -0x9b0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x510(%rbp), %rdi
callq 0x1d2a0
jmp 0x1ecd9
leaq -0x430(%rbp), %rdi
leaq -0x510(%rbp), %rsi
callq 0x30190
leaq -0x510(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x324(%rbp)
je 0x1ed9c
testb $0x1, -0x328(%rbp)
je 0x1ed9c
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0x9c0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x9c4(%rbp)
callq 0x24630
movl -0x9c4(%rbp), %edx
movq -0x9c0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x528(%rbp), %rdi
callq 0x1d2a0
jmp 0x1ed7d
leaq -0x458(%rbp), %rdi
leaq -0x528(%rbp), %rsi
callq 0x30190
leaq -0x528(%rbp), %rdi
callq 0x22d20
jmp 0x1ed9e
testb $0x1, -0x11(%rbp)
jne 0x1f2d4
testb $0x1, -0x21(%rbp)
je 0x1f2d4
testb $0x1, -0x321(%rbp)
je 0x1ee56
testb $0x1, -0x325(%rbp)
je 0x1ee56
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0x9d0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x9d4(%rbp)
callq 0x24630
movl -0x9d4(%rbp), %edx
movq -0x9d0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x540(%rbp), %rdi
callq 0x1d2a0
jmp 0x1ee37
leaq -0x340(%rbp), %rdi
leaq -0x540(%rbp), %rsi
callq 0x30190
leaq -0x540(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x323(%rbp)
je 0x1eefa
testb $0x1, -0x327(%rbp)
je 0x1eefa
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0x9e0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x9e4(%rbp)
callq 0x24630
movl -0x9e4(%rbp), %edx
movq -0x9e0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x558(%rbp), %rdi
callq 0x1d2a0
jmp 0x1eedb
leaq -0x368(%rbp), %rdi
leaq -0x558(%rbp), %rsi
callq 0x30190
leaq -0x558(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x322(%rbp)
je 0x1ef9e
testb $0x1, -0x325(%rbp)
je 0x1ef9e
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0x9f0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0x9f4(%rbp)
callq 0x24630
movl -0x9f4(%rbp), %edx
movq -0x9f0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x570(%rbp), %rdi
callq 0x1d2a0
jmp 0x1ef7f
leaq -0x390(%rbp), %rdi
leaq -0x570(%rbp), %rsi
callq 0x30190
leaq -0x570(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x324(%rbp)
je 0x1f042
testb $0x1, -0x327(%rbp)
je 0x1f042
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0xa00(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xa04(%rbp)
callq 0x24630
movl -0xa04(%rbp), %edx
movq -0xa00(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x588(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f023
leaq -0x3b8(%rbp), %rdi
leaq -0x588(%rbp), %rsi
callq 0x30190
leaq -0x588(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x321(%rbp)
je 0x1f0e6
testb $0x1, -0x326(%rbp)
je 0x1f0e6
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0xa10(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xa14(%rbp)
callq 0x24630
movl -0xa14(%rbp), %edx
movq -0xa10(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x5a0(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f0c7
leaq -0x3e0(%rbp), %rdi
leaq -0x5a0(%rbp), %rsi
callq 0x30190
leaq -0x5a0(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x323(%rbp)
je 0x1f18a
testb $0x1, -0x328(%rbp)
je 0x1f18a
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0xa20(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xa24(%rbp)
callq 0x24630
movl -0xa24(%rbp), %edx
movq -0xa20(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x5b8(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f16b
leaq -0x408(%rbp), %rdi
leaq -0x5b8(%rbp), %rsi
callq 0x30190
leaq -0x5b8(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x322(%rbp)
je 0x1f22e
testb $0x1, -0x326(%rbp)
je 0x1f22e
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0xa30(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xa34(%rbp)
callq 0x24630
movl -0xa34(%rbp), %edx
movq -0xa30(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x5d0(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f20f
leaq -0x430(%rbp), %rdi
leaq -0x5d0(%rbp), %rsi
callq 0x30190
leaq -0x5d0(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x324(%rbp)
je 0x1f2d2
testb $0x1, -0x328(%rbp)
je 0x1f2d2
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0xa40(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xa44(%rbp)
callq 0x24630
movl -0xa44(%rbp), %edx
movq -0xa40(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x5e8(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f2b3
leaq -0x458(%rbp), %rdi
leaq -0x5e8(%rbp), %rsi
callq 0x30190
leaq -0x5e8(%rbp), %rdi
callq 0x22d20
jmp 0x1f2d4
testb $0x1, -0x11(%rbp)
je 0x1f80a
testb $0x1, -0x21(%rbp)
jne 0x1f80a
testb $0x1, -0x321(%rbp)
je 0x1f38c
testb $0x1, -0x325(%rbp)
je 0x1f38c
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0xa50(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xa54(%rbp)
callq 0x24630
movl -0xa54(%rbp), %edx
movq -0xa50(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x600(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f36d
leaq -0x340(%rbp), %rdi
leaq -0x600(%rbp), %rsi
callq 0x30190
leaq -0x600(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x322(%rbp)
je 0x1f430
testb $0x1, -0x326(%rbp)
je 0x1f430
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0xa60(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xa64(%rbp)
callq 0x24630
movl -0xa64(%rbp), %edx
movq -0xa60(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x618(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f411
leaq -0x368(%rbp), %rdi
leaq -0x618(%rbp), %rsi
callq 0x30190
leaq -0x618(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x323(%rbp)
je 0x1f4d4
testb $0x1, -0x325(%rbp)
je 0x1f4d4
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0xa70(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xa74(%rbp)
callq 0x24630
movl -0xa74(%rbp), %edx
movq -0xa70(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x630(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f4b5
leaq -0x390(%rbp), %rdi
leaq -0x630(%rbp), %rsi
callq 0x30190
leaq -0x630(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x324(%rbp)
je 0x1f578
testb $0x1, -0x326(%rbp)
je 0x1f578
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0xa80(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xa84(%rbp)
callq 0x24630
movl -0xa84(%rbp), %edx
movq -0xa80(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x648(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f559
leaq -0x3b8(%rbp), %rdi
leaq -0x648(%rbp), %rsi
callq 0x30190
leaq -0x648(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x321(%rbp)
je 0x1f61c
testb $0x1, -0x327(%rbp)
je 0x1f61c
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0xa90(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xa94(%rbp)
callq 0x24630
movl -0xa94(%rbp), %edx
movq -0xa90(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x660(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f5fd
leaq -0x3e0(%rbp), %rdi
leaq -0x660(%rbp), %rsi
callq 0x30190
leaq -0x660(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x322(%rbp)
je 0x1f6c0
testb $0x1, -0x328(%rbp)
je 0x1f6c0
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0xaa0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xaa4(%rbp)
callq 0x24630
movl -0xaa4(%rbp), %edx
movq -0xaa0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x678(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f6a1
leaq -0x408(%rbp), %rdi
leaq -0x678(%rbp), %rsi
callq 0x30190
leaq -0x678(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x323(%rbp)
je 0x1f764
testb $0x1, -0x327(%rbp)
je 0x1f764
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0xab0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xab4(%rbp)
callq 0x24630
movl -0xab4(%rbp), %edx
movq -0xab0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x690(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f745
leaq -0x430(%rbp), %rdi
leaq -0x690(%rbp), %rsi
callq 0x30190
leaq -0x690(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x324(%rbp)
je 0x1f808
testb $0x1, -0x328(%rbp)
je 0x1f808
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0xac0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xac4(%rbp)
callq 0x24630
movl -0xac4(%rbp), %edx
movq -0xac0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x6a8(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f7e9
leaq -0x458(%rbp), %rdi
leaq -0x6a8(%rbp), %rsi
callq 0x30190
leaq -0x6a8(%rbp), %rdi
callq 0x22d20
jmp 0x1f80a
testb $0x1, -0x11(%rbp)
je 0x1fd40
testb $0x1, -0x21(%rbp)
je 0x1fd40
testb $0x1, -0x321(%rbp)
je 0x1f8c2
testb $0x1, -0x325(%rbp)
je 0x1f8c2
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0xad0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xad4(%rbp)
callq 0x24630
movl -0xad4(%rbp), %edx
movq -0xad0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x6c0(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f8a3
leaq -0x340(%rbp), %rdi
leaq -0x6c0(%rbp), %rsi
callq 0x30190
leaq -0x6c0(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x322(%rbp)
je 0x1f966
testb $0x1, -0x327(%rbp)
je 0x1f966
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0xae0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xae4(%rbp)
callq 0x24630
movl -0xae4(%rbp), %edx
movq -0xae0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x6d8(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f947
leaq -0x368(%rbp), %rdi
leaq -0x6d8(%rbp), %rsi
callq 0x30190
leaq -0x6d8(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x323(%rbp)
je 0x1fa0a
testb $0x1, -0x325(%rbp)
je 0x1fa0a
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0xaf0(%rbp)
movq -0x20(%rbp), %rdi
addq $0x28, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xaf4(%rbp)
callq 0x24630
movl -0xaf4(%rbp), %edx
movq -0xaf0(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x6f0(%rbp), %rdi
callq 0x1d2a0
jmp 0x1f9eb
leaq -0x390(%rbp), %rdi
leaq -0x6f0(%rbp), %rsi
callq 0x30190
leaq -0x6f0(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x324(%rbp)
je 0x1faae
testb $0x1, -0x327(%rbp)
je 0x1faae
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0xb00(%rbp)
movq -0x20(%rbp), %rdi
addq $0x48, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xb04(%rbp)
callq 0x24630
movl -0xb04(%rbp), %edx
movq -0xb00(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x708(%rbp), %rdi
callq 0x1d2a0
jmp 0x1fa8f
leaq -0x3b8(%rbp), %rdi
leaq -0x708(%rbp), %rsi
callq 0x30190
leaq -0x708(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x321(%rbp)
je 0x1fb52
testb $0x1, -0x326(%rbp)
je 0x1fb52
movq -0x10(%rbp), %rdi
addq $0x28, %rdi
callq 0x24630
movq %rax, -0xb10(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xb14(%rbp)
callq 0x24630
movl -0xb14(%rbp), %edx
movq -0xb10(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x720(%rbp), %rdi
callq 0x1d2a0
jmp 0x1fb33
leaq -0x3e0(%rbp), %rdi
leaq -0x720(%rbp), %rsi
callq 0x30190
leaq -0x720(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x322(%rbp)
je 0x1fbf6
testb $0x1, -0x328(%rbp)
je 0x1fbf6
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
callq 0x24630
movq %rax, -0xb20(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xb24(%rbp)
callq 0x24630
movl -0xb24(%rbp), %edx
movq -0xb20(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x738(%rbp), %rdi
callq 0x1d2a0
jmp 0x1fbd7
leaq -0x408(%rbp), %rdi
leaq -0x738(%rbp), %rsi
callq 0x30190
leaq -0x738(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x323(%rbp)
je 0x1fc9a
testb $0x1, -0x326(%rbp)
je 0x1fc9a
movq -0x10(%rbp), %rdi
addq $0x48, %rdi
callq 0x24630
movq %rax, -0xb30(%rbp)
movq -0x20(%rbp), %rdi
addq $0x38, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xb34(%rbp)
callq 0x24630
movl -0xb34(%rbp), %edx
movq -0xb30(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x750(%rbp), %rdi
callq 0x1d2a0
jmp 0x1fc7b
leaq -0x430(%rbp), %rdi
leaq -0x750(%rbp), %rsi
callq 0x30190
leaq -0x750(%rbp), %rdi
callq 0x22d20
testb $0x1, -0x324(%rbp)
je 0x1fd3e
testb $0x1, -0x328(%rbp)
je 0x1fd3e
movq -0x10(%rbp), %rdi
addq $0x58, %rdi
callq 0x24630
movq %rax, -0xb40(%rbp)
movq -0x20(%rbp), %rdi
addq $0x58, %rdi
movzbl -0x11(%rbp), %eax
movl %eax, -0xb44(%rbp)
callq 0x24630
movl -0xb44(%rbp), %edx
movq -0xb40(%rbp), %rsi
movq %rax, %rcx
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rdi
movq 0x18(%rbp), %r10
movzbl -0x21(%rbp), %r8d
movq %rsp, %rax
movq %r10, 0x8(%rax)
movq %rdi, (%rax)
andl $0x1, %edx
andl $0x1, %r8d
leaq -0x768(%rbp), %rdi
callq 0x1d2a0
jmp 0x1fd1f
leaq -0x458(%rbp), %rdi
leaq -0x768(%rbp), %rsi
callq 0x30190
leaq -0x768(%rbp), %rdi
callq 0x22d20
jmp 0x1fd40
leaq -0x780(%rbp), %rdi
movq %rdi, -0xb50(%rbp)
callq 0x301c0
movq -0xb50(%rbp), %rdi
leaq -0x340(%rbp), %rsi
callq 0x301e0
jmp 0x1fd68
leaq -0x780(%rbp), %rdi
leaq -0x368(%rbp), %rsi
callq 0x301e0
jmp 0x1fd7d
leaq -0x780(%rbp), %rdi
leaq -0x390(%rbp), %rsi
callq 0x301e0
jmp 0x1fd92
leaq -0x780(%rbp), %rdi
leaq -0x3b8(%rbp), %rsi
callq 0x301e0
jmp 0x1fda7
leaq -0x780(%rbp), %rdi
leaq -0x3e0(%rbp), %rsi
callq 0x301e0
jmp 0x1fdbc
leaq -0x780(%rbp), %rdi
leaq -0x408(%rbp), %rsi
callq 0x301e0
jmp 0x1fdd1
leaq -0x780(%rbp), %rdi
leaq -0x430(%rbp), %rsi
callq 0x301e0
jmp 0x1fde6
leaq -0x780(%rbp), %rdi
leaq -0x458(%rbp), %rsi
callq 0x301e0
jmp 0x1fdfb
movq -0x798(%rbp), %rdi
leaq -0x48(%rbp), %rsi
leaq -0x780(%rbp), %rdx
callq 0x30210
jmp 0x1fe14
movl $0x1, -0x80(%rbp)
leaq -0x780(%rbp), %rdi
callq 0x30360
leaq -0x458(%rbp), %rdi
callq 0x22d20
leaq -0x430(%rbp), %rdi
callq 0x22d20
leaq -0x408(%rbp), %rdi
callq 0x22d20
leaq -0x3e0(%rbp), %rdi
callq 0x22d20
leaq -0x3b8(%rbp), %rdi
callq 0x22d20
leaq -0x390(%rbp), %rdi
callq 0x22d20
leaq -0x368(%rbp), %rdi
callq 0x22d20
leaq -0x340(%rbp), %rdi
callq 0x22d20
jmp 0x1ff03
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x780(%rbp), %rdi
callq 0x30360
leaq -0x458(%rbp), %rdi
callq 0x22d20
leaq -0x430(%rbp), %rdi
callq 0x22d20
leaq -0x408(%rbp), %rdi
callq 0x22d20
leaq -0x3e0(%rbp), %rdi
callq 0x22d20
leaq -0x3b8(%rbp), %rdi
callq 0x22d20
leaq -0x390(%rbp), %rdi
callq 0x22d20
leaq -0x368(%rbp), %rdi
callq 0x22d20
leaq -0x340(%rbp), %rdi
callq 0x22d20
jmp 0x1ff1c
leaq -0x48(%rbp), %rdi
callq 0x22d20
movq -0x790(%rbp), %rax
addq $0xb60, %rsp            # imm = 0xB60
popq %rbp
retq
leaq -0x48(%rbp), %rdi
callq 0x22d20
movq -0x58(%rbp), %rdi
callq 0x2340
nop