// File: Laakeri[P]maxpre/src/cardinalityconstraint.cpp
// Function: maxPreprocessor::CardinalityConstraint::getClauses(int)
vector<vector<int> > CardinalityConstraint::getClauses(int freeVar) {
	// handle all special/easy cases separately
	int n = inputLiterals.size();
	assert(n > 0);
	if (type == CONSTRAINT_NEQUAL) {
		if (K < 0 || K > n) {
			if (outputLiterals.size() == 0) {
				return {};
			}
			else if (outputLiterals.size() == 1) {
				if (iff) return {{outputLiterals[0]}};
				else return {};
			}
			else {
				assert(0);
			}
		}
		if (K == 0) {
			if (outputLiterals.size() == 0) {
				return {inputLiterals};
			}
			else if (outputLiterals.size() == 1) {
				auto retC = inputLiterals;
				retC.push_back(-outputLiterals[0]);
				if (iff) {
					vector<vector<int> > clauses = {retC};
					for (int lit : inputLiterals) {
						clauses.push_back({-lit, outputLiterals[0]});
					}
					return clauses;
				}
				else {
					return {retC};
				}
			}
			else {
				assert(0);
			}
		}
		if (K == n) {
			if (outputLiterals.size() == 0) {
				auto retC = inputLiterals;
				for (int& lit : retC) {
					lit = -lit;
				}
				return {retC};
			}
			else if (outputLiterals.size() == 1) {
				auto retC = inputLiterals;
				for (int& lit : retC) {
					lit = -lit;
				}
				retC.push_back(-outputLiterals[0]);
				if (iff) {
					vector<vector<int> > clauses = {retC};
					for (int lit : inputLiterals) {
						clauses.push_back({lit, outputLiterals[0]});
					}
					return clauses;
				}
				else {
					return {retC};
				}
			}
			else {
				assert(0);
			}
		}
	}
	else if (type == CONSTRAINT_EQUAL) {
		if (K < 0 || K > n) {
			if (outputLiterals.size() == 0) {
				return {{freeVar}, {-freeVar}};
			}
			else if (outputLiterals.size() == 1) {
				return {{-outputLiterals[0]}};
			}
			else {
				assert(0);
			}
		}
		if (K == 0) {
			if (outputLiterals.size() == 0) {
				vector<vector<int> > clauses;
				for (int lit : inputLiterals) {
					clauses.push_back({-lit});
				}
				return clauses;
			}
			else if (outputLiterals.size() == 1) {
				vector<vector<int> > clauses;
				for (int lit : inputLiterals) {
					clauses.push_back({-lit, -outputLiterals[0]});
				}
				if (iff) {
					vector<int> retC = inputLiterals;
					retC.push_back(outputLiterals[0]);
					clauses.push_back(retC);
				}
				return clauses;
			}
			else {
				assert(0);
			}
		}
		if (K == n) {
			if (outputLiterals.size() == 0) {
				vector<vector<int> > clauses;
				for (int lit : inputLiterals) {
					clauses.push_back({lit});
				}
				return clauses;
			}
			else if (outputLiterals.size() == 1) {
				vector<vector<int> > clauses;
				for (int lit : inputLiterals) {
					clauses.push_back({lit, -outputLiterals[0]});
				}
				if (iff) {
					vector<int> retC = inputLiterals;
					for (int& lit : retC) {
						lit = -lit;
					}
					retC.push_back(outputLiterals[0]);
					clauses.push_back(retC);
				}
				return clauses;
			}
			else {
				assert(0);
			}
		}
	}
	else if (type == CONSTRAINT_LESS_EQ) {
		if (K < 0) {
			if (outputLiterals.size() == 0) {
				return {{freeVar}, {-freeVar}};
			}
			else if (outputLiterals.size() == 1) {
				return {{-outputLiterals[0]}};
			}
			else {
				assert(0);
			}
		}
		if (K >= n) {
			if (outputLiterals.size() == 0) {
				return {};
			}
			else if (outputLiterals.size() == 1) {
				if (iff) return {{outputLiterals[0]}};
				else return {};
			}
			else {
				assert(0);
			}
		}
		if (K == 0) {
			if (outputLiterals.size() == 0) {
				vector<vector<int> > clauses;
				for (int lit : inputLiterals) {
					clauses.push_back({-lit});
				}
				return clauses;
			}
			else if (outputLiterals.size() == 1) {
				vector<vector<int> > clauses;
				for (int lit : inputLiterals) {
					clauses.push_back({-lit, -outputLiterals[0]});
				}
				if (iff) {
					vector<int> retC = inputLiterals;
					retC.push_back(outputLiterals[0]);
					clauses.push_back(retC);
				}
				return clauses;
			}
			else {
				assert(0);
			}
		}
		if (K == n-1) {
			if (outputLiterals.size() == 0) {
				auto retC = inputLiterals;
				for (int& lit: retC) {
					lit = -lit;
				}
				return {retC};
			}
			else if (outputLiterals.size() == 1) {
				auto retC = inputLiterals;
				for (int& lit: retC) {
					lit = -lit;
				}
				retC.push_back(-outputLiterals[0]);
				if (iff) {
					vector<vector<int> > clauses = {retC};
					for (int lit : inputLiterals) {
						clauses.push_back({lit, outputLiterals[0]});
					}
					return clauses;
				}
				else {
					return {retC};
				}
			}
			else {
				assert(0);
			}
		}
	}
	else if (type == CONSTRAINT_ALL_LESS || type == CONSTRAINT_ALL_GREATER || type == CONSTRAINT_ALL_BOTH) {
		if (n == 1) {
			assert(outputLiterals.size() == 1);
			vector<vector<int> > clauses;
			if (type == CONSTRAINT_ALL_LESS || iff) {
				clauses.push_back({-inputLiterals[0], outputLiterals[0]});
			}
			if (type == CONSTRAINT_ALL_GREATER || iff) {
				clauses.push_back({inputLiterals[0], -outputLiterals[0]});
			}
			return clauses;
		}
	}
	else assert(0);
	assert((int)inputLiterals.size() > 1);
	// now n > 1
	vector<vector<int> > clauses;
	if (type == CONSTRAINT_LESS_EQ) {
		assert(0 < K && K+1 < (int)inputLiterals.size());
		if (coding == CODING_NETWORK) {
			pair<Formula, int> network = getBestLessNetwork(freeVar, inputLiterals);
			clauses = network.F.clauses;
			if (outputLiterals.size() == 0) {
				clauses.push_back({network.S});
			}
			else if (outputLiterals.size() == 1) {
				clauses.push_back({network.S, -outputLiterals[0]});
				if (iff) {
					clauses.push_back({-network.S, outputLiterals[0]});
				}
			}
			else {
				assert(0);
			}
		}
		else {
			assert(0);
		}
	}
	else if (type == CONSTRAINT_EQUAL) {
		assert(0 < K && K < (int)inputLiterals.size());
		if (coding == CODING_NETWORK) {
			pair<Formula, int> network = getEqualNetwork(freeVar, inputLiterals);
			clauses = network.F.clauses;
			if (outputLiterals.size() == 0) {
				clauses.push_back({network.S});
			}
			else if (outputLiterals.size() == 1) {
				clauses.push_back({network.S, -outputLiterals[0]});
				if (iff) {
					clauses.push_back({-network.S, outputLiterals[0]});
				}
			}
			else {
				assert(0);
			}
		}
		else {
			assert(0);
		}
	}
	else if (type == CONSTRAINT_NEQUAL) {
		assert(0 < K && K < (int)inputLiterals.size());
		if (coding == CODING_NETWORK) {
			pair<Formula, int> network = getNequalNetwork(freeVar, inputLiterals);
			clauses = network.F.clauses;
			if (outputLiterals.size() == 0) {
				clauses.push_back({network.S});
			}
			else if (outputLiterals.size() == 1) {
				clauses.push_back({network.S, -outputLiterals[0]});
				if (iff) {
					clauses.push_back({-network.S, outputLiterals[0]});
				}
			}
			else {
				assert(0);
			}
		}
	}
	else if (type == CONSTRAINT_ALL_LESS || type == CONSTRAINT_ALL_GREATER || type == CONSTRAINT_ALL_BOTH) {
		assert(0 < K && K == (int)outputLiterals.size());
		int k = 2;
		while (k < K) k *= 2;
		Formula F(freeVar);
		vector<int> input = inputLiterals;
		while ((int)input.size()%k != 0) {
			F.clauses.push_back({-F.freeVar});
			input.push_back({F.freeVar++});
		}
		bool d1 = (type == CONSTRAINT_ALL_LESS) || iff || (type == CONSTRAINT_ALL_BOTH);
		bool d2 = (type == CONSTRAINT_ALL_GREATER) || iff || (type == CONSTRAINT_ALL_BOTH);
		vector<int> output = Card(input, 0, (int)input.size()-1, k, F, d1, d2);
		clauses = F.clauses;
		for (int i = 0; i < K; i++) {
			if (d1) clauses.push_back({-output[i], outputLiterals[i]});
			if (d2) clauses.push_back({output[i], -outputLiterals[i]});
		}
	}
	else {
		assert(0);
	}
	for (auto& c : clauses) {
		for (int lit : addLiterals) {
			c.push_back(lit);
		}
	}
	return clauses;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x1310, %rsp           # imm = 0x1310
movq %rdi, -0xd18(%rbp)
movq %rdi, %rax
movq %rax, -0xd10(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rdi
movq %rdi, -0xd08(%rbp)
addq $0x8, %rdi
callq 0xf940
movl %eax, -0x18(%rbp)
cmpl $0x0, -0x18(%rbp)
jle 0x7f3d6
jmp 0x7f3f5
leaq 0x8ff7(%rip), %rdi      # 0x883d4
leaq 0x8cd8(%rip), %rsi      # 0x880bc
movl $0xf4, %edx
leaq 0x8fea(%rip), %rcx      # 0x883da
callq 0x4260
movq -0xd08(%rbp), %rax
cmpl $0x2, (%rax)
jne 0x8061b
movq -0xd08(%rbp), %rax
cmpl $0x0, 0x38(%rax)
jl 0x7f425
movq -0xd08(%rbp), %rax
movl 0x38(%rax), %eax
cmpl -0x18(%rbp), %eax
jle 0x7f69b
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x0, %rax
jne 0x7f45f
movq -0xd18(%rbp), %rdi
xorl %esi, %esi
movl $0x18, %edx
callq 0x41e0
movq -0xd18(%rbp), %rdi
callq 0xb2e0
jmp 0x84022
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x7f67c
movq -0xd08(%rbp), %rax
testb $0x1, 0x58(%rax)
je 0x7f658
movq -0xd08(%rbp), %rdi
movb $0x1, -0x6d(%rbp)
leaq -0x40(%rbp), %rax
movq %rax, -0xd28(%rbp)
movq %rax, -0x48(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
movl %eax, -0x5c(%rbp)
leaq -0x5c(%rbp), %rax
movq %rax, -0x58(%rbp)
movq $0x1, -0x50(%rbp)
leaq -0x5d(%rbp), %rdi
movq %rdi, -0xd20(%rbp)
callq 0xa710
movq -0xd28(%rbp), %rdi
movq -0xd20(%rbp), %rcx
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
callq 0x3c9b0
jmp 0x7f4f3
movb $0x0, -0x6d(%rbp)
leaq -0x40(%rbp), %rax
movq %rax, -0x28(%rbp)
movq $0x1, -0x20(%rbp)
leaq -0x6e(%rbp), %rdi
movq %rdi, -0xd30(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0xd30(%rbp), %rcx
movq -0x28(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x84140
jmp 0x7f534
leaq -0x6e(%rbp), %rdi
callq 0xb5f0
leaq -0x40(%rbp), %rax
movq %rax, -0xd40(%rbp)
addq $0x18, %rax
movq %rax, -0xd38(%rbp)
movq -0xd38(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xd48(%rbp)
callq 0xab00
movq -0xd40(%rbp), %rcx
movq -0xd48(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xd38(%rbp)
jne 0x7f553
leaq -0x5d(%rbp), %rdi
callq 0xa7a0
jmp 0x84022
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7f5fe
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x6e(%rbp), %rdi
callq 0xb5f0
leaq -0x40(%rbp), %rax
movq %rax, -0xd58(%rbp)
addq $0x18, %rax
movq %rax, -0xd50(%rbp)
movq -0xd50(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xd60(%rbp)
callq 0xab00
movq -0xd58(%rbp), %rcx
movq -0xd60(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xd50(%rbp)
jne 0x7f5cb
jmp 0x7f5fe
leaq -0x5d(%rbp), %rdi
callq 0xa7a0
testb $0x1, -0x6d(%rbp)
jne 0x7f60f
jmp 0x7f653
movq -0x48(%rbp), %rax
leaq -0x40(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xd68(%rbp)
je 0x7f651
movq -0xd68(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xd70(%rbp)
callq 0xab00
movq -0xd70(%rbp), %rax
leaq -0x40(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xd68(%rbp)
jne 0x7f623
jmp 0x7f653
jmp 0x84032
movq -0xd18(%rbp), %rdi
xorl %esi, %esi
movl $0x18, %edx
callq 0x41e0
movq -0xd18(%rbp), %rdi
callq 0xb2e0
jmp 0x84022
leaq 0x859f(%rip), %rdi      # 0x87c22
leaq 0x8a32(%rip), %rsi      # 0x880bc
movl $0xff, %edx
leaq 0x8d44(%rip), %rcx      # 0x883da
callq 0x4260
movq -0xd08(%rbp), %rax
cmpl $0x0, 0x38(%rax)
jne 0x7fdba
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x0, %rax
jne 0x7f847
movq -0xd08(%rbp), %rsi
leaq -0x98(%rbp), %rdi
movq %rdi, -0xa0(%rbp)
addq $0x8, %rsi
callq 0x3edb0
jmp 0x7f6e6
leaq -0x98(%rbp), %rax
movq %rax, -0x80(%rbp)
movq $0x1, -0x78(%rbp)
leaq -0xa1(%rbp), %rdi
movq %rdi, -0xd78(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0xd78(%rbp), %rcx
movq -0x80(%rbp), %rsi
movq -0x78(%rbp), %rdx
callq 0x84140
jmp 0x7f729
leaq -0xa1(%rbp), %rdi
callq 0xb5f0
leaq -0x98(%rbp), %rax
movq %rax, -0xd88(%rbp)
addq $0x18, %rax
movq %rax, -0xd80(%rbp)
movq -0xd80(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xd90(%rbp)
callq 0xab00
movq -0xd88(%rbp), %rcx
movq -0xd90(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xd80(%rbp)
jne 0x7f74e
jmp 0x84022
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movq -0xa0(%rbp), %rax
leaq -0x98(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xd98(%rbp)
je 0x7f7db
movq -0xd98(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xda0(%rbp)
callq 0xab00
movq -0xda0(%rbp), %rax
leaq -0x98(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xd98(%rbp)
jne 0x7f7aa
jmp 0x84032
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xa1(%rbp), %rdi
callq 0xb5f0
leaq -0x98(%rbp), %rax
movq %rax, -0xdb0(%rbp)
addq $0x18, %rax
movq %rax, -0xda8(%rbp)
movq -0xda8(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xdb8(%rbp)
callq 0xab00
movq -0xdb0(%rbp), %rcx
movq -0xdb8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xda8(%rbp)
jne 0x7f811
jmp 0x84032
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x7fd9b
movq -0xd08(%rbp), %rsi
addq $0x8, %rsi
leaq -0xc0(%rbp), %rdi
movq %rdi, -0xdc0(%rbp)
callq 0x3edb0
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movq -0xdc0(%rbp), %rdi
movl (%rax), %eax
negl %eax
movl %eax, -0xc4(%rbp)
leaq -0xc4(%rbp), %rsi
callq 0x3c850
jmp 0x7f8b2
movq -0xd08(%rbp), %rax
testb $0x1, 0x58(%rax)
je 0x7fbec
movb $0x0, -0xc5(%rbp)
leaq -0xf0(%rbp), %rdi
movq %rdi, -0xf8(%rbp)
leaq -0xc0(%rbp), %rsi
callq 0x3edb0
jmp 0x7f8e6
leaq -0xf0(%rbp), %rax
movq %rax, -0xd8(%rbp)
movq $0x1, -0xd0(%rbp)
leaq -0xf9(%rbp), %rdi
movq %rdi, -0xdc8(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0xdc8(%rbp), %rcx
movq -0xd8(%rbp), %rsi
movq -0xd0(%rbp), %rdx
callq 0x84140
jmp 0x7f935
leaq -0xf9(%rbp), %rdi
callq 0xb5f0
leaq -0xf0(%rbp), %rax
movq %rax, -0xdd8(%rbp)
addq $0x18, %rax
movq %rax, -0xdd0(%rbp)
movq -0xdd0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xde0(%rbp)
callq 0xab00
movq -0xdd8(%rbp), %rcx
movq -0xde0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xdd0(%rbp)
jne 0x7f95a
movq -0xd08(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x108(%rbp)
movq -0x108(%rbp), %rdi
callq 0x3d080
movq %rax, -0x110(%rbp)
movq -0x108(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x118(%rbp)
leaq -0x110(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x7f9df
jmp 0x7fbc1
leaq -0x110(%rbp), %rdi
callq 0x3d120
movq -0xd08(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x11c(%rbp)
movl -0x11c(%rbp), %eax
negl %eax
movl %eax, -0x150(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
movl %eax, -0x14c(%rbp)
leaq -0x150(%rbp), %rax
movq %rax, -0x148(%rbp)
movq $0x2, -0x140(%rbp)
leaq -0x151(%rbp), %rdi
movq %rdi, -0xde8(%rbp)
callq 0xa710
movq -0xde8(%rbp), %rcx
movq -0x148(%rbp), %rsi
movq -0x140(%rbp), %rdx
leaq -0x138(%rbp), %rdi
callq 0x3c9b0
jmp 0x7fa6c
movq -0xd18(%rbp), %rdi
leaq -0x138(%rbp), %rsi
callq 0x3e200
jmp 0x7fa81
leaq -0x138(%rbp), %rdi
callq 0xab00
leaq -0x151(%rbp), %rdi
callq 0xa7a0
leaq -0x110(%rbp), %rdi
callq 0x3d160
jmp 0x7f9c3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7fd8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movq -0xf8(%rbp), %rax
leaq -0xf0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xdf0(%rbp)
je 0x7fb12
movq -0xdf0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xdf8(%rbp)
callq 0xab00
movq -0xdf8(%rbp), %rax
leaq -0xf0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xdf0(%rbp)
jne 0x7fae1
jmp 0x7fd8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xf9(%rbp), %rdi
callq 0xb5f0
leaq -0xf0(%rbp), %rax
movq %rax, -0xe08(%rbp)
addq $0x18, %rax
movq %rax, -0xe00(%rbp)
movq -0xe00(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xe10(%rbp)
callq 0xab00
movq -0xe08(%rbp), %rcx
movq -0xe10(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xe00(%rbp)
jne 0x7fb48
jmp 0x7fd8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x7fba4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x138(%rbp), %rdi
callq 0xab00
leaq -0x151(%rbp), %rdi
callq 0xa7a0
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x7fd8a
movb $0x1, -0xc5(%rbp)
movl $0x1, -0x158(%rbp)
testb $0x1, -0xc5(%rbp)
jne 0x7fbe7
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x7fd79
leaq -0x180(%rbp), %rdi
movq %rdi, -0x188(%rbp)
leaq -0xc0(%rbp), %rsi
callq 0x3edb0
jmp 0x7fc08
leaq -0x180(%rbp), %rax
movq %rax, -0x168(%rbp)
movq $0x1, -0x160(%rbp)
leaq -0x189(%rbp), %rdi
movq %rdi, -0xe18(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0xe18(%rbp), %rcx
movq -0x168(%rbp), %rsi
movq -0x160(%rbp), %rdx
callq 0x84140
jmp 0x7fc57
leaq -0x189(%rbp), %rdi
callq 0xb5f0
leaq -0x180(%rbp), %rax
movq %rax, -0xe28(%rbp)
addq $0x18, %rax
movq %rax, -0xe20(%rbp)
movq -0xe20(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xe30(%rbp)
callq 0xab00
movq -0xe28(%rbp), %rcx
movq -0xe30(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xe20(%rbp)
jne 0x7fc7c
movl $0x1, -0x158(%rbp)
jmp 0x7fd79
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movq -0x188(%rbp), %rax
leaq -0x180(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xe38(%rbp)
je 0x7fd13
movq -0xe38(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xe40(%rbp)
callq 0xab00
movq -0xe40(%rbp), %rax
leaq -0x180(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xe38(%rbp)
jne 0x7fce2
jmp 0x7fd8a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x189(%rbp), %rdi
callq 0xb5f0
leaq -0x180(%rbp), %rax
movq %rax, -0xe50(%rbp)
addq $0x18, %rax
movq %rax, -0xe48(%rbp)
movq -0xe48(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xe58(%rbp)
callq 0xab00
movq -0xe50(%rbp), %rcx
movq -0xe58(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xe48(%rbp)
jne 0x7fd46
jmp 0x7fd8a
leaq -0xc0(%rbp), %rdi
callq 0xab00
jmp 0x84022
leaq -0xc0(%rbp), %rdi
callq 0xab00
jmp 0x84032
leaq 0x7e80(%rip), %rdi      # 0x87c22
leaq 0x8313(%rip), %rsi      # 0x880bc
movl $0x115, %edx            # imm = 0x115
leaq 0x8625(%rip), %rcx      # 0x883da
callq 0x4260
movq -0xd08(%rbp), %rax
movl 0x38(%rax), %eax
cmpl -0x18(%rbp), %eax
jne 0x80616
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x0, %rax
jne 0x8002a
movq -0xd08(%rbp), %rsi
addq $0x8, %rsi
leaq -0x1a8(%rbp), %rdi
callq 0x3edb0
leaq -0x1a8(%rbp), %rax
movq %rax, -0x1b0(%rbp)
movq -0x1b0(%rbp), %rdi
callq 0xa800
movq %rax, -0x1b8(%rbp)
movq -0x1b0(%rbp), %rdi
callq 0xa830
movq %rax, -0x1c0(%rbp)
leaq -0x1b8(%rbp), %rdi
leaq -0x1c0(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x7fe4b
jmp 0x7fe80
leaq -0x1b8(%rbp), %rdi
callq 0xa8a0
movq %rax, -0x1c8(%rbp)
movq -0x1c8(%rbp), %rax
xorl %ecx, %ecx
subl (%rax), %ecx
movq -0x1c8(%rbp), %rax
movl %ecx, (%rax)
leaq -0x1b8(%rbp), %rdi
callq 0xa930
jmp 0x7fe32
leaq -0x1f0(%rbp), %rdi
movq %rdi, -0x1f8(%rbp)
leaq -0x1a8(%rbp), %rsi
callq 0x3edb0
jmp 0x7fe9c
leaq -0x1f0(%rbp), %rax
movq %rax, -0x1d8(%rbp)
movq $0x1, -0x1d0(%rbp)
leaq -0x1f9(%rbp), %rdi
movq %rdi, -0xe60(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0xe60(%rbp), %rcx
movq -0x1d8(%rbp), %rsi
movq -0x1d0(%rbp), %rdx
callq 0x84140
jmp 0x7feeb
leaq -0x1f9(%rbp), %rdi
callq 0xb5f0
leaq -0x1f0(%rbp), %rax
movq %rax, -0xe70(%rbp)
addq $0x18, %rax
movq %rax, -0xe68(%rbp)
movq -0xe68(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xe78(%rbp)
callq 0xab00
movq -0xe70(%rbp), %rcx
movq -0xe78(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xe68(%rbp)
jne 0x7ff10
movl $0x1, -0x158(%rbp)
leaq -0x1a8(%rbp), %rdi
callq 0xab00
jmp 0x84022
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movq -0x1f8(%rbp), %rax
leaq -0x1f0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xe80(%rbp)
je 0x7ffb3
movq -0xe80(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xe88(%rbp)
callq 0xab00
movq -0xe88(%rbp), %rax
leaq -0x1f0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xe80(%rbp)
jne 0x7ff82
jmp 0x80019
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x1f9(%rbp), %rdi
callq 0xb5f0
leaq -0x1f0(%rbp), %rax
movq %rax, -0xe98(%rbp)
addq $0x18, %rax
movq %rax, -0xe90(%rbp)
movq -0xe90(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xea0(%rbp)
callq 0xab00
movq -0xe98(%rbp), %rcx
movq -0xea0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xe90(%rbp)
jne 0x7ffe6
jmp 0x80019
leaq -0x1a8(%rbp), %rdi
callq 0xab00
jmp 0x84032
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x805f7
movq -0xd08(%rbp), %rsi
addq $0x8, %rsi
leaq -0x218(%rbp), %rdi
callq 0x3edb0
leaq -0x218(%rbp), %rax
movq %rax, -0x220(%rbp)
movq -0x220(%rbp), %rdi
callq 0xa800
movq %rax, -0x228(%rbp)
movq -0x220(%rbp), %rdi
callq 0xa830
movq %rax, -0x230(%rbp)
leaq -0x228(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x800a8
jmp 0x800dd
leaq -0x228(%rbp), %rdi
callq 0xa8a0
movq %rax, -0x238(%rbp)
movq -0x238(%rbp), %rax
xorl %ecx, %ecx
subl (%rax), %ecx
movq -0x238(%rbp), %rax
movl %ecx, (%rax)
leaq -0x228(%rbp), %rdi
callq 0xa930
jmp 0x8008f
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
negl %eax
movl %eax, -0x23c(%rbp)
leaq -0x218(%rbp), %rdi
leaq -0x23c(%rbp), %rsi
callq 0x3c850
jmp 0x80110
movq -0xd08(%rbp), %rax
testb $0x1, 0x58(%rax)
je 0x80448
movb $0x0, -0x23d(%rbp)
leaq -0x268(%rbp), %rdi
movq %rdi, -0x270(%rbp)
leaq -0x218(%rbp), %rsi
callq 0x3edb0
jmp 0x80144
leaq -0x268(%rbp), %rax
movq %rax, -0x250(%rbp)
movq $0x1, -0x248(%rbp)
leaq -0x271(%rbp), %rdi
movq %rdi, -0xea8(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0xea8(%rbp), %rcx
movq -0x250(%rbp), %rsi
movq -0x248(%rbp), %rdx
callq 0x84140
jmp 0x80193
leaq -0x271(%rbp), %rdi
callq 0xb5f0
leaq -0x268(%rbp), %rax
movq %rax, -0xeb8(%rbp)
addq $0x18, %rax
movq %rax, -0xeb0(%rbp)
movq -0xeb0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xec0(%rbp)
callq 0xab00
movq -0xeb8(%rbp), %rcx
movq -0xec0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xeb0(%rbp)
jne 0x801b8
movq -0xd08(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x280(%rbp)
movq -0x280(%rbp), %rdi
callq 0x3d080
movq %rax, -0x288(%rbp)
movq -0x280(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x290(%rbp)
leaq -0x288(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x8023d
jmp 0x8041d
leaq -0x288(%rbp), %rdi
callq 0x3d120
movq -0xd08(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x294(%rbp)
movl -0x294(%rbp), %eax
movl %eax, -0x2c8(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
movl %eax, -0x2c4(%rbp)
leaq -0x2c8(%rbp), %rax
movq %rax, -0x2c0(%rbp)
movq $0x2, -0x2b8(%rbp)
leaq -0x2c9(%rbp), %rdi
movq %rdi, -0xec8(%rbp)
callq 0xa710
movq -0xec8(%rbp), %rcx
movq -0x2c0(%rbp), %rsi
movq -0x2b8(%rbp), %rdx
leaq -0x2b0(%rbp), %rdi
callq 0x3c9b0
jmp 0x802c8
movq -0xd18(%rbp), %rdi
leaq -0x2b0(%rbp), %rsi
callq 0x3e200
jmp 0x802dd
leaq -0x2b0(%rbp), %rdi
callq 0xab00
leaq -0x2c9(%rbp), %rdi
callq 0xa7a0
leaq -0x288(%rbp), %rdi
callq 0x3d160
jmp 0x80221
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x805e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movq -0x270(%rbp), %rax
leaq -0x268(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xed0(%rbp)
je 0x8036e
movq -0xed0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xed8(%rbp)
callq 0xab00
movq -0xed8(%rbp), %rax
leaq -0x268(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xed0(%rbp)
jne 0x8033d
jmp 0x805e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x271(%rbp), %rdi
callq 0xb5f0
leaq -0x268(%rbp), %rax
movq %rax, -0xee8(%rbp)
addq $0x18, %rax
movq %rax, -0xee0(%rbp)
movq -0xee0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xef0(%rbp)
callq 0xab00
movq -0xee8(%rbp), %rcx
movq -0xef0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xee0(%rbp)
jne 0x803a4
jmp 0x805e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x80400
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0xab00
leaq -0x2c9(%rbp), %rdi
callq 0xa7a0
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x805e6
movb $0x1, -0x23d(%rbp)
movl $0x1, -0x158(%rbp)
testb $0x1, -0x23d(%rbp)
jne 0x80443
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x805d5
leaq -0x2f8(%rbp), %rdi
movq %rdi, -0x300(%rbp)
leaq -0x218(%rbp), %rsi
callq 0x3edb0
jmp 0x80464
leaq -0x2f8(%rbp), %rax
movq %rax, -0x2e0(%rbp)
movq $0x1, -0x2d8(%rbp)
leaq -0x301(%rbp), %rdi
movq %rdi, -0xef8(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0xef8(%rbp), %rcx
movq -0x2e0(%rbp), %rsi
movq -0x2d8(%rbp), %rdx
callq 0x84140
jmp 0x804b3
leaq -0x301(%rbp), %rdi
callq 0xb5f0
leaq -0x2f8(%rbp), %rax
movq %rax, -0xf08(%rbp)
addq $0x18, %rax
movq %rax, -0xf00(%rbp)
movq -0xf00(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xf10(%rbp)
callq 0xab00
movq -0xf08(%rbp), %rcx
movq -0xf10(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xf00(%rbp)
jne 0x804d8
movl $0x1, -0x158(%rbp)
jmp 0x805d5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movq -0x300(%rbp), %rax
leaq -0x2f8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xf18(%rbp)
je 0x8056f
movq -0xf18(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xf20(%rbp)
callq 0xab00
movq -0xf20(%rbp), %rax
leaq -0x2f8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xf18(%rbp)
jne 0x8053e
jmp 0x805e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x301(%rbp), %rdi
callq 0xb5f0
leaq -0x2f8(%rbp), %rax
movq %rax, -0xf30(%rbp)
addq $0x18, %rax
movq %rax, -0xf28(%rbp)
movq -0xf28(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xf38(%rbp)
callq 0xab00
movq -0xf30(%rbp), %rcx
movq -0xf38(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xf28(%rbp)
jne 0x805a2
jmp 0x805e6
leaq -0x218(%rbp), %rdi
callq 0xab00
jmp 0x84022
leaq -0x218(%rbp), %rdi
callq 0xab00
jmp 0x84032
leaq 0x7624(%rip), %rdi      # 0x87c22
leaq 0x7ab7(%rip), %rsi      # 0x880bc
movl $0x132, %edx            # imm = 0x132
leaq 0x7dc9(%rip), %rcx      # 0x883da
callq 0x4260
jmp 0x82be1
movq -0xd08(%rbp), %rax
cmpl $0x1, (%rax)
jne 0x8143a
movq -0xd08(%rbp), %rax
cmpl $0x0, 0x38(%rax)
jl 0x8064b
movq -0xd08(%rbp), %rax
movl 0x38(%rax), %eax
cmpl -0x18(%rbp), %eax
jle 0x80b60
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x0, %rax
jne 0x80906
movb $0x1, -0x37e(%rbp)
leaq -0x348(%rbp), %rax
movq %rax, -0xf48(%rbp)
movq %rax, -0x350(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x364(%rbp)
leaq -0x364(%rbp), %rax
movq %rax, -0x360(%rbp)
movq $0x1, -0x358(%rbp)
leaq -0x365(%rbp), %rdi
movq %rdi, -0xf40(%rbp)
callq 0xa710
movq -0xf48(%rbp), %rdi
movq -0xf40(%rbp), %rcx
movq -0x360(%rbp), %rsi
movq -0x358(%rbp), %rdx
callq 0x3c9b0
jmp 0x806d9
leaq -0x330(%rbp), %rax
movq %rax, -0xf58(%rbp)
movq %rax, -0x350(%rbp)
movl -0x14(%rbp), %eax
negl %eax
movl %eax, -0x37c(%rbp)
leaq -0x37c(%rbp), %rax
movq %rax, -0x378(%rbp)
movq $0x1, -0x370(%rbp)
leaq -0x37d(%rbp), %rdi
movq %rdi, -0xf50(%rbp)
callq 0xa710
movq -0xf58(%rbp), %rdi
movq -0xf50(%rbp), %rcx
movq -0x378(%rbp), %rsi
movq -0x370(%rbp), %rdx
callq 0x3c9b0
jmp 0x80748
movb $0x0, -0x37e(%rbp)
leaq -0x348(%rbp), %rax
movq %rax, -0x318(%rbp)
movq $0x2, -0x310(%rbp)
leaq -0x37f(%rbp), %rdi
movq %rdi, -0xf60(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0xf60(%rbp), %rcx
movq -0x318(%rbp), %rsi
movq -0x310(%rbp), %rdx
callq 0x84140
jmp 0x8079e
leaq -0x37f(%rbp), %rdi
callq 0xb5f0
leaq -0x348(%rbp), %rax
movq %rax, -0xf70(%rbp)
addq $0x30, %rax
movq %rax, -0xf68(%rbp)
movq -0xf68(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xf78(%rbp)
callq 0xab00
movq -0xf70(%rbp), %rcx
movq -0xf78(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xf68(%rbp)
jne 0x807c3
leaq -0x37d(%rbp), %rdi
callq 0xa7a0
leaq -0x365(%rbp), %rdi
callq 0xa7a0
jmp 0x84022
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x8089d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x80891
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x37f(%rbp), %rdi
callq 0xb5f0
leaq -0x348(%rbp), %rax
movq %rax, -0xf88(%rbp)
addq $0x30, %rax
movq %rax, -0xf80(%rbp)
movq -0xf80(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xf90(%rbp)
callq 0xab00
movq -0xf88(%rbp), %rcx
movq -0xf90(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xf80(%rbp)
jne 0x8085e
jmp 0x80891
leaq -0x37d(%rbp), %rdi
callq 0xa7a0
leaq -0x365(%rbp), %rdi
callq 0xa7a0
testb $0x1, -0x37e(%rbp)
jne 0x808b4
jmp 0x80901
movq -0x350(%rbp), %rax
leaq -0x348(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xf98(%rbp)
je 0x808ff
movq -0xf98(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xfa0(%rbp)
callq 0xab00
movq -0xfa0(%rbp), %rax
leaq -0x348(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xf98(%rbp)
jne 0x808ce
jmp 0x80901
jmp 0x84032
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x80b41
movq -0xd08(%rbp), %rdi
movb $0x1, -0x3c6(%rbp)
leaq -0x3a8(%rbp), %rax
movq %rax, -0xfb0(%rbp)
movq %rax, -0x3b0(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
negl %eax
movl %eax, -0x3c4(%rbp)
leaq -0x3c4(%rbp), %rax
movq %rax, -0x3c0(%rbp)
movq $0x1, -0x3b8(%rbp)
leaq -0x3c5(%rbp), %rdi
movq %rdi, -0xfa8(%rbp)
callq 0xa710
movq -0xfb0(%rbp), %rdi
movq -0xfa8(%rbp), %rcx
movq -0x3c0(%rbp), %rsi
movq -0x3b8(%rbp), %rdx
callq 0x3c9b0
jmp 0x809a9
movb $0x0, -0x3c6(%rbp)
leaq -0x3a8(%rbp), %rax
movq %rax, -0x390(%rbp)
movq $0x1, -0x388(%rbp)
leaq -0x3c7(%rbp), %rdi
movq %rdi, -0xfb8(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0xfb8(%rbp), %rcx
movq -0x390(%rbp), %rsi
movq -0x388(%rbp), %rdx
callq 0x84140
jmp 0x809ff
leaq -0x3c7(%rbp), %rdi
callq 0xb5f0
leaq -0x3a8(%rbp), %rax
movq %rax, -0xfc8(%rbp)
addq $0x18, %rax
movq %rax, -0xfc0(%rbp)
movq -0xfc0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xfd0(%rbp)
callq 0xab00
movq -0xfc8(%rbp), %rcx
movq -0xfd0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xfc0(%rbp)
jne 0x80a24
leaq -0x3c5(%rbp), %rdi
callq 0xa7a0
jmp 0x84022
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x80ad8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x3c7(%rbp), %rdi
callq 0xb5f0
leaq -0x3a8(%rbp), %rax
movq %rax, -0xfe0(%rbp)
addq $0x18, %rax
movq %rax, -0xfd8(%rbp)
movq -0xfd8(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xfe8(%rbp)
callq 0xab00
movq -0xfe0(%rbp), %rcx
movq -0xfe8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0xfd8(%rbp)
jne 0x80aa5
jmp 0x80ad8
leaq -0x3c5(%rbp), %rdi
callq 0xa7a0
testb $0x1, -0x3c6(%rbp)
jne 0x80aef
jmp 0x80b3c
movq -0x3b0(%rbp), %rax
leaq -0x3a8(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0xff0(%rbp)
je 0x80b3a
movq -0xff0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0xff8(%rbp)
callq 0xab00
movq -0xff8(%rbp), %rax
leaq -0x3a8(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0xff0(%rbp)
jne 0x80b09
jmp 0x80b3c
jmp 0x84032
leaq 0x70da(%rip), %rdi      # 0x87c22
leaq 0x756d(%rip), %rsi      # 0x880bc
movl $0x13f, %edx            # imm = 0x13F
leaq 0x787f(%rip), %rcx      # 0x883da
callq 0x4260
movq -0xd08(%rbp), %rax
cmpl $0x0, 0x38(%rax)
jne 0x80f89
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x0, %rax
jne 0x80d0f
movq -0xd18(%rbp), %rdi
movb $0x0, -0x3c8(%rbp)
callq 0xb2e0
movq -0xd08(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x3d0(%rbp)
movq -0x3d0(%rbp), %rdi
callq 0x3d080
movq %rax, -0x3d8(%rbp)
movq -0x3d0(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x3e0(%rbp)
leaq -0x3d8(%rbp), %rdi
leaq -0x3e0(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x80bf2
jmp 0x80ce4
leaq -0x3d8(%rbp), %rdi
callq 0x3d120
movl (%rax), %eax
movl %eax, -0x3e4(%rbp)
movl -0x3e4(%rbp), %eax
negl %eax
movl %eax, -0x414(%rbp)
leaq -0x414(%rbp), %rax
movq %rax, -0x410(%rbp)
movq $0x1, -0x408(%rbp)
leaq -0x415(%rbp), %rdi
movq %rdi, -0x1000(%rbp)
callq 0xa710
movq -0x1000(%rbp), %rcx
movq -0x410(%rbp), %rsi
movq -0x408(%rbp), %rdx
leaq -0x400(%rbp), %rdi
callq 0x3c9b0
jmp 0x80c63
movq -0xd18(%rbp), %rdi
leaq -0x400(%rbp), %rsi
callq 0x3e200
jmp 0x80c78
leaq -0x400(%rbp), %rdi
callq 0xab00
leaq -0x415(%rbp), %rdi
callq 0xa7a0
leaq -0x3d8(%rbp), %rdi
callq 0x3d160
jmp 0x80bd6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x80cc7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x400(%rbp), %rdi
callq 0xab00
leaq -0x415(%rbp), %rdi
callq 0xa7a0
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84032
movb $0x1, -0x3c8(%rbp)
movl $0x1, -0x158(%rbp)
testb $0x1, -0x3c8(%rbp)
jne 0x80d0a
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84022
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x80f6a
movq -0xd18(%rbp), %rdi
movb $0x0, -0x416(%rbp)
callq 0xb2e0
movq -0xd08(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x420(%rbp)
movq -0x420(%rbp), %rdi
callq 0x3d080
movq %rax, -0x428(%rbp)
movq -0x420(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x430(%rbp)
leaq -0x428(%rbp), %rdi
leaq -0x430(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x80d90
jmp 0x80e94
leaq -0x428(%rbp), %rdi
callq 0x3d120
movq -0xd08(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x434(%rbp)
movl -0x434(%rbp), %eax
negl %eax
movl %eax, -0x468(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
negl %eax
movl %eax, -0x464(%rbp)
leaq -0x468(%rbp), %rax
movq %rax, -0x460(%rbp)
movq $0x2, -0x458(%rbp)
leaq -0x469(%rbp), %rdi
movq %rdi, -0x1008(%rbp)
callq 0xa710
movq -0x1008(%rbp), %rcx
movq -0x460(%rbp), %rsi
movq -0x458(%rbp), %rdx
leaq -0x450(%rbp), %rdi
callq 0x3c9b0
jmp 0x80e1f
movq -0xd18(%rbp), %rdi
leaq -0x450(%rbp), %rsi
callq 0x3e200
jmp 0x80e34
leaq -0x450(%rbp), %rdi
callq 0xab00
leaq -0x469(%rbp), %rdi
callq 0xa7a0
leaq -0x428(%rbp), %rdi
callq 0x3d160
jmp 0x80d74
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x80e83
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x450(%rbp), %rdi
callq 0xab00
leaq -0x469(%rbp), %rdi
callq 0xa7a0
jmp 0x80f59
movq -0xd08(%rbp), %rax
testb $0x1, 0x58(%rax)
je 0x80f2e
movq -0xd08(%rbp), %rsi
addq $0x8, %rsi
leaq -0x488(%rbp), %rdi
callq 0x3edb0
jmp 0x80ebe
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movq %rax, %rsi
leaq -0x488(%rbp), %rdi
callq 0xa8c0
jmp 0x80ee3
movq -0xd18(%rbp), %rdi
leaq -0x488(%rbp), %rsi
callq 0x3e2b0
jmp 0x80ef8
leaq -0x488(%rbp), %rdi
callq 0xab00
jmp 0x80f2e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x80f59
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x488(%rbp), %rdi
callq 0xab00
jmp 0x80f59
movb $0x1, -0x416(%rbp)
movl $0x1, -0x158(%rbp)
testb $0x1, -0x416(%rbp)
jne 0x80f54
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84022
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84032
leaq 0x6cb1(%rip), %rdi      # 0x87c22
leaq 0x7144(%rip), %rsi      # 0x880bc
movl $0x157, %edx            # imm = 0x157
leaq 0x7456(%rip), %rcx      # 0x883da
callq 0x4260
movq -0xd08(%rbp), %rax
movl 0x38(%rax), %eax
cmpl -0x18(%rbp), %eax
jne 0x81435
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x0, %rax
jne 0x81138
movq -0xd18(%rbp), %rdi
movb $0x0, -0x489(%rbp)
callq 0xb2e0
movq -0xd08(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x498(%rbp)
movq -0x498(%rbp), %rdi
callq 0x3d080
movq %rax, -0x4a0(%rbp)
movq -0x498(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x4a8(%rbp)
leaq -0x4a0(%rbp), %rdi
leaq -0x4a8(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x8101d
jmp 0x8110d
leaq -0x4a0(%rbp), %rdi
callq 0x3d120
movl (%rax), %eax
movl %eax, -0x4ac(%rbp)
movl -0x4ac(%rbp), %eax
movl %eax, -0x4dc(%rbp)
leaq -0x4dc(%rbp), %rax
movq %rax, -0x4d8(%rbp)
movq $0x1, -0x4d0(%rbp)
leaq -0x4dd(%rbp), %rdi
movq %rdi, -0x1010(%rbp)
callq 0xa710
movq -0x1010(%rbp), %rcx
movq -0x4d8(%rbp), %rsi
movq -0x4d0(%rbp), %rdx
leaq -0x4c8(%rbp), %rdi
callq 0x3c9b0
jmp 0x8108c
movq -0xd18(%rbp), %rdi
leaq -0x4c8(%rbp), %rsi
callq 0x3e200
jmp 0x810a1
leaq -0x4c8(%rbp), %rdi
callq 0xab00
leaq -0x4dd(%rbp), %rdi
callq 0xa7a0
leaq -0x4a0(%rbp), %rdi
callq 0x3d160
jmp 0x81001
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x810f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x4c8(%rbp), %rdi
callq 0xab00
leaq -0x4dd(%rbp), %rdi
callq 0xa7a0
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84032
movb $0x1, -0x489(%rbp)
movl $0x1, -0x158(%rbp)
testb $0x1, -0x489(%rbp)
jne 0x81133
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84022
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x81416
movq -0xd18(%rbp), %rdi
movb $0x0, -0x4de(%rbp)
callq 0xb2e0
movq -0xd08(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x4e8(%rbp)
movq -0x4e8(%rbp), %rdi
callq 0x3d080
movq %rax, -0x4f0(%rbp)
movq -0x4e8(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x4f8(%rbp)
leaq -0x4f0(%rbp), %rdi
leaq -0x4f8(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x811b9
jmp 0x812bb
leaq -0x4f0(%rbp), %rdi
callq 0x3d120
movq -0xd08(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x4fc(%rbp)
movl -0x4fc(%rbp), %eax
movl %eax, -0x530(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
negl %eax
movl %eax, -0x52c(%rbp)
leaq -0x530(%rbp), %rax
movq %rax, -0x528(%rbp)
movq $0x2, -0x520(%rbp)
leaq -0x531(%rbp), %rdi
movq %rdi, -0x1018(%rbp)
callq 0xa710
movq -0x1018(%rbp), %rcx
movq -0x528(%rbp), %rsi
movq -0x520(%rbp), %rdx
leaq -0x518(%rbp), %rdi
callq 0x3c9b0
jmp 0x81246
movq -0xd18(%rbp), %rdi
leaq -0x518(%rbp), %rsi
callq 0x3e200
jmp 0x8125b
leaq -0x518(%rbp), %rdi
callq 0xab00
leaq -0x531(%rbp), %rdi
callq 0xa7a0
leaq -0x4f0(%rbp), %rdi
callq 0x3d160
jmp 0x8119d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x812aa
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x518(%rbp), %rdi
callq 0xab00
leaq -0x531(%rbp), %rdi
callq 0xa7a0
jmp 0x81405
movq -0xd08(%rbp), %rax
testb $0x1, 0x58(%rax)
je 0x813da
movq -0xd08(%rbp), %rsi
addq $0x8, %rsi
leaq -0x550(%rbp), %rdi
callq 0x3edb0
jmp 0x812e5
leaq -0x550(%rbp), %rax
movq %rax, -0x558(%rbp)
movq -0x558(%rbp), %rdi
callq 0xa800
movq %rax, -0x560(%rbp)
movq -0x558(%rbp), %rdi
callq 0xa830
movq %rax, -0x568(%rbp)
leaq -0x560(%rbp), %rdi
leaq -0x568(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x81332
jmp 0x81378
leaq -0x560(%rbp), %rdi
callq 0xa8a0
movq %rax, -0x570(%rbp)
movq -0x570(%rbp), %rax
xorl %ecx, %ecx
subl (%rax), %ecx
movq -0x570(%rbp), %rax
movl %ecx, (%rax)
leaq -0x560(%rbp), %rdi
callq 0xa930
jmp 0x81319
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x81405
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movq %rax, %rsi
leaq -0x550(%rbp), %rdi
callq 0xa8c0
jmp 0x8139d
movq -0xd18(%rbp), %rdi
leaq -0x550(%rbp), %rsi
callq 0x3e2b0
jmp 0x813b2
leaq -0x550(%rbp), %rdi
callq 0xab00
jmp 0x813da
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x550(%rbp), %rdi
callq 0xab00
jmp 0x81405
movb $0x1, -0x4de(%rbp)
movl $0x1, -0x158(%rbp)
testb $0x1, -0x4de(%rbp)
jne 0x81400
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84022
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84032
leaq 0x6805(%rip), %rdi      # 0x87c22
leaq 0x6c98(%rip), %rsi      # 0x880bc
movl $0x172, %edx            # imm = 0x172
leaq 0x6faa(%rip), %rcx      # 0x883da
callq 0x4260
jmp 0x82bdf
movq -0xd08(%rbp), %rax
cmpl $0x3, (%rax)
jne 0x828d9
movq -0xd08(%rbp), %rax
cmpl $0x0, 0x38(%rax)
jge 0x81970
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x0, %rax
jne 0x81716
movb $0x1, -0x5e6(%rbp)
leaq -0x5b0(%rbp), %rax
movq %rax, -0x1028(%rbp)
movq %rax, -0x5b8(%rbp)
movl -0x14(%rbp), %eax
movl %eax, -0x5cc(%rbp)
leaq -0x5cc(%rbp), %rax
movq %rax, -0x5c8(%rbp)
movq $0x1, -0x5c0(%rbp)
leaq -0x5cd(%rbp), %rdi
movq %rdi, -0x1020(%rbp)
callq 0xa710
movq -0x1028(%rbp), %rdi
movq -0x1020(%rbp), %rcx
movq -0x5c8(%rbp), %rsi
movq -0x5c0(%rbp), %rdx
callq 0x3c9b0
jmp 0x814e9
leaq -0x598(%rbp), %rax
movq %rax, -0x1038(%rbp)
movq %rax, -0x5b8(%rbp)
movl -0x14(%rbp), %eax
negl %eax
movl %eax, -0x5e4(%rbp)
leaq -0x5e4(%rbp), %rax
movq %rax, -0x5e0(%rbp)
movq $0x1, -0x5d8(%rbp)
leaq -0x5e5(%rbp), %rdi
movq %rdi, -0x1030(%rbp)
callq 0xa710
movq -0x1038(%rbp), %rdi
movq -0x1030(%rbp), %rcx
movq -0x5e0(%rbp), %rsi
movq -0x5d8(%rbp), %rdx
callq 0x3c9b0
jmp 0x81558
movb $0x0, -0x5e6(%rbp)
leaq -0x5b0(%rbp), %rax
movq %rax, -0x580(%rbp)
movq $0x2, -0x578(%rbp)
leaq -0x5e7(%rbp), %rdi
movq %rdi, -0x1040(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0x1040(%rbp), %rcx
movq -0x580(%rbp), %rsi
movq -0x578(%rbp), %rdx
callq 0x84140
jmp 0x815ae
leaq -0x5e7(%rbp), %rdi
callq 0xb5f0
leaq -0x5b0(%rbp), %rax
movq %rax, -0x1050(%rbp)
addq $0x30, %rax
movq %rax, -0x1048(%rbp)
movq -0x1048(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x1058(%rbp)
callq 0xab00
movq -0x1050(%rbp), %rcx
movq -0x1058(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1048(%rbp)
jne 0x815d3
leaq -0x5e5(%rbp), %rdi
callq 0xa7a0
leaq -0x5cd(%rbp), %rdi
callq 0xa7a0
jmp 0x84022
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x816ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x816a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x5e7(%rbp), %rdi
callq 0xb5f0
leaq -0x5b0(%rbp), %rax
movq %rax, -0x1068(%rbp)
addq $0x30, %rax
movq %rax, -0x1060(%rbp)
movq -0x1060(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x1070(%rbp)
callq 0xab00
movq -0x1068(%rbp), %rcx
movq -0x1070(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1060(%rbp)
jne 0x8166e
jmp 0x816a1
leaq -0x5e5(%rbp), %rdi
callq 0xa7a0
leaq -0x5cd(%rbp), %rdi
callq 0xa7a0
testb $0x1, -0x5e6(%rbp)
jne 0x816c4
jmp 0x81711
movq -0x5b8(%rbp), %rax
leaq -0x5b0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x1078(%rbp)
je 0x8170f
movq -0x1078(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x1080(%rbp)
callq 0xab00
movq -0x1080(%rbp), %rax
leaq -0x5b0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x1078(%rbp)
jne 0x816de
jmp 0x81711
jmp 0x84032
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x81951
movq -0xd08(%rbp), %rdi
movb $0x1, -0x62e(%rbp)
leaq -0x610(%rbp), %rax
movq %rax, -0x1090(%rbp)
movq %rax, -0x618(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
negl %eax
movl %eax, -0x62c(%rbp)
leaq -0x62c(%rbp), %rax
movq %rax, -0x628(%rbp)
movq $0x1, -0x620(%rbp)
leaq -0x62d(%rbp), %rdi
movq %rdi, -0x1088(%rbp)
callq 0xa710
movq -0x1090(%rbp), %rdi
movq -0x1088(%rbp), %rcx
movq -0x628(%rbp), %rsi
movq -0x620(%rbp), %rdx
callq 0x3c9b0
jmp 0x817b9
movb $0x0, -0x62e(%rbp)
leaq -0x610(%rbp), %rax
movq %rax, -0x5f8(%rbp)
movq $0x1, -0x5f0(%rbp)
leaq -0x62f(%rbp), %rdi
movq %rdi, -0x1098(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0x1098(%rbp), %rcx
movq -0x5f8(%rbp), %rsi
movq -0x5f0(%rbp), %rdx
callq 0x84140
jmp 0x8180f
leaq -0x62f(%rbp), %rdi
callq 0xb5f0
leaq -0x610(%rbp), %rax
movq %rax, -0x10a8(%rbp)
addq $0x18, %rax
movq %rax, -0x10a0(%rbp)
movq -0x10a0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x10b0(%rbp)
callq 0xab00
movq -0x10a8(%rbp), %rcx
movq -0x10b0(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x10a0(%rbp)
jne 0x81834
leaq -0x62d(%rbp), %rdi
callq 0xa7a0
jmp 0x84022
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x818e8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x62f(%rbp), %rdi
callq 0xb5f0
leaq -0x610(%rbp), %rax
movq %rax, -0x10c0(%rbp)
addq $0x18, %rax
movq %rax, -0x10b8(%rbp)
movq -0x10b8(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x10c8(%rbp)
callq 0xab00
movq -0x10c0(%rbp), %rcx
movq -0x10c8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x10b8(%rbp)
jne 0x818b5
jmp 0x818e8
leaq -0x62d(%rbp), %rdi
callq 0xa7a0
testb $0x1, -0x62e(%rbp)
jne 0x818ff
jmp 0x8194c
movq -0x618(%rbp), %rax
leaq -0x610(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x10d0(%rbp)
je 0x8194a
movq -0x10d0(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x10d8(%rbp)
callq 0xab00
movq -0x10d8(%rbp), %rax
leaq -0x610(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x10d0(%rbp)
jne 0x81919
jmp 0x8194c
jmp 0x84032
leaq 0x62ca(%rip), %rdi      # 0x87c22
leaq 0x675d(%rip), %rsi      # 0x880bc
movl $0x17f, %edx            # imm = 0x17F
leaq 0x6a6f(%rip), %rcx      # 0x883da
callq 0x4260
movq -0xd08(%rbp), %rax
movl 0x38(%rax), %eax
cmpl -0x18(%rbp), %eax
jl 0x81c4a
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x0, %rax
jne 0x819bd
movq -0xd18(%rbp), %rdi
xorl %esi, %esi
movl $0x18, %edx
callq 0x41e0
movq -0xd18(%rbp), %rdi
callq 0xb2e0
jmp 0x84022
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x81c2b
movq -0xd08(%rbp), %rax
testb $0x1, 0x58(%rax)
je 0x81c07
movq -0xd08(%rbp), %rdi
movb $0x1, -0x676(%rbp)
leaq -0x658(%rbp), %rax
movq %rax, -0x10e8(%rbp)
movq %rax, -0x660(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
movl %eax, -0x674(%rbp)
leaq -0x674(%rbp), %rax
movq %rax, -0x670(%rbp)
movq $0x1, -0x668(%rbp)
leaq -0x675(%rbp), %rdi
movq %rdi, -0x10e0(%rbp)
callq 0xa710
movq -0x10e8(%rbp), %rdi
movq -0x10e0(%rbp), %rcx
movq -0x670(%rbp), %rsi
movq -0x668(%rbp), %rdx
callq 0x3c9b0
jmp 0x81a6f
movb $0x0, -0x676(%rbp)
leaq -0x658(%rbp), %rax
movq %rax, -0x640(%rbp)
movq $0x1, -0x638(%rbp)
leaq -0x677(%rbp), %rdi
movq %rdi, -0x10f0(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0x10f0(%rbp), %rcx
movq -0x640(%rbp), %rsi
movq -0x638(%rbp), %rdx
callq 0x84140
jmp 0x81ac5
leaq -0x677(%rbp), %rdi
callq 0xb5f0
leaq -0x658(%rbp), %rax
movq %rax, -0x1100(%rbp)
addq $0x18, %rax
movq %rax, -0x10f8(%rbp)
movq -0x10f8(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x1108(%rbp)
callq 0xab00
movq -0x1100(%rbp), %rcx
movq -0x1108(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x10f8(%rbp)
jne 0x81aea
leaq -0x675(%rbp), %rdi
callq 0xa7a0
jmp 0x84022
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x81b9e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x677(%rbp), %rdi
callq 0xb5f0
leaq -0x658(%rbp), %rax
movq %rax, -0x1118(%rbp)
addq $0x18, %rax
movq %rax, -0x1110(%rbp)
movq -0x1110(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x1120(%rbp)
callq 0xab00
movq -0x1118(%rbp), %rcx
movq -0x1120(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1110(%rbp)
jne 0x81b6b
jmp 0x81b9e
leaq -0x675(%rbp), %rdi
callq 0xa7a0
testb $0x1, -0x676(%rbp)
jne 0x81bb5
jmp 0x81c02
movq -0x660(%rbp), %rax
leaq -0x658(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x1128(%rbp)
je 0x81c00
movq -0x1128(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x1130(%rbp)
callq 0xab00
movq -0x1130(%rbp), %rax
leaq -0x658(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x1128(%rbp)
jne 0x81bcf
jmp 0x81c02
jmp 0x84032
movq -0xd18(%rbp), %rdi
xorl %esi, %esi
movl $0x18, %edx
callq 0x41e0
movq -0xd18(%rbp), %rdi
callq 0xb2e0
jmp 0x84022
leaq 0x5ff0(%rip), %rdi      # 0x87c22
leaq 0x6483(%rip), %rsi      # 0x880bc
movl $0x18b, %edx            # imm = 0x18B
leaq 0x6795(%rip), %rcx      # 0x883da
callq 0x4260
movq -0xd08(%rbp), %rax
cmpl $0x0, 0x38(%rax)
jne 0x82073
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x0, %rax
jne 0x81df9
movq -0xd18(%rbp), %rdi
movb $0x0, -0x678(%rbp)
callq 0xb2e0
movq -0xd08(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x680(%rbp)
movq -0x680(%rbp), %rdi
callq 0x3d080
movq %rax, -0x688(%rbp)
movq -0x680(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x690(%rbp)
leaq -0x688(%rbp), %rdi
leaq -0x690(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x81cdc
jmp 0x81dce
leaq -0x688(%rbp), %rdi
callq 0x3d120
movl (%rax), %eax
movl %eax, -0x694(%rbp)
movl -0x694(%rbp), %eax
negl %eax
movl %eax, -0x6c4(%rbp)
leaq -0x6c4(%rbp), %rax
movq %rax, -0x6c0(%rbp)
movq $0x1, -0x6b8(%rbp)
leaq -0x6c5(%rbp), %rdi
movq %rdi, -0x1138(%rbp)
callq 0xa710
movq -0x1138(%rbp), %rcx
movq -0x6c0(%rbp), %rsi
movq -0x6b8(%rbp), %rdx
leaq -0x6b0(%rbp), %rdi
callq 0x3c9b0
jmp 0x81d4d
movq -0xd18(%rbp), %rdi
leaq -0x6b0(%rbp), %rsi
callq 0x3e200
jmp 0x81d62
leaq -0x6b0(%rbp), %rdi
callq 0xab00
leaq -0x6c5(%rbp), %rdi
callq 0xa7a0
leaq -0x688(%rbp), %rdi
callq 0x3d160
jmp 0x81cc0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x81db1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x6b0(%rbp), %rdi
callq 0xab00
leaq -0x6c5(%rbp), %rdi
callq 0xa7a0
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84032
movb $0x1, -0x678(%rbp)
movl $0x1, -0x158(%rbp)
testb $0x1, -0x678(%rbp)
jne 0x81df4
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84022
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x82054
movq -0xd18(%rbp), %rdi
movb $0x0, -0x6c6(%rbp)
callq 0xb2e0
movq -0xd08(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x6d0(%rbp)
movq -0x6d0(%rbp), %rdi
callq 0x3d080
movq %rax, -0x6d8(%rbp)
movq -0x6d0(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x6e0(%rbp)
leaq -0x6d8(%rbp), %rdi
leaq -0x6e0(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x81e7a
jmp 0x81f7e
leaq -0x6d8(%rbp), %rdi
callq 0x3d120
movq -0xd08(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x6e4(%rbp)
movl -0x6e4(%rbp), %eax
negl %eax
movl %eax, -0x718(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
negl %eax
movl %eax, -0x714(%rbp)
leaq -0x718(%rbp), %rax
movq %rax, -0x710(%rbp)
movq $0x2, -0x708(%rbp)
leaq -0x719(%rbp), %rdi
movq %rdi, -0x1140(%rbp)
callq 0xa710
movq -0x1140(%rbp), %rcx
movq -0x710(%rbp), %rsi
movq -0x708(%rbp), %rdx
leaq -0x700(%rbp), %rdi
callq 0x3c9b0
jmp 0x81f09
movq -0xd18(%rbp), %rdi
leaq -0x700(%rbp), %rsi
callq 0x3e200
jmp 0x81f1e
leaq -0x700(%rbp), %rdi
callq 0xab00
leaq -0x719(%rbp), %rdi
callq 0xa7a0
leaq -0x6d8(%rbp), %rdi
callq 0x3d160
jmp 0x81e5e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x81f6d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x700(%rbp), %rdi
callq 0xab00
leaq -0x719(%rbp), %rdi
callq 0xa7a0
jmp 0x82043
movq -0xd08(%rbp), %rax
testb $0x1, 0x58(%rax)
je 0x82018
movq -0xd08(%rbp), %rsi
addq $0x8, %rsi
leaq -0x738(%rbp), %rdi
callq 0x3edb0
jmp 0x81fa8
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movq %rax, %rsi
leaq -0x738(%rbp), %rdi
callq 0xa8c0
jmp 0x81fcd
movq -0xd18(%rbp), %rdi
leaq -0x738(%rbp), %rsi
callq 0x3e2b0
jmp 0x81fe2
leaq -0x738(%rbp), %rdi
callq 0xab00
jmp 0x82018
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x82043
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x738(%rbp), %rdi
callq 0xab00
jmp 0x82043
movb $0x1, -0x6c6(%rbp)
movl $0x1, -0x158(%rbp)
testb $0x1, -0x6c6(%rbp)
jne 0x8203e
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84022
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84032
leaq 0x5bc7(%rip), %rdi      # 0x87c22
leaq 0x605a(%rip), %rsi      # 0x880bc
movl $0x1a3, %edx            # imm = 0x1A3
leaq 0x636c(%rip), %rcx      # 0x883da
callq 0x4260
movq -0xd08(%rbp), %rax
movl 0x38(%rax), %eax
movl -0x18(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jne 0x828d4
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x0, %rax
jne 0x822e8
movq -0xd08(%rbp), %rsi
addq $0x8, %rsi
leaq -0x750(%rbp), %rdi
callq 0x3edb0
leaq -0x750(%rbp), %rax
movq %rax, -0x758(%rbp)
movq -0x758(%rbp), %rdi
callq 0xa800
movq %rax, -0x760(%rbp)
movq -0x758(%rbp), %rdi
callq 0xa830
movq %rax, -0x768(%rbp)
leaq -0x760(%rbp), %rdi
leaq -0x768(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x82109
jmp 0x8213e
leaq -0x760(%rbp), %rdi
callq 0xa8a0
movq %rax, -0x770(%rbp)
movq -0x770(%rbp), %rax
xorl %ecx, %ecx
subl (%rax), %ecx
movq -0x770(%rbp), %rax
movl %ecx, (%rax)
leaq -0x760(%rbp), %rdi
callq 0xa930
jmp 0x820f0
leaq -0x798(%rbp), %rdi
movq %rdi, -0x7a0(%rbp)
leaq -0x750(%rbp), %rsi
callq 0x3edb0
jmp 0x8215a
leaq -0x798(%rbp), %rax
movq %rax, -0x780(%rbp)
movq $0x1, -0x778(%rbp)
leaq -0x7a1(%rbp), %rdi
movq %rdi, -0x1148(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0x1148(%rbp), %rcx
movq -0x780(%rbp), %rsi
movq -0x778(%rbp), %rdx
callq 0x84140
jmp 0x821a9
leaq -0x7a1(%rbp), %rdi
callq 0xb5f0
leaq -0x798(%rbp), %rax
movq %rax, -0x1158(%rbp)
addq $0x18, %rax
movq %rax, -0x1150(%rbp)
movq -0x1150(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x1160(%rbp)
callq 0xab00
movq -0x1158(%rbp), %rcx
movq -0x1160(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1150(%rbp)
jne 0x821ce
movl $0x1, -0x158(%rbp)
leaq -0x750(%rbp), %rdi
callq 0xab00
jmp 0x84022
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movq -0x7a0(%rbp), %rax
leaq -0x798(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x1168(%rbp)
je 0x82271
movq -0x1168(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x1170(%rbp)
callq 0xab00
movq -0x1170(%rbp), %rax
leaq -0x798(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x1168(%rbp)
jne 0x82240
jmp 0x822d7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x7a1(%rbp), %rdi
callq 0xb5f0
leaq -0x798(%rbp), %rax
movq %rax, -0x1180(%rbp)
addq $0x18, %rax
movq %rax, -0x1178(%rbp)
movq -0x1178(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x1188(%rbp)
callq 0xab00
movq -0x1180(%rbp), %rcx
movq -0x1188(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1178(%rbp)
jne 0x822a4
jmp 0x822d7
leaq -0x750(%rbp), %rdi
callq 0xab00
jmp 0x84032
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x828b5
movq -0xd08(%rbp), %rsi
addq $0x8, %rsi
leaq -0x7c0(%rbp), %rdi
callq 0x3edb0
leaq -0x7c0(%rbp), %rax
movq %rax, -0x7c8(%rbp)
movq -0x7c8(%rbp), %rdi
callq 0xa800
movq %rax, -0x7d0(%rbp)
movq -0x7c8(%rbp), %rdi
callq 0xa830
movq %rax, -0x7d8(%rbp)
leaq -0x7d0(%rbp), %rdi
leaq -0x7d8(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x82366
jmp 0x8239b
leaq -0x7d0(%rbp), %rdi
callq 0xa8a0
movq %rax, -0x7e0(%rbp)
movq -0x7e0(%rbp), %rax
xorl %ecx, %ecx
subl (%rax), %ecx
movq -0x7e0(%rbp), %rax
movl %ecx, (%rax)
leaq -0x7d0(%rbp), %rdi
callq 0xa930
jmp 0x8234d
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
negl %eax
movl %eax, -0x7e4(%rbp)
leaq -0x7c0(%rbp), %rdi
leaq -0x7e4(%rbp), %rsi
callq 0x3c850
jmp 0x823ce
movq -0xd08(%rbp), %rax
testb $0x1, 0x58(%rax)
je 0x82706
movb $0x0, -0x7e5(%rbp)
leaq -0x810(%rbp), %rdi
movq %rdi, -0x818(%rbp)
leaq -0x7c0(%rbp), %rsi
callq 0x3edb0
jmp 0x82402
leaq -0x810(%rbp), %rax
movq %rax, -0x7f8(%rbp)
movq $0x1, -0x7f0(%rbp)
leaq -0x819(%rbp), %rdi
movq %rdi, -0x1190(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0x1190(%rbp), %rcx
movq -0x7f8(%rbp), %rsi
movq -0x7f0(%rbp), %rdx
callq 0x84140
jmp 0x82451
leaq -0x819(%rbp), %rdi
callq 0xb5f0
leaq -0x810(%rbp), %rax
movq %rax, -0x11a0(%rbp)
addq $0x18, %rax
movq %rax, -0x1198(%rbp)
movq -0x1198(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x11a8(%rbp)
callq 0xab00
movq -0x11a0(%rbp), %rcx
movq -0x11a8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1198(%rbp)
jne 0x82476
movq -0xd08(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x828(%rbp)
movq -0x828(%rbp), %rdi
callq 0x3d080
movq %rax, -0x830(%rbp)
movq -0x828(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x838(%rbp)
leaq -0x830(%rbp), %rdi
leaq -0x838(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x824fb
jmp 0x826db
leaq -0x830(%rbp), %rdi
callq 0x3d120
movq -0xd08(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x83c(%rbp)
movl -0x83c(%rbp), %eax
movl %eax, -0x870(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
movl %eax, -0x86c(%rbp)
leaq -0x870(%rbp), %rax
movq %rax, -0x868(%rbp)
movq $0x2, -0x860(%rbp)
leaq -0x871(%rbp), %rdi
movq %rdi, -0x11b0(%rbp)
callq 0xa710
movq -0x11b0(%rbp), %rcx
movq -0x868(%rbp), %rsi
movq -0x860(%rbp), %rdx
leaq -0x858(%rbp), %rdi
callq 0x3c9b0
jmp 0x82586
movq -0xd18(%rbp), %rdi
leaq -0x858(%rbp), %rsi
callq 0x3e200
jmp 0x8259b
leaq -0x858(%rbp), %rdi
callq 0xab00
leaq -0x871(%rbp), %rdi
callq 0xa7a0
leaq -0x830(%rbp), %rdi
callq 0x3d160
jmp 0x824df
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x828a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movq -0x818(%rbp), %rax
leaq -0x810(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x11b8(%rbp)
je 0x8262c
movq -0x11b8(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x11c0(%rbp)
callq 0xab00
movq -0x11c0(%rbp), %rax
leaq -0x810(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x11b8(%rbp)
jne 0x825fb
jmp 0x828a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x819(%rbp), %rdi
callq 0xb5f0
leaq -0x810(%rbp), %rax
movq %rax, -0x11d0(%rbp)
addq $0x18, %rax
movq %rax, -0x11c8(%rbp)
movq -0x11c8(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x11d8(%rbp)
callq 0xab00
movq -0x11d0(%rbp), %rcx
movq -0x11d8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x11c8(%rbp)
jne 0x82662
jmp 0x828a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x826be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x858(%rbp), %rdi
callq 0xab00
leaq -0x871(%rbp), %rdi
callq 0xa7a0
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x828a4
movb $0x1, -0x7e5(%rbp)
movl $0x1, -0x158(%rbp)
testb $0x1, -0x7e5(%rbp)
jne 0x82701
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x82893
leaq -0x8a0(%rbp), %rdi
movq %rdi, -0x8a8(%rbp)
leaq -0x7c0(%rbp), %rsi
callq 0x3edb0
jmp 0x82722
leaq -0x8a0(%rbp), %rax
movq %rax, -0x888(%rbp)
movq $0x1, -0x880(%rbp)
leaq -0x8a9(%rbp), %rdi
movq %rdi, -0x11e0(%rbp)
callq 0xb350
movq -0xd18(%rbp), %rdi
movq -0x11e0(%rbp), %rcx
movq -0x888(%rbp), %rsi
movq -0x880(%rbp), %rdx
callq 0x84140
jmp 0x82771
leaq -0x8a9(%rbp), %rdi
callq 0xb5f0
leaq -0x8a0(%rbp), %rax
movq %rax, -0x11f0(%rbp)
addq $0x18, %rax
movq %rax, -0x11e8(%rbp)
movq -0x11e8(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x11f8(%rbp)
callq 0xab00
movq -0x11f0(%rbp), %rcx
movq -0x11f8(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x11e8(%rbp)
jne 0x82796
movl $0x1, -0x158(%rbp)
jmp 0x82893
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
movq -0x8a8(%rbp), %rax
leaq -0x8a0(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x1200(%rbp)
je 0x8282d
movq -0x1200(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x1208(%rbp)
callq 0xab00
movq -0x1208(%rbp), %rax
leaq -0x8a0(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x1200(%rbp)
jne 0x827fc
jmp 0x828a4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x8a9(%rbp), %rdi
callq 0xb5f0
leaq -0x8a0(%rbp), %rax
movq %rax, -0x1218(%rbp)
addq $0x18, %rax
movq %rax, -0x1210(%rbp)
movq -0x1210(%rbp), %rdi
addq $-0x18, %rdi
movq %rdi, -0x1220(%rbp)
callq 0xab00
movq -0x1218(%rbp), %rcx
movq -0x1220(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x1210(%rbp)
jne 0x82860
jmp 0x828a4
leaq -0x7c0(%rbp), %rdi
callq 0xab00
jmp 0x84022
leaq -0x7c0(%rbp), %rdi
callq 0xab00
jmp 0x84032
leaq 0x5366(%rip), %rdi      # 0x87c22
leaq 0x57f9(%rip), %rsi      # 0x880bc
movl $0x1c0, %edx            # imm = 0x1C0
leaq 0x5b0b(%rip), %rcx      # 0x883da
callq 0x4260
jmp 0x82bdd
movq -0xd08(%rbp), %rax
cmpl $0x4, (%rax)
je 0x82901
movq -0xd08(%rbp), %rax
cmpl $0x5, (%rax)
je 0x82901
movq -0xd08(%rbp), %rax
cmpl $0x6, (%rax)
jne 0x82bbc
cmpl $0x1, -0x18(%rbp)
jne 0x82bba
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x82923
jmp 0x82942
leaq 0x5afc(%rip), %rdi      # 0x88426
leaq 0x578b(%rip), %rsi      # 0x880bc
movl $0x1c6, %edx            # imm = 0x1C6
leaq 0x5a9d(%rip), %rcx      # 0x883da
callq 0x4260
movq -0xd18(%rbp), %rdi
movb $0x0, -0x8aa(%rbp)
callq 0xb2e0
movq -0xd08(%rbp), %rax
cmpl $0x4, (%rax)
je 0x82972
movq -0xd08(%rbp), %rax
testb $0x1, 0x58(%rax)
je 0x82a6b
movq -0xd08(%rbp), %rdi
addq $0x8, %rdi
xorl %eax, %eax
movl %eax, %esi
movq %rsi, -0x1230(%rbp)
callq 0x3c5b0
movq -0xd08(%rbp), %rdi
movq -0x1230(%rbp), %rsi
movl (%rax), %eax
negl %eax
movl %eax, -0x8e0(%rbp)
addq $0x20, %rdi
callq 0x3c5b0
movl (%rax), %eax
movl %eax, -0x8dc(%rbp)
leaq -0x8e0(%rbp), %rax
movq %rax, -0x8d8(%rbp)
movq $0x2, -0x8d0(%rbp)
leaq -0x8e1(%rbp), %rdi
movq %rdi, -0x1228(%rbp)
callq 0xa710
movq -0x1228(%rbp), %rcx
movq -0x8d8(%rbp), %rsi
movq -0x8d0(%rbp), %rdx
leaq -0x8c8(%rbp), %rdi
callq 0x3c9b0
jmp 0x82a05
movq -0xd18(%rbp), %rdi
leaq -0x8c8(%rbp), %rsi
callq 0x3e200
jmp 0x82a1a
leaq -0x8c8(%rbp), %rdi
callq 0xab00
leaq -0x8e1(%rbp), %rdi
callq 0xa7a0
jmp 0x82a6b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x82a5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x8c8(%rbp), %rdi
callq 0xab00
leaq -0x8e1(%rbp), %rdi
callq 0xa7a0
jmp 0x82ba9
movq -0xd08(%rbp), %rax
cmpl $0x5, (%rax)
je 0x82a88
movq -0xd08(%rbp), %rax
testb $0x1, 0x58(%rax)
je 0x82b7e
movq -0xd08(%rbp), %rdi
addq $0x8, %rdi
xorl %eax, %eax
movl %eax, %esi
movq %rsi, -0x1240(%rbp)
callq 0x3c5b0
movq -0xd08(%rbp), %rdi
movq -0x1240(%rbp), %rsi
movl (%rax), %eax
movl %eax, -0x918(%rbp)
addq $0x20, %rdi
callq 0x3c5b0
movl (%rax), %eax
negl %eax
movl %eax, -0x914(%rbp)
leaq -0x918(%rbp), %rax
movq %rax, -0x910(%rbp)
movq $0x2, -0x908(%rbp)
leaq -0x919(%rbp), %rdi
movq %rdi, -0x1238(%rbp)
callq 0xa710
movq -0x1238(%rbp), %rcx
movq -0x910(%rbp), %rsi
movq -0x908(%rbp), %rdx
leaq -0x900(%rbp), %rdi
callq 0x3c9b0
jmp 0x82b1b
movq -0xd18(%rbp), %rdi
leaq -0x900(%rbp), %rsi
callq 0x3e200
jmp 0x82b30
leaq -0x900(%rbp), %rdi
callq 0xab00
leaq -0x919(%rbp), %rdi
callq 0xa7a0
jmp 0x82b7e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x82b70
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x900(%rbp), %rdi
callq 0xab00
leaq -0x919(%rbp), %rdi
callq 0xa7a0
jmp 0x82ba9
movb $0x1, -0x8aa(%rbp)
movl $0x1, -0x158(%rbp)
testb $0x1, -0x8aa(%rbp)
jne 0x82ba4
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84022
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84032
jmp 0x82bdb
leaq 0x505f(%rip), %rdi      # 0x87c22
leaq 0x54f2(%rip), %rsi      # 0x880bc
movl $0x1d1, %edx            # imm = 0x1D1
leaq 0x5804(%rip), %rcx      # 0x883da
callq 0x4260
jmp 0x82bdd
jmp 0x82bdf
jmp 0x82be1
movq -0xd08(%rbp), %rdi
addq $0x8, %rdi
callq 0xf940
cmpl $0x1, %eax
jle 0x82bf8
jmp 0x82c17
leaq 0x5842(%rip), %rdi      # 0x88441
leaq 0x54b6(%rip), %rsi      # 0x880bc
movl $0x1d2, %edx            # imm = 0x1D2
leaq 0x57c8(%rip), %rcx      # 0x883da
callq 0x4260
movq -0xd18(%rbp), %rdi
movb $0x0, -0x91a(%rbp)
callq 0xb2e0
movq -0xd08(%rbp), %rax
cmpl $0x3, (%rax)
jne 0x83087
movq -0xd08(%rbp), %rdx
xorl %eax, %eax
xorl %ecx, %ecx
cmpl 0x38(%rdx), %ecx
movb %al, -0x1241(%rbp)
jge 0x82c80
movq -0xd08(%rbp), %rdi
movl 0x38(%rdi), %eax
addl $0x1, %eax
movl %eax, -0x1248(%rbp)
addq $0x8, %rdi
callq 0xf940
movq %rax, %rcx
movl -0x1248(%rbp), %eax
cmpl %ecx, %eax
setl %al
movb %al, -0x1241(%rbp)
movb -0x1241(%rbp), %al
testb $0x1, %al
jne 0x82c8c
jmp 0x82c8e
jmp 0x82cad
leaq 0x57ca(%rip), %rdi      # 0x8845f
leaq 0x5420(%rip), %rsi      # 0x880bc
movl $0x1d6, %edx            # imm = 0x1D6
leaq 0x5732(%rip), %rcx      # 0x883da
callq 0x4260
movq -0xd08(%rbp), %rax
cmpl $0x1, 0x4(%rax)
jne 0x83063
movq -0xd08(%rbp), %rsi
movl -0x14(%rbp), %eax
movl %eax, -0x124c(%rbp)
addq $0x8, %rsi
leaq -0x960(%rbp), %rdi
callq 0x3edb0
jmp 0x82ce0
movl -0x124c(%rbp), %edx
movq -0xd08(%rbp), %rsi
leaq -0x948(%rbp), %rdi
leaq -0x960(%rbp), %rcx
callq 0x7f1e0
jmp 0x82d02
leaq -0x960(%rbp), %rdi
callq 0xab00
movq -0xd18(%rbp), %rdi
leaq -0x948(%rbp), %rsi
callq 0x79900
jmp 0x82d23
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x0, %rax
jne 0x82e40
movl -0x928(%rbp), %eax
movl %eax, -0x98c(%rbp)
leaq -0x98c(%rbp), %rax
movq %rax, -0x988(%rbp)
movq $0x1, -0x980(%rbp)
leaq -0x98d(%rbp), %rdi
movq %rdi, -0x1258(%rbp)
callq 0xa710
movq -0x1258(%rbp), %rcx
movq -0x988(%rbp), %rsi
movq -0x980(%rbp), %rdx
leaq -0x978(%rbp), %rdi
callq 0x3c9b0
jmp 0x82d98
movq -0xd18(%rbp), %rdi
leaq -0x978(%rbp), %rsi
callq 0x3e200
jmp 0x82dad
leaq -0x978(%rbp), %rdi
callq 0xab00
leaq -0x98d(%rbp), %rdi
callq 0xa7a0
jmp 0x83044
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x84014
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x960(%rbp), %rdi
callq 0xab00
jmp 0x84014
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x83052
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x82e2f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x978(%rbp), %rdi
callq 0xab00
leaq -0x98d(%rbp), %rdi
callq 0xa7a0
jmp 0x83052
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x83023
movq -0xd08(%rbp), %rdi
movl -0x928(%rbp), %eax
movl %eax, -0x9c0(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
negl %eax
movl %eax, -0x9bc(%rbp)
leaq -0x9c0(%rbp), %rax
movq %rax, -0x9b8(%rbp)
movq $0x2, -0x9b0(%rbp)
leaq -0x9c1(%rbp), %rdi
movq %rdi, -0x1260(%rbp)
callq 0xa710
movq -0x1260(%rbp), %rcx
movq -0x9b8(%rbp), %rsi
movq -0x9b0(%rbp), %rdx
leaq -0x9a8(%rbp), %rdi
callq 0x3c9b0
jmp 0x82ed3
movq -0xd18(%rbp), %rdi
leaq -0x9a8(%rbp), %rsi
callq 0x3e200
jmp 0x82ee8
leaq -0x9a8(%rbp), %rdi
callq 0xab00
leaq -0x9c1(%rbp), %rdi
callq 0xa7a0
movq -0xd08(%rbp), %rax
testb $0x1, 0x58(%rax)
je 0x83021
movq -0xd08(%rbp), %rdi
movl -0x928(%rbp), %eax
negl %eax
movl %eax, -0x9f8(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
movl %eax, -0x9f4(%rbp)
leaq -0x9f8(%rbp), %rax
movq %rax, -0x9f0(%rbp)
movq $0x2, -0x9e8(%rbp)
leaq -0x9f9(%rbp), %rdi
movq %rdi, -0x1268(%rbp)
callq 0xa710
movq -0x1268(%rbp), %rcx
movq -0x9f0(%rbp), %rsi
movq -0x9e8(%rbp), %rdx
leaq -0x9e0(%rbp), %rdi
callq 0x3c9b0
jmp 0x82f8a
movq -0xd18(%rbp), %rdi
leaq -0x9e0(%rbp), %rsi
callq 0x3e200
jmp 0x82f9f
leaq -0x9e0(%rbp), %rdi
callq 0xab00
leaq -0x9f9(%rbp), %rdi
callq 0xa7a0
jmp 0x83021
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x82fdf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x9a8(%rbp), %rdi
callq 0xab00
leaq -0x9c1(%rbp), %rdi
callq 0xa7a0
jmp 0x83052
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x83013
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x9e0(%rbp), %rdi
callq 0xab00
leaq -0x9f9(%rbp), %rdi
callq 0xa7a0
jmp 0x83052
jmp 0x83042
leaq 0x4bf8(%rip), %rdi      # 0x87c22
leaq 0x508b(%rip), %rsi      # 0x880bc
movl $0x1e4, %edx            # imm = 0x1E4
leaq 0x539d(%rip), %rcx      # 0x883da
callq 0x4260
jmp 0x83044
leaq -0x948(%rbp), %rdi
callq 0x84120
jmp 0x83082
leaq -0x948(%rbp), %rdi
callq 0x84120
jmp 0x84014
leaq 0x4bb8(%rip), %rdi      # 0x87c22
leaq 0x504b(%rip), %rsi      # 0x880bc
movl $0x1e8, %edx            # imm = 0x1E8
leaq 0x535d(%rip), %rcx      # 0x883da
callq 0x4260
jmp 0x83ee9
movq -0xd08(%rbp), %rax
cmpl $0x1, (%rax)
jne 0x834d0
movq -0xd08(%rbp), %rdx
xorl %eax, %eax
xorl %ecx, %ecx
cmpl 0x38(%rdx), %ecx
movb %al, -0x1269(%rbp)
jge 0x830da
movq -0xd08(%rbp), %rdi
movl 0x38(%rdi), %eax
movl %eax, -0x1270(%rbp)
addq $0x8, %rdi
callq 0xf940
movq %rax, %rcx
movl -0x1270(%rbp), %eax
cmpl %ecx, %eax
setl %al
movb %al, -0x1269(%rbp)
movb -0x1269(%rbp), %al
testb $0x1, %al
jne 0x830e6
jmp 0x830e8
jmp 0x83107
leaq 0x5399(%rip), %rdi      # 0x88488
leaq 0x4fc6(%rip), %rsi      # 0x880bc
movl $0x1ec, %edx            # imm = 0x1EC
leaq 0x52d8(%rip), %rcx      # 0x883da
callq 0x4260
movq -0xd08(%rbp), %rax
cmpl $0x1, 0x4(%rax)
jne 0x834ac
movq -0xd08(%rbp), %rsi
movl -0x14(%rbp), %eax
movl %eax, -0x1274(%rbp)
addq $0x8, %rsi
leaq -0xa40(%rbp), %rdi
callq 0x3edb0
jmp 0x8313a
movl -0x1274(%rbp), %edx
movq -0xd08(%rbp), %rsi
leaq -0xa28(%rbp), %rdi
leaq -0xa40(%rbp), %rcx
callq 0x7e5b0
jmp 0x8315c
leaq -0xa40(%rbp), %rdi
callq 0xab00
movq -0xd18(%rbp), %rdi
leaq -0xa28(%rbp), %rsi
callq 0x79900
jmp 0x8317d
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x0, %rax
jne 0x83289
movl -0xa08(%rbp), %eax
movl %eax, -0xa6c(%rbp)
leaq -0xa6c(%rbp), %rax
movq %rax, -0xa68(%rbp)
movq $0x1, -0xa60(%rbp)
leaq -0xa6d(%rbp), %rdi
movq %rdi, -0x1280(%rbp)
callq 0xa710
movq -0x1280(%rbp), %rcx
movq -0xa68(%rbp), %rsi
movq -0xa60(%rbp), %rdx
leaq -0xa58(%rbp), %rdi
callq 0x3c9b0
jmp 0x831f2
movq -0xd18(%rbp), %rdi
leaq -0xa58(%rbp), %rsi
callq 0x3e200
jmp 0x83207
leaq -0xa58(%rbp), %rdi
callq 0xab00
leaq -0xa6d(%rbp), %rdi
callq 0xa7a0
jmp 0x8348d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xa40(%rbp), %rdi
callq 0xab00
jmp 0x84014
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x8349b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x83278
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xa58(%rbp), %rdi
callq 0xab00
leaq -0xa6d(%rbp), %rdi
callq 0xa7a0
jmp 0x8349b
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x8346c
movq -0xd08(%rbp), %rdi
movl -0xa08(%rbp), %eax
movl %eax, -0xaa0(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
negl %eax
movl %eax, -0xa9c(%rbp)
leaq -0xaa0(%rbp), %rax
movq %rax, -0xa98(%rbp)
movq $0x2, -0xa90(%rbp)
leaq -0xaa1(%rbp), %rdi
movq %rdi, -0x1288(%rbp)
callq 0xa710
movq -0x1288(%rbp), %rcx
movq -0xa98(%rbp), %rsi
movq -0xa90(%rbp), %rdx
leaq -0xa88(%rbp), %rdi
callq 0x3c9b0
jmp 0x8331c
movq -0xd18(%rbp), %rdi
leaq -0xa88(%rbp), %rsi
callq 0x3e200
jmp 0x83331
leaq -0xa88(%rbp), %rdi
callq 0xab00
leaq -0xaa1(%rbp), %rdi
callq 0xa7a0
movq -0xd08(%rbp), %rax
testb $0x1, 0x58(%rax)
je 0x8346a
movq -0xd08(%rbp), %rdi
movl -0xa08(%rbp), %eax
negl %eax
movl %eax, -0xad8(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
movl %eax, -0xad4(%rbp)
leaq -0xad8(%rbp), %rax
movq %rax, -0xad0(%rbp)
movq $0x2, -0xac8(%rbp)
leaq -0xad9(%rbp), %rdi
movq %rdi, -0x1290(%rbp)
callq 0xa710
movq -0x1290(%rbp), %rcx
movq -0xad0(%rbp), %rsi
movq -0xac8(%rbp), %rdx
leaq -0xac0(%rbp), %rdi
callq 0x3c9b0
jmp 0x833d3
movq -0xd18(%rbp), %rdi
leaq -0xac0(%rbp), %rsi
callq 0x3e200
jmp 0x833e8
leaq -0xac0(%rbp), %rdi
callq 0xab00
leaq -0xad9(%rbp), %rdi
callq 0xa7a0
jmp 0x8346a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x83428
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xa88(%rbp), %rdi
callq 0xab00
leaq -0xaa1(%rbp), %rdi
callq 0xa7a0
jmp 0x8349b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x8345c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xac0(%rbp), %rdi
callq 0xab00
leaq -0xad9(%rbp), %rdi
callq 0xa7a0
jmp 0x8349b
jmp 0x8348b
leaq 0x47af(%rip), %rdi      # 0x87c22
leaq 0x4c42(%rip), %rsi      # 0x880bc
movl $0x1fa, %edx            # imm = 0x1FA
leaq 0x4f54(%rip), %rcx      # 0x883da
callq 0x4260
jmp 0x8348d
leaq -0xa28(%rbp), %rdi
callq 0x84120
jmp 0x834cb
leaq -0xa28(%rbp), %rdi
callq 0x84120
jmp 0x84014
leaq 0x476f(%rip), %rdi      # 0x87c22
leaq 0x4c02(%rip), %rsi      # 0x880bc
movl $0x1fe, %edx            # imm = 0x1FE
leaq 0x4f14(%rip), %rcx      # 0x883da
callq 0x4260
jmp 0x83ee7
movq -0xd08(%rbp), %rax
cmpl $0x2, (%rax)
jne 0x838fa
movq -0xd08(%rbp), %rdx
xorl %eax, %eax
xorl %ecx, %ecx
cmpl 0x38(%rdx), %ecx
movb %al, -0x1291(%rbp)
jge 0x83523
movq -0xd08(%rbp), %rdi
movl 0x38(%rdi), %eax
movl %eax, -0x1298(%rbp)
addq $0x8, %rdi
callq 0xf940
movq %rax, %rcx
movl -0x1298(%rbp), %eax
cmpl %ecx, %eax
setl %al
movb %al, -0x1291(%rbp)
movb -0x1291(%rbp), %al
testb $0x1, %al
jne 0x8352f
jmp 0x83531
jmp 0x83550
leaq 0x4f50(%rip), %rdi      # 0x88488
leaq 0x4b7d(%rip), %rsi      # 0x880bc
movl $0x202, %edx            # imm = 0x202
leaq 0x4e8f(%rip), %rcx      # 0x883da
callq 0x4260
movq -0xd08(%rbp), %rax
cmpl $0x1, 0x4(%rax)
jne 0x838f5
movq -0xd08(%rbp), %rsi
movl -0x14(%rbp), %eax
movl %eax, -0x129c(%rbp)
addq $0x8, %rsi
leaq -0xb20(%rbp), %rdi
callq 0x3edb0
jmp 0x83583
movl -0x129c(%rbp), %edx
movq -0xd08(%rbp), %rsi
leaq -0xb08(%rbp), %rdi
leaq -0xb20(%rbp), %rcx
callq 0x7ebc0
jmp 0x835a5
leaq -0xb20(%rbp), %rdi
callq 0xab00
movq -0xd18(%rbp), %rdi
leaq -0xb08(%rbp), %rsi
callq 0x79900
jmp 0x835c6
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x0, %rax
jne 0x836d2
movl -0xae8(%rbp), %eax
movl %eax, -0xb4c(%rbp)
leaq -0xb4c(%rbp), %rax
movq %rax, -0xb48(%rbp)
movq $0x1, -0xb40(%rbp)
leaq -0xb4d(%rbp), %rdi
movq %rdi, -0x12a8(%rbp)
callq 0xa710
movq -0x12a8(%rbp), %rcx
movq -0xb48(%rbp), %rsi
movq -0xb40(%rbp), %rdx
leaq -0xb38(%rbp), %rdi
callq 0x3c9b0
jmp 0x8363b
movq -0xd18(%rbp), %rdi
leaq -0xb38(%rbp), %rsi
callq 0x3e200
jmp 0x83650
leaq -0xb38(%rbp), %rdi
callq 0xab00
leaq -0xb4d(%rbp), %rdi
callq 0xa7a0
jmp 0x838d6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xb20(%rbp), %rdi
callq 0xab00
jmp 0x84014
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x838e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x836c1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xb38(%rbp), %rdi
callq 0xab00
leaq -0xb4d(%rbp), %rdi
callq 0xa7a0
jmp 0x838e4
movq -0xd08(%rbp), %rdi
addq $0x20, %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x838b5
movq -0xd08(%rbp), %rdi
movl -0xae8(%rbp), %eax
movl %eax, -0xb80(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
negl %eax
movl %eax, -0xb7c(%rbp)
leaq -0xb80(%rbp), %rax
movq %rax, -0xb78(%rbp)
movq $0x2, -0xb70(%rbp)
leaq -0xb81(%rbp), %rdi
movq %rdi, -0x12b0(%rbp)
callq 0xa710
movq -0x12b0(%rbp), %rcx
movq -0xb78(%rbp), %rsi
movq -0xb70(%rbp), %rdx
leaq -0xb68(%rbp), %rdi
callq 0x3c9b0
jmp 0x83765
movq -0xd18(%rbp), %rdi
leaq -0xb68(%rbp), %rsi
callq 0x3e200
jmp 0x8377a
leaq -0xb68(%rbp), %rdi
callq 0xab00
leaq -0xb81(%rbp), %rdi
callq 0xa7a0
movq -0xd08(%rbp), %rax
testb $0x1, 0x58(%rax)
je 0x838b3
movq -0xd08(%rbp), %rdi
movl -0xae8(%rbp), %eax
negl %eax
movl %eax, -0xbb8(%rbp)
addq $0x20, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movl (%rax), %eax
movl %eax, -0xbb4(%rbp)
leaq -0xbb8(%rbp), %rax
movq %rax, -0xbb0(%rbp)
movq $0x2, -0xba8(%rbp)
leaq -0xbb9(%rbp), %rdi
movq %rdi, -0x12b8(%rbp)
callq 0xa710
movq -0x12b8(%rbp), %rcx
movq -0xbb0(%rbp), %rsi
movq -0xba8(%rbp), %rdx
leaq -0xba0(%rbp), %rdi
callq 0x3c9b0
jmp 0x8381c
movq -0xd18(%rbp), %rdi
leaq -0xba0(%rbp), %rsi
callq 0x3e200
jmp 0x83831
leaq -0xba0(%rbp), %rdi
callq 0xab00
leaq -0xbb9(%rbp), %rdi
callq 0xa7a0
jmp 0x838b3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x83871
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xb68(%rbp), %rdi
callq 0xab00
leaq -0xb81(%rbp), %rdi
callq 0xa7a0
jmp 0x838e4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x838a5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xba0(%rbp), %rdi
callq 0xab00
leaq -0xbb9(%rbp), %rdi
callq 0xa7a0
jmp 0x838e4
jmp 0x838d4
leaq 0x4366(%rip), %rdi      # 0x87c22
leaq 0x47f9(%rip), %rsi      # 0x880bc
movl $0x210, %edx            # imm = 0x210
leaq 0x4b0b(%rip), %rcx      # 0x883da
callq 0x4260
jmp 0x838d6
leaq -0xb08(%rbp), %rdi
callq 0x84120
jmp 0x838f5
leaq -0xb08(%rbp), %rdi
callq 0x84120
jmp 0x84014
jmp 0x83ee5
movq -0xd08(%rbp), %rax
cmpl $0x4, (%rax)
je 0x83922
movq -0xd08(%rbp), %rax
cmpl $0x5, (%rax)
je 0x83922
movq -0xd08(%rbp), %rax
cmpl $0x6, (%rax)
jne 0x83ec4
movq -0xd08(%rbp), %rdx
xorl %eax, %eax
xorl %ecx, %ecx
cmpl 0x38(%rdx), %ecx
movb %al, -0x12b9(%rbp)
jge 0x83965
movq -0xd08(%rbp), %rdi
movl 0x38(%rdi), %eax
movl %eax, -0x12c0(%rbp)
addq $0x20, %rdi
callq 0xf940
movq %rax, %rcx
movl -0x12c0(%rbp), %eax
cmpl %ecx, %eax
sete %al
movb %al, -0x12b9(%rbp)
movb -0x12b9(%rbp), %al
testb $0x1, %al
jne 0x83971
jmp 0x83973
jmp 0x83992
leaq 0x4b35(%rip), %rdi      # 0x884af
leaq 0x473b(%rip), %rsi      # 0x880bc
movl $0x215, %edx            # imm = 0x215
leaq 0x4a4d(%rip), %rcx      # 0x883da
callq 0x4260
movl $0x2, -0xbc0(%rbp)
movq -0xd08(%rbp), %rcx
movl -0xbc0(%rbp), %eax
cmpl 0x38(%rcx), %eax
jge 0x839be
movl -0xbc0(%rbp), %eax
shll %eax
movl %eax, -0xbc0(%rbp)
jmp 0x8399c
movl -0x14(%rbp), %esi
leaq -0xbe0(%rbp), %rdi
callq 0x7b6b0
jmp 0x839cf
movq -0xd08(%rbp), %rsi
addq $0x8, %rsi
leaq -0xbf8(%rbp), %rdi
callq 0x3edb0
jmp 0x839e8
jmp 0x839ea
leaq -0xbf8(%rbp), %rdi
callq 0xf940
cltd
idivl -0xbc0(%rbp)
cmpl $0x0, %edx
je 0x83b27
leaq -0xbe0(%rbp), %rax
movq %rax, -0x12d0(%rbp)
movl -0xbc8(%rbp), %eax
negl %eax
movl %eax, -0xc24(%rbp)
leaq -0xc24(%rbp), %rax
movq %rax, -0xc20(%rbp)
movq $0x1, -0xc18(%rbp)
leaq -0xc25(%rbp), %rdi
movq %rdi, -0x12c8(%rbp)
callq 0xa710
movq -0x12c8(%rbp), %rcx
movq -0xc20(%rbp), %rsi
movq -0xc18(%rbp), %rdx
leaq -0xc10(%rbp), %rdi
callq 0x3c9b0
jmp 0x83a71
movq -0x12d0(%rbp), %rdi
leaq -0xc10(%rbp), %rsi
callq 0x3e200
jmp 0x83a86
leaq -0xc10(%rbp), %rdi
callq 0xab00
leaq -0xc25(%rbp), %rdi
callq 0xa7a0
movl -0xbc8(%rbp), %eax
movl %eax, %ecx
incl %ecx
movl %ecx, -0xbc8(%rbp)
movl %eax, -0xc2c(%rbp)
leaq -0xbf8(%rbp), %rdi
leaq -0xc2c(%rbp), %rsi
callq 0x3c850
jmp 0x83ac9
jmp 0x839ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x83eb3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x83b05
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xc10(%rbp), %rdi
callq 0xab00
leaq -0xc25(%rbp), %rdi
callq 0xa7a0
jmp 0x83ea7
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x83ea7
movq -0xd08(%rbp), %rcx
movb $0x1, %al
cmpl $0x4, (%rcx)
movb %al, -0x12d1(%rbp)
je 0x83b63
movq -0xd08(%rbp), %rcx
movb $0x1, %al
testb $0x1, 0x58(%rcx)
movb %al, -0x12d1(%rbp)
jne 0x83b63
movq -0xd08(%rbp), %rax
cmpl $0x6, (%rax)
sete %al
movb %al, -0x12d1(%rbp)
movq -0xd08(%rbp), %rcx
movb -0x12d1(%rbp), %al
andb $0x1, %al
movb %al, -0xc2d(%rbp)
movb $0x1, %al
cmpl $0x5, (%rcx)
movb %al, -0x12d2(%rbp)
je 0x83bad
movq -0xd08(%rbp), %rcx
movb $0x1, %al
testb $0x1, 0x58(%rcx)
movb %al, -0x12d2(%rbp)
jne 0x83bad
movq -0xd08(%rbp), %rax
cmpl $0x6, (%rax)
sete %al
movb %al, -0x12d2(%rbp)
movb -0x12d2(%rbp), %al
andb $0x1, %al
movb %al, -0xc2e(%rbp)
leaq -0xbf8(%rbp), %rdi
movq %rdi, -0x12e0(%rbp)
callq 0xf940
movq -0xd08(%rbp), %rsi
movq -0x12e0(%rbp), %rdx
movl %eax, %r8d
decl %r8d
movl -0xbc0(%rbp), %r9d
movzbl -0xc2d(%rbp), %ecx
movzbl -0xc2e(%rbp), %edi
andl $0x1, %edi
movq %rsp, %rax
movl %edi, 0x10(%rax)
andl $0x1, %ecx
movl %ecx, 0x8(%rax)
leaq -0xbe0(%rbp), %rcx
movq %rcx, (%rax)
leaq -0xc48(%rbp), %rdi
xorl %ecx, %ecx
callq 0x7de10
jmp 0x83c20
movq -0xd18(%rbp), %rdi
leaq -0xbe0(%rbp), %rsi
callq 0x79900
jmp 0x83c35
movl $0x0, -0xc4c(%rbp)
movq -0xd08(%rbp), %rcx
movl -0xc4c(%rbp), %eax
cmpl 0x38(%rcx), %eax
jge 0x83e75
testb $0x1, -0xc2d(%rbp)
je 0x83d64
movslq -0xc4c(%rbp), %rsi
leaq -0xc48(%rbp), %rdi
callq 0xa7c0
movq -0xd08(%rbp), %rdi
movl (%rax), %eax
negl %eax
movl %eax, -0xc80(%rbp)
addq $0x20, %rdi
movslq -0xc4c(%rbp), %rsi
callq 0x3c5b0
movl (%rax), %eax
movl %eax, -0xc7c(%rbp)
leaq -0xc80(%rbp), %rax
movq %rax, -0xc78(%rbp)
movq $0x2, -0xc70(%rbp)
leaq -0xc81(%rbp), %rdi
movq %rdi, -0x12e8(%rbp)
callq 0xa710
movq -0x12e8(%rbp), %rcx
movq -0xc78(%rbp), %rsi
movq -0xc70(%rbp), %rdx
leaq -0xc68(%rbp), %rdi
callq 0x3c9b0
jmp 0x83ced
movq -0xd18(%rbp), %rdi
leaq -0xc68(%rbp), %rsi
callq 0x3e200
jmp 0x83d02
leaq -0xc68(%rbp), %rdi
callq 0xab00
leaq -0xc81(%rbp), %rdi
callq 0xa7a0
jmp 0x83d64
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x83e9b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x83d53
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xc68(%rbp), %rdi
callq 0xab00
leaq -0xc81(%rbp), %rdi
callq 0xa7a0
jmp 0x83e9b
testb $0x1, -0xc2e(%rbp)
je 0x83e5f
movslq -0xc4c(%rbp), %rsi
leaq -0xc48(%rbp), %rdi
callq 0xa7c0
movq -0xd08(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0xcb8(%rbp)
addq $0x20, %rdi
movslq -0xc4c(%rbp), %rsi
callq 0x3c5b0
movl (%rax), %eax
negl %eax
movl %eax, -0xcb4(%rbp)
leaq -0xcb8(%rbp), %rax
movq %rax, -0xcb0(%rbp)
movq $0x2, -0xca8(%rbp)
leaq -0xcb9(%rbp), %rdi
movq %rdi, -0x12f0(%rbp)
callq 0xa710
movq -0x12f0(%rbp), %rcx
movq -0xcb0(%rbp), %rsi
movq -0xca8(%rbp), %rdx
leaq -0xca0(%rbp), %rdi
callq 0x3c9b0
jmp 0x83dfc
movq -0xd18(%rbp), %rdi
leaq -0xca0(%rbp), %rsi
callq 0x3e200
jmp 0x83e11
leaq -0xca0(%rbp), %rdi
callq 0xab00
leaq -0xcb9(%rbp), %rdi
callq 0xa7a0
jmp 0x83e5f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x83e51
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xca0(%rbp), %rdi
callq 0xab00
leaq -0xcb9(%rbp), %rdi
callq 0xa7a0
jmp 0x83e9b
jmp 0x83e61
movl -0xc4c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc4c(%rbp)
jmp 0x83c3f
leaq -0xc48(%rbp), %rdi
callq 0xab00
leaq -0xbf8(%rbp), %rdi
callq 0xab00
leaq -0xbe0(%rbp), %rdi
callq 0x84080
jmp 0x83ee3
leaq -0xc48(%rbp), %rdi
callq 0xab00
leaq -0xbf8(%rbp), %rdi
callq 0xab00
leaq -0xbe0(%rbp), %rdi
callq 0x84080
jmp 0x84014
leaq 0x3d57(%rip), %rdi      # 0x87c22
leaq 0x41ea(%rip), %rsi      # 0x880bc
movl $0x228, %edx            # imm = 0x228
leaq 0x44fc(%rip), %rcx      # 0x883da
callq 0x4260
jmp 0x83ee5
jmp 0x83ee7
jmp 0x83ee9
movq -0xd18(%rbp), %rax
movq %rax, -0xcc8(%rbp)
movq -0xcc8(%rbp), %rdi
callq 0x3e320
movq %rax, -0xcd0(%rbp)
movq -0xcc8(%rbp), %rdi
callq 0x3e350
movq %rax, -0xcd8(%rbp)
leaq -0xcd0(%rbp), %rdi
leaq -0xcd8(%rbp), %rsi
callq 0x3e380
testb $0x1, %al
jne 0x83f39
jmp 0x83fec
leaq -0xcd0(%rbp), %rdi
callq 0x3e3c0
movq %rax, %rcx
movq -0xd08(%rbp), %rax
movq %rcx, -0xce0(%rbp)
addq $0x40, %rax
movq %rax, -0xce8(%rbp)
movq -0xce8(%rbp), %rdi
callq 0x3d080
movq %rax, -0xcf0(%rbp)
movq -0xce8(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0xcf8(%rbp)
leaq -0xcf0(%rbp), %rdi
leaq -0xcf8(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x83fa0
jmp 0x83fd9
leaq -0xcf0(%rbp), %rdi
callq 0x3d120
movl (%rax), %eax
movl %eax, -0xcfc(%rbp)
movq -0xce0(%rbp), %rdi
leaq -0xcfc(%rbp), %rsi
callq 0xa8c0
jmp 0x83fc9
jmp 0x83fcb
leaq -0xcf0(%rbp), %rdi
callq 0x3d160
jmp 0x83f87
jmp 0x83fdb
leaq -0xcd0(%rbp), %rdi
callq 0x3e3e0
jmp 0x83f1d
movb $0x1, -0x91a(%rbp)
movl $0x1, -0x158(%rbp)
testb $0x1, -0x91a(%rbp)
jne 0x84012
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84022
movq -0xd18(%rbp), %rdi
callq 0xb3b0
jmp 0x84032
movq -0xd10(%rbp), %rax
addq $0x1310, %rsp           # imm = 0x1310
popq %rbp
retq
movq -0x68(%rbp), %rdi
callq 0x4610
nopl (%rax,%rax)