// File: Laakeri[P]maxpre/src/./BVE.cpp
// Function: maxPreprocessor::Preprocessor::searchITE(int) const
pair<vector<int>, int> Preprocessor::searchITE(int var) const {
	vector<int> defClauses;
	int p3 = 0;
	int n3 = 0;
	for (int c : pi.litClauses[posLit(var)]) {
		if (pi.clauses[c].lit.size() == 3) {
			p3++;
			if (p3 >= 2) break;
		}
	}
	for (int c : pi.litClauses[negLit(var)]) {
		if (pi.clauses[c].lit.size() == 3) {
			n3++;
			if (n3 >= 2) break;
		}
	}
	if (p3 < 2 || n3 < 2) return {vector<int>(), 0};
	map<int, map<int, int> > pMap;
	map<int, map<int, int> > nMap;
	for (int c1 : pi.litClauses[posLit(var)]) {
		if (pi.clauses[c1].lit.size() == 3) {
			int l1 = pi.clauses[c1].lit[0];
			int l2 = pi.clauses[c1].lit[1];
			int l3 = pi.clauses[c1].lit[2];
			if (litVariable(l1) == var) swap(l1, l3);
			if (litVariable(l2) == var) swap(l2, l3);
			assert(litVariable(l1) != var && litVariable(l2) != var);
			pMap[l1][l2] = c1;
			pMap[l2][l1] = c1;
		}
	}
	for (int c1 : pi.litClauses[negLit(var)]) {
		if (pi.clauses[c1].lit.size() == 3) {
			int l1 = pi.clauses[c1].lit[0];
			int l2 = pi.clauses[c1].lit[1];
			int l3 = pi.clauses[c1].lit[2];
			if (litVariable(l1) == var) swap(l1, l3);
			if (litVariable(l2) == var) swap(l2, l3);
			assert(litVariable(l1) != var && litVariable(l2) != var);
			nMap[l1][l2] = c1;
			nMap[l2][l1] = c1;
		}
	}
	for (auto k : pMap) {
		int c = k.F;
		pair<int, int> tf = {-1, -1};
		pair<int, int> ff = {-1, -1};
		for (auto h : pMap[c]) {
			if (pMap[c].count(h.F) > 0 && nMap[c].count(litNegation(h.F)) > 0) {
				tf = {pMap[c][h.F], nMap[c][litNegation(h.F)]};
			}
		}
		if (tf.F == -1) continue;
		for (auto h : pMap[litNegation(c)]) {
			if (pMap[litNegation(c)].count(h.F) > 0 && nMap[litNegation(c)].count(litNegation(h.F)) > 0) {
				ff = {pMap[litNegation(c)][h.F], nMap[litNegation(c)][litNegation(h.F)]};
			}
		}
		if (tf.F >= 0 && ff.F >= 0) {
			return {{tf.F, tf.S, ff.F, ff.S}, 4};
		}
	}
	return {vector<int>(), 0};
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x490, %rsp            # imm = 0x490
movq %rdi, -0x2c8(%rbp)
movq %rdi, %rax
movq %rax, -0x2c0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x2b8(%rbp)
leaq -0x30(%rbp), %rdi
callq 0xa7e0
movq -0x2b8(%rbp), %rax
movl $0x0, -0x34(%rbp)
movl $0x0, -0x38(%rbp)
addq $0x18, %rax
movq %rax, -0x2b0(%rbp)
movl -0x14(%rbp), %edi
callq 0x3c5d0
movl %eax, -0x2a8(%rbp)
jmp 0x1608b
movq -0x2b0(%rbp), %rdi
movl -0x2a8(%rbp), %eax
movslq %eax, %rsi
callq 0x3d180
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
callq 0x3d080
movq %rax, -0x58(%rbp)
movq -0x40(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x60(%rbp)
leaq -0x58(%rbp), %rdi
leaq -0x60(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x160d1
jmp 0x1612e
leaq -0x58(%rbp), %rdi
callq 0x3d120
movq -0x2b8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x64(%rbp)
movslq -0x64(%rbp), %rsi
callq 0x3d060
movq %rax, %rdi
callq 0xf940
cmpq $0x3, %rax
jne 0x16121
movl -0x34(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x34(%rbp)
cmpl $0x2, -0x34(%rbp)
jl 0x1611f
jmp 0x1612e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x17046
jmp 0x16121
jmp 0x16123
leaq -0x58(%rbp), %rdi
callq 0x3d160
jmp 0x160be
movq -0x2b8(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x2d8(%rbp)
movl -0x14(%rbp), %edi
callq 0x3c5e0
movl %eax, -0x2cc(%rbp)
jmp 0x16150
movq -0x2d8(%rbp), %rdi
movl -0x2cc(%rbp), %eax
movslq %eax, %rsi
callq 0x3d180
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rdi
callq 0x3d080
movq %rax, -0x78(%rbp)
movq -0x70(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x80(%rbp)
leaq -0x78(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x16196
jmp 0x161e8
leaq -0x78(%rbp), %rdi
callq 0x3d120
movq -0x2b8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x84(%rbp)
movslq -0x84(%rbp), %rsi
callq 0x3d060
movq %rax, %rdi
callq 0xf940
cmpq $0x3, %rax
jne 0x161db
movl -0x38(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x38(%rbp)
cmpl $0x2, -0x38(%rbp)
jl 0x161d9
jmp 0x161e8
jmp 0x161db
jmp 0x161dd
leaq -0x78(%rbp), %rdi
callq 0x3d160
jmp 0x16183
cmpl $0x2, -0x34(%rbp)
jl 0x161f8
cmpl $0x2, -0x38(%rbp)
jge 0x1627e
xorps %xmm0, %xmm0
movaps %xmm0, -0xa0(%rbp)
movq $0x0, -0x90(%rbp)
leaq -0xa0(%rbp), %rdi
movq %rdi, -0x2e0(%rbp)
callq 0xa7e0
movq -0x2c8(%rbp), %rdi
movq -0x2e0(%rbp), %rsi
movl $0x0, -0xa4(%rbp)
leaq -0xa4(%rbp), %rdx
callq 0x3d260
jmp 0x16246
leaq -0xa0(%rbp), %rdi
callq 0xab00
movl $0x1, -0xa8(%rbp)
jmp 0x1702d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0xab00
jmp 0x17046
leaq -0xd8(%rbp), %rdi
callq 0x3d2a0
leaq -0x108(%rbp), %rdi
callq 0x3d2a0
movq -0x2b8(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x2f0(%rbp)
movl -0x14(%rbp), %edi
callq 0x3c5d0
movl %eax, -0x2e4(%rbp)
jmp 0x162b8
movq -0x2f0(%rbp), %rdi
movl -0x2e4(%rbp), %eax
movslq %eax, %rsi
callq 0x3d180
movq %rax, -0x110(%rbp)
movq -0x110(%rbp), %rdi
callq 0x3d080
movq %rax, -0x118(%rbp)
movq -0x110(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x120(%rbp)
leaq -0x118(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x16316
jmp 0x1656c
leaq -0x118(%rbp), %rdi
callq 0x3d120
movq -0x2b8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x124(%rbp)
movslq -0x124(%rbp), %rsi
callq 0x3d060
movq %rax, %rdi
callq 0xf940
cmpq $0x3, %rax
jne 0x16559
movq -0x2b8(%rbp), %rdi
movslq -0x124(%rbp), %rsi
callq 0x3d060
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movq -0x2b8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x128(%rbp)
movslq -0x124(%rbp), %rsi
callq 0x3d060
movq %rax, %rdi
movl $0x1, %esi
callq 0x3c5b0
movq -0x2b8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x12c(%rbp)
movslq -0x124(%rbp), %rsi
callq 0x3d060
movq %rax, %rdi
movl $0x2, %esi
callq 0x3c5b0
movl (%rax), %eax
movl %eax, -0x130(%rbp)
movl -0x128(%rbp), %edi
callq 0x3c880
movl %eax, -0x2f4(%rbp)
jmp 0x163d9
movl -0x2f4(%rbp), %eax
cmpl -0x14(%rbp), %eax
jne 0x1640a
leaq -0x128(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x3d2c0
jmp 0x1640a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x17013
movl -0x12c(%rbp), %edi
callq 0x3c880
movl %eax, -0x2f8(%rbp)
jmp 0x1641d
movl -0x2f8(%rbp), %eax
cmpl -0x14(%rbp), %eax
jne 0x1643b
leaq -0x12c(%rbp), %rdi
leaq -0x130(%rbp), %rsi
callq 0x3d2c0
movl -0x128(%rbp), %edi
callq 0x3c880
movl %eax, -0x2fc(%rbp)
jmp 0x1644e
movl -0x2fc(%rbp), %ecx
xorl %eax, %eax
cmpl -0x14(%rbp), %ecx
movb %al, -0x2fd(%rbp)
je 0x16486
movl -0x12c(%rbp), %edi
callq 0x3c880
movl %eax, -0x304(%rbp)
jmp 0x16474
movl -0x304(%rbp), %eax
cmpl -0x14(%rbp), %eax
setne %al
movb %al, -0x2fd(%rbp)
movb -0x2fd(%rbp), %al
testb $0x1, %al
jne 0x16492
jmp 0x16494
jmp 0x164b3
leaq 0x70002(%rip), %rdi     # 0x8649d
leaq 0x6ff8d(%rip), %rsi     # 0x8642f
movl $0x4e, %edx
leaq 0x70020(%rip), %rcx     # 0x864ce
callq 0x4260
movl -0x124(%rbp), %eax
movl %eax, -0x314(%rbp)
leaq -0xd8(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x3d2f0
movq %rax, -0x310(%rbp)
jmp 0x164db
movq -0x310(%rbp), %rdi
leaq -0x12c(%rbp), %rsi
callq 0x3d3d0
movq %rax, -0x320(%rbp)
jmp 0x164f7
movq -0x320(%rbp), %rax
movl -0x314(%rbp), %ecx
movl %ecx, (%rax)
movl -0x124(%rbp), %eax
movl %eax, -0x32c(%rbp)
leaq -0xd8(%rbp), %rdi
leaq -0x12c(%rbp), %rsi
callq 0x3d2f0
movq %rax, -0x328(%rbp)
jmp 0x1652e
movq -0x328(%rbp), %rdi
leaq -0x128(%rbp), %rsi
callq 0x3d3d0
movq %rax, -0x338(%rbp)
jmp 0x1654a
movq -0x338(%rbp), %rax
movl -0x32c(%rbp), %ecx
movl %ecx, (%rax)
jmp 0x1655b
leaq -0x118(%rbp), %rdi
callq 0x3d160
jmp 0x162fa
movq -0x2b8(%rbp), %rax
addq $0x18, %rax
movq %rax, -0x348(%rbp)
movl -0x14(%rbp), %edi
callq 0x3c5e0
movl %eax, -0x33c(%rbp)
jmp 0x1658e
movq -0x348(%rbp), %rdi
movl -0x33c(%rbp), %eax
movslq %eax, %rsi
callq 0x3d180
movq %rax, -0x138(%rbp)
movq -0x138(%rbp), %rdi
callq 0x3d080
movq %rax, -0x140(%rbp)
movq -0x138(%rbp), %rdi
callq 0x3d0b0
movq %rax, -0x148(%rbp)
leaq -0x140(%rbp), %rdi
leaq -0x148(%rbp), %rsi
callq 0x3d0e0
testb $0x1, %al
jne 0x165ec
jmp 0x1682f
leaq -0x140(%rbp), %rdi
callq 0x3d120
movq -0x2b8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x14c(%rbp)
movslq -0x14c(%rbp), %rsi
callq 0x3d060
movq %rax, %rdi
callq 0xf940
cmpq $0x3, %rax
jne 0x1681c
movq -0x2b8(%rbp), %rdi
movslq -0x14c(%rbp), %rsi
callq 0x3d060
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x3c5b0
movq -0x2b8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x150(%rbp)
movslq -0x14c(%rbp), %rsi
callq 0x3d060
movq %rax, %rdi
movl $0x1, %esi
callq 0x3c5b0
movq -0x2b8(%rbp), %rdi
movl (%rax), %eax
movl %eax, -0x154(%rbp)
movslq -0x14c(%rbp), %rsi
callq 0x3d060
movq %rax, %rdi
movl $0x2, %esi
callq 0x3c5b0
movl (%rax), %eax
movl %eax, -0x158(%rbp)
movl -0x150(%rbp), %edi
callq 0x3c880
movl %eax, -0x34c(%rbp)
jmp 0x166af
movl -0x34c(%rbp), %eax
cmpl -0x14(%rbp), %eax
jne 0x166cd
leaq -0x150(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x3d2c0
movl -0x154(%rbp), %edi
callq 0x3c880
movl %eax, -0x350(%rbp)
jmp 0x166e0
movl -0x350(%rbp), %eax
cmpl -0x14(%rbp), %eax
jne 0x166fe
leaq -0x154(%rbp), %rdi
leaq -0x158(%rbp), %rsi
callq 0x3d2c0
movl -0x150(%rbp), %edi
callq 0x3c880
movl %eax, -0x354(%rbp)
jmp 0x16711
movl -0x354(%rbp), %ecx
xorl %eax, %eax
cmpl -0x14(%rbp), %ecx
movb %al, -0x355(%rbp)
je 0x16749
movl -0x154(%rbp), %edi
callq 0x3c880
movl %eax, -0x35c(%rbp)
jmp 0x16737
movl -0x35c(%rbp), %eax
cmpl -0x14(%rbp), %eax
setne %al
movb %al, -0x355(%rbp)
movb -0x355(%rbp), %al
testb $0x1, %al
jne 0x16755
jmp 0x16757
jmp 0x16776
leaq 0x6fd3f(%rip), %rdi     # 0x8649d
leaq 0x6fcca(%rip), %rsi     # 0x8642f
movl $0x5a, %edx
leaq 0x6fd5d(%rip), %rcx     # 0x864ce
callq 0x4260
movl -0x14c(%rbp), %eax
movl %eax, -0x36c(%rbp)
leaq -0x108(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x3d2f0
movq %rax, -0x368(%rbp)
jmp 0x1679e
movq -0x368(%rbp), %rdi
leaq -0x154(%rbp), %rsi
callq 0x3d3d0
movq %rax, -0x378(%rbp)
jmp 0x167ba
movq -0x378(%rbp), %rax
movl -0x36c(%rbp), %ecx
movl %ecx, (%rax)
movl -0x14c(%rbp), %eax
movl %eax, -0x384(%rbp)
leaq -0x108(%rbp), %rdi
leaq -0x154(%rbp), %rsi
callq 0x3d2f0
movq %rax, -0x380(%rbp)
jmp 0x167f1
movq -0x380(%rbp), %rdi
leaq -0x150(%rbp), %rsi
callq 0x3d3d0
movq %rax, -0x390(%rbp)
jmp 0x1680d
movq -0x390(%rbp), %rax
movl -0x384(%rbp), %ecx
movl %ecx, (%rax)
jmp 0x1681e
leaq -0x140(%rbp), %rdi
callq 0x3d160
jmp 0x165d0
leaq -0xd8(%rbp), %rax
movq %rax, -0x160(%rbp)
movq -0x160(%rbp), %rdi
callq 0x3d4b0
movq %rax, -0x168(%rbp)
movq -0x160(%rbp), %rdi
callq 0x3d4e0
movq %rax, -0x170(%rbp)
leaq -0x168(%rbp), %rdi
leaq -0x170(%rbp), %rsi
callq 0x3d510
testb $0x1, %al
jne 0x1687f
jmp 0x16f79
leaq -0x168(%rbp), %rdi
callq 0x3d540
movq %rax, %rsi
leaq -0x1a8(%rbp), %rdi
callq 0x3d560
jmp 0x1689c
movl -0x1a8(%rbp), %eax
movl %eax, -0x1ac(%rbp)
movl $0xffffffff, -0x1b8(%rbp) # imm = 0xFFFFFFFF
movl $0xffffffff, -0x1bc(%rbp) # imm = 0xFFFFFFFF
leaq -0x1b4(%rbp), %rdi
leaq -0x1b8(%rbp), %rsi
leaq -0x1bc(%rbp), %rdx
callq 0x3d5a0
jmp 0x168d8
movl $0xffffffff, -0x1c8(%rbp) # imm = 0xFFFFFFFF
movl $0xffffffff, -0x1cc(%rbp) # imm = 0xFFFFFFFF
leaq -0x1c4(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
leaq -0x1cc(%rbp), %rdx
callq 0x3d5a0
jmp 0x16908
leaq -0xd8(%rbp), %rdi
leaq -0x1ac(%rbp), %rsi
callq 0x3d2f0
movq %rax, -0x398(%rbp)
jmp 0x16924
movq -0x398(%rbp), %rax
movq %rax, -0x1d8(%rbp)
movq -0x1d8(%rbp), %rdi
callq 0x3d5d0
movq %rax, -0x1e0(%rbp)
movq -0x1d8(%rbp), %rdi
callq 0x3d600
movq %rax, -0x1e8(%rbp)
leaq -0x1e0(%rbp), %rdi
leaq -0x1e8(%rbp), %rsi
callq 0x3d630
testb $0x1, %al
jne 0x16974
jmp 0x16b35
leaq -0x1e0(%rbp), %rdi
callq 0x3d660
movq (%rax), %rax
movq %rax, -0x1f0(%rbp)
leaq -0xd8(%rbp), %rdi
leaq -0x1ac(%rbp), %rsi
callq 0x3d2f0
movq %rax, -0x3a0(%rbp)
jmp 0x169a6
movq -0x3a0(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x3d680
movq %rax, -0x3a8(%rbp)
jmp 0x169c2
movq -0x3a8(%rbp), %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0x3a9(%rbp)
jbe 0x16a42
leaq -0x108(%rbp), %rdi
leaq -0x1ac(%rbp), %rsi
callq 0x3d2f0
movq %rax, -0x3b8(%rbp)
jmp 0x169f3
movl -0x1f0(%rbp), %edi
callq 0x3c5a0
movl %eax, -0x3bc(%rbp)
jmp 0x16a06
movq -0x3b8(%rbp), %rdi
movl -0x3bc(%rbp), %eax
movl %eax, -0x1f4(%rbp)
leaq -0x1f4(%rbp), %rsi
callq 0x3d680
movq %rax, -0x3c8(%rbp)
jmp 0x16a2e
movq -0x3c8(%rbp), %rax
cmpq $0x0, %rax
seta %al
movb %al, -0x3a9(%rbp)
movb -0x3a9(%rbp), %al
testb $0x1, %al
jne 0x16a51
jmp 0x16b22
leaq -0xd8(%rbp), %rdi
leaq -0x1ac(%rbp), %rsi
callq 0x3d2f0
movq %rax, -0x3d0(%rbp)
jmp 0x16a6d
movq -0x3d0(%rbp), %rdi
leaq -0x1f0(%rbp), %rsi
callq 0x3d3d0
movq %rax, -0x3d8(%rbp)
jmp 0x16a89
leaq -0x108(%rbp), %rdi
leaq -0x1ac(%rbp), %rsi
callq 0x3d2f0
movq %rax, -0x3e0(%rbp)
jmp 0x16aa5
movl -0x1f0(%rbp), %edi
callq 0x3c5a0
movl %eax, -0x3e4(%rbp)
jmp 0x16ab8
movq -0x3e0(%rbp), %rdi
movl -0x3e4(%rbp), %eax
movl %eax, -0x200(%rbp)
leaq -0x200(%rbp), %rsi
callq 0x3d6e0
movq %rax, -0x3f0(%rbp)
jmp 0x16ae0
movq -0x3f0(%rbp), %rdx
movq -0x3d8(%rbp), %rsi
leaq -0x1fc(%rbp), %rdi
callq 0x3d7c0
jmp 0x16afc
leaq -0x1b4(%rbp), %rdi
leaq -0x1fc(%rbp), %rsi
callq 0x3d7f0
jmp 0x16b22
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x16f68
jmp 0x16b24
leaq -0x1e0(%rbp), %rdi
callq 0x3d820
jmp 0x16958
cmpl $-0x1, -0x1b4(%rbp)
jne 0x16b4d
movl $0xb, -0xa8(%rbp)
jmp 0x16f27
movl -0x1ac(%rbp), %edi
callq 0x3c5a0
movl %eax, -0x3f4(%rbp)
jmp 0x16b60
movl -0x3f4(%rbp), %eax
movl %eax, -0x20c(%rbp)
leaq -0xd8(%rbp), %rdi
leaq -0x20c(%rbp), %rsi
callq 0x3d850
movq %rax, -0x400(%rbp)
jmp 0x16b88
movq -0x400(%rbp), %rax
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rdi
callq 0x3d5d0
movq %rax, -0x218(%rbp)
movq -0x208(%rbp), %rdi
callq 0x3d600
movq %rax, -0x220(%rbp)
leaq -0x218(%rbp), %rdi
leaq -0x220(%rbp), %rsi
callq 0x3d630
testb $0x1, %al
jne 0x16bd8
jmp 0x16e06
leaq -0x218(%rbp), %rdi
callq 0x3d660
movq (%rax), %rax
movq %rax, -0x228(%rbp)
movl -0x1ac(%rbp), %edi
callq 0x3c5a0
movl %eax, -0x404(%rbp)
jmp 0x16c01
movl -0x404(%rbp), %eax
movl %eax, -0x22c(%rbp)
leaq -0xd8(%rbp), %rdi
leaq -0x22c(%rbp), %rsi
callq 0x3d850
movq %rax, -0x410(%rbp)
jmp 0x16c29
movq -0x410(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x3d680
movq %rax, -0x418(%rbp)
jmp 0x16c45
movq -0x418(%rbp), %rcx
xorl %eax, %eax
cmpq $0x0, %rcx
movb %al, -0x419(%rbp)
jbe 0x16ce8
movl -0x1ac(%rbp), %edi
callq 0x3c5a0
movl %eax, -0x420(%rbp)
jmp 0x16c71
movl -0x420(%rbp), %eax
movl %eax, -0x230(%rbp)
leaq -0x108(%rbp), %rdi
leaq -0x230(%rbp), %rsi
callq 0x3d850
movq %rax, -0x428(%rbp)
jmp 0x16c99
movl -0x228(%rbp), %edi
callq 0x3c5a0
movl %eax, -0x42c(%rbp)
jmp 0x16cac
movq -0x428(%rbp), %rdi
movl -0x42c(%rbp), %eax
movl %eax, -0x234(%rbp)
leaq -0x234(%rbp), %rsi
callq 0x3d680
movq %rax, -0x438(%rbp)
jmp 0x16cd4
movq -0x438(%rbp), %rax
cmpq $0x0, %rax
seta %al
movb %al, -0x419(%rbp)
movb -0x419(%rbp), %al
testb $0x1, %al
jne 0x16cf7
jmp 0x16df3
movl -0x1ac(%rbp), %edi
callq 0x3c5a0
movl %eax, -0x43c(%rbp)
jmp 0x16d0a
movl -0x43c(%rbp), %eax
movl %eax, -0x240(%rbp)
leaq -0xd8(%rbp), %rdi
leaq -0x240(%rbp), %rsi
callq 0x3d850
movq %rax, -0x448(%rbp)
jmp 0x16d32
movq -0x448(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0x3d3d0
movq %rax, -0x450(%rbp)
jmp 0x16d4e
movl -0x1ac(%rbp), %edi
callq 0x3c5a0
movl %eax, -0x454(%rbp)
jmp 0x16d61
movl -0x454(%rbp), %eax
movl %eax, -0x244(%rbp)
leaq -0x108(%rbp), %rdi
leaq -0x244(%rbp), %rsi
callq 0x3d850
movq %rax, -0x460(%rbp)
jmp 0x16d89
movl -0x228(%rbp), %edi
callq 0x3c5a0
movl %eax, -0x464(%rbp)
jmp 0x16d9c
movq -0x460(%rbp), %rdi
movl -0x464(%rbp), %eax
movl %eax, -0x248(%rbp)
leaq -0x248(%rbp), %rsi
callq 0x3d6e0
movq %rax, -0x470(%rbp)
jmp 0x16dc4
movq -0x470(%rbp), %rdx
movq -0x450(%rbp), %rsi
leaq -0x23c(%rbp), %rdi
callq 0x3d7c0
jmp 0x16de0
leaq -0x1c4(%rbp), %rdi
leaq -0x23c(%rbp), %rsi
callq 0x3d7f0
jmp 0x16df5
leaq -0x218(%rbp), %rdi
callq 0x3d820
jmp 0x16bbc
cmpl $0x0, -0x1b4(%rbp)
jl 0x16f1d
cmpl $0x0, -0x1c4(%rbp)
jl 0x16f1d
movl -0x1b4(%rbp), %eax
movl %eax, -0x280(%rbp)
movl -0x1b0(%rbp), %eax
movl %eax, -0x27c(%rbp)
movl -0x1c4(%rbp), %eax
movl %eax, -0x278(%rbp)
movl -0x1c0(%rbp), %eax
movl %eax, -0x274(%rbp)
leaq -0x280(%rbp), %rax
movq %rax, -0x270(%rbp)
movq $0x4, -0x268(%rbp)
leaq -0x281(%rbp), %rdi
movq %rdi, -0x478(%rbp)
callq 0xa710
movq -0x478(%rbp), %rcx
movq -0x270(%rbp), %rsi
movq -0x268(%rbp), %rdx
leaq -0x260(%rbp), %rdi
callq 0x3c9b0
jmp 0x16e9f
movq -0x2c8(%rbp), %rdi
movl $0x4, -0x288(%rbp)
leaq -0x260(%rbp), %rsi
leaq -0x288(%rbp), %rdx
callq 0x3d930
jmp 0x16ec5
leaq -0x260(%rbp), %rdi
callq 0xab00
leaq -0x281(%rbp), %rdi
callq 0xa7a0
movl $0x1, -0xa8(%rbp)
jmp 0x16f27
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
jmp 0x16f0f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x260(%rbp), %rdi
callq 0xab00
leaq -0x281(%rbp), %rdi
callq 0xa7a0
jmp 0x16f68
movl $0x0, -0xa8(%rbp)
leaq -0x1a8(%rbp), %rdi
callq 0x3d970
movl -0xa8(%rbp), %eax
movl %eax, -0x47c(%rbp)
testl %eax, %eax
je 0x16f55
jmp 0x16f45
movl -0x47c(%rbp), %eax
subl $0xb, %eax
je 0x16f57
jmp 0x16ff9
jmp 0x16f57
leaq -0x168(%rbp), %rdi
callq 0x3d990
jmp 0x16863
leaq -0x1a8(%rbp), %rdi
callq 0x3d970
jmp 0x17013
xorps %xmm0, %xmm0
movaps %xmm0, -0x2a0(%rbp)
movq $0x0, -0x290(%rbp)
leaq -0x2a0(%rbp), %rdi
movq %rdi, -0x488(%rbp)
callq 0xa7e0
movq -0x2c8(%rbp), %rdi
movq -0x488(%rbp), %rsi
movl $0x0, -0x2a4(%rbp)
leaq -0x2a4(%rbp), %rdx
callq 0x3d260
jmp 0x16fc7
leaq -0x2a0(%rbp), %rdi
callq 0xab00
movl $0x1, -0xa8(%rbp)
jmp 0x16ff9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x48(%rbp)
movl %eax, -0x4c(%rbp)
leaq -0x2a0(%rbp), %rdi
callq 0xab00
jmp 0x17013
leaq -0x108(%rbp), %rdi
callq 0x3d9c0
leaq -0xd8(%rbp), %rdi
callq 0x3d9c0
jmp 0x1702d
leaq -0x108(%rbp), %rdi
callq 0x3d9c0
leaq -0xd8(%rbp), %rdi
callq 0x3d9c0
jmp 0x17046
leaq -0x30(%rbp), %rdi
callq 0xab00
movq -0x2c0(%rbp), %rax
addq $0x490, %rsp            # imm = 0x490
popq %rbp
retq
leaq -0x30(%rbp), %rdi
callq 0xab00
movq -0x48(%rbp), %rdi
callq 0x4610
nopl (%rax,%rax)