// File: Laakeri[P]maxpre/src/./BIG.cpp
// Function: maxPreprocessor::Preprocessor::tryBIG(int, bool)
int Preprocessor::tryBIG(int lit, bool doTC) {
	vector<int> cc;
	BIGdfs1(lit, cc);
	for (unsigned i = 0; i < cc.size(); i++) {
		BIGu[cc[i]] = BIGIt - 1;
		BIGid[cc[i]] = (int)i;
		BIGu2[i] = 0;
	}
	vector<vector<int> > g(cc.size());
	vector<vector<int> > rg(cc.size());
	for (int x : cc) {
		// forward edges
		for (int c : pi.litClauses[litNegation(x)]) {
			if (pi.clauses[c].lit.size() == 2) {
				for (int nx : pi.clauses[c].lit) {
					if (nx != litNegation(x) && pi.isLabel[litVariable(nx)] == VAR_UNDEFINED && BIGu[nx] != BIGIt) {
						g[BIGid[x]].push_back(BIGid[nx]);
					}
				}
			}
		}
		// backward edges
		for (int c : pi.litClauses[x]) {
			if (pi.clauses[c].lit.size() == 2) {
				for (int nx : pi.clauses[c].lit) {
					if (nx != x && pi.isLabel[litVariable(nx)] == VAR_UNDEFINED && BIGu[litNegation(nx)] != BIGIt) {
						rg[BIGid[x]].push_back(BIGid[litNegation(nx)]);
					}
				}
			}
		}
	}
	for (int x : cc) {
		BIGu[x] = BIGIt;
	}
	vector<int> ns;
	for (int i = 0; i < (int)cc.size(); i++) {
		BIGdfs2(g, i, ns);
	}
	int removed = 0;
	vector<vector<int> > sccs;
	vector<int> topo1;
	topo1.reserve(cc.size());
	for (int i = (int)ns.size() - 1; i >= 0; i--) {
		if (BIGu2[ns[i]] != 2) {
			vector<int> scc;
			BIGdfs3(rg, ns[i], scc);
			if (scc.size() > 1) {
				for (int& x : scc) {
					x = cc[x];
				}
				sccs.push_back(scc);
			}
			else {
				topo1.push_back(scc[0]);
			}
		}
	}
	for (auto& scc : sccs) {
		if (scc.size() > 1 && BIGu2[litVariable(scc[0])] != 3) {
			sort(scc.begin(), scc.end());
			bool unsat = false;
			for (unsigned j = 1; j < scc.size(); j++) {
				if (scc[j - 1] == litNegation(scc[j])) {
					unsat = true;
					break;
				}
			}
			if (unsat) {
				for (int l : scc) {
					vector<int> pCls = pi.litClauses[l];
					vector<int> nCls = pi.litClauses[litNegation(l)];
					for (int c : pCls) {
						pi.removeClause(c);
						rLog.removeClause(1);
					}
					for (int c : nCls) {
						pi.removeClause(c);
						rLog.removeClause(1);
					}
				}
				pi.addClause({scc[0]});
				pi.addClause({litNegation(scc[0])});
				rLog.removeVariable((int)scc.size() - 1);
				continue;
			}
			for (unsigned j = 0; j < scc.size(); j++) {
				assert(BIGu2[litVariable(scc[j])] != 3);
				BIGu2[litVariable(scc[j])] = 3;
			}
			for (unsigned j = 1; j < scc.size(); j++) {
				vector<int> pCls = pi.litClauses[scc[j]];
				vector<int> nCls = pi.litClauses[litNegation(scc[j])];
				for (int c : pCls) {
					pi.removeLiteralFromClause(scc[j], c);
				}
				for (int c : nCls) {
					pi.removeLiteralFromClause(litNegation(scc[j]), c);
				}
				for (int c : pCls) {
					bool f = false;
					bool fn = false;
					for (int l : pi.clauses[c].lit) {
						if (l == scc[0]) f = true;
						if (l == litNegation(scc[0])) fn = true;
					}
					if (fn) {
						pi.removeClause(c);
						rLog.removeClause(1);
					}
					else if (!f) {
						pi.addLiteralToClause(scc[0], c);
					}
				}
				for (int c : nCls) {
					bool f = false;
					bool fn = false;
					for (int l : pi.clauses[c].lit) {
						if (l == litNegation(scc[0])) f = true;
						if (l == scc[0]) fn = true;
					}
					if (fn) {
						pi.removeClause(c);
						rLog.removeClause(1);
					}
					else if (!f) {
						pi.addLiteralToClause(litNegation(scc[0]), c);
					}
				}
				trace.setEqual(scc[0], scc[j]);
			}
			rLog.removeVariable((int)scc.size() - 1);
			removed += (int)scc.size() - 1;
		}
	}
	if (sccs.size() > 0 || cc.size() == 1) {
		return removed;
	}
	if (!doTC) return 0;
	if (doneUnhiding) return 0;
	doneUnhiding = true;
	rLog.stopTechnique(Log::Technique::EE);
	rLog.startTechnique(Log::Technique::UH);
	int stamp = 1;
	vector<pair<int, int> > pcc(cc.size());
	for (int i = 0; i < (int)cc.size(); i++) {
		pcc[i] = {cc[i], i};
	}
	sort(pcc.begin(), pcc.end());
	
	vector<int> trueLits;
	vector<pair<int, int> > rmLit;
	vector<int> rmClause;
	vector<pair<int, int> > qrs;
	for (int i = 1; i < (int)pcc.size(); i++) {
		if (pcc[i].F == litNegation(pcc[i - 1].F)) {
			int a = pcc[i].S;
			int b = pcc[i - 1].S;
			qrs.push_back({a, b});
		}
	}
	vector<int> leIndex(cc.size());
	vector<int> riIndex(cc.size());
	vector<int> up1(cc.size());
	vector<int> up2(cc.size());
	vector<int> perm(cc.size());
	for (int i = 0; i < (int)cc.size(); i++) perm[i] = i;
	for (int trys = 0; trys < 9; trys++) { // magic constant
		random_shuffle(perm.begin(), perm.end());
		for (int i = 0; i < (int)cc.size(); i++) BIGu2[i] = 0;
		for (int i : perm) {
			genIndex(g, rg, i, i, i, stamp, leIndex, riIndex, up1, up2, trys%3);
		}
		// FAILED LITERALS
		for (auto qq : qrs) {
			if (BIGisPath(qq.F, qq.S, leIndex, riIndex, up1, up2)) trueLits.push_back(cc[qq.S]);
			else if (BIGisPath(qq.S, qq.F, leIndex, riIndex, up1, up2)) trueLits.push_back(cc[qq.F]);
		}
		for (int x : cc) {
			BIGu2[x] = 5;
		}
		//HLE
		for (int l1 : cc) {
			for (int c : pi.litClauses[l1]) {
// 				if (pi.clauses[c].lit.size() <= 2) continue;
				for (int l2 : pi.clauses[c].lit) {
					if (l2 != l1 && BIGu2[l2] == 5) {
						if (BIGisPath(BIGid[l1], BIGid[l2], leIndex, riIndex, up1, up2)) {
							rmLit.push_back({l1, c});
						}
					}
				}
			}
		}
		//HTE
		for (int l1 : cc) {
			for (int c : pi.litClauses[l1]) {
				if (pi.clauses[c].lit.size() <= 2) continue;
				for (int l2 : pi.clauses[c].lit) {
					if (l2 != l1 && BIGu2[litNegation(l2)] == 5) {
						if (BIGisPath(BIGid[litNegation(l2)], BIGid[l1], leIndex, riIndex, up1, up2)) {
							rmClause.push_back(c);
						}
					}
				}
			}
		}
		for (int x : cc) {
			BIGu2[x] = 0;
		}
	}
	sort(rmLit.begin(), rmLit.end());
	rmLit.erase(unique(rmLit.begin(), rmLit.end()), rmLit.end());
	for (auto rm : rmLit) {
		pi.removeLiteralFromClause(rm.F, rm.S);
		rLog.removeLiteral(1);
		removed++;
	}
	sort(rmClause.begin(), rmClause.end());
	rmClause.erase(unique(rmClause.begin(), rmClause.end()), rmClause.end());
	for (int c : rmClause) {
		pi.removeClause(c);
		rLog.removeClause(1);
	}
	sort(trueLits.begin(), trueLits.end());
	trueLits.erase(unique(trueLits.begin(), trueLits.end()), trueLits.end());
	for (int l : trueLits) {
		int rmC = 0;
		if (litValue(l) == true) {
			rmC = setVariable(litVariable(l), true);
		}
		else {
			rmC = setVariable(litVariable(l), false);
		}
		removed++;
		rLog.removeVariable(1);
		rLog.removeClause(rmC);
	}
	rLog.stopTechnique(Log::Technique::UH);
	rLog.startTechnique(Log::Technique::EE);
	return removed;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb60, %rsp            # imm = 0xB60
movb %dl, %al
movq %rdi, -0x10(%rbp)
movl %esi, -0x14(%rbp)
andb $0x1, %al
movb %al, -0x15(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x7f8(%rbp)
leaq -0x30(%rbp), %rdi
movq %rdi, -0x7f0(%rbp)
callq 0xa7e0
movq -0x7f8(%rbp), %rdi
movq -0x7f0(%rbp), %rdx
movl -0x14(%rbp), %esi
callq 0x22b20
jmp 0x23d0c
movl $0x0, -0x40(%rbp)
movl -0x40(%rbp), %eax
movq %rax, -0x800(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xf940
movq %rax, %rcx
movq -0x800(%rbp), %rax
cmpq %rcx, %rax
jae 0x23e03
movq -0x7f8(%rbp), %rax
movl 0x3ac(%rax), %ecx
subl $0x1, %ecx
movl %ecx, -0x814(%rbp)
addq $0x3b0, %rax            # imm = 0x3B0
movq %rax, -0x820(%rbp)
movl -0x40(%rbp), %eax
movl %eax, %esi
leaq -0x30(%rbp), %rdi
callq 0xa7c0
movq -0x820(%rbp), %rdi
movslq (%rax), %rsi
callq 0xa7c0
movl -0x814(%rbp), %edx
movq %rax, %rcx
movq -0x7f8(%rbp), %rax
movl %edx, (%rcx)
movl -0x40(%rbp), %ecx
movl %ecx, -0x804(%rbp)
addq $0x3e0, %rax            # imm = 0x3E0
movq %rax, -0x810(%rbp)
movl -0x40(%rbp), %eax
movl %eax, %esi
leaq -0x30(%rbp), %rdi
callq 0xa7c0
movq -0x810(%rbp), %rdi
movslq (%rax), %rsi
callq 0xa7c0
movl -0x804(%rbp), %ecx
movq -0x7f8(%rbp), %rdi
movl %ecx, (%rax)
addq $0x3c8, %rdi            # imm = 0x3C8
movl -0x40(%rbp), %eax
movl %eax, %esi
callq 0xa7c0
movl $0x0, (%rax)
movl -0x40(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x40(%rbp)
jmp 0x23d13
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x26c4d
leaq -0x30(%rbp), %rdi
callq 0xf940
movq %rax, -0x830(%rbp)
leaq -0x59(%rbp), %rdi
movq %rdi, -0x828(%rbp)
callq 0xb350
movq -0x830(%rbp), %rsi
movq -0x828(%rbp), %rdx
leaq -0x58(%rbp), %rdi
callq 0x3ed40
jmp 0x23e3c
leaq -0x59(%rbp), %rdi
callq 0xb5f0
leaq -0x30(%rbp), %rdi
callq 0xf940
movq %rax, -0x840(%rbp)
leaq -0x79(%rbp), %rdi
movq %rdi, -0x838(%rbp)
callq 0xb350
movq -0x840(%rbp), %rsi
movq -0x838(%rbp), %rdx
leaq -0x78(%rbp), %rdi
callq 0x3ed40
jmp 0x23e7e
leaq -0x79(%rbp), %rdi
callq 0xb5f0
leaq -0x30(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x88(%rbp), %rdi
callq 0xa800
movq %rax, -0x90(%rbp)
movq -0x88(%rbp), %rdi
callq 0xa830
movq %rax, -0x98(%rbp)
leaq -0x90(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x23ed4
jmp 0x243d8
leaq -0x90(%rbp), %rdi
callq 0xa8a0
movq %rax, %rcx
movq -0x7f8(%rbp), %rax
movl (%rcx), %ecx
movl %ecx, -0x9c(%rbp)
addq $0x18, %rax
movq %rax, -0x850(%rbp)
movl -0x9c(%rbp), %edi
callq 0x3c5a0
movl %eax, -0x844(%rbp)
jmp 0x23f10
movq -0x850(%rbp), %rdi
movl -0x844(%rbp), %eax
movslq %eax, %rsi
callq 0xaab0
movq %rax, -0xa8(%rbp)
movq -0xa8(%rbp), %rdi
callq 0xa800
movq %rax, -0xb0(%rbp)
movq -0xa8(%rbp), %rdi
callq 0xa830
movq %rax, -0xb8(%rbp)
leaq -0xb0(%rbp), %rdi
leaq -0xb8(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x23f6e
jmp 0x24183
leaq -0xb0(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0xbc(%rbp)
movslq -0xbc(%rbp), %rsi
callq 0x3c600
movq %rax, %rdi
callq 0xf940
cmpq $0x2, %rax
jne 0x24170
movq -0x7f8(%rbp), %rdi
movslq -0xbc(%rbp), %rsi
callq 0x3c600
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rdi
callq 0xa800
movq %rax, -0xd0(%rbp)
movq -0xc8(%rbp), %rdi
callq 0xa830
movq %rax, -0xd8(%rbp)
leaq -0xd0(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x24003
jmp 0x2416e
leaq -0xd0(%rbp), %rdi
callq 0xa8a0
movl (%rax), %eax
movl %eax, -0xdc(%rbp)
movl -0xdc(%rbp), %eax
movl %eax, -0x858(%rbp)
movl -0x9c(%rbp), %edi
callq 0x3c5a0
movl %eax, -0x854(%rbp)
jmp 0x24036
movl -0x858(%rbp), %eax
movl -0x854(%rbp), %ecx
cmpl %ecx, %eax
je 0x2415b
movq -0x7f8(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x868(%rbp)
movl -0xdc(%rbp), %edi
callq 0x3c880
movl %eax, -0x85c(%rbp)
jmp 0x2406f
movq -0x868(%rbp), %rdi
movl -0x85c(%rbp), %eax
movslq %eax, %rsi
callq 0xa7c0
cmpl $0x0, (%rax)
jne 0x2415b
movq -0x7f8(%rbp), %rdi
addq $0x3b0, %rdi            # imm = 0x3B0
movslq -0xdc(%rbp), %rsi
callq 0xa7c0
movq -0x7f8(%rbp), %rcx
movl (%rax), %eax
cmpl 0x3ac(%rcx), %eax
je 0x2415b
movq -0x7f8(%rbp), %rdi
addq $0x3e0, %rdi            # imm = 0x3E0
movq %rdi, -0x878(%rbp)
movslq -0x9c(%rbp), %rsi
callq 0xa7c0
movslq (%rax), %rsi
leaq -0x58(%rbp), %rdi
callq 0xaab0
movq -0x878(%rbp), %rdi
movq %rax, -0x870(%rbp)
movslq -0xdc(%rbp), %rsi
callq 0xa7c0
movq -0x870(%rbp), %rdi
movq %rax, %rsi
callq 0xa8c0
jmp 0x24114
jmp 0x2415b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x59(%rbp), %rdi
callq 0xb5f0
jmp 0x26c4d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x79(%rbp), %rdi
callq 0xb5f0
jmp 0x26c44
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x26c3b
jmp 0x2415d
leaq -0xd0(%rbp), %rdi
callq 0xa930
jmp 0x23fe7
jmp 0x24170
jmp 0x24172
leaq -0xb0(%rbp), %rdi
callq 0xa930
jmp 0x23f52
movq -0x7f8(%rbp), %rdi
addq $0x18, %rdi
movslq -0x9c(%rbp), %rsi
callq 0xaab0
movq %rax, -0xe8(%rbp)
movq -0xe8(%rbp), %rdi
callq 0xa800
movq %rax, -0xf0(%rbp)
movq -0xe8(%rbp), %rdi
callq 0xa830
movq %rax, -0xf8(%rbp)
leaq -0xf0(%rbp), %rdi
leaq -0xf8(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x241e3
jmp 0x243c5
leaq -0xf0(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0xfc(%rbp)
movslq -0xfc(%rbp), %rsi
callq 0x3c600
movq %rax, %rdi
callq 0xf940
cmpq $0x2, %rax
jne 0x243b2
movq -0x7f8(%rbp), %rdi
movslq -0xfc(%rbp), %rsi
callq 0x3c600
movq %rax, -0x108(%rbp)
movq -0x108(%rbp), %rdi
callq 0xa800
movq %rax, -0x110(%rbp)
movq -0x108(%rbp), %rdi
callq 0xa830
movq %rax, -0x118(%rbp)
leaq -0x110(%rbp), %rdi
leaq -0x118(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x24278
jmp 0x243b0
leaq -0x110(%rbp), %rdi
callq 0xa8a0
movl (%rax), %eax
movl %eax, -0x11c(%rbp)
movl -0x11c(%rbp), %eax
cmpl -0x9c(%rbp), %eax
je 0x2439d
movq -0x7f8(%rbp), %rax
addq $0x48, %rax
movq %rax, -0x888(%rbp)
movl -0x11c(%rbp), %edi
callq 0x3c880
movl %eax, -0x87c(%rbp)
jmp 0x242c3
movq -0x888(%rbp), %rdi
movl -0x87c(%rbp), %eax
movslq %eax, %rsi
callq 0xa7c0
cmpl $0x0, (%rax)
jne 0x2439d
movq -0x7f8(%rbp), %rax
addq $0x3b0, %rax            # imm = 0x3B0
movq %rax, -0x898(%rbp)
movl -0x11c(%rbp), %edi
callq 0x3c5a0
movl %eax, -0x88c(%rbp)
jmp 0x24308
movq -0x898(%rbp), %rdi
movl -0x88c(%rbp), %eax
movslq %eax, %rsi
callq 0xa7c0
movq -0x7f8(%rbp), %rcx
movl (%rax), %eax
cmpl 0x3ac(%rcx), %eax
je 0x2439d
movq -0x7f8(%rbp), %rdi
addq $0x3e0, %rdi            # imm = 0x3E0
movq %rdi, -0x8b0(%rbp)
movslq -0x9c(%rbp), %rsi
callq 0xa7c0
movslq (%rax), %rsi
leaq -0x78(%rbp), %rdi
callq 0xaab0
movq %rax, -0x8a8(%rbp)
movl -0x11c(%rbp), %edi
callq 0x3c5a0
movl %eax, -0x89c(%rbp)
jmp 0x24375
movq -0x8b0(%rbp), %rdi
movl -0x89c(%rbp), %eax
movslq %eax, %rsi
callq 0xa7c0
movq -0x8a8(%rbp), %rdi
movq %rax, %rsi
callq 0xa8c0
jmp 0x2439b
jmp 0x2439d
jmp 0x2439f
leaq -0x110(%rbp), %rdi
callq 0xa930
jmp 0x2425c
jmp 0x243b2
jmp 0x243b4
leaq -0xf0(%rbp), %rdi
callq 0xa930
jmp 0x241c7
jmp 0x243c7
leaq -0x90(%rbp), %rdi
callq 0xa930
jmp 0x23eb8
leaq -0x30(%rbp), %rax
movq %rax, -0x128(%rbp)
movq -0x128(%rbp), %rdi
callq 0xa800
movq %rax, -0x130(%rbp)
movq -0x128(%rbp), %rdi
callq 0xa830
movq %rax, -0x138(%rbp)
leaq -0x130(%rbp), %rdi
leaq -0x138(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x24422
jmp 0x24472
leaq -0x130(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x13c(%rbp)
movl 0x3ac(%rdi), %eax
movl %eax, -0x8b4(%rbp)
addq $0x3b0, %rdi            # imm = 0x3B0
movslq -0x13c(%rbp), %rsi
callq 0xa7c0
movl -0x8b4(%rbp), %ecx
movl %ecx, (%rax)
leaq -0x130(%rbp), %rdi
callq 0xa930
jmp 0x24409
leaq -0x158(%rbp), %rdi
callq 0xa7e0
movl $0x0, -0x15c(%rbp)
movl -0x15c(%rbp), %eax
movl %eax, -0x8b8(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xf940
movq %rax, %rcx
movl -0x8b8(%rbp), %eax
cmpl %ecx, %eax
jge 0x244ed
movq -0x7f8(%rbp), %rdi
movl -0x15c(%rbp), %edx
leaq -0x58(%rbp), %rsi
leaq -0x158(%rbp), %rcx
callq 0x23010
jmp 0x244c9
jmp 0x244cb
movl -0x15c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x15c(%rbp)
jmp 0x24488
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x26c2f
movl $0x0, -0x160(%rbp)
leaq -0x178(%rbp), %rdi
callq 0xb2e0
leaq -0x190(%rbp), %rdi
movq %rdi, -0x8c0(%rbp)
callq 0xa7e0
leaq -0x30(%rbp), %rdi
callq 0xf940
movq -0x8c0(%rbp), %rdi
movq %rax, %rsi
callq 0x3e620
jmp 0x24530
leaq -0x158(%rbp), %rdi
callq 0xf940
subl $0x1, %eax
movl %eax, -0x194(%rbp)
cmpl $0x0, -0x194(%rbp)
jl 0x246fe
movq -0x7f8(%rbp), %rax
addq $0x3c8, %rax            # imm = 0x3C8
movq %rax, -0x8c8(%rbp)
movslq -0x194(%rbp), %rsi
leaq -0x158(%rbp), %rdi
callq 0xa7c0
movq -0x8c8(%rbp), %rdi
movslq (%rax), %rsi
callq 0xa7c0
cmpl $0x2, (%rax)
je 0x246e8
leaq -0x1b0(%rbp), %rdi
movq %rdi, -0x8d0(%rbp)
callq 0xa7e0
movslq -0x194(%rbp), %rsi
leaq -0x158(%rbp), %rdi
callq 0xa7c0
movq -0x7f8(%rbp), %rdi
movq -0x8d0(%rbp), %rcx
movl (%rax), %edx
leaq -0x78(%rbp), %rsi
callq 0x23200
jmp 0x245d2
leaq -0x1b0(%rbp), %rdi
callq 0xf940
cmpq $0x1, %rax
jbe 0x246b9
leaq -0x1b0(%rbp), %rax
movq %rax, -0x1b8(%rbp)
movq -0x1b8(%rbp), %rdi
callq 0xa800
movq %rax, -0x1c0(%rbp)
movq -0x1b8(%rbp), %rdi
callq 0xa830
movq %rax, -0x1c8(%rbp)
leaq -0x1c0(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x24635
jmp 0x246a2
leaq -0x1c0(%rbp), %rdi
callq 0xa8a0
movq %rax, -0x1d0(%rbp)
movq -0x1d0(%rbp), %rax
movslq (%rax), %rsi
leaq -0x30(%rbp), %rdi
callq 0xa7c0
movl (%rax), %ecx
movq -0x1d0(%rbp), %rax
movl %ecx, (%rax)
leaq -0x1c0(%rbp), %rdi
callq 0xa930
jmp 0x2461c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x26c17
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0xab00
jmp 0x26c17
leaq -0x178(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x3e2b0
jmp 0x246b7
jmp 0x246dc
xorl %eax, %eax
movl %eax, %esi
leaq -0x1b0(%rbp), %rdi
callq 0xa7c0
movq %rax, %rsi
leaq -0x190(%rbp), %rdi
callq 0xa8c0
jmp 0x246da
jmp 0x246dc
leaq -0x1b0(%rbp), %rdi
callq 0xab00
jmp 0x246ea
movl -0x194(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x194(%rbp)
jmp 0x24545
leaq -0x178(%rbp), %rax
movq %rax, -0x1d8(%rbp)
movq -0x1d8(%rbp), %rdi
callq 0x3e320
movq %rax, -0x1e0(%rbp)
movq -0x1d8(%rbp), %rdi
callq 0x3e350
movq %rax, -0x1e8(%rbp)
leaq -0x1e0(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x3e380
testb $0x1, %al
jne 0x2474e
jmp 0x255b0
leaq -0x1e0(%rbp), %rdi
callq 0x3e3c0
movq %rax, -0x1f0(%rbp)
movq -0x1f0(%rbp), %rdi
callq 0xf940
cmpq $0x1, %rax
jbe 0x2559d
movq -0x7f8(%rbp), %rax
addq $0x3c8, %rax            # imm = 0x3C8
movq %rax, -0x8e0(%rbp)
movq -0x1f0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xa7c0
movl (%rax), %edi
callq 0x3c880
movl %eax, -0x8d4(%rbp)
jmp 0x247aa
movq -0x8e0(%rbp), %rdi
movl -0x8d4(%rbp), %eax
movslq %eax, %rsi
callq 0xa7c0
cmpl $0x3, (%rax)
je 0x2559d
movq -0x1f0(%rbp), %rdi
callq 0xa800
movq %rax, -0x1f8(%rbp)
movq -0x1f0(%rbp), %rdi
callq 0xa830
movq %rax, -0x200(%rbp)
movq -0x1f8(%rbp), %rdi
movq -0x200(%rbp), %rsi
callq 0x3e130
jmp 0x24803
movb $0x0, -0x201(%rbp)
movl $0x1, -0x208(%rbp)
movl -0x208(%rbp), %eax
movq %rax, -0x8e8(%rbp)
movq -0x1f0(%rbp), %rdi
callq 0xf940
movq %rax, %rcx
movq -0x8e8(%rbp), %rax
cmpq %rcx, %rax
jae 0x248ac
movq -0x1f0(%rbp), %rdi
movl -0x208(%rbp), %eax
decl %eax
movl %eax, %esi
callq 0xa7c0
movl (%rax), %eax
movl %eax, -0x8f0(%rbp)
movq -0x1f0(%rbp), %rdi
movl -0x208(%rbp), %eax
movl %eax, %esi
callq 0xa7c0
movl (%rax), %edi
callq 0x3c5a0
movl %eax, -0x8ec(%rbp)
jmp 0x2487d
movl -0x8f0(%rbp), %eax
movl -0x8ec(%rbp), %ecx
cmpl %ecx, %eax
jne 0x24896
movb $0x1, -0x201(%rbp)
jmp 0x248ac
jmp 0x24898
movl -0x208(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x208(%rbp)
jmp 0x24814
testb $0x1, -0x201(%rbp)
je 0x24d49
movq -0x1f0(%rbp), %rax
movq %rax, -0x210(%rbp)
movq -0x210(%rbp), %rdi
callq 0xa800
movq %rax, -0x218(%rbp)
movq -0x210(%rbp), %rdi
callq 0xa830
movq %rax, -0x220(%rbp)
leaq -0x218(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x24909
jmp 0x24b39
leaq -0x218(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x224(%rbp)
addq $0x18, %rdi
movslq -0x224(%rbp), %rsi
callq 0xaab0
movq %rax, %rsi
leaq -0x240(%rbp), %rdi
callq 0x3edb0
jmp 0x24945
movq -0x7f8(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x900(%rbp)
movl -0x224(%rbp), %edi
callq 0x3c5a0
movl %eax, -0x8f4(%rbp)
jmp 0x2496a
movq -0x900(%rbp), %rdi
movl -0x8f4(%rbp), %eax
movslq %eax, %rsi
callq 0xaab0
movq %rax, %rsi
leaq -0x258(%rbp), %rdi
callq 0x3edb0
jmp 0x24990
leaq -0x240(%rbp), %rax
movq %rax, -0x260(%rbp)
movq -0x260(%rbp), %rdi
callq 0xa800
movq %rax, -0x268(%rbp)
movq -0x260(%rbp), %rdi
callq 0xa830
movq %rax, -0x270(%rbp)
leaq -0x268(%rbp), %rdi
leaq -0x270(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x249e0
jmp 0x24a60
leaq -0x268(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x274(%rbp)
movl -0x274(%rbp), %esi
callq 0x5f7f0
jmp 0x24a08
movq -0x7f8(%rbp), %rdi
addq $0x218, %rdi            # imm = 0x218
movl $0x1, %esi
callq 0x61410
jmp 0x24a22
jmp 0x24a24
leaq -0x268(%rbp), %rdi
callq 0xa930
jmp 0x249c4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x24b28
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x258(%rbp), %rdi
callq 0xab00
jmp 0x24b28
leaq -0x258(%rbp), %rax
movq %rax, -0x280(%rbp)
movq -0x280(%rbp), %rdi
callq 0xa800
movq %rax, -0x288(%rbp)
movq -0x280(%rbp), %rdi
callq 0xa830
movq %rax, -0x290(%rbp)
leaq -0x288(%rbp), %rdi
leaq -0x290(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x24aad
jmp 0x24aff
leaq -0x288(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x294(%rbp)
movl -0x294(%rbp), %esi
callq 0x5f7f0
jmp 0x24ad5
movq -0x7f8(%rbp), %rdi
addq $0x218, %rdi            # imm = 0x218
movl $0x1, %esi
callq 0x61410
jmp 0x24aef
jmp 0x24af1
leaq -0x288(%rbp), %rdi
callq 0xa930
jmp 0x24a94
leaq -0x258(%rbp), %rdi
callq 0xab00
leaq -0x240(%rbp), %rdi
callq 0xab00
leaq -0x218(%rbp), %rdi
callq 0xa930
jmp 0x248ed
leaq -0x240(%rbp), %rdi
callq 0xab00
jmp 0x26c17
movq -0x7f8(%rbp), %rax
movq %rax, -0x910(%rbp)
movq -0x1f0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xa7c0
movl (%rax), %eax
movl %eax, -0x2c4(%rbp)
leaq -0x2c4(%rbp), %rax
movq %rax, -0x2c0(%rbp)
movq $0x1, -0x2b8(%rbp)
leaq -0x2c5(%rbp), %rdi
movq %rdi, -0x908(%rbp)
callq 0xa710
movq -0x908(%rbp), %rcx
movq -0x2c0(%rbp), %rsi
movq -0x2b8(%rbp), %rdx
leaq -0x2b0(%rbp), %rdi
callq 0x3c9b0
jmp 0x24bae
movq -0x910(%rbp), %rdi
leaq -0x2b0(%rbp), %rsi
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
callq 0x5f880
jmp 0x24bcd
leaq -0x2b0(%rbp), %rdi
callq 0xab00
leaq -0x2c5(%rbp), %rdi
callq 0xa7a0
movq -0x7f8(%rbp), %rax
movq %rax, -0x920(%rbp)
movq -0x1f0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xa7c0
movl (%rax), %edi
callq 0x3c5a0
movl %eax, -0x914(%rbp)
jmp 0x24c12
movl -0x914(%rbp), %eax
movl %eax, -0x2f4(%rbp)
leaq -0x2f4(%rbp), %rax
movq %rax, -0x2f0(%rbp)
movq $0x1, -0x2e8(%rbp)
leaq -0x2f5(%rbp), %rdi
movq %rdi, -0x928(%rbp)
callq 0xa710
movq -0x928(%rbp), %rcx
movq -0x2f0(%rbp), %rsi
movq -0x2e8(%rbp), %rdx
leaq -0x2e0(%rbp), %rdi
callq 0x3c9b0
jmp 0x24c6d
movq -0x920(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
callq 0x5f880
jmp 0x24c8c
leaq -0x2e0(%rbp), %rdi
callq 0xab00
leaq -0x2f5(%rbp), %rdi
callq 0xa7a0
movq -0x7f8(%rbp), %rax
addq $0x218, %rax            # imm = 0x218
movq %rax, -0x930(%rbp)
movq -0x1f0(%rbp), %rdi
callq 0xf940
movq -0x930(%rbp), %rdi
movl %eax, %esi
decl %esi
callq 0x61490
jmp 0x24cd6
jmp 0x2559f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x24d01
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x2b0(%rbp), %rdi
callq 0xab00
leaq -0x2c5(%rbp), %rdi
callq 0xa7a0
jmp 0x26c17
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x24d38
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x2e0(%rbp), %rdi
callq 0xab00
leaq -0x2f5(%rbp), %rdi
callq 0xa7a0
jmp 0x26c17
movl $0x0, -0x2fc(%rbp)
movl -0x2fc(%rbp), %eax
movq %rax, -0x938(%rbp)
movq -0x1f0(%rbp), %rdi
callq 0xf940
movq %rax, %rcx
movq -0x938(%rbp), %rax
cmpq %rcx, %rax
jae 0x24e57
movq -0x7f8(%rbp), %rax
addq $0x3c8, %rax            # imm = 0x3C8
movq %rax, -0x948(%rbp)
movq -0x1f0(%rbp), %rdi
movl -0x2fc(%rbp), %eax
movl %eax, %esi
callq 0xa7c0
movl (%rax), %edi
callq 0x3c880
movl %eax, -0x93c(%rbp)
jmp 0x24db6
movq -0x948(%rbp), %rdi
movl -0x93c(%rbp), %eax
movslq %eax, %rsi
callq 0xa7c0
cmpl $0x3, (%rax)
je 0x24dd2
jmp 0x24df1
leaq 0x61e0c(%rip), %rdi     # 0x86be5
leaq 0x61d49(%rip), %rsi     # 0x86b29
movl $0xd4, %edx
leaq 0x61e19(%rip), %rcx     # 0x86c05
callq 0x4260
movq -0x7f8(%rbp), %rax
addq $0x3c8, %rax            # imm = 0x3C8
movq %rax, -0x958(%rbp)
movq -0x1f0(%rbp), %rdi
movl -0x2fc(%rbp), %eax
movl %eax, %esi
callq 0xa7c0
movl (%rax), %edi
callq 0x3c880
movl %eax, -0x94c(%rbp)
jmp 0x24e28
movq -0x958(%rbp), %rdi
movl -0x94c(%rbp), %eax
movslq %eax, %rsi
callq 0xa7c0
movl $0x3, (%rax)
movl -0x2fc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x2fc(%rbp)
jmp 0x24d53
movl $0x1, -0x300(%rbp)
movl -0x300(%rbp), %eax
movq %rax, -0x960(%rbp)
movq -0x1f0(%rbp), %rdi
callq 0xf940
movq %rax, %rcx
movq -0x960(%rbp), %rax
cmpq %rcx, %rax
jae 0x25550
movq -0x7f8(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x968(%rbp)
movq -0x1f0(%rbp), %rdi
movl -0x300(%rbp), %eax
movl %eax, %esi
callq 0xa7c0
movq -0x968(%rbp), %rdi
movslq (%rax), %rsi
callq 0xaab0
movq %rax, %rsi
leaq -0x318(%rbp), %rdi
callq 0x3edb0
jmp 0x24ed3
movq -0x7f8(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x978(%rbp)
movq -0x1f0(%rbp), %rdi
movl -0x300(%rbp), %eax
movl %eax, %esi
callq 0xa7c0
movl (%rax), %edi
callq 0x3c5a0
movl %eax, -0x96c(%rbp)
jmp 0x24f08
movq -0x978(%rbp), %rdi
movl -0x96c(%rbp), %eax
movslq %eax, %rsi
callq 0xaab0
movq %rax, %rsi
leaq -0x330(%rbp), %rdi
callq 0x3edb0
jmp 0x24f2e
leaq -0x318(%rbp), %rax
movq %rax, -0x338(%rbp)
movq -0x338(%rbp), %rdi
callq 0xa800
movq %rax, -0x340(%rbp)
movq -0x338(%rbp), %rdi
callq 0xa830
movq %rax, -0x348(%rbp)
leaq -0x340(%rbp), %rdi
leaq -0x348(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x24f7e
jmp 0x24fff
leaq -0x340(%rbp), %rdi
callq 0xa8a0
movl (%rax), %eax
movl %eax, -0x34c(%rbp)
movq -0x1f0(%rbp), %rdi
movl -0x300(%rbp), %eax
movl %eax, %esi
callq 0xa7c0
movq -0x7f8(%rbp), %rdi
movl (%rax), %esi
movl -0x34c(%rbp), %edx
movl $0x1, %ecx
callq 0x5fb90
jmp 0x24fc1
jmp 0x24fc3
leaq -0x340(%rbp), %rdi
callq 0xa930
jmp 0x24f62
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x2553f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x330(%rbp), %rdi
callq 0xab00
jmp 0x2553f
leaq -0x330(%rbp), %rax
movq %rax, -0x358(%rbp)
movq -0x358(%rbp), %rdi
callq 0xa800
movq %rax, -0x360(%rbp)
movq -0x358(%rbp), %rdi
callq 0xa830
movq %rax, -0x368(%rbp)
leaq -0x360(%rbp), %rdi
leaq -0x368(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x2504c
jmp 0x250c6
leaq -0x360(%rbp), %rdi
callq 0xa8a0
movq %rax, %rcx
movq -0x7f8(%rbp), %rax
movl (%rcx), %ecx
movl %ecx, -0x36c(%rbp)
movq %rax, -0x988(%rbp)
movq -0x1f0(%rbp), %rdi
movl -0x300(%rbp), %eax
movl %eax, %esi
callq 0xa7c0
movl (%rax), %edi
callq 0x3c5a0
movl %eax, -0x97c(%rbp)
jmp 0x25094
movl -0x97c(%rbp), %esi
movq -0x988(%rbp), %rdi
movl -0x36c(%rbp), %edx
movl $0x1, %ecx
callq 0x5fb90
jmp 0x250b3
jmp 0x250b5
leaq -0x360(%rbp), %rdi
callq 0xa930
jmp 0x25033
leaq -0x318(%rbp), %rax
movq %rax, -0x378(%rbp)
movq -0x378(%rbp), %rdi
callq 0xa800
movq %rax, -0x380(%rbp)
movq -0x378(%rbp), %rdi
callq 0xa830
movq %rax, -0x388(%rbp)
leaq -0x380(%rbp), %rdi
leaq -0x388(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x25116
jmp 0x252b1
leaq -0x380(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x38c(%rbp)
movb $0x0, -0x38d(%rbp)
movb $0x0, -0x38e(%rbp)
movslq -0x38c(%rbp), %rsi
callq 0x3c600
movq %rax, -0x398(%rbp)
movq -0x398(%rbp), %rdi
callq 0xa800
movq %rax, -0x3a0(%rbp)
movq -0x398(%rbp), %rdi
callq 0xa830
movq %rax, -0x3a8(%rbp)
leaq -0x3a0(%rbp), %rdi
leaq -0x3a8(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x25194
jmp 0x2522d
leaq -0x3a0(%rbp), %rdi
callq 0xa8a0
movl (%rax), %eax
movl %eax, -0x3ac(%rbp)
movl -0x3ac(%rbp), %eax
movl %eax, -0x98c(%rbp)
movq -0x1f0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xa7c0
movq %rax, %rcx
movl -0x98c(%rbp), %eax
cmpl (%rcx), %eax
jne 0x251d8
movb $0x1, -0x38d(%rbp)
movl -0x3ac(%rbp), %eax
movl %eax, -0x994(%rbp)
movq -0x1f0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xa7c0
movl (%rax), %edi
callq 0x3c5a0
movl %eax, -0x990(%rbp)
jmp 0x25203
movl -0x994(%rbp), %eax
movl -0x990(%rbp), %ecx
cmpl %ecx, %eax
jne 0x2521a
movb $0x1, -0x38e(%rbp)
jmp 0x2521c
leaq -0x3a0(%rbp), %rdi
callq 0xa930
jmp 0x25178
testb $0x1, -0x38e(%rbp)
je 0x25266
movq -0x7f8(%rbp), %rdi
movl -0x38c(%rbp), %esi
callq 0x5f7f0
jmp 0x2524a
movq -0x7f8(%rbp), %rdi
addq $0x218, %rdi            # imm = 0x218
movl $0x1, %esi
callq 0x61410
jmp 0x25264
jmp 0x2529e
testb $0x1, -0x38d(%rbp)
jne 0x2529c
movq -0x1f0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xa7c0
movq -0x7f8(%rbp), %rdi
movl (%rax), %esi
movl -0x38c(%rbp), %edx
movl $0x1, %ecx
callq 0x5fa80
jmp 0x2529a
jmp 0x2529c
jmp 0x2529e
jmp 0x252a0
leaq -0x380(%rbp), %rdi
callq 0xa930
jmp 0x250fa
leaq -0x330(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movq -0x3b8(%rbp), %rdi
callq 0xa800
movq %rax, -0x3c0(%rbp)
movq -0x3b8(%rbp), %rdi
callq 0xa830
movq %rax, -0x3c8(%rbp)
leaq -0x3c0(%rbp), %rdi
leaq -0x3c8(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x25301
jmp 0x254bd
leaq -0x3c0(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x3cc(%rbp)
movb $0x0, -0x3cd(%rbp)
movb $0x0, -0x3ce(%rbp)
movslq -0x3cc(%rbp), %rsi
callq 0x3c600
movq %rax, -0x3d8(%rbp)
movq -0x3d8(%rbp), %rdi
callq 0xa800
movq %rax, -0x3e0(%rbp)
movq -0x3d8(%rbp), %rdi
callq 0xa830
movq %rax, -0x3e8(%rbp)
leaq -0x3e0(%rbp), %rdi
leaq -0x3e8(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x2537f
jmp 0x25418
leaq -0x3e0(%rbp), %rdi
callq 0xa8a0
movl (%rax), %eax
movl %eax, -0x3ec(%rbp)
movl -0x3ec(%rbp), %eax
movl %eax, -0x99c(%rbp)
movq -0x1f0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xa7c0
movl (%rax), %edi
callq 0x3c5a0
movl %eax, -0x998(%rbp)
jmp 0x253be
movl -0x99c(%rbp), %eax
movl -0x998(%rbp), %ecx
cmpl %ecx, %eax
jne 0x253d5
movb $0x1, -0x3cd(%rbp)
movl -0x3ec(%rbp), %eax
movl %eax, -0x9a0(%rbp)
movq -0x1f0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xa7c0
movq %rax, %rcx
movl -0x9a0(%rbp), %eax
cmpl (%rcx), %eax
jne 0x25405
movb $0x1, -0x3ce(%rbp)
jmp 0x25407
leaq -0x3e0(%rbp), %rdi
callq 0xa930
jmp 0x25363
testb $0x1, -0x3ce(%rbp)
je 0x25451
movq -0x7f8(%rbp), %rdi
movl -0x3cc(%rbp), %esi
callq 0x5f7f0
jmp 0x25435
movq -0x7f8(%rbp), %rdi
addq $0x218, %rdi            # imm = 0x218
movl $0x1, %esi
callq 0x61410
jmp 0x2544f
jmp 0x254aa
testb $0x1, -0x3cd(%rbp)
jne 0x254a8
movq -0x7f8(%rbp), %rax
movq %rax, -0x9b0(%rbp)
movq -0x1f0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xa7c0
movl (%rax), %edi
callq 0x3c5a0
movl %eax, -0x9a4(%rbp)
jmp 0x25487
movl -0x9a4(%rbp), %esi
movq -0x9b0(%rbp), %rdi
movl -0x3cc(%rbp), %edx
movl $0x1, %ecx
callq 0x5fa80
jmp 0x254a6
jmp 0x254a8
jmp 0x254aa
jmp 0x254ac
leaq -0x3c0(%rbp), %rdi
callq 0xa930
jmp 0x252e5
movq -0x7f8(%rbp), %rax
addq $0x2f0, %rax            # imm = 0x2F0
movq %rax, -0x9c0(%rbp)
movq -0x1f0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xa7c0
movl (%rax), %eax
movl %eax, -0x9b4(%rbp)
movq -0x1f0(%rbp), %rdi
movl -0x300(%rbp), %eax
movl %eax, %esi
callq 0xa7c0
movq -0x9c0(%rbp), %rdi
movl -0x9b4(%rbp), %esi
movl (%rax), %edx
callq 0x5c7b0
jmp 0x25513
leaq -0x330(%rbp), %rdi
callq 0xab00
leaq -0x318(%rbp), %rdi
callq 0xab00
movl -0x300(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x300(%rbp)
jmp 0x24e61
leaq -0x318(%rbp), %rdi
callq 0xab00
jmp 0x26c17
movq -0x7f8(%rbp), %rax
addq $0x218, %rax            # imm = 0x218
movq %rax, -0x9c8(%rbp)
movq -0x1f0(%rbp), %rdi
callq 0xf940
movq -0x9c8(%rbp), %rdi
movl %eax, %esi
decl %esi
callq 0x61490
jmp 0x25582
movq -0x1f0(%rbp), %rdi
callq 0xf940
subl $0x1, %eax
addl -0x160(%rbp), %eax
movl %eax, -0x160(%rbp)
jmp 0x2559f
leaq -0x1e0(%rbp), %rdi
callq 0x3e3e0
jmp 0x24732
leaq -0x178(%rbp), %rdi
callq 0xfd70
cmpq $0x0, %rax
ja 0x255d1
leaq -0x30(%rbp), %rdi
callq 0xf940
cmpq $0x1, %rax
jne 0x255e9
movl -0x160(%rbp), %eax
movl %eax, -0x4(%rbp)
movl $0x1, -0x3f0(%rbp)
jmp 0x26bcc
testb $0x1, -0x15(%rbp)
jne 0x25605
movl $0x0, -0x4(%rbp)
movl $0x1, -0x3f0(%rbp)
jmp 0x26bcc
movq -0x7f8(%rbp), %rax
testb $0x1, 0x3f8(%rax)
je 0x2562b
movl $0x0, -0x4(%rbp)
movl $0x1, -0x3f0(%rbp)
jmp 0x26bcc
movq -0x7f8(%rbp), %rdi
movb $0x1, 0x3f8(%rdi)
addq $0x218, %rdi            # imm = 0x218
movl $0x9, %esi
callq 0x61390
jmp 0x2564c
movq -0x7f8(%rbp), %rdi
addq $0x218, %rdi            # imm = 0x218
movl $0xd, %esi
callq 0x61320
jmp 0x25666
movl $0x1, -0x3f4(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xf940
movq %rax, -0x9d8(%rbp)
leaq -0x411(%rbp), %rdi
movq %rdi, -0x9d0(%rbp)
callq 0x3eea0
movq -0x9d8(%rbp), %rsi
movq -0x9d0(%rbp), %rdx
leaq -0x410(%rbp), %rdi
callq 0x3eec0
jmp 0x256af
leaq -0x411(%rbp), %rdi
callq 0x3ef30
movl $0x0, -0x418(%rbp)
movl -0x418(%rbp), %eax
movl %eax, -0x9dc(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xf940
movq %rax, %rcx
movl -0x9dc(%rbp), %eax
cmpl %ecx, %eax
jge 0x25777
movslq -0x418(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0xa7c0
movq %rax, %rsi
leaq -0x420(%rbp), %rdi
leaq -0x418(%rbp), %rdx
callq 0x3d7c0
jmp 0x25713
movslq -0x418(%rbp), %rsi
leaq -0x410(%rbp), %rdi
callq 0x3ef50
movq %rax, %rdi
leaq -0x420(%rbp), %rsi
callq 0x3d7f0
movl -0x418(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x418(%rbp)
jmp 0x256c5
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x411(%rbp), %rdi
callq 0x3ef30
jmp 0x26c17
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x26bbe
leaq -0x410(%rbp), %rdi
movq %rdi, -0x9e8(%rbp)
callq 0x3ebc0
movq -0x9e8(%rbp), %rdi
movq %rax, -0x428(%rbp)
callq 0x3ec30
movq %rax, -0x430(%rbp)
movq -0x428(%rbp), %rdi
movq -0x430(%rbp), %rsi
callq 0x3ef70
jmp 0x257b9
leaq -0x448(%rbp), %rdi
callq 0xa7e0
leaq -0x460(%rbp), %rdi
callq 0x3e9a0
leaq -0x478(%rbp), %rdi
callq 0xa7e0
leaq -0x490(%rbp), %rdi
callq 0x3e9a0
movl $0x1, -0x494(%rbp)
movl -0x494(%rbp), %eax
movl %eax, -0x9ec(%rbp)
leaq -0x410(%rbp), %rdi
callq 0x3efb0
movq %rax, %rcx
movl -0x9ec(%rbp), %eax
cmpl %ecx, %eax
jge 0x25915
movslq -0x494(%rbp), %rsi
leaq -0x410(%rbp), %rdi
movq %rdi, -0xa00(%rbp)
callq 0x3ef50
movq -0xa00(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x9f4(%rbp)
movl -0x494(%rbp), %eax
decl %eax
movslq %eax, %rsi
callq 0x3ef50
movl (%rax), %edi
callq 0x3c5a0
movl %eax, -0x9f0(%rbp)
jmp 0x25864
movl -0x9f4(%rbp), %eax
movl -0x9f0(%rbp), %ecx
cmpl %ecx, %eax
jne 0x258ff
movslq -0x494(%rbp), %rsi
leaq -0x410(%rbp), %rdi
movq %rdi, -0xa08(%rbp)
callq 0x3ef50
movq -0xa08(%rbp), %rdi
movl 0x4(%rax), %eax
movl %eax, -0x498(%rbp)
movl -0x494(%rbp), %eax
decl %eax
movslq %eax, %rsi
callq 0x3ef50
movl 0x4(%rax), %eax
movl %eax, -0x49c(%rbp)
leaq -0x4a4(%rbp), %rdi
leaq -0x498(%rbp), %rsi
leaq -0x49c(%rbp), %rdx
callq 0x3d7c0
jmp 0x258d7
leaq -0x490(%rbp), %rdi
leaq -0x4a4(%rbp), %rsi
callq 0x3eac0
jmp 0x258ec
jmp 0x258ff
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
jmp 0x26b8e
jmp 0x25901
movl -0x494(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x494(%rbp)
jmp 0x257f3
leaq -0x30(%rbp), %rdi
callq 0xf940
movq %rax, -0xa18(%rbp)
leaq -0x4c1(%rbp), %rdi
movq %rdi, -0xa10(%rbp)
callq 0xa710
movq -0xa18(%rbp), %rsi
movq -0xa10(%rbp), %rdx
leaq -0x4c0(%rbp), %rdi
callq 0xa730
jmp 0x25954
leaq -0x4c1(%rbp), %rdi
callq 0xa7a0
leaq -0x30(%rbp), %rdi
callq 0xf940
movq %rax, -0xa28(%rbp)
leaq -0x4e1(%rbp), %rdi
movq %rdi, -0xa20(%rbp)
callq 0xa710
movq -0xa28(%rbp), %rsi
movq -0xa20(%rbp), %rdx
leaq -0x4e0(%rbp), %rdi
callq 0xa730
jmp 0x2599f
leaq -0x4e1(%rbp), %rdi
callq 0xa7a0
leaq -0x30(%rbp), %rdi
callq 0xf940
movq %rax, -0xa38(%rbp)
leaq -0x501(%rbp), %rdi
movq %rdi, -0xa30(%rbp)
callq 0xa710
movq -0xa38(%rbp), %rsi
movq -0xa30(%rbp), %rdx
leaq -0x500(%rbp), %rdi
callq 0xa730
jmp 0x259ea
leaq -0x501(%rbp), %rdi
callq 0xa7a0
leaq -0x30(%rbp), %rdi
callq 0xf940
movq %rax, -0xa48(%rbp)
leaq -0x521(%rbp), %rdi
movq %rdi, -0xa40(%rbp)
callq 0xa710
movq -0xa48(%rbp), %rsi
movq -0xa40(%rbp), %rdx
leaq -0x520(%rbp), %rdi
callq 0xa730
jmp 0x25a35
leaq -0x521(%rbp), %rdi
callq 0xa7a0
leaq -0x30(%rbp), %rdi
callq 0xf940
movq %rax, -0xa58(%rbp)
leaq -0x541(%rbp), %rdi
movq %rdi, -0xa50(%rbp)
callq 0xa710
movq -0xa58(%rbp), %rsi
movq -0xa50(%rbp), %rdx
leaq -0x540(%rbp), %rdi
callq 0xa730
jmp 0x25a80
leaq -0x541(%rbp), %rdi
callq 0xa7a0
movl $0x0, -0x548(%rbp)
movl -0x548(%rbp), %eax
movl %eax, -0xa5c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xf940
movq %rax, %rcx
movl -0xa5c(%rbp), %eax
cmpl %ecx, %eax
jge 0x25b85
movl -0x548(%rbp), %eax
movl %eax, -0xa60(%rbp)
movslq -0x548(%rbp), %rsi
leaq -0x540(%rbp), %rdi
callq 0xa7c0
movl -0xa60(%rbp), %ecx
movl %ecx, (%rax)
movl -0x548(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x548(%rbp)
jmp 0x25a96
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x4c1(%rbp), %rdi
callq 0xa7a0
jmp 0x26b8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x4e1(%rbp), %rdi
callq 0xa7a0
jmp 0x26b82
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x501(%rbp), %rdi
callq 0xa7a0
jmp 0x26b76
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x521(%rbp), %rdi
callq 0xa7a0
jmp 0x26b6a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x541(%rbp), %rdi
callq 0xa7a0
jmp 0x26b5e
movl $0x0, -0x54c(%rbp)
cmpl $0x9, -0x54c(%rbp)
jge 0x264c7
leaq -0x540(%rbp), %rdi
movq %rdi, -0xa68(%rbp)
callq 0xa800
movq -0xa68(%rbp), %rdi
movq %rax, -0x558(%rbp)
callq 0xa830
movq %rax, -0x560(%rbp)
movq -0x558(%rbp), %rdi
movq -0x560(%rbp), %rsi
callq 0x3efd0
jmp 0x25bde
movl $0x0, -0x564(%rbp)
movl -0x564(%rbp), %eax
movl %eax, -0xa6c(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xf940
movq %rax, %rcx
movl -0xa6c(%rbp), %eax
cmpl %ecx, %eax
jge 0x25c58
movq -0x7f8(%rbp), %rdi
addq $0x3c8, %rdi            # imm = 0x3C8
movslq -0x564(%rbp), %rsi
callq 0xa7c0
movl $0x0, (%rax)
movl -0x564(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x564(%rbp)
jmp 0x25be8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x540(%rbp), %rdi
callq 0xab00
jmp 0x26b5e
leaq -0x540(%rbp), %rax
movq %rax, -0x570(%rbp)
movq -0x570(%rbp), %rdi
callq 0xa800
movq %rax, -0x578(%rbp)
movq -0x570(%rbp), %rdi
callq 0xa830
movq %rax, -0x580(%rbp)
leaq -0x578(%rbp), %rdi
leaq -0x580(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x25ca8
jmp 0x25d52
leaq -0x578(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x584(%rbp)
movl -0x584(%rbp), %r9d
movslq -0x54c(%rbp), %rax
movl %eax, %ecx
imulq $0x55555556, %rax, %rdx # imm = 0x55555556
movq %rdx, %rax
shrq $0x3f, %rax
shrq $0x20, %rdx
addl %eax, %edx
movl %edx, %eax
leal (%rax,%rax,2), %eax
subl %eax, %ecx
movq %rsp, %rax
leaq -0x520(%rbp), %rdx
movq %rdx, 0x20(%rax)
leaq -0x500(%rbp), %rdx
movq %rdx, 0x18(%rax)
leaq -0x4e0(%rbp), %rdx
movq %rdx, 0x10(%rax)
leaq -0x4c0(%rbp), %rdx
movq %rdx, 0x8(%rax)
leaq -0x3f4(%rbp), %rdx
movq %rdx, (%rax)
movl %ecx, 0x28(%rax)
leaq -0x58(%rbp), %rsi
leaq -0x78(%rbp), %rdx
movl %r9d, %ecx
movl %r9d, %r8d
callq 0x23510
jmp 0x25d3f
jmp 0x25d41
leaq -0x578(%rbp), %rdi
callq 0xa930
jmp 0x25c8c
leaq -0x490(%rbp), %rax
movq %rax, -0x590(%rbp)
movq -0x590(%rbp), %rdi
callq 0x3ebc0
movq %rax, -0x598(%rbp)
movq -0x590(%rbp), %rdi
callq 0x3ec30
movq %rax, -0x5a0(%rbp)
leaq -0x598(%rbp), %rdi
leaq -0x5a0(%rbp), %rsi
callq 0x3ec60
testb $0x1, %al
jne 0x25da2
jmp 0x25e8f
leaq -0x598(%rbp), %rdi
callq 0x3eca0
movq -0x7f8(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0x5a8(%rbp)
movl -0x5a8(%rbp), %esi
movl -0x5a4(%rbp), %edx
leaq -0x4c0(%rbp), %rcx
leaq -0x4e0(%rbp), %r8
leaq -0x500(%rbp), %r9
leaq -0x520(%rbp), %rax
movq %rax, (%rsp)
callq 0x233f0
testb $0x1, %al
jne 0x25df6
jmp 0x25e19
movslq -0x5a4(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0xa7c0
movq %rax, %rsi
leaq -0x448(%rbp), %rdi
callq 0xa8c0
jmp 0x25e17
jmp 0x25e7c
movq -0x7f8(%rbp), %rdi
movl -0x5a4(%rbp), %esi
movl -0x5a8(%rbp), %edx
leaq -0x4c0(%rbp), %rcx
leaq -0x4e0(%rbp), %r8
leaq -0x500(%rbp), %r9
leaq -0x520(%rbp), %rax
movq %rax, (%rsp)
callq 0x233f0
testb $0x1, %al
jne 0x25e57
jmp 0x25e7a
movslq -0x5a8(%rbp), %rsi
leaq -0x30(%rbp), %rdi
callq 0xa7c0
movq %rax, %rsi
leaq -0x448(%rbp), %rdi
callq 0xa8c0
jmp 0x25e78
jmp 0x25e7a
jmp 0x25e7c
jmp 0x25e7e
leaq -0x598(%rbp), %rdi
callq 0x3ecc0
jmp 0x25d86
leaq -0x30(%rbp), %rax
movq %rax, -0x5b0(%rbp)
movq -0x5b0(%rbp), %rdi
callq 0xa800
movq %rax, -0x5b8(%rbp)
movq -0x5b0(%rbp), %rdi
callq 0xa830
movq %rax, -0x5c0(%rbp)
leaq -0x5b8(%rbp), %rdi
leaq -0x5c0(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x25ed9
jmp 0x25f1b
leaq -0x5b8(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x5c4(%rbp)
addq $0x3c8, %rdi            # imm = 0x3C8
movslq -0x5c4(%rbp), %rsi
callq 0xa7c0
movl $0x5, (%rax)
leaq -0x5b8(%rbp), %rdi
callq 0xa930
jmp 0x25ec0
leaq -0x30(%rbp), %rax
movq %rax, -0x5d0(%rbp)
movq -0x5d0(%rbp), %rdi
callq 0xa800
movq %rax, -0x5d8(%rbp)
movq -0x5d0(%rbp), %rdi
callq 0xa830
movq %rax, -0x5e0(%rbp)
leaq -0x5d8(%rbp), %rdi
leaq -0x5e0(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x25f68
jmp 0x26179
leaq -0x5d8(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x5e4(%rbp)
addq $0x18, %rdi
movslq -0x5e4(%rbp), %rsi
callq 0xaab0
movq %rax, -0x5f0(%rbp)
movq -0x5f0(%rbp), %rdi
callq 0xa800
movq %rax, -0x5f8(%rbp)
movq -0x5f0(%rbp), %rdi
callq 0xa830
movq %rax, -0x600(%rbp)
leaq -0x5f8(%rbp), %rdi
leaq -0x600(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x25fdc
jmp 0x26166
leaq -0x5f8(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x604(%rbp)
movslq -0x604(%rbp), %rsi
callq 0x3c600
movq %rax, -0x610(%rbp)
movq -0x610(%rbp), %rdi
callq 0xa800
movq %rax, -0x618(%rbp)
movq -0x610(%rbp), %rdi
callq 0xa830
movq %rax, -0x620(%rbp)
leaq -0x618(%rbp), %rdi
leaq -0x620(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x2604c
jmp 0x26153
leaq -0x618(%rbp), %rdi
callq 0xa8a0
movl (%rax), %eax
movl %eax, -0x624(%rbp)
movl -0x624(%rbp), %eax
cmpl -0x5e4(%rbp), %eax
je 0x26140
movq -0x7f8(%rbp), %rdi
addq $0x3c8, %rdi            # imm = 0x3C8
movslq -0x624(%rbp), %rsi
callq 0xa7c0
cmpl $0x5, (%rax)
jne 0x26140
movq -0x7f8(%rbp), %rdi
addq $0x3e0, %rdi            # imm = 0x3E0
movslq -0x5e4(%rbp), %rsi
callq 0xa7c0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0xa70(%rbp)
addq $0x3e0, %rdi            # imm = 0x3E0
movslq -0x624(%rbp), %rsi
callq 0xa7c0
movq -0x7f8(%rbp), %rdi
movl -0xa70(%rbp), %esi
movl (%rax), %edx
leaq -0x4c0(%rbp), %rcx
leaq -0x4e0(%rbp), %r8
leaq -0x500(%rbp), %r9
leaq -0x520(%rbp), %rax
movq %rax, (%rsp)
callq 0x233f0
testb $0x1, %al
jne 0x2610b
jmp 0x2613e
leaq -0x62c(%rbp), %rdi
leaq -0x5e4(%rbp), %rsi
leaq -0x604(%rbp), %rdx
callq 0x3d7c0
jmp 0x26127
leaq -0x460(%rbp), %rdi
leaq -0x62c(%rbp), %rsi
callq 0x3eac0
jmp 0x2613c
jmp 0x2613e
jmp 0x26140
jmp 0x26142
leaq -0x618(%rbp), %rdi
callq 0xa930
jmp 0x26030
jmp 0x26155
leaq -0x5f8(%rbp), %rdi
callq 0xa930
jmp 0x25fc0
jmp 0x26168
leaq -0x5d8(%rbp), %rdi
callq 0xa930
jmp 0x25f4c
leaq -0x30(%rbp), %rax
movq %rax, -0x638(%rbp)
movq -0x638(%rbp), %rdi
callq 0xa800
movq %rax, -0x640(%rbp)
movq -0x638(%rbp), %rdi
callq 0xa830
movq %rax, -0x648(%rbp)
leaq -0x640(%rbp), %rdi
leaq -0x648(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x261c6
jmp 0x26425
leaq -0x640(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x64c(%rbp)
addq $0x18, %rdi
movslq -0x64c(%rbp), %rsi
callq 0xaab0
movq %rax, -0x658(%rbp)
movq -0x658(%rbp), %rdi
callq 0xa800
movq %rax, -0x660(%rbp)
movq -0x658(%rbp), %rdi
callq 0xa830
movq %rax, -0x668(%rbp)
leaq -0x660(%rbp), %rdi
leaq -0x668(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x2623a
jmp 0x26412
leaq -0x660(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x66c(%rbp)
movslq -0x66c(%rbp), %rsi
callq 0x3c600
movq %rax, %rdi
callq 0xf940
cmpq $0x2, %rax
ja 0x26274
jmp 0x26401
movq -0x7f8(%rbp), %rdi
movslq -0x66c(%rbp), %rsi
callq 0x3c600
movq %rax, -0x678(%rbp)
movq -0x678(%rbp), %rdi
callq 0xa800
movq %rax, -0x680(%rbp)
movq -0x678(%rbp), %rdi
callq 0xa830
movq %rax, -0x688(%rbp)
leaq -0x680(%rbp), %rdi
leaq -0x688(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x262d0
jmp 0x263ff
leaq -0x680(%rbp), %rdi
callq 0xa8a0
movl (%rax), %eax
movl %eax, -0x68c(%rbp)
movl -0x68c(%rbp), %eax
cmpl -0x64c(%rbp), %eax
je 0x263ec
movq -0x7f8(%rbp), %rax
addq $0x3c8, %rax            # imm = 0x3C8
movq %rax, -0xa80(%rbp)
movl -0x68c(%rbp), %edi
callq 0x3c5a0
movl %eax, -0xa74(%rbp)
jmp 0x2631d
movq -0xa80(%rbp), %rdi
movl -0xa74(%rbp), %eax
movslq %eax, %rsi
callq 0xa7c0
cmpl $0x5, (%rax)
jne 0x263ec
movq -0x7f8(%rbp), %rax
addq $0x3e0, %rax            # imm = 0x3E0
movq %rax, -0xa90(%rbp)
movl -0x68c(%rbp), %edi
callq 0x3c5a0
movl %eax, -0xa84(%rbp)
jmp 0x26362
movq -0xa90(%rbp), %rdi
movl -0xa84(%rbp), %eax
movslq %eax, %rsi
callq 0xa7c0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0xa94(%rbp)
addq $0x3e0, %rdi            # imm = 0x3E0
movslq -0x64c(%rbp), %rsi
callq 0xa7c0
movq -0x7f8(%rbp), %rdi
movl -0xa94(%rbp), %esi
movl (%rax), %edx
leaq -0x4c0(%rbp), %rcx
leaq -0x4e0(%rbp), %r8
leaq -0x500(%rbp), %r9
leaq -0x520(%rbp), %rax
movq %rax, (%rsp)
callq 0x233f0
testb $0x1, %al
jne 0x263d3
jmp 0x263ea
leaq -0x478(%rbp), %rdi
leaq -0x66c(%rbp), %rsi
callq 0xa8c0
jmp 0x263e8
jmp 0x263ea
jmp 0x263ec
jmp 0x263ee
leaq -0x680(%rbp), %rdi
callq 0xa930
jmp 0x262b4
jmp 0x26401
leaq -0x660(%rbp), %rdi
callq 0xa930
jmp 0x2621e
jmp 0x26414
leaq -0x640(%rbp), %rdi
callq 0xa930
jmp 0x261aa
leaq -0x30(%rbp), %rax
movq %rax, -0x698(%rbp)
movq -0x698(%rbp), %rdi
callq 0xa800
movq %rax, -0x6a0(%rbp)
movq -0x698(%rbp), %rdi
callq 0xa830
movq %rax, -0x6a8(%rbp)
leaq -0x6a0(%rbp), %rdi
leaq -0x6a8(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x2646f
jmp 0x264b1
leaq -0x6a0(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x6ac(%rbp)
addq $0x3c8, %rdi            # imm = 0x3C8
movslq -0x6ac(%rbp), %rsi
callq 0xa7c0
movl $0x0, (%rax)
leaq -0x6a0(%rbp), %rdi
callq 0xa930
jmp 0x26456
jmp 0x264b3
movl -0x54c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x54c(%rbp)
jmp 0x25b8f
leaq -0x460(%rbp), %rdi
movq %rdi, -0xaa0(%rbp)
callq 0x3ebc0
movq -0xaa0(%rbp), %rdi
movq %rax, -0x6b8(%rbp)
callq 0x3ec30
movq %rax, -0x6c0(%rbp)
movq -0x6b8(%rbp), %rdi
movq -0x6c0(%rbp), %rsi
callq 0x3ef70
jmp 0x26509
leaq -0x460(%rbp), %rdi
movq %rdi, -0xab0(%rbp)
callq 0x3ebc0
movq -0xab0(%rbp), %rdi
movq %rax, -0x6d8(%rbp)
callq 0x3ec30
movq %rax, -0x6e0(%rbp)
movq -0x6d8(%rbp), %rdi
movq -0x6e0(%rbp), %rsi
callq 0x3f130
movq %rax, -0xaa8(%rbp)
jmp 0x26552
movq -0xaa8(%rbp), %rax
movq %rax, -0x6d0(%rbp)
leaq -0x6c8(%rbp), %rdi
leaq -0x6d0(%rbp), %rsi
callq 0x3f170
leaq -0x460(%rbp), %rdi
movq %rdi, -0xac0(%rbp)
callq 0x3ec30
movq %rax, -0x6f0(%rbp)
leaq -0x6e8(%rbp), %rdi
leaq -0x6f0(%rbp), %rsi
callq 0x3f170
movq -0xac0(%rbp), %rdi
movq -0x6c8(%rbp), %rsi
movq -0x6e8(%rbp), %rdx
callq 0x3f0a0
movq %rax, -0xab8(%rbp)
jmp 0x265c3
movq -0xab8(%rbp), %rax
movq %rax, -0x6f8(%rbp)
leaq -0x460(%rbp), %rax
movq %rax, -0x700(%rbp)
movq -0x700(%rbp), %rdi
callq 0x3ebc0
movq %rax, -0x708(%rbp)
movq -0x700(%rbp), %rdi
callq 0x3ec30
movq %rax, -0x710(%rbp)
leaq -0x708(%rbp), %rdi
leaq -0x710(%rbp), %rsi
callq 0x3ec60
testb $0x1, %al
jne 0x2661e
jmp 0x2668d
leaq -0x708(%rbp), %rdi
callq 0x3eca0
movq -0x7f8(%rbp), %rdi
movq (%rax), %rax
movq %rax, -0x718(%rbp)
movl -0x718(%rbp), %esi
movl -0x714(%rbp), %edx
movl $0x1, %ecx
callq 0x5fb90
jmp 0x26653
movq -0x7f8(%rbp), %rdi
addq $0x218, %rdi            # imm = 0x218
movl $0x1, %esi
callq 0x61510
jmp 0x2666d
movl -0x160(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x160(%rbp)
leaq -0x708(%rbp), %rdi
callq 0x3ecc0
jmp 0x26605
leaq -0x478(%rbp), %rdi
movq %rdi, -0xac8(%rbp)
callq 0xa800
movq -0xac8(%rbp), %rdi
movq %rax, -0x720(%rbp)
callq 0xa830
movq %rax, -0x728(%rbp)
movq -0x720(%rbp), %rdi
movq -0x728(%rbp), %rsi
callq 0x3e130
jmp 0x266cf
leaq -0x478(%rbp), %rdi
movq %rdi, -0xad8(%rbp)
callq 0xa800
movq -0xad8(%rbp), %rdi
movq %rax, -0x740(%rbp)
callq 0xa830
movq %rax, -0x748(%rbp)
movq -0x740(%rbp), %rdi
movq -0x748(%rbp), %rsi
callq 0x3e5a0
movq %rax, -0xad0(%rbp)
jmp 0x26718
movq -0xad0(%rbp), %rax
movq %rax, -0x738(%rbp)
leaq -0x730(%rbp), %rdi
leaq -0x738(%rbp), %rsi
callq 0x3e5e0
leaq -0x478(%rbp), %rdi
movq %rdi, -0xae8(%rbp)
callq 0xa830
movq %rax, -0x758(%rbp)
leaq -0x750(%rbp), %rdi
leaq -0x758(%rbp), %rsi
callq 0x3e5e0
movq -0xae8(%rbp), %rdi
movq -0x730(%rbp), %rsi
movq -0x750(%rbp), %rdx
callq 0x3e510
movq %rax, -0xae0(%rbp)
jmp 0x26789
movq -0xae0(%rbp), %rax
movq %rax, -0x760(%rbp)
leaq -0x478(%rbp), %rax
movq %rax, -0x768(%rbp)
movq -0x768(%rbp), %rdi
callq 0xa800
movq %rax, -0x770(%rbp)
movq -0x768(%rbp), %rdi
callq 0xa830
movq %rax, -0x778(%rbp)
leaq -0x770(%rbp), %rdi
leaq -0x778(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x267e4
jmp 0x26836
leaq -0x770(%rbp), %rdi
callq 0xa8a0
movq -0x7f8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x77c(%rbp)
movl -0x77c(%rbp), %esi
callq 0x5f7f0
jmp 0x2680c
movq -0x7f8(%rbp), %rdi
addq $0x218, %rdi            # imm = 0x218
movl $0x1, %esi
callq 0x61410
jmp 0x26826
jmp 0x26828
leaq -0x770(%rbp), %rdi
callq 0xa930
jmp 0x267cb
leaq -0x448(%rbp), %rdi
movq %rdi, -0xaf0(%rbp)
callq 0xa800
movq -0xaf0(%rbp), %rdi
movq %rax, -0x788(%rbp)
callq 0xa830
movq %rax, -0x790(%rbp)
movq -0x788(%rbp), %rdi
movq -0x790(%rbp), %rsi
callq 0x3e130
jmp 0x26878
leaq -0x448(%rbp), %rdi
movq %rdi, -0xb00(%rbp)
callq 0xa800
movq -0xb00(%rbp), %rdi
movq %rax, -0x7a8(%rbp)
callq 0xa830
movq %rax, -0x7b0(%rbp)
movq -0x7a8(%rbp), %rdi
movq -0x7b0(%rbp), %rsi
callq 0x3e5a0
movq %rax, -0xaf8(%rbp)
jmp 0x268c1
movq -0xaf8(%rbp), %rax
movq %rax, -0x7a0(%rbp)
leaq -0x798(%rbp), %rdi
leaq -0x7a0(%rbp), %rsi
callq 0x3e5e0
leaq -0x448(%rbp), %rdi
movq %rdi, -0xb10(%rbp)
callq 0xa830
movq %rax, -0x7c0(%rbp)
leaq -0x7b8(%rbp), %rdi
leaq -0x7c0(%rbp), %rsi
callq 0x3e5e0
movq -0xb10(%rbp), %rdi
movq -0x798(%rbp), %rsi
movq -0x7b8(%rbp), %rdx
callq 0x3e510
movq %rax, -0xb08(%rbp)
jmp 0x26932
movq -0xb08(%rbp), %rax
movq %rax, -0x7c8(%rbp)
leaq -0x448(%rbp), %rax
movq %rax, -0x7d0(%rbp)
movq -0x7d0(%rbp), %rdi
callq 0xa800
movq %rax, -0x7d8(%rbp)
movq -0x7d0(%rbp), %rdi
callq 0xa830
movq %rax, -0x7e0(%rbp)
leaq -0x7d8(%rbp), %rdi
leaq -0x7e0(%rbp), %rsi
callq 0xa860
testb $0x1, %al
jne 0x26990
jmp 0x26a9d
leaq -0x7d8(%rbp), %rdi
callq 0xa8a0
movl (%rax), %eax
movl %eax, -0x7e4(%rbp)
movl $0x0, -0x7e8(%rbp)
movl -0x7e4(%rbp), %edi
callq 0x3c890
movl %eax, -0xb14(%rbp)
jmp 0x269c1
movl -0xb14(%rbp), %eax
cmpl $0x1, %eax
jne 0x26a0c
movl -0x7e4(%rbp), %edi
callq 0x3c880
movl %eax, -0xb18(%rbp)
jmp 0x269df
movl -0xb18(%rbp), %esi
movq -0x7f8(%rbp), %rdi
movl $0x1, %edx
callq 0x10a60
movl %eax, -0xb1c(%rbp)
jmp 0x269fe
movl -0xb1c(%rbp), %eax
movl %eax, -0x7e8(%rbp)
jmp 0x26a47
movl -0x7e4(%rbp), %edi
callq 0x3c880
movl %eax, -0xb20(%rbp)
jmp 0x26a1f
movl -0xb20(%rbp), %esi
movq -0x7f8(%rbp), %rdi
xorl %edx, %edx
callq 0x10a60
movl %eax, -0xb24(%rbp)
jmp 0x26a3b
movl -0xb24(%rbp), %eax
movl %eax, -0x7e8(%rbp)
movq -0x7f8(%rbp), %rdi
movl -0x160(%rbp), %eax
incl %eax
movl %eax, -0x160(%rbp)
addq $0x218, %rdi            # imm = 0x218
movl $0x1, %esi
callq 0x61490
jmp 0x26a6f
movq -0x7f8(%rbp), %rdi
addq $0x218, %rdi            # imm = 0x218
movl -0x7e8(%rbp), %esi
callq 0x61410
jmp 0x26a8a
jmp 0x26a8c
leaq -0x7d8(%rbp), %rdi
callq 0xa930
jmp 0x26974
movq -0x7f8(%rbp), %rdi
addq $0x218, %rdi            # imm = 0x218
movl $0xd, %esi
callq 0x61390
jmp 0x26ab7
movq -0x7f8(%rbp), %rdi
addq $0x218, %rdi            # imm = 0x218
movl $0x9, %esi
callq 0x61320
jmp 0x26ad1
movl -0x160(%rbp), %eax
movl %eax, -0x4(%rbp)
movl $0x1, -0x3f0(%rbp)
leaq -0x540(%rbp), %rdi
callq 0xab00
leaq -0x520(%rbp), %rdi
callq 0xab00
leaq -0x500(%rbp), %rdi
callq 0xab00
leaq -0x4e0(%rbp), %rdi
callq 0xab00
leaq -0x4c0(%rbp), %rdi
callq 0xab00
leaq -0x490(%rbp), %rdi
callq 0x3ece0
leaq -0x478(%rbp), %rdi
callq 0xab00
leaq -0x460(%rbp), %rdi
callq 0x3ece0
leaq -0x448(%rbp), %rdi
callq 0xab00
leaq -0x410(%rbp), %rdi
callq 0x3ece0
jmp 0x26bcc
leaq -0x520(%rbp), %rdi
callq 0xab00
leaq -0x500(%rbp), %rdi
callq 0xab00
leaq -0x4e0(%rbp), %rdi
callq 0xab00
leaq -0x4c0(%rbp), %rdi
callq 0xab00
leaq -0x490(%rbp), %rdi
callq 0x3ece0
leaq -0x478(%rbp), %rdi
callq 0xab00
leaq -0x460(%rbp), %rdi
callq 0x3ece0
leaq -0x448(%rbp), %rdi
callq 0xab00
leaq -0x410(%rbp), %rdi
callq 0x3ece0
jmp 0x26c17
leaq -0x190(%rbp), %rdi
callq 0xab00
leaq -0x178(%rbp), %rdi
callq 0xb3b0
leaq -0x158(%rbp), %rdi
callq 0xab00
leaq -0x78(%rbp), %rdi
callq 0xb3b0
leaq -0x58(%rbp), %rdi
callq 0xb3b0
leaq -0x30(%rbp), %rdi
callq 0xab00
movl -0x4(%rbp), %eax
addq $0xb60, %rsp            # imm = 0xB60
popq %rbp
retq
leaq -0x190(%rbp), %rdi
callq 0xab00
leaq -0x178(%rbp), %rdi
callq 0xb3b0
leaq -0x158(%rbp), %rdi
callq 0xab00
leaq -0x78(%rbp), %rdi
callq 0xb3b0
leaq -0x58(%rbp), %rdi
callq 0xb3b0
leaq -0x30(%rbp), %rdi
callq 0xab00
movq -0x38(%rbp), %rdi
callq 0x4610
nop