// File: Laakeri[P]Triangulator/src/minfill.cpp
// Function: MinFill::SolveAtom::solveAtom1(Graph const&, int, int, int)
vector<pair<int, int> > solveAtom1(const Graph& G, int lowerBound, int upperBound, int depth) {
	assert(lowerBound >= 0);
	if (lowerBound > upperBound) return FAILSOLUTION;
	auto fill = MCS::MCS_MP(G);
	if (fill.F.size() <= 1 || (int)fill.F.size() <= lowerBound) {
		assert((int)fill.F.size() >= lowerBound);
		if ((int)fill.F.size() > upperBound) return FAILSOLUTION;
		return fill.F;
	}
	lowerBound = max(lowerBound, 1);
	upperBound = min(upperBound, (int)fill.F.size());
	
	// Kernelization part 1, extracting independent chordless cycles
	vector<int> removedFromB(G.n);
	vector<int> A;
	int cc = 0;
	int startVertex = 0;
	while (startVertex < G.n) {
		vector<int> cycle = MCS::getChordlessCycle(G, startVertex, removedFromB);
		if (cycle.size() == 0) {
			break;
		}
		cc += (int)cycle.size()-3;
		for (int x : cycle) {
			assert(removedFromB[x] == 0);
			removedFromB[x] = 1;
			A.push_back(x);
		}
		while (startVertex < G.n && removedFromB[startVertex]) startVertex++;
	}
	lowerBound = max(lowerBound, cc);
	
	if (lowerBound > upperBound) return FAILSOLUTION;
	if (lowerBound >= (int)fill.F.size()) {
		assert((int)fill.F.size() >= lowerBound);
		return fill.F;
	}
	// Kernelization part 2, extracting related chordless cycles
	for (int it = 0; it < (int)A.size(); it++) {
		int x = A[it];
		for (int y : G.g[x]) {
			if (removedFromB[y]) continue;
			for (int nx : G.g[x]) {
				del1[nx]++;
			}
			for (int ny : G.g[y]) {
				if (del1[ny]) del1[ny]++;
			}
			for (int nx : G.g[x]) {
				if (del1[nx] == 2) {
					del1[nx] = 1;
				}
				else {
					del1[nx] = 0;
				}
			}
			vector<int> cycle = findCycle2(G, x, y, removedFromB);
			if (cycle.size() > 0) {
				lowerBound = max(lowerBound, (int)cycle.size()-3);
				vector<vector<int> > mPaths;
				bool bf = false;
				for (int i = 0; i < (int)cycle.size(); i++) {
					if (removedFromB[cycle[i]] == 0) {
						mPaths.push_back(vector<int>());
						while (i < (int)cycle.size() && removedFromB[cycle[i]] == 0) {
							mPaths.back().push_back(cycle[i]);
							i++;
						}
						i--;
					}
					else {
						bf = true;
					}
				}
				assert(bf);
				if (mPaths.size() == 1) {
					assert(mPaths[0].size() <= cycle.size()-1);
					if (mPaths[0].size() == cycle.size()-1) {
						cc += (int)cycle.size()-3;
					}
					else {
						cc += (int)mPaths[0].size()-1;
					}
				}
				else {
					int su = 0;
					int ma = 0;
					for (auto& mPath : mPaths) {
						su += (int)mPath.size()-1;
						ma = max(ma, (int)mPath.size()-1);
					}
					cc += max(su/2, ma);
				}
				for (auto& mPath : mPaths) {
					for (int v : mPath) {
						assert(removedFromB[v] == 0);
						removedFromB[v] = 1;
						A.push_back(v);
					}
				}
				lowerBound = max(lowerBound, cc);
			}
			for (int nx : G.g[x]) {
				del1[nx] = 0;
			}
			for (int ny : G.g[y]) {
				del1[ny] = 0;
			}
		}
	}
	
	if (lowerBound > upperBound) return FAILSOLUTION;
	if (lowerBound >= (int)fill.F.size()) {
		assert(lowerBound <= (int)fill.F.size());
		return fill.F;
	}
	// Kernelization part 3, finding essential edges
	vector<pair<pair<int, int>, vector<int> > > As;
	for (int it1 = 0; it1 < (int)A.size(); it1++) {
		for (int it2 = it1+1; it2 < (int)A.size(); it2++) {
			int y = A[it1];
			int z = A[it2];
			bool f = false;
			for (int ny : G.g[y]) {
				if (ny == z) {
					f = true;
					break;
				}
			}
			if (f) continue;
			for (int ny : G.g[y]) {
				nb1[ny] = 1;
			}
			vector<int> xx;
			for (int nz : G.g[z]) {
				if (nb1[nz]) xx.push_back(nz);
			}
			for (int ny : G.g[y]) {
				nb1[ny] = 0;
			}
			vector<int> AA;
			for (int x : xx) {
				for (int nx : G.g[x]) {
					if (nx != y && nx != z) {
						del1[nx] = 1;
					}
				}
				del1[x] = 1;
				if (findPath(G, y, z)) {
					AA.push_back(x);
				}
				for (int nx : G.g[x]) {
					del1[nx] = 0;
				}
				del1[x] = 0;
			}
			As.push_back({{y, z}, AA});
		}
	}
	auto cmp = [](const pair<pair<int, int>, vector<int> >& a, const pair<pair<int, int>, vector<int> >& b) {
		return a.S.size() < b.S.size();
	};
	sort(As.begin(), As.end(), cmp);
	
	int pIt = 0;
	while (pIt < (int)As.size() && (int)As[pIt].S.size() <= 2*lowerBound) {
		for (int x : As[pIt].S) {
			if (removedFromB[x] == 0) {
				removedFromB[x] = 1;
				A.push_back(x);
			}
		}
		pIt++;
	}
	As.erase(As.begin(), As.begin() + pIt);
	
	if (lowerBound > upperBound) return FAILSOLUTION;
	if (lowerBound >= (int)fill.F.size()) {
		assert(lowerBound <= (int)fill.F.size());
		return fill.F;
	}
	
	int kk = lowerBound;
	if ((int)As.size() > 0) assert((int)As[0].S.size() > 2*kk);
	
	vector<pair<int, int> > kernelIv;
	
	for (int i = 0; i < (int)As.size(); i++) {
		if ((int)As[i].S.size() > 2*kk) {
			kernelIv.push_back({kk, ((int)As[i].S.size()-1)/2});
			assert(((int)As[i].S.size()-1)/2 >= kk);
			kk = ((int)As[i].S.size()-1)/2+1;
		}
	}
	
	if (kk <= upperBound) kernelIv.push_back({kk, upperBound});
	assert(!kernelIv.empty());
	while (kernelIv.back().F > upperBound) {
		kernelIv.pop_back();
		assert(!kernelIv.empty());
	}
	if (kernelIv.back().S > upperBound) {
		kernelIv.back().S = upperBound;
	}
	for (int i = 0; i < (int)kernelIv.size(); i++) {
		assert(kernelIv[i].F <= kernelIv[i].S);
		if (i > 0) {
			assert(kernelIv[i].F == kernelIv[i-1].S+1);
		}
	}
	
	vector<pair<int, int> > solOpt = FAILSOLUTION;
	for (auto iv : kernelIv) {
		assert(iv.F >= lowerBound && iv.S <= upperBound);
		vector<int> AA = A;
		vector<int> inA = removedFromB;
		vector<pair<int, int> > kes;
		vector<pair<int, int> > sol0;
		for (auto& t : As) {
			if ((int)t.S.size() <= 2*iv.S) {
				assert((int)t.S.size() <= 2*iv.F);
				for (int x : t.S) {
					if (!inA[x]) {
						inA[x] = 1;
						AA.push_back(x);
					}
				}
			}
			else {
				kes.push_back(t.F);
				sol0.push_back(t.F);
			}
		}
		for (int x : AA) {
			for (int nx : G.g[x]) {
				if (nx < x && inA[nx]) {
					kes.push_back({nx, x});
				}
			}
		}
		iv.F = max(iv.F, (int)sol0.size());
		if (iv.F > iv.S) {
			lowerBound = iv.S+1;
			continue;
		}
		Graph kernel(kes);
		assert(iv.F >= (int)sol0.size());
		assert(kernel.n <= G.n);
		bool hd12 = false;
		for (int i = 0; i < kernel.n; i++) {
			if (kernel.g[i].size() == 1 || kernel.g[i].size() == 2) {
				hd12 = true;
			}
		}
		vector<pair<int, int> > sol;
		if (sol0.size() > 0 || kernel.n < G.n || kernel.m < G.m) {
			sol = SolveGraph::solveGraph(kernel, iv.F-(int)sol0.size(), iv.S-(int)sol0.size(), depth);
		}
		else {
			assert(hd12 == false);
			sol = PMC::solve(G, (int64_t)(iv.F-(int)sol0.size()), (int64_t)(iv.S-(int)sol0.size()), PROBLEM_MINFILL);
		}
		if (sol != FAILSOLUTION) {
			sol = kernel.mapBack(sol);
			sol.insert(sol.end(), sol0.begin(), sol0.end());
			assert((int)sol.size() >= lowerBound && (int)sol.size() <= iv.S);
			return sol;
		}
		else {
			lowerBound = iv.S+1;
		}
	}
	return FAILSOLUTION;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x8a0, %rsp            # imm = 0x8A0
movq %rdi, -0x708(%rbp)
movq %rdi, %rax
movq %rax, -0x700(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl %edx, -0x14(%rbp)
movl %ecx, -0x18(%rbp)
movl %r8d, -0x1c(%rbp)
cmpl $0x0, -0x14(%rbp)
jl 0x31116
jmp 0x31135
leaq 0x28205(%rip), %rdi     # 0x59322
leaq 0x28fc4(%rip), %rsi     # 0x5a0e8
movl $0xa2, %edx
leaq 0x290fb(%rip), %rcx     # 0x5a22b
callq 0x31a0
movl -0x14(%rbp), %eax
cmpl -0x18(%rbp), %eax
jle 0x31155
movq -0x708(%rbp), %rdi
leaq 0x4dcfe5(%rip), %rsi    # 0x50e130
callq 0x56a0
jmp 0x338c8
movq -0x10(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x28a90
leaq -0x50(%rbp), %rdi
callq 0x5680
cmpq $0x1, %rax
jbe 0x31183
leaq -0x50(%rbp), %rdi
callq 0x5680
cmpl -0x14(%rbp), %eax
jg 0x31210
leaq -0x50(%rbp), %rdi
callq 0x5680
cmpl -0x14(%rbp), %eax
jl 0x31193
jmp 0x311b2
leaq 0x290e5(%rip), %rdi     # 0x5a27f
leaq 0x28f47(%rip), %rsi     # 0x5a0e8
movl $0xa6, %edx
leaq 0x2907e(%rip), %rcx     # 0x5a22b
callq 0x31a0
leaq -0x50(%rbp), %rdi
callq 0x5680
cmpl -0x18(%rbp), %eax
jle 0x311f2
movq -0x708(%rbp), %rdi
leaq 0x4dcf62(%rip), %rsi    # 0x50e130
callq 0x56a0
jmp 0x311d5
movl $0x1, -0x60(%rbp)
jmp 0x338b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x338bd
movq -0x708(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x56a0
jmp 0x31204
movl $0x1, -0x60(%rbp)
jmp 0x338b2
movl $0x1, -0x64(%rbp)
leaq -0x14(%rbp), %rdi
leaq -0x64(%rbp), %rsi
callq 0x23c80
movq %rax, -0x710(%rbp)
jmp 0x3122d
movq -0x710(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x14(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5680
movl %eax, -0x68(%rbp)
leaq -0x18(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x23e40
movq %rax, -0x718(%rbp)
jmp 0x3125b
movq -0x718(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x18(%rbp)
movq -0x10(%rbp), %rax
movslq 0x50(%rax), %rax
movq %rax, -0x728(%rbp)
leaq -0x81(%rbp), %rdi
movq %rdi, -0x720(%rbp)
callq 0x111b0
movq -0x728(%rbp), %rsi
movq -0x720(%rbp), %rdx
leaq -0x80(%rbp), %rdi
callq 0x17ab0
jmp 0x312a2
leaq -0x81(%rbp), %rdi
callq 0x6620
leaq -0xa0(%rbp), %rdi
callq 0xdf40
movl $0x0, -0xa4(%rbp)
movl $0x0, -0xa8(%rbp)
movl -0xa8(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x50(%rcx), %eax
jge 0x314ce
movq -0x10(%rbp), %rsi
movl -0xa8(%rbp), %edx
leaq -0xc0(%rbp), %rdi
leaq -0x80(%rbp), %rcx
callq 0x2c4a0
jmp 0x312fd
leaq -0xc0(%rbp), %rdi
callq 0x59a0
cmpq $0x0, %rax
jne 0x31349
movl $0x3, -0x60(%rbp)
jmp 0x314b2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x81(%rbp), %rdi
callq 0x6620
jmp 0x338bd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3389b
leaq -0xc0(%rbp), %rdi
callq 0x59a0
subl $0x3, %eax
addl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
leaq -0xc0(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0xc8(%rbp), %rdi
callq 0xe060
movq %rax, -0xd0(%rbp)
movq -0xc8(%rbp), %rdi
callq 0xe090
movq %rax, -0xd8(%rbp)
leaq -0xd0(%rbp), %rdi
leaq -0xd8(%rbp), %rsi
callq 0xe0c0
testb $0x1, %al
jne 0x313b4
jmp 0x31459
leaq -0xd0(%rbp), %rdi
callq 0xe100
movl (%rax), %eax
movl %eax, -0xdc(%rbp)
movslq -0xdc(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x178f0
cmpl $0x0, (%rax)
jne 0x313df
jmp 0x313fe
leaq 0x28eba(%rip), %rdi     # 0x5a2a0
leaq 0x28cfb(%rip), %rsi     # 0x5a0e8
movl $0xb9, %edx
leaq 0x28e32(%rip), %rcx     # 0x5a22b
callq 0x31a0
movslq -0xdc(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x178f0
movl $0x1, (%rax)
leaq -0xa0(%rbp), %rdi
leaq -0xdc(%rbp), %rsi
callq 0xdff0
jmp 0x31429
jmp 0x3142b
leaq -0xd0(%rbp), %rdi
callq 0xe120
jmp 0x31398
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x6d30
jmp 0x3389b
jmp 0x3145b
movl -0xa8(%rbp), %ecx
movq -0x10(%rbp), %rdx
xorl %eax, %eax
cmpl 0x50(%rdx), %ecx
movb %al, -0x729(%rbp)
jge 0x3148e
movslq -0xa8(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x178f0
cmpl $0x0, (%rax)
setne %al
movb %al, -0x729(%rbp)
movb -0x729(%rbp), %al
testb $0x1, %al
jne 0x3149a
jmp 0x314ab
movl -0xa8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xa8(%rbp)
jmp 0x3145b
movl $0x0, -0x60(%rbp)
leaq -0xc0(%rbp), %rdi
callq 0x6d30
movl -0x60(%rbp), %eax
testl %eax, %eax
je 0x314c9
jmp 0x314c7
jmp 0x314ce
jmp 0x312ce
leaq -0x14(%rbp), %rdi
leaq -0xa4(%rbp), %rsi
callq 0x23c80
movq %rax, -0x738(%rbp)
jmp 0x314e7
movq -0x738(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x18(%rbp), %eax
jle 0x3151c
movq -0x708(%rbp), %rdi
leaq 0x4dcc27(%rip), %rsi    # 0x50e130
callq 0x56a0
jmp 0x31510
movl $0x1, -0x60(%rbp)
jmp 0x33884
movl -0x14(%rbp), %eax
movl %eax, -0x73c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5680
movq %rax, %rcx
movl -0x73c(%rbp), %eax
cmpl %ecx, %eax
jl 0x31588
leaq -0x50(%rbp), %rdi
callq 0x5680
cmpl -0x14(%rbp), %eax
jl 0x3154b
jmp 0x3156a
leaq 0x28d2d(%rip), %rdi     # 0x5a27f
leaq 0x28b8f(%rip), %rsi     # 0x5a0e8
movl $0xc3, %edx
leaq 0x28cc6(%rip), %rcx     # 0x5a22b
callq 0x31a0
movq -0x708(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x56a0
jmp 0x3157c
movl $0x1, -0x60(%rbp)
jmp 0x33884
movl $0x0, -0xe0(%rbp)
movl -0xe0(%rbp), %eax
movl %eax, -0x740(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x59a0
movq %rax, %rcx
movl -0x740(%rbp), %eax
cmpl %ecx, %eax
jge 0x31ffd
movslq -0xe0(%rbp), %rsi
leaq -0xa0(%rbp), %rdi
callq 0x178f0
movl (%rax), %eax
movl %eax, -0xe4(%rbp)
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
movslq -0xe4(%rbp), %rsi
callq 0xbba0
movq %rax, -0xf0(%rbp)
movq -0xf0(%rbp), %rdi
callq 0x6680
movq %rax, -0xf8(%rbp)
movq -0xf0(%rbp), %rdi
callq 0x66b0
movq %rax, -0x100(%rbp)
leaq -0xf8(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0xbbc0
testb $0x1, %al
jne 0x31633
jmp 0x31fe7
leaq -0xf8(%rbp), %rdi
callq 0xbc00
movl (%rax), %eax
movl %eax, -0x104(%rbp)
movslq -0x104(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x178f0
cmpl $0x0, (%rax)
je 0x31661
jmp 0x31fc5
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
movslq -0xe4(%rbp), %rsi
callq 0xbba0
movq %rax, -0x110(%rbp)
movq -0x110(%rbp), %rdi
callq 0x6680
movq %rax, -0x118(%rbp)
movq -0x110(%rbp), %rdi
callq 0x66b0
movq %rax, -0x120(%rbp)
leaq -0x118(%rbp), %rdi
leaq -0x120(%rbp), %rsi
callq 0xbbc0
testb $0x1, %al
jne 0x316bb
jmp 0x316fb
leaq -0x118(%rbp), %rdi
callq 0xbc00
movl (%rax), %eax
movl %eax, -0x124(%rbp)
movslq -0x124(%rbp), %rcx
leaq 0x4dca73(%rip), %rax    # 0x50e150
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
leaq 0x4dca66(%rip), %rax    # 0x50e150
movl %edx, (%rax,%rcx,4)
leaq -0x118(%rbp), %rdi
callq 0xbc80
jmp 0x316a2
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
movslq -0x104(%rbp), %rsi
callq 0xbba0
movq %rax, -0x130(%rbp)
movq -0x130(%rbp), %rdi
callq 0x6680
movq %rax, -0x138(%rbp)
movq -0x130(%rbp), %rdi
callq 0x66b0
movq %rax, -0x140(%rbp)
leaq -0x138(%rbp), %rdi
leaq -0x140(%rbp), %rsi
callq 0xbbc0
testb $0x1, %al
jne 0x31755
jmp 0x317ab
leaq -0x138(%rbp), %rdi
callq 0xbc00
movl (%rax), %eax
movl %eax, -0x144(%rbp)
movslq -0x144(%rbp), %rcx
leaq 0x4dc9d9(%rip), %rax    # 0x50e150
cmpl $0x0, (%rax,%rcx,4)
je 0x3179b
movslq -0x144(%rbp), %rcx
leaq 0x4dc9c5(%rip), %rax    # 0x50e150
movl (%rax,%rcx,4), %edx
addl $0x1, %edx
leaq 0x4dc9b8(%rip), %rax    # 0x50e150
movl %edx, (%rax,%rcx,4)
jmp 0x3179d
leaq -0x138(%rbp), %rdi
callq 0xbc80
jmp 0x3173c
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
movslq -0xe4(%rbp), %rsi
callq 0xbba0
movq %rax, -0x150(%rbp)
movq -0x150(%rbp), %rdi
callq 0x6680
movq %rax, -0x158(%rbp)
movq -0x150(%rbp), %rdi
callq 0x66b0
movq %rax, -0x160(%rbp)
leaq -0x158(%rbp), %rdi
leaq -0x160(%rbp), %rsi
callq 0xbbc0
testb $0x1, %al
jne 0x31805
jmp 0x31869
leaq -0x158(%rbp), %rdi
callq 0xbc00
movl (%rax), %eax
movl %eax, -0x164(%rbp)
movslq -0x164(%rbp), %rcx
leaq 0x4dc929(%rip), %rax    # 0x50e150
cmpl $0x2, (%rax,%rcx,4)
jne 0x31844
movslq -0x164(%rbp), %rcx
leaq 0x4dc915(%rip), %rax    # 0x50e150
movl $0x1, (%rax,%rcx,4)
jmp 0x31859
movslq -0x164(%rbp), %rcx
leaq 0x4dc8fe(%rip), %rax    # 0x50e150
movl $0x0, (%rax,%rcx,4)
jmp 0x3185b
leaq -0x158(%rbp), %rdi
callq 0xbc80
jmp 0x317ec
movq -0x10(%rbp), %rsi
movl -0xe4(%rbp), %edx
movl -0x104(%rbp), %ecx
leaq -0x180(%rbp), %rdi
leaq -0x80(%rbp), %r8
callq 0x30b20
jmp 0x3188b
leaq -0x180(%rbp), %rdi
callq 0x59a0
cmpq $0x0, %rax
jbe 0x31e97
leaq -0x180(%rbp), %rdi
callq 0x59a0
addl $-0x3, %eax
movl %eax, -0x184(%rbp)
leaq -0x14(%rbp), %rdi
leaq -0x184(%rbp), %rsi
callq 0x23c80
movq %rax, -0x748(%rbp)
jmp 0x318cf
movq -0x748(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x14(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x17630
movb $0x0, -0x1a1(%rbp)
movl $0x0, -0x1a8(%rbp)
movl -0x1a8(%rbp), %eax
movl %eax, -0x74c(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x59a0
movq %rax, %rcx
movl -0x74c(%rbp), %eax
cmpl %ecx, %eax
jge 0x31ab0
movslq -0x1a8(%rbp), %rsi
leaq -0x180(%rbp), %rdi
callq 0x178f0
movslq (%rax), %rsi
leaq -0x80(%rbp), %rdi
callq 0x178f0
cmpl $0x0, (%rax)
jne 0x31a93
xorps %xmm0, %xmm0
movaps %xmm0, -0x1c0(%rbp)
movq $0x0, -0x1b0(%rbp)
leaq -0x1c0(%rbp), %rdi
movq %rdi, -0x758(%rbp)
callq 0xdf40
movq -0x758(%rbp), %rsi
leaq -0x1a0(%rbp), %rdi
callq 0x26d00
jmp 0x31986
leaq -0x1c0(%rbp), %rdi
callq 0x6d30
movl -0x1a8(%rbp), %eax
movl %eax, -0x760(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x59a0
movl -0x760(%rbp), %ecx
movl %eax, %edx
xorl %eax, %eax
cmpl %edx, %ecx
movb %al, -0x759(%rbp)
jge 0x319e9
movslq -0x1a8(%rbp), %rsi
leaq -0x180(%rbp), %rdi
callq 0x178f0
movslq (%rax), %rsi
leaq -0x80(%rbp), %rdi
callq 0x178f0
cmpl $0x0, (%rax)
sete %al
movb %al, -0x759(%rbp)
movb -0x759(%rbp), %al
testb $0x1, %al
jne 0x319f8
jmp 0x31a82
leaq -0x1a0(%rbp), %rdi
callq 0x28760
movq %rax, -0x768(%rbp)
movslq -0x1a8(%rbp), %rsi
leaq -0x180(%rbp), %rdi
callq 0x178f0
movq -0x768(%rbp), %rdi
movq %rax, %rsi
callq 0xdff0
jmp 0x31a2f
movl -0x1a8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1a8(%rbp)
jmp 0x31992
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x31fd6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x1c0(%rbp), %rdi
callq 0x6d30
jmp 0x31e86
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x31e86
movl -0x1a8(%rbp), %eax
addl $-0x1, %eax
movl %eax, -0x1a8(%rbp)
jmp 0x31a9a
movb $0x1, -0x1a1(%rbp)
jmp 0x31a9c
movl -0x1a8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1a8(%rbp)
jmp 0x318f8
testb $0x1, -0x1a1(%rbp)
je 0x31abb
jmp 0x31ada
leaq 0x287f3(%rip), %rdi     # 0x5a2b5
leaq 0x2861f(%rip), %rsi     # 0x5a0e8
movl $0xeb, %edx
leaq 0x28756(%rip), %rcx     # 0x5a22b
callq 0x31a0
leaq -0x1a0(%rbp), %rdi
callq 0x5e80
cmpq $0x1, %rax
jne 0x31bd6
leaq -0x1a0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x178a0
movq %rax, %rdi
callq 0x59a0
movq %rax, -0x770(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x59a0
movq %rax, %rcx
movq -0x770(%rbp), %rax
subq $0x1, %rcx
cmpq %rcx, %rax
ja 0x31b30
jmp 0x31b4f
leaq 0x28781(%rip), %rdi     # 0x5a2b8
leaq 0x285aa(%rip), %rsi     # 0x5a0e8
movl $0xed, %edx
leaq 0x286e1(%rip), %rcx     # 0x5a22b
callq 0x31a0
leaq -0x1a0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x178a0
movq %rax, %rdi
callq 0x59a0
movq %rax, -0x778(%rbp)
leaq -0x180(%rbp), %rdi
callq 0x59a0
movq %rax, %rcx
movq -0x778(%rbp), %rax
subq $0x1, %rcx
cmpq %rcx, %rax
jne 0x31baa
leaq -0x180(%rbp), %rdi
callq 0x59a0
subl $0x3, %eax
addl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
jmp 0x31bd1
leaq -0x1a0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x178a0
movq %rax, %rdi
callq 0x59a0
subl $0x1, %eax
addl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
jmp 0x31d05
movl $0x0, -0x1c4(%rbp)
movl $0x0, -0x1c8(%rbp)
leaq -0x1a0(%rbp), %rax
movq %rax, -0x1d0(%rbp)
movq -0x1d0(%rbp), %rdi
callq 0x58e0
movq %rax, -0x1d8(%rbp)
movq -0x1d0(%rbp), %rdi
callq 0x5910
movq %rax, -0x1e0(%rbp)
leaq -0x1d8(%rbp), %rdi
leaq -0x1e0(%rbp), %rsi
callq 0x5940
testb $0x1, %al
jne 0x31c3a
jmp 0x31cbf
leaq -0x1d8(%rbp), %rdi
callq 0x5980
movq %rax, -0x1e8(%rbp)
movq -0x1e8(%rbp), %rdi
callq 0x59a0
movl %eax, %edx
movl -0x1c4(%rbp), %eax
movl %eax, %ecx
movl %edx, %eax
leal -0x1(%rax,%rcx), %eax
movl %eax, -0x1c4(%rbp)
movq -0x1e8(%rbp), %rdi
callq 0x59a0
decl %eax
movl %eax, -0x1ec(%rbp)
leaq -0x1c8(%rbp), %rdi
leaq -0x1ec(%rbp), %rsi
callq 0x23c80
movq %rax, -0x780(%rbp)
jmp 0x31c9f
movq -0x780(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x1c8(%rbp)
leaq -0x1d8(%rbp), %rdi
callq 0x59c0
jmp 0x31c1e
movl -0x1c4(%rbp), %eax
movl %eax, %ecx
shrl $0x1f, %ecx
addl %ecx, %eax
sarl %eax
movl %eax, -0x1f0(%rbp)
leaq -0x1f0(%rbp), %rdi
leaq -0x1c8(%rbp), %rsi
callq 0x23c80
movq %rax, -0x788(%rbp)
jmp 0x31cf0
movq -0x788(%rbp), %rax
movl (%rax), %eax
addl -0xa4(%rbp), %eax
movl %eax, -0xa4(%rbp)
leaq -0x1a0(%rbp), %rax
movq %rax, -0x1f8(%rbp)
movq -0x1f8(%rbp), %rdi
callq 0x58e0
movq %rax, -0x200(%rbp)
movq -0x1f8(%rbp), %rdi
callq 0x5910
movq %rax, -0x208(%rbp)
leaq -0x200(%rbp), %rdi
leaq -0x208(%rbp), %rsi
callq 0x5940
testb $0x1, %al
jne 0x31d55
jmp 0x31e53
leaq -0x200(%rbp), %rdi
callq 0x5980
movq %rax, -0x210(%rbp)
movq -0x210(%rbp), %rax
movq %rax, -0x218(%rbp)
movq -0x218(%rbp), %rdi
callq 0xe060
movq %rax, -0x220(%rbp)
movq -0x218(%rbp), %rdi
callq 0xe090
movq %rax, -0x228(%rbp)
leaq -0x220(%rbp), %rdi
leaq -0x228(%rbp), %rsi
callq 0xe0c0
testb $0x1, %al
jne 0x31db8
jmp 0x31e40
leaq -0x220(%rbp), %rdi
callq 0xe100
movl (%rax), %eax
movl %eax, -0x22c(%rbp)
movslq -0x22c(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x178f0
cmpl $0x0, (%rax)
jne 0x31de3
jmp 0x31e02
leaq 0x284f1(%rip), %rdi     # 0x5a2db
leaq 0x282f7(%rip), %rsi     # 0x5a0e8
movl $0x100, %edx            # imm = 0x100
leaq 0x2842e(%rip), %rcx     # 0x5a22b
callq 0x31a0
movslq -0x22c(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x178f0
movl $0x1, (%rax)
leaq -0xa0(%rbp), %rdi
leaq -0x22c(%rbp), %rsi
callq 0xdff0
jmp 0x31e2d
jmp 0x31e2f
leaq -0x220(%rbp), %rdi
callq 0xe120
jmp 0x31d9c
jmp 0x31e42
leaq -0x200(%rbp), %rdi
callq 0x59c0
jmp 0x31d39
leaq -0x14(%rbp), %rdi
leaq -0xa4(%rbp), %rsi
callq 0x23c80
movq %rax, -0x790(%rbp)
jmp 0x31e6c
movq -0x790(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x14(%rbp)
leaq -0x1a0(%rbp), %rdi
callq 0x5e20
jmp 0x31e97
leaq -0x1a0(%rbp), %rdi
callq 0x5e20
jmp 0x31fd6
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
movslq -0xe4(%rbp), %rsi
callq 0xbba0
movq %rax, -0x238(%rbp)
movq -0x238(%rbp), %rdi
callq 0x6680
movq %rax, -0x240(%rbp)
movq -0x238(%rbp), %rdi
callq 0x66b0
movq %rax, -0x248(%rbp)
leaq -0x240(%rbp), %rdi
leaq -0x248(%rbp), %rsi
callq 0xbbc0
testb $0x1, %al
jne 0x31ef1
jmp 0x31f28
leaq -0x240(%rbp), %rdi
callq 0xbc00
movl (%rax), %eax
movl %eax, -0x24c(%rbp)
movslq -0x24c(%rbp), %rcx
leaq 0x4dc23d(%rip), %rax    # 0x50e150
movl $0x0, (%rax,%rcx,4)
leaq -0x240(%rbp), %rdi
callq 0xbc80
jmp 0x31ed8
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
movslq -0x104(%rbp), %rsi
callq 0xbba0
movq %rax, -0x258(%rbp)
movq -0x258(%rbp), %rdi
callq 0x6680
movq %rax, -0x260(%rbp)
movq -0x258(%rbp), %rdi
callq 0x66b0
movq %rax, -0x268(%rbp)
leaq -0x260(%rbp), %rdi
leaq -0x268(%rbp), %rsi
callq 0xbbc0
testb $0x1, %al
jne 0x31f82
jmp 0x31fb9
leaq -0x260(%rbp), %rdi
callq 0xbc00
movl (%rax), %eax
movl %eax, -0x26c(%rbp)
movslq -0x26c(%rbp), %rcx
leaq 0x4dc1ac(%rip), %rax    # 0x50e150
movl $0x0, (%rax,%rcx,4)
leaq -0x260(%rbp), %rdi
callq 0xbc80
jmp 0x31f69
leaq -0x180(%rbp), %rdi
callq 0x6d30
leaq -0xf8(%rbp), %rdi
callq 0xbc80
jmp 0x31617
leaq -0x180(%rbp), %rdi
callq 0x6d30
jmp 0x3389b
jmp 0x31fe9
movl -0xe0(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xe0(%rbp)
jmp 0x31592
movl -0x14(%rbp), %eax
cmpl -0x18(%rbp), %eax
jle 0x32026
movq -0x708(%rbp), %rdi
leaq 0x4dc11d(%rip), %rsi    # 0x50e130
callq 0x56a0
jmp 0x3201a
movl $0x1, -0x60(%rbp)
jmp 0x33884
movl -0x14(%rbp), %eax
movl %eax, -0x794(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5680
movq %rax, %rcx
movl -0x794(%rbp), %eax
cmpl %ecx, %eax
jl 0x320a3
movl -0x14(%rbp), %eax
movl %eax, -0x798(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5680
movq %rax, %rcx
movl -0x798(%rbp), %eax
cmpl %ecx, %eax
jg 0x32066
jmp 0x32085
leaq 0x28283(%rip), %rdi     # 0x5a2f0
leaq 0x28074(%rip), %rsi     # 0x5a0e8
movl $0x112, %edx            # imm = 0x112
leaq 0x281ab(%rip), %rcx     # 0x5a22b
callq 0x31a0
movq -0x708(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x56a0
jmp 0x32097
movl $0x1, -0x60(%rbp)
jmp 0x33884
leaq -0x288(%rbp), %rdi
callq 0x36f20
movl $0x0, -0x28c(%rbp)
movl -0x28c(%rbp), %eax
movl %eax, -0x79c(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x59a0
movq %rax, %rcx
movl -0x79c(%rbp), %eax
cmpl %ecx, %eax
jge 0x326df
movl -0x28c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x290(%rbp)
movl -0x290(%rbp), %eax
movl %eax, -0x7a0(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x59a0
movq %rax, %rcx
movl -0x7a0(%rbp), %eax
cmpl %ecx, %eax
jge 0x326c9
movslq -0x28c(%rbp), %rsi
leaq -0xa0(%rbp), %rdi
callq 0x178f0
movl (%rax), %eax
movl %eax, -0x294(%rbp)
movslq -0x290(%rbp), %rsi
leaq -0xa0(%rbp), %rdi
callq 0x178f0
movl (%rax), %eax
movl %eax, -0x298(%rbp)
movb $0x0, -0x299(%rbp)
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
movslq -0x294(%rbp), %rsi
callq 0xbba0
movq %rax, -0x2a8(%rbp)
movq -0x2a8(%rbp), %rdi
callq 0x6680
movq %rax, -0x2b0(%rbp)
movq -0x2a8(%rbp), %rdi
callq 0x66b0
movq %rax, -0x2b8(%rbp)
leaq -0x2b0(%rbp), %rdi
leaq -0x2b8(%rbp), %rsi
callq 0xbbc0
testb $0x1, %al
jne 0x321b1
jmp 0x321ec
leaq -0x2b0(%rbp), %rdi
callq 0xbc00
movl (%rax), %eax
movl %eax, -0x2bc(%rbp)
movl -0x2bc(%rbp), %eax
cmpl -0x298(%rbp), %eax
jne 0x321dc
movb $0x1, -0x299(%rbp)
jmp 0x321ec
jmp 0x321de
leaq -0x2b0(%rbp), %rdi
callq 0xbc80
jmp 0x32198
testb $0x1, -0x299(%rbp)
je 0x321fa
jmp 0x32680
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
movslq -0x294(%rbp), %rsi
callq 0xbba0
movq %rax, -0x2c8(%rbp)
movq -0x2c8(%rbp), %rdi
callq 0x6680
movq %rax, -0x2d0(%rbp)
movq -0x2c8(%rbp), %rdi
callq 0x66b0
movq %rax, -0x2d8(%rbp)
leaq -0x2d0(%rbp), %rdi
leaq -0x2d8(%rbp), %rsi
callq 0xbbc0
testb $0x1, %al
jne 0x32254
jmp 0x3228b
leaq -0x2d0(%rbp), %rdi
callq 0xbc00
movl (%rax), %eax
movl %eax, -0x2dc(%rbp)
movslq -0x2dc(%rbp), %rcx
leaq 0x56e69a(%rip), %rax    # 0x5a0910
movl $0x1, (%rax,%rcx,4)
leaq -0x2d0(%rbp), %rdi
callq 0xbc80
jmp 0x3223b
leaq -0x2f8(%rbp), %rdi
callq 0xdf40
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
movslq -0x298(%rbp), %rsi
callq 0xbba0
movq %rax, -0x300(%rbp)
movq -0x300(%rbp), %rdi
callq 0x6680
movq %rax, -0x308(%rbp)
movq -0x300(%rbp), %rdi
callq 0x66b0
movq %rax, -0x310(%rbp)
leaq -0x308(%rbp), %rdi
leaq -0x310(%rbp), %rsi
callq 0xbbc0
testb $0x1, %al
jne 0x322f1
jmp 0x32351
leaq -0x308(%rbp), %rdi
callq 0xbc00
movl (%rax), %eax
movl %eax, -0x314(%rbp)
movslq -0x314(%rbp), %rcx
leaq 0x56e5fd(%rip), %rax    # 0x5a0910
cmpl $0x0, (%rax,%rcx,4)
je 0x32341
leaq -0x2f8(%rbp), %rdi
leaq -0x314(%rbp), %rsi
callq 0xdff0
jmp 0x3232e
jmp 0x32341
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x326b8
jmp 0x32343
leaq -0x308(%rbp), %rdi
callq 0xbc80
jmp 0x322d8
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
movslq -0x294(%rbp), %rsi
callq 0xbba0
movq %rax, -0x320(%rbp)
movq -0x320(%rbp), %rdi
callq 0x6680
movq %rax, -0x328(%rbp)
movq -0x320(%rbp), %rdi
callq 0x66b0
movq %rax, -0x330(%rbp)
leaq -0x328(%rbp), %rdi
leaq -0x330(%rbp), %rsi
callq 0xbbc0
testb $0x1, %al
jne 0x323ab
jmp 0x323e2
leaq -0x328(%rbp), %rdi
callq 0xbc00
movl (%rax), %eax
movl %eax, -0x334(%rbp)
movslq -0x334(%rbp), %rcx
leaq 0x56e543(%rip), %rax    # 0x5a0910
movl $0x0, (%rax,%rcx,4)
leaq -0x328(%rbp), %rdi
callq 0xbc80
jmp 0x32392
leaq -0x350(%rbp), %rdi
callq 0xdf40
leaq -0x2f8(%rbp), %rax
movq %rax, -0x358(%rbp)
movq -0x358(%rbp), %rdi
callq 0xe060
movq %rax, -0x360(%rbp)
movq -0x358(%rbp), %rdi
callq 0xe090
movq %rax, -0x368(%rbp)
leaq -0x360(%rbp), %rdi
leaq -0x368(%rbp), %rsi
callq 0xe0c0
testb $0x1, %al
jne 0x3243e
jmp 0x3260f
leaq -0x360(%rbp), %rdi
callq 0xe100
movl (%rax), %eax
movl %eax, -0x36c(%rbp)
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
movslq -0x36c(%rbp), %rsi
callq 0xbba0
movq %rax, -0x378(%rbp)
movq -0x378(%rbp), %rdi
callq 0x6680
movq %rax, -0x380(%rbp)
movq -0x378(%rbp), %rdi
callq 0x66b0
movq %rax, -0x388(%rbp)
leaq -0x380(%rbp), %rdi
leaq -0x388(%rbp), %rsi
callq 0xbbc0
testb $0x1, %al
jne 0x324ac
jmp 0x32501
leaq -0x380(%rbp), %rdi
callq 0xbc00
movl (%rax), %eax
movl %eax, -0x38c(%rbp)
movl -0x38c(%rbp), %eax
cmpl -0x294(%rbp), %eax
je 0x324f1
movl -0x38c(%rbp), %eax
cmpl -0x298(%rbp), %eax
je 0x324f1
movslq -0x38c(%rbp), %rcx
leaq 0x4dbc66(%rip), %rax    # 0x50e150
movl $0x1, (%rax,%rcx,4)
jmp 0x324f3
leaq -0x380(%rbp), %rdi
callq 0xbc80
jmp 0x32493
movslq -0x36c(%rbp), %rcx
leaq 0x4dbc41(%rip), %rax    # 0x50e150
movl $0x1, (%rax,%rcx,4)
movq -0x10(%rbp), %rdi
movl -0x294(%rbp), %esi
movl -0x298(%rbp), %edx
callq 0x30f50
cmpl $0x0, %eax
je 0x32558
leaq -0x350(%rbp), %rdi
leaq -0x36c(%rbp), %rsi
callq 0xdff0
jmp 0x32545
jmp 0x32558
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x326ac
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
movslq -0x36c(%rbp), %rsi
callq 0xbba0
movq %rax, -0x398(%rbp)
movq -0x398(%rbp), %rdi
callq 0x6680
movq %rax, -0x3a0(%rbp)
movq -0x398(%rbp), %rdi
callq 0x66b0
movq %rax, -0x3a8(%rbp)
leaq -0x3a0(%rbp), %rdi
leaq -0x3a8(%rbp), %rsi
callq 0xbbc0
testb $0x1, %al
jne 0x325b2
jmp 0x325e9
leaq -0x3a0(%rbp), %rdi
callq 0xbc00
movl (%rax), %eax
movl %eax, -0x3ac(%rbp)
movslq -0x3ac(%rbp), %rcx
leaq 0x4dbb7c(%rip), %rax    # 0x50e150
movl $0x0, (%rax,%rcx,4)
leaq -0x3a0(%rbp), %rdi
callq 0xbc80
jmp 0x32599
movslq -0x36c(%rbp), %rcx
leaq 0x4dbb59(%rip), %rax    # 0x50e150
movl $0x0, (%rax,%rcx,4)
leaq -0x360(%rbp), %rdi
callq 0xe120
jmp 0x32422
leaq -0x3d8(%rbp), %rdi
leaq -0x294(%rbp), %rsi
leaq -0x298(%rbp), %rdx
callq 0xdfc0
jmp 0x3262b
leaq -0x3d0(%rbp), %rdi
leaq -0x3d8(%rbp), %rsi
leaq -0x350(%rbp), %rdx
callq 0x36f70
jmp 0x32647
leaq -0x288(%rbp), %rdi
leaq -0x3d0(%rbp), %rsi
callq 0x36f40
jmp 0x3265c
leaq -0x3d0(%rbp), %rdi
callq 0x36fb0
leaq -0x350(%rbp), %rdi
callq 0x6d30
leaq -0x2f8(%rbp), %rdi
callq 0x6d30
movl -0x290(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x290(%rbp)
jmp 0x320f1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x3d0(%rbp), %rdi
callq 0x36fb0
leaq -0x350(%rbp), %rdi
callq 0x6d30
leaq -0x2f8(%rbp), %rdi
callq 0x6d30
jmp 0x33876
jmp 0x326cb
movl -0x28c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28c(%rbp)
jmp 0x320b9
leaq -0x288(%rbp), %rdi
movq %rdi, -0x7a8(%rbp)
callq 0x36fd0
movq -0x7a8(%rbp), %rdi
movq %rax, -0x3e8(%rbp)
callq 0x37000
movq %rax, -0x3f0(%rbp)
movq -0x3e8(%rbp), %rdi
movq -0x3f0(%rbp), %rsi
callq 0x338f0
jmp 0x32721
movl $0x0, -0x3f8(%rbp)
movl -0x3f8(%rbp), %eax
movl %eax, -0x7b0(%rbp)
leaq -0x288(%rbp), %rdi
callq 0x37030
movl -0x7b0(%rbp), %ecx
movl %eax, %edx
xorl %eax, %eax
cmpl %edx, %ecx
movb %al, -0x7a9(%rbp)
jge 0x32786
movslq -0x3f8(%rbp), %rsi
leaq -0x288(%rbp), %rdi
callq 0x37050
movq %rax, %rdi
addq $0x8, %rdi
callq 0x59a0
movl -0x14(%rbp), %ecx
shll %ecx
cmpl %ecx, %eax
setle %al
movb %al, -0x7a9(%rbp)
movb -0x7a9(%rbp), %al
testb $0x1, %al
jne 0x32795
jmp 0x32880
movslq -0x3f8(%rbp), %rsi
leaq -0x288(%rbp), %rdi
callq 0x37050
addq $0x8, %rax
movq %rax, -0x400(%rbp)
movq -0x400(%rbp), %rdi
callq 0xe060
movq %rax, -0x408(%rbp)
movq -0x400(%rbp), %rdi
callq 0xe090
movq %rax, -0x410(%rbp)
leaq -0x408(%rbp), %rdi
leaq -0x410(%rbp), %rsi
callq 0xe0c0
testb $0x1, %al
jne 0x327f2
jmp 0x3286c
leaq -0x408(%rbp), %rdi
callq 0xe100
movl (%rax), %eax
movl %eax, -0x414(%rbp)
movslq -0x414(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x178f0
cmpl $0x0, (%rax)
jne 0x32859
movslq -0x414(%rbp), %rsi
leaq -0x80(%rbp), %rdi
callq 0x178f0
movl $0x1, (%rax)
leaq -0xa0(%rbp), %rdi
leaq -0x414(%rbp), %rsi
callq 0xdff0
jmp 0x32846
jmp 0x32859
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x33876
jmp 0x3285b
leaq -0x408(%rbp), %rdi
callq 0xe120
jmp 0x327d9
movl -0x3f8(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x3f8(%rbp)
jmp 0x3272b
leaq -0x288(%rbp), %rdi
movq %rdi, -0x7c0(%rbp)
callq 0x36fd0
movq %rax, -0x428(%rbp)
leaq -0x420(%rbp), %rdi
leaq -0x428(%rbp), %rsi
callq 0x37100
movq -0x7c0(%rbp), %rdi
callq 0x36fd0
movq %rax, -0x440(%rbp)
movslq -0x3f8(%rbp), %rsi
leaq -0x440(%rbp), %rdi
callq 0x37140
movq %rax, -0x438(%rbp)
leaq -0x430(%rbp), %rdi
leaq -0x438(%rbp), %rsi
callq 0x37100
movq -0x7c0(%rbp), %rdi
movq -0x420(%rbp), %rsi
movq -0x430(%rbp), %rdx
callq 0x37070
movq %rax, -0x7b8(%rbp)
jmp 0x32910
movq -0x7b8(%rbp), %rax
movq %rax, -0x448(%rbp)
movl -0x14(%rbp), %eax
cmpl -0x18(%rbp), %eax
jle 0x32947
movq -0x708(%rbp), %rdi
leaq 0x4db7fc(%rip), %rsi    # 0x50e130
callq 0x56a0
jmp 0x3293b
movl $0x1, -0x60(%rbp)
jmp 0x33868
movl -0x14(%rbp), %eax
movl %eax, -0x7c4(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5680
movq %rax, %rcx
movl -0x7c4(%rbp), %eax
cmpl %ecx, %eax
jl 0x329c4
movl -0x14(%rbp), %eax
movl %eax, -0x7c8(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x5680
movq %rax, %rcx
movl -0x7c8(%rbp), %eax
cmpl %ecx, %eax
jg 0x32987
jmp 0x329a6
leaq 0x27962(%rip), %rdi     # 0x5a2f0
leaq 0x27753(%rip), %rsi     # 0x5a0e8
movl $0x153, %edx            # imm = 0x153
leaq 0x2788a(%rip), %rcx     # 0x5a22b
callq 0x31a0
movq -0x708(%rbp), %rdi
leaq -0x50(%rbp), %rsi
callq 0x56a0
jmp 0x329b8
movl $0x1, -0x60(%rbp)
jmp 0x33868
movl -0x14(%rbp), %eax
movl %eax, -0x44c(%rbp)
leaq -0x288(%rbp), %rdi
callq 0x37030
cmpl $0x0, %eax
jle 0x32a29
leaq -0x288(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x37050
movq %rax, %rdi
addq $0x8, %rdi
callq 0x59a0
movl -0x44c(%rbp), %ecx
shll %ecx
cmpl %ecx, %eax
jle 0x32a08
jmp 0x32a27
leaq 0x27902(%rip), %rdi     # 0x5a311
leaq 0x276d2(%rip), %rsi     # 0x5a0e8
movl $0x158, %edx            # imm = 0x158
leaq 0x27809(%rip), %rcx     # 0x5a22b
callq 0x31a0
jmp 0x32a29
leaq -0x468(%rbp), %rdi
callq 0xbd50
movl $0x0, -0x46c(%rbp)
movl -0x46c(%rbp), %eax
movl %eax, -0x7cc(%rbp)
leaq -0x288(%rbp), %rdi
callq 0x37030
movq %rax, %rcx
movl -0x7cc(%rbp), %eax
cmpl %ecx, %eax
jge 0x32bad
movslq -0x46c(%rbp), %rsi
leaq -0x288(%rbp), %rdi
callq 0x37050
movq %rax, %rdi
addq $0x8, %rdi
callq 0x59a0
movl -0x44c(%rbp), %ecx
shll %ecx
cmpl %ecx, %eax
jle 0x32b97
movslq -0x46c(%rbp), %rsi
leaq -0x288(%rbp), %rdi
callq 0x37050
movq %rax, %rdi
addq $0x8, %rdi
callq 0x59a0
movl %eax, %ecx
movl %ecx, %edx
decl %edx
movl %ecx, %eax
shrl $0x1f, %edx
movl %edx, %ecx
leal -0x1(%rax,%rcx), %eax
sarl %eax
movl %eax, -0x478(%rbp)
leaq -0x474(%rbp), %rdi
leaq -0x44c(%rbp), %rsi
leaq -0x478(%rbp), %rdx
callq 0x2df20
jmp 0x32aeb
leaq -0x468(%rbp), %rdi
leaq -0x474(%rbp), %rsi
callq 0x179a0
jmp 0x32b00
movslq -0x46c(%rbp), %rsi
leaq -0x288(%rbp), %rdi
callq 0x37050
movq %rax, %rdi
addq $0x8, %rdi
callq 0x59a0
subl $0x1, %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl -0x44c(%rbp), %eax
jl 0x32b34
jmp 0x32b64
leaq 0x277f1(%rip), %rdi     # 0x5a32c
leaq 0x275a6(%rip), %rsi     # 0x5a0e8
movl $0x15f, %edx            # imm = 0x15F
leaq 0x276dd(%rip), %rcx     # 0x5a22b
callq 0x31a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3385a
movslq -0x46c(%rbp), %rsi
leaq -0x288(%rbp), %rdi
callq 0x37050
movq %rax, %rdi
addq $0x8, %rdi
callq 0x59a0
subl $0x1, %eax
movl $0x2, %ecx
cltd
idivl %ecx
addl $0x1, %eax
movl %eax, -0x44c(%rbp)
jmp 0x32b99
movl -0x46c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x46c(%rbp)
jmp 0x32a3f
movl -0x44c(%rbp), %eax
cmpl -0x18(%rbp), %eax
jg 0x32be8
leaq -0x480(%rbp), %rdi
leaq -0x44c(%rbp), %rsi
leaq -0x18(%rbp), %rdx
callq 0xdfc0
jmp 0x32bd1
leaq -0x468(%rbp), %rdi
leaq -0x480(%rbp), %rsi
callq 0x179a0
jmp 0x32be6
jmp 0x32be8
leaq -0x468(%rbp), %rdi
callq 0x37180
xorb $-0x1, %al
testb $0x1, %al
jne 0x32bfc
jmp 0x32bfe
jmp 0x32c1d
leaq 0x27747(%rip), %rdi     # 0x5a34c
leaq 0x274dc(%rip), %rsi     # 0x5a0e8
movl $0x165, %edx            # imm = 0x165
leaq 0x27613(%rip), %rcx     # 0x5a22b
callq 0x31a0
jmp 0x32c1f
leaq -0x468(%rbp), %rdi
callq 0x1b290
movl (%rax), %eax
cmpl -0x18(%rbp), %eax
jle 0x32c75
leaq -0x468(%rbp), %rdi
callq 0x371c0
leaq -0x468(%rbp), %rdi
callq 0x37180
xorb $-0x1, %al
testb $0x1, %al
jne 0x32c52
jmp 0x32c54
jmp 0x32c73
leaq 0x276f1(%rip), %rdi     # 0x5a34c
leaq 0x27486(%rip), %rsi     # 0x5a0e8
movl $0x168, %edx            # imm = 0x168
leaq 0x275bd(%rip), %rcx     # 0x5a22b
callq 0x31a0
jmp 0x32c1f
leaq -0x468(%rbp), %rdi
callq 0x1b290
movl 0x4(%rax), %eax
cmpl -0x18(%rbp), %eax
jle 0x32ca7
movl -0x18(%rbp), %eax
movl %eax, -0x7d0(%rbp)
leaq -0x468(%rbp), %rdi
callq 0x1b290
movl -0x7d0(%rbp), %ecx
movl %ecx, 0x4(%rax)
movl $0x0, -0x484(%rbp)
movl -0x484(%rbp), %eax
movl %eax, -0x7d4(%rbp)
leaq -0x468(%rbp), %rdi
callq 0x5680
movq %rax, %rcx
movl -0x7d4(%rbp), %eax
cmpl %ecx, %eax
jge 0x32dbf
movslq -0x484(%rbp), %rsi
leaq -0x468(%rbp), %rdi
callq 0x2dc50
movl (%rax), %eax
movl %eax, -0x7d8(%rbp)
movslq -0x484(%rbp), %rsi
leaq -0x468(%rbp), %rdi
callq 0x2dc50
movq %rax, %rcx
movl -0x7d8(%rbp), %eax
cmpl 0x4(%rcx), %eax
jg 0x32d18
jmp 0x32d37
leaq 0x2763f(%rip), %rdi     # 0x5a35e
leaq 0x273c2(%rip), %rsi     # 0x5a0e8
movl $0x16e, %edx            # imm = 0x16E
leaq 0x274f9(%rip), %rcx     # 0x5a22b
callq 0x31a0
cmpl $0x0, -0x484(%rbp)
jle 0x32da9
movslq -0x484(%rbp), %rsi
leaq -0x468(%rbp), %rdi
callq 0x2dc50
movl (%rax), %eax
movl %eax, -0x7dc(%rbp)
movl -0x484(%rbp), %eax
subl $0x1, %eax
movslq %eax, %rsi
leaq -0x468(%rbp), %rdi
callq 0x2dc50
movq %rax, %rcx
movl -0x7dc(%rbp), %eax
movl 0x4(%rcx), %ecx
addl $0x1, %ecx
cmpl %ecx, %eax
jne 0x32d88
jmp 0x32da7
leaq 0x275ee(%rip), %rdi     # 0x5a37d
leaq 0x27352(%rip), %rsi     # 0x5a0e8
movl $0x170, %edx            # imm = 0x170
leaq 0x27489(%rip), %rcx     # 0x5a22b
callq 0x31a0
jmp 0x32da9
jmp 0x32dab
movl -0x484(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x484(%rbp)
jmp 0x32cb1
leaq 0x4db36a(%rip), %rsi    # 0x50e130
leaq -0x4a0(%rbp), %rdi
callq 0x56a0
jmp 0x32dd4
leaq -0x468(%rbp), %rax
movq %rax, -0x4a8(%rbp)
movq -0x4a8(%rbp), %rdi
callq 0xc0b0
movq %rax, -0x4b0(%rbp)
movq -0x4a8(%rbp), %rdi
callq 0xc040
movq %rax, -0x4b8(%rbp)
leaq -0x4b0(%rbp), %rdi
leaq -0x4b8(%rbp), %rsi
callq 0x11310
testb $0x1, %al
jne 0x32e24
jmp 0x33818
leaq -0x4b0(%rbp), %rdi
callq 0x11350
movq (%rax), %rax
movq %rax, -0x4c0(%rbp)
movl -0x4c0(%rbp), %ecx
xorl %eax, %eax
cmpl -0x14(%rbp), %ecx
movb %al, -0x7dd(%rbp)
jl 0x32e5f
movl -0x4bc(%rbp), %eax
cmpl -0x18(%rbp), %eax
setle %al
movb %al, -0x7dd(%rbp)
movb -0x7dd(%rbp), %al
testb $0x1, %al
jne 0x32e6b
jmp 0x32e6d
jmp 0x32e8c
leaq 0x2752c(%rip), %rdi     # 0x5a3a0
leaq 0x2726d(%rip), %rsi     # 0x5a0e8
movl $0x176, %edx            # imm = 0x176
leaq 0x273a4(%rip), %rcx     # 0x5a22b
callq 0x31a0
leaq -0x4d8(%rbp), %rdi
leaq -0xa0(%rbp), %rsi
callq 0x6490
jmp 0x32ea1
leaq -0x4f0(%rbp), %rdi
leaq -0x80(%rbp), %rsi
callq 0x6490
jmp 0x32eb3
leaq -0x508(%rbp), %rdi
callq 0xbd50
leaq -0x520(%rbp), %rdi
callq 0xbd50
leaq -0x288(%rbp), %rax
movq %rax, -0x528(%rbp)
movq -0x528(%rbp), %rdi
callq 0x36fd0
movq %rax, -0x530(%rbp)
movq -0x528(%rbp), %rdi
callq 0x37000
movq %rax, -0x538(%rbp)
leaq -0x530(%rbp), %rdi
leaq -0x538(%rbp), %rsi
callq 0x371f0
testb $0x1, %al
jne 0x32f1b
jmp 0x330c2
leaq -0x530(%rbp), %rdi
callq 0x37230
movq %rax, -0x540(%rbp)
movq -0x540(%rbp), %rdi
addq $0x8, %rdi
callq 0x59a0
movl -0x4bc(%rbp), %ecx
shll %ecx
cmpl %ecx, %eax
jg 0x33083
movq -0x540(%rbp), %rdi
addq $0x8, %rdi
callq 0x59a0
movl -0x4c0(%rbp), %ecx
shll %ecx
cmpl %ecx, %eax
jg 0x32f6c
jmp 0x32fad
leaq 0x27456(%rip), %rdi     # 0x5a3c9
leaq 0x2716e(%rip), %rsi     # 0x5a0e8
movl $0x17d, %edx            # imm = 0x17D
leaq 0x272a5(%rip), %rcx     # 0x5a22b
callq 0x31a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3384e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x3380a
movq -0x540(%rbp), %rax
addq $0x8, %rax
movq %rax, -0x548(%rbp)
movq -0x548(%rbp), %rdi
callq 0xe060
movq %rax, -0x550(%rbp)
movq -0x548(%rbp), %rdi
callq 0xe090
movq %rax, -0x558(%rbp)
leaq -0x550(%rbp), %rdi
leaq -0x558(%rbp), %rsi
callq 0xe0c0
testb $0x1, %al
jne 0x33001
jmp 0x33081
leaq -0x550(%rbp), %rdi
callq 0xe100
movl (%rax), %eax
movl %eax, -0x55c(%rbp)
movslq -0x55c(%rbp), %rsi
leaq -0x4f0(%rbp), %rdi
callq 0x178f0
cmpl $0x0, (%rax)
jne 0x3306e
movslq -0x55c(%rbp), %rsi
leaq -0x4f0(%rbp), %rdi
callq 0x178f0
movl $0x1, (%rax)
leaq -0x4d8(%rbp), %rdi
leaq -0x55c(%rbp), %rsi
callq 0xdff0
jmp 0x3305b
jmp 0x3306e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x337e6
jmp 0x33070
leaq -0x550(%rbp), %rdi
callq 0xe120
jmp 0x32fe5
jmp 0x330af
movq -0x540(%rbp), %rsi
leaq -0x508(%rbp), %rdi
callq 0x37250
jmp 0x33098
movq -0x540(%rbp), %rsi
leaq -0x520(%rbp), %rdi
callq 0x37250
jmp 0x330ad
jmp 0x330af
jmp 0x330b1
leaq -0x530(%rbp), %rdi
callq 0x372c0
jmp 0x32eff
leaq -0x4d8(%rbp), %rax
movq %rax, -0x568(%rbp)
movq -0x568(%rbp), %rdi
callq 0xe060
movq %rax, -0x570(%rbp)
movq -0x568(%rbp), %rdi
callq 0xe090
movq %rax, -0x578(%rbp)
leaq -0x570(%rbp), %rdi
leaq -0x578(%rbp), %rsi
callq 0xe0c0
testb $0x1, %al
jne 0x33112
jmp 0x33216
leaq -0x570(%rbp), %rdi
callq 0xe100
movl (%rax), %eax
movl %eax, -0x57c(%rbp)
movq -0x10(%rbp), %rdi
addq $0x38, %rdi
movslq -0x57c(%rbp), %rsi
callq 0xbba0
movq %rax, -0x588(%rbp)
movq -0x588(%rbp), %rdi
callq 0x6680
movq %rax, -0x590(%rbp)
movq -0x588(%rbp), %rdi
callq 0x66b0
movq %rax, -0x598(%rbp)
leaq -0x590(%rbp), %rdi
leaq -0x598(%rbp), %rsi
callq 0xbbc0
testb $0x1, %al
jne 0x33183
jmp 0x33203
leaq -0x590(%rbp), %rdi
callq 0xbc00
movl (%rax), %eax
movl %eax, -0x59c(%rbp)
movl -0x59c(%rbp), %eax
cmpl -0x57c(%rbp), %eax
jge 0x331f0
movslq -0x59c(%rbp), %rsi
leaq -0x4f0(%rbp), %rdi
callq 0x178f0
cmpl $0x0, (%rax)
je 0x331f0
leaq -0x5a4(%rbp), %rdi
leaq -0x59c(%rbp), %rsi
leaq -0x57c(%rbp), %rdx
callq 0xdfc0
jmp 0x331d9
leaq -0x508(%rbp), %rdi
leaq -0x5a4(%rbp), %rsi
callq 0x179a0
jmp 0x331ee
jmp 0x331f0
jmp 0x331f2
leaq -0x590(%rbp), %rdi
callq 0xbc80
jmp 0x33167
jmp 0x33205
leaq -0x570(%rbp), %rdi
callq 0xe120
jmp 0x330f6
leaq -0x520(%rbp), %rdi
callq 0x5680
movl %eax, -0x5a8(%rbp)
leaq -0x4c0(%rbp), %rdi
leaq -0x5a8(%rbp), %rsi
callq 0x23c80
movq %rax, -0x7e8(%rbp)
jmp 0x33244
movq -0x7e8(%rbp), %rax
movl (%rax), %eax
movl %eax, -0x4c0(%rbp)
movl -0x4c0(%rbp), %eax
cmpl -0x4bc(%rbp), %eax
jle 0x33279
movl -0x4bc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movl $0x43, -0x60(%rbp)
jmp 0x3376f
leaq -0x600(%rbp), %rdi
leaq -0x508(%rbp), %rsi
callq 0x158e0
jmp 0x3328e
movl -0x4c0(%rbp), %eax
movl %eax, -0x7ec(%rbp)
leaq -0x520(%rbp), %rdi
callq 0x5680
movq %rax, %rcx
movl -0x7ec(%rbp), %eax
cmpl %ecx, %eax
jl 0x332b5
jmp 0x332d4
leaq 0x27127(%rip), %rdi     # 0x5a3e3
leaq 0x26e25(%rip), %rsi     # 0x5a0e8
movl $0x197, %edx            # imm = 0x197
leaq 0x26f5c(%rip), %rcx     # 0x5a22b
callq 0x31a0
movl -0x5b0(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x50(%rcx), %eax
jg 0x332e5
jmp 0x33304
leaq 0x27110(%rip), %rdi     # 0x5a3fc
leaq 0x26df5(%rip), %rsi     # 0x5a0e8
movl $0x198, %edx            # imm = 0x198
leaq 0x26f2c(%rip), %rcx     # 0x5a22b
callq 0x31a0
movb $0x0, -0x601(%rbp)
movl $0x0, -0x608(%rbp)
movl -0x608(%rbp), %eax
cmpl -0x5b0(%rbp), %eax
jge 0x33387
leaq -0x600(%rbp), %rdi
addq $0x38, %rdi
movslq -0x608(%rbp), %rsi
callq 0x178a0
movq %rax, %rdi
callq 0x59a0
cmpq $0x1, %rax
je 0x3336d
leaq -0x600(%rbp), %rdi
addq $0x38, %rdi
movslq -0x608(%rbp), %rsi
callq 0x178a0
movq %rax, %rdi
callq 0x59a0
cmpq $0x2, %rax
jne 0x33374
movb $0x1, -0x601(%rbp)
jmp 0x33376
movl -0x608(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x608(%rbp)
jmp 0x33315
movq -0x708(%rbp), %rdi
movb $0x0, -0x609(%rbp)
callq 0xbd50
leaq -0x520(%rbp), %rdi
callq 0x5680
cmpq $0x0, %rax
ja 0x333ce
movl -0x5b0(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x50(%rcx), %eax
jl 0x333ce
movl -0x5ac(%rbp), %eax
movq -0x10(%rbp), %rcx
cmpl 0x54(%rcx), %eax
jge 0x33472
movl -0x4c0(%rbp), %eax
movl %eax, -0x7f8(%rbp)
leaq -0x520(%rbp), %rdi
movq %rdi, -0x800(%rbp)
callq 0x5680
movq -0x800(%rbp), %rdi
movq %rax, %rcx
movl -0x7f8(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x7f0(%rbp)
movl -0x4bc(%rbp), %eax
movl %eax, -0x7f4(%rbp)
callq 0x5680
movl -0x7f4(%rbp), %ecx
movl -0x7f0(%rbp), %edx
subl %eax, %ecx
movl -0x1c(%rbp), %r8d
leaq -0x628(%rbp), %rdi
leaq -0x600(%rbp), %rsi
callq 0x30370
jmp 0x3343d
movq -0x708(%rbp), %rdi
leaq -0x628(%rbp), %rsi
callq 0x5790
leaq -0x628(%rbp), %rdi
callq 0x5470
jmp 0x33593
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0x337ce
movb -0x601(%rbp), %al
andb $0x1, %al
movzbl %al, %eax
cmpl $0x0, %eax
jne 0x33484
jmp 0x334a3
leaq 0x26f81(%rip), %rdi     # 0x5a40c
leaq 0x26c56(%rip), %rsi     # 0x5a0e8
movl $0x1a4, %edx            # imm = 0x1A4
leaq 0x26d8d(%rip), %rcx     # 0x5a22b
callq 0x31a0
movq -0x10(%rbp), %rax
movq %rax, -0x810(%rbp)
movl -0x4c0(%rbp), %eax
movl %eax, -0x804(%rbp)
leaq -0x520(%rbp), %rdi
callq 0x5680
movq %rax, %rcx
movl -0x804(%rbp), %eax
subl %ecx, %eax
movslq %eax, %rsi
leaq -0x670(%rbp), %rdi
callq 0x3a0f0
jmp 0x334e2
movl -0x4bc(%rbp), %eax
movl %eax, -0x814(%rbp)
leaq -0x520(%rbp), %rdi
callq 0x5680
movq %rax, %rcx
movl -0x814(%rbp), %eax
subl %ecx, %eax
movslq %eax, %rsi
leaq -0x6a0(%rbp), %rdi
callq 0x3a0f0
jmp 0x33516
movq -0x810(%rbp), %rsi
movaps -0x6a0(%rbp), %xmm0
movaps -0x690(%rbp), %xmm1
movaps -0x680(%rbp), %xmm2
movq %rsp, %rax
movaps %xmm2, 0x50(%rax)
movaps %xmm1, 0x40(%rax)
movaps %xmm0, 0x30(%rax)
movaps -0x670(%rbp), %xmm0
movaps -0x660(%rbp), %xmm1
movaps -0x650(%rbp), %xmm2
movaps %xmm2, 0x20(%rax)
movaps %xmm1, 0x10(%rax)
movaps %xmm0, (%rax)
leaq -0x640(%rbp), %rdi
movl $0x1, %edx
callq 0x41440
jmp 0x33574
movq -0x708(%rbp), %rdi
leaq -0x640(%rbp), %rsi
callq 0x5790
leaq -0x640(%rbp), %rdi
callq 0x5470
movq -0x708(%rbp), %rdi
leaq 0x4dab8f(%rip), %rsi    # 0x50e130
callq 0xe160
movb %al, -0x815(%rbp)
jmp 0x335ae
movb -0x815(%rbp), %al
testb $0x1, %al
jne 0x335bd
jmp 0x3373b
movq -0x708(%rbp), %rsi
leaq -0x6d0(%rbp), %rdi
callq 0x56a0
jmp 0x335d2
leaq -0x6b8(%rbp), %rdi
leaq -0x600(%rbp), %rsi
leaq -0x6d0(%rbp), %rdx
callq 0x16aa0
jmp 0x335ee
movq -0x708(%rbp), %rdi
leaq -0x6b8(%rbp), %rsi
movq %rsi, -0x830(%rbp)
callq 0x5790
movq -0x830(%rbp), %rdi
callq 0x5470
leaq -0x6d0(%rbp), %rdi
callq 0x5470
movq -0x708(%rbp), %rdi
callq 0xc040
movq %rax, -0x6e0(%rbp)
leaq -0x6d8(%rbp), %rdi
leaq -0x6e0(%rbp), %rsi
callq 0xc070
leaq -0x520(%rbp), %rdi
movq %rdi, -0x828(%rbp)
callq 0xc0b0
movq -0x828(%rbp), %rdi
movq %rax, -0x6e8(%rbp)
callq 0xc040
movq -0x708(%rbp), %rdi
movq %rax, -0x6f0(%rbp)
movq -0x6d8(%rbp), %rsi
movq -0x6e8(%rbp), %rdx
movq -0x6f0(%rbp), %rcx
callq 0xbf90
movq %rax, -0x820(%rbp)
jmp 0x3369d
movq -0x708(%rbp), %rdi
movq -0x820(%rbp), %rax
movq %rax, -0x6f8(%rbp)
callq 0x5680
movl %eax, %ecx
xorl %eax, %eax
cmpl -0x14(%rbp), %ecx
movb %al, -0x831(%rbp)
jl 0x336e1
movq -0x708(%rbp), %rdi
callq 0x5680
cmpl -0x4bc(%rbp), %eax
setle %al
movb %al, -0x831(%rbp)
movb -0x831(%rbp), %al
testb $0x1, %al
jne 0x336ed
jmp 0x336ef
jmp 0x3372b
leaq 0x26d24(%rip), %rdi     # 0x5a41a
leaq 0x269eb(%rip), %rsi     # 0x5a0e8
movl $0x1aa, %edx            # imm = 0x1AA
leaq 0x26b22(%rip), %rcx     # 0x5a22b
callq 0x31a0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x6d0(%rbp), %rdi
callq 0x5470
jmp 0x337ce
movb $0x1, -0x609(%rbp)
movl $0x1, -0x60(%rbp)
jmp 0x3374e
movl -0x4bc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x14(%rbp)
movl $0x0, -0x60(%rbp)
testb $0x1, -0x609(%rbp)
jne 0x33763
movq -0x708(%rbp), %rdi
callq 0x5470
leaq -0x600(%rbp), %rdi
callq 0x59e0
leaq -0x520(%rbp), %rdi
callq 0x5470
leaq -0x508(%rbp), %rdi
callq 0x5470
leaq -0x4f0(%rbp), %rdi
callq 0x6d30
leaq -0x4d8(%rbp), %rdi
callq 0x6d30
movl -0x60(%rbp), %eax
movl %eax, -0x838(%rbp)
testl %eax, %eax
je 0x337bb
jmp 0x337ae
movl -0x838(%rbp), %eax
subl $0x43, %eax
je 0x337bd
jmp 0x33834
jmp 0x337bd
leaq -0x4b0(%rbp), %rdi
callq 0x11370
jmp 0x32e08
movq -0x708(%rbp), %rdi
callq 0x5470
leaq -0x600(%rbp), %rdi
callq 0x59e0
leaq -0x520(%rbp), %rdi
callq 0x5470
leaq -0x508(%rbp), %rdi
callq 0x5470
leaq -0x4f0(%rbp), %rdi
callq 0x6d30
leaq -0x4d8(%rbp), %rdi
callq 0x6d30
jmp 0x3384e
movq -0x708(%rbp), %rdi
leaq 0x4da90a(%rip), %rsi    # 0x50e130
callq 0x56a0
jmp 0x3382d
movl $0x1, -0x60(%rbp)
leaq -0x4a0(%rbp), %rdi
callq 0x5470
leaq -0x468(%rbp), %rdi
callq 0x5470
jmp 0x33868
leaq -0x4a0(%rbp), %rdi
callq 0x5470
leaq -0x468(%rbp), %rdi
callq 0x5470
jmp 0x33876
leaq -0x288(%rbp), %rdi
callq 0x372e0
jmp 0x33884
leaq -0x288(%rbp), %rdi
callq 0x372e0
jmp 0x3389b
leaq -0xa0(%rbp), %rdi
callq 0x6d30
leaq -0x80(%rbp), %rdi
callq 0x6d30
jmp 0x338b2
leaq -0xa0(%rbp), %rdi
callq 0x6d30
leaq -0x80(%rbp), %rdi
callq 0x6d30
jmp 0x338bd
leaq -0x50(%rbp), %rdi
callq 0x57e0
jmp 0x338c8
leaq -0x50(%rbp), %rdi
callq 0x57e0
jmp 0x338d8
movq -0x700(%rbp), %rax
addq $0x8a0, %rsp            # imm = 0x8A0
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x3480
nopw %cs:(%rax,%rax)