// File: /workspace/github_cpp_makefile_star2_O1/BenLangmead[P]bowtie/ebwt_search.cpp
// Function: driver(char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, EList<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, 128> const&, EList<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, 128> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
static void driver(const char * type,
                   const string& ebwtFileBase,
                   const string& query,
                   const EList<string>& queries,
                   const EList<string>& qualities,
                   const string& outfile)
{
	if(verbose || startVerbose)  {
		cerr << "Entered driver(): "; logTime(cerr, true);
	}
	// Vector of the reference sequences; used for sanity-checking
	EList<BTRefString> os;
	// Read reference sequences from the command-line or from a FASTA file
	if(!origString.empty()) {
		// Determine if it's a file by looking at whether it has a FASTA-like
		// extension
		size_t len = origString.length();
		if((len >= 6 && origString.substr(len-6) == ".fasta") ||
		   (len >= 4 && origString.substr(len-4) == ".mfa")   ||
		   (len >= 4 && origString.substr(len-4) == ".fas")   ||
		   (len >= 4 && origString.substr(len-4) == ".fna")   ||
		   (len >= 3 && origString.substr(len-3) == ".fa"))
		{
			// Read fasta file
			EList<string> origFiles;
			tokenize(origString, ",", origFiles);
			readSequenceFiles(origFiles, os);
		} else {
			// Read sequence
			readSequenceString(origString, os);
		}
	}
	// Adjust
	adjustedEbwtFileBase = adjustEbwtBase(argv0, ebwtFileBase, verbose);
	bool isBt2Index = false;
	if (gEbwt_ext == "bt2" || gEbwt_ext == "bt2l") {
		isBt2Index = true;
	}


	EList<PatternSource*> patsrcs_a;
	EList<PatternSource*> patsrcs_b;
	EList<PatternSource*> patsrcs_ab;

	// If there were any first-mates specified, we will operate in
	// stateful mode
	bool paired = mates1.size() > 0 || mates12.size() > 0;
	if(paired) stateful = true;

	// Create list of pattern sources for paired reads appearing
	// interleaved in a single file
	if(verbose || startVerbose) {
		cerr << "Creating paired-end patsrcs: "; logTime(cerr, true);
	}
	for(size_t i = 0; i < mates12.size(); i++) {
		const EList<string>* qs = &mates12;
		EList<string> tmp;
		if(fileParallel) {
			// Feed query files one to each PatternSource
			qs = &tmp;
			tmp.push_back(mates12[i]);
			assert_eq(1, tmp.size());
		}
		patsrcs_ab.push_back(patsrcFromStrings(format, *qs, NULL));
		if(!fileParallel) {
			break;
		}
	}

	// Create list of pattern sources for paired reads
	for(size_t i = 0; i < mates1.size(); i++) {
		const EList<string>* qs = &mates1;
		const EList<string>* quals = &qualities1;
		EList<string> tmpSeq;
		EList<string> tmpQual;
		if(fileParallel) {
			// Feed query files one to each PatternSource
			qs = &tmpSeq;
			tmpSeq.push_back(mates1[i]);
			quals = &tmpSeq;
			tmpQual.push_back(qualities1[i]);
			assert_eq(1, tmpSeq.size());
		}
		if(quals->empty()) quals = NULL;
		patsrcs_a.push_back(patsrcFromStrings(format, *qs, quals));
		if(!fileParallel) {
			break;
		}
	}

	// Create list of pattern sources for paired reads
	for(size_t i = 0; i < mates2.size(); i++) {
		const EList<string>* qs = &mates2;
		const EList<string>* quals = &qualities2;
		EList<string> tmpSeq;
		EList<string> tmpQual;
		if(fileParallel) {
			// Feed query files one to each PatternSource
			qs = &tmpSeq;
			tmpSeq.push_back(mates2[i]);
			quals = &tmpQual;
			tmpQual.push_back(qualities2[i]);
			assert_eq(1, tmpSeq.size());
		}
		if(quals->empty()) quals = NULL;
		patsrcs_b.push_back(patsrcFromStrings(format, *qs, quals));
		if(!fileParallel) {
			break;
		}
	}
	// All mates/mate files must be paired
	assert_eq(patsrcs_a.size(), patsrcs_b.size());

	// Create list of pattern sources for the unpaired reads
	if(verbose || startVerbose) {
		cerr << "Creating single-end patsrcs: "; logTime(cerr, true);
	}
	for(size_t i = 0; i < queries.size(); i++) {
		const EList<string>* qs = &queries;
		const EList<string>* quals = &qualities;
		PatternSource* patsrc = NULL;
		EList<string> tmpSeq;
		EList<string> tmpQual;
		if(fileParallel) {
			// Feed query files one to each PatternSource
			qs = &tmpSeq;
			tmpSeq.push_back(queries[i]);
			quals = &tmpQual;
			tmpQual.push_back(qualities[i]);
			assert_eq(1, tmpSeq.size());
		}
		if(quals->empty()) quals = NULL;
		patsrc = patsrcFromStrings(format, *qs, quals);
		assert(patsrc != NULL);
		patsrcs_a.push_back(patsrc);
		patsrcs_b.push_back(NULL);
		if(!fileParallel) {
			break;
		}
	}

	if(verbose || startVerbose) {
		cerr << "Creating PatternSource: "; logTime(cerr, true);
	}
	PatternComposer *patsrc = NULL;
	if(mates12.size() > 0) {
		patsrc = new SoloPatternComposer(patsrcs_ab);
	} else {
		patsrc = new DualPatternComposer(patsrcs_a, patsrcs_b);
	}

	// Open hit output file
	if(verbose || startVerbose) {
		cerr << "Opening hit output file: "; logTime(cerr, true);
	}
	OutFileBuf *fout;
	if(!outfile.empty()) {
		fout = new OutFileBuf(outfile.c_str(), false);
	} else {
		fout = new OutFileBuf();
	}
	// Initialize Ebwt object and read in header
	if(verbose || startVerbose) {
		cerr << "About to initialize fw Ebwt: "; logTime(cerr, true);
	}
	Ebwt ebwt(adjustedEbwtFileBase,
	                -1,     // don't care about entireReverse
	                true,     // index is for the forward direction
	                /* overriding: */ offRate,
	                /* overriding: */ isaRate,
	                useMm,    // whether to use memory-mapped files
	                useShmem, // whether to use shared memory
	                mmSweep,  // sweep memory-mapped files
	                !noRefNames, // load names?
	                verbose, // whether to be talkative
	                startVerbose, // talkative during initialization
	                false /*passMemExc*/,
	                sanityCheck,
	                isBt2Index);
	Ebwt* ebwtBw = NULL;
	// We need the mirror index if mismatches are allowed
	if(mismatches > 0 || maqLike) {
		if(verbose || startVerbose) {
			cerr << "About to initialize rev Ebwt: "; logTime(cerr, true);
		}
		ebwtBw = new Ebwt(
			adjustedEbwtFileBase + ".rev",
			-1,     // don't care about entireReverse
			false, // index is for the reverse direction
			/* overriding: */ offRate,
			/* overriding: */ isaRate,
			useMm,    // whether to use memory-mapped files
			useShmem, // whether to use shared memory
			mmSweep,  // sweep memory-mapped files
			!noRefNames, // load names?
			verbose,  // whether to be talkative
			startVerbose, // talkative during initialization
			false /*passMemExc*/,
			sanityCheck,
	        isBt2Index);
	}
	if(!os.empty()) {
		for(size_t i = 0; i < os.size(); i++) {
			size_t olen = os[i].length();
			int longestStretch = 0;
			int curStretch = 0;
			for(size_t j = 0; j < olen; j++) {
				if((int)os[i][j] < 4) {
					curStretch++;
					if(curStretch > longestStretch) longestStretch = curStretch;
				} else {
					curStretch = 0;
				}
			}
			if(longestStretch < 1) {
				os.erase(i--);
			}
		}
	}
	if(sanityCheck && !os.empty()) {
		// Sanity check number of patterns and pattern lengths in Ebwt
		// against original strings
		assert_eq(os.size(), ebwt.nPat());
		for(size_t i = 0; i < os.size(); i++) {
			assert_eq(os[i].length(), ebwt.plen()[i]);
		}
		ebwt.loadIntoMemory(-1, !noRefNames, startVerbose);
		ebwt.checkOrigs(os, false);
		ebwt.evictFromMemory();
	}
	{
		Timer _t(cerr, "Time searching: ", timing);
		if(verbose || startVerbose) {
			cerr << "Creating HitSink: "; logTime(cerr, true);
		}
		// Set up hit sink; if sanityCheck && !os.empty() is true,
		// then instruct the sink to "retain" hits in a vector in
		// memory so that we can easily sanity check them later on
		HitSink *sink;
		EList<string>* refnames = &ebwt.refnames();
		if(noRefNames) refnames = NULL;
		if(outType == OUTPUT_FULL) {
			sink = new VerboseHitSink(
					*fout, offBase,
					printCost,
					suppressOuts,
					fullRef,
					dumpAlBase,
					dumpUnalBase,
					dumpMaxBase,
					format == TAB_MATE, sampleMax,
					refnames, nthreads,
					outBatchSz, partitionSz);
		} else if(outType == OUTPUT_SAM) {
			SAMHitSink *sam = new SAMHitSink(
				*fout,
				fullRef, samNoQnameTrunc,
				dumpAlBase,
				dumpUnalBase,
				dumpMaxBase,
				format == TAB_MATE,
				sampleMax,
				refnames,
				nthreads,
				outBatchSz,
				reorder);
			if(!samNoHead) {
				EList<string> refnames;
				if(!samNoSQ) {
					readEbwtRefnames(adjustedEbwtFileBase, refnames);
				}
				sam->appendHeaders(
					sam->out(),
					ebwt.nPat(),
					refnames, samNoSQ,
					ebwt.plen(), fullRef,
					samNoQnameTrunc,
					argstr.c_str(),
					rgs.empty() ? NULL : rgs.c_str());
			}
			sink = sam;
		} else {
			cerr << "Invalid output type: " << outType << endl;
			throw 1;
		}
		if(verbose || startVerbose) {
			cerr << "Dispatching to search driver: "; logTime(cerr, true);
		}
		if(maqLike) {
			seededQualCutoffSearchFull(seedLen,
									   qualThresh,
									   seedMms,
									   *patsrc,
									   *sink,
									   ebwt,    // forward index
									   *ebwtBw, // mirror index (not optional)
									   os);     // references, if available
		}
		else if(mismatches > 0) {
			if(mismatches == 1) {
				assert(ebwtBw != NULL);
				mismatchSearchFull(*patsrc, *sink, ebwt, *ebwtBw, os);
			} else if(mismatches == 2 || mismatches == 3) {
				twoOrThreeMismatchSearchFull(*patsrc, *sink, ebwt, *ebwtBw, os, mismatches == 2);
			} else {
				cerr << "Error: " << mismatches << " is not a supported number of mismatches" << endl;
				throw 1;
			}
		} else {
			// Search without mismatches
			// Note that --fast doesn't make a difference here because
			// we're only loading half of the index anyway
			exactSearch(*patsrc, *sink, ebwt, os);
		}
		// Evict any loaded indexes from memory
		if(ebwt.isInMemory()) {
			ebwt.evictFromMemory();
		}
		if(ebwtBw != NULL) {
			delete ebwtBw;
		}
		sink->finish(hadoopOut); // end the hits section of the hit file
		for(size_t i = 0; i < patsrcs_a.size(); i++) {
			assert(patsrcs_a[i] != NULL);
			delete patsrcs_a[i];
		}
		for(size_t i = 0; i < patsrcs_b.size(); i++) {
			if(patsrcs_b[i] != NULL) {
				delete patsrcs_b[i];
			}
		}
		for(size_t i = 0; i < patsrcs_ab.size(); i++) {
			if(patsrcs_ab[i] != NULL) {
				delete patsrcs_ab[i];
			}
		}
		delete patsrc;
		delete sink;
		if(fout != NULL) delete fout;
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x42298, %rsp          # imm = 0x42298
movq %rsi, 0x100(%rsp)
movq %rdi, %rbx
cmpb $0x0, 0x5c325(%rip)     # 0x6e23d
jne 0x11f23
cmpb $0x1, 0x5c307(%rip)     # 0x6e228
jne 0x11f40
movq 0x590c6(%rip), %rdi     # 0x6aff0
leaq 0x4427a(%rip), %rsi     # 0x561ab
movl $0x12, %edx
callq 0x9560
callq 0xd89c
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x108(%rsp)
xorl %eax, %eax
movq %rax, 0x110(%rsp)
movq $0x80, 0x118(%rsp)
movq %rax, 0x120(%rsp)
movq 0x5c0f9(%rip), %r15     # 0x6e070
testq %r15, %r15
movq %rbx, 0x38(%rsp)
je 0x1265c
cmpq $0x6, %r15
setae %bpl
jb 0x11fca
leaq -0x6(%r15), %rdx
leaq 0x5c0ce(%rip), %rsi     # 0x6e068
leaq 0x210(%rsp), %rdi
movq $-0x1, %rcx
callq 0x94e0
leaq 0x44209(%rip), %rsi     # 0x561be
leaq 0x210(%rsp), %rdi
callq 0x9140
testl %eax, %eax
je 0x120de
cmpq $0x4, %r15
setae %r14b
jb 0x1208a
leaq -0x4(%r15), %rbx
leaq 0x5c085(%rip), %rsi     # 0x6e068
leaq 0x1f0(%rsp), %rdi
movq %rbx, %rdx
movq $-0x1, %rcx
callq 0x94e0
leaq 0x4300e(%rip), %rsi     # 0x5500f
leaq 0x1f0(%rsp), %rdi
callq 0x9140
testl %eax, %eax
je 0x120e6
leaq 0x5c04b(%rip), %rsi     # 0x6e068
leaq 0x1d0(%rsp), %rdi
movq %rbx, %rdx
movq $-0x1, %rcx
callq 0x94e0
leaq 0x4418a(%rip), %rsi     # 0x561c5
leaq 0x1d0(%rsp), %rdi
callq 0x9140
testl %eax, %eax
je 0x120f1
leaq 0x5c011(%rip), %rsi     # 0x6e068
leaq 0x1b0(%rsp), %rdi
movq %rbx, %rdx
movq $-0x1, %rcx
callq 0x94e0
leaq 0x44155(%rip), %rsi     # 0x561ca
leaq 0x1b0(%rsp), %rdi
callq 0x9140
testl %eax, %eax
je 0x1531f
cmpq $0x3, %r15
jb 0x120d2
leaq -0x3(%r15), %rdx
leaq 0x5bfcd(%rip), %rsi     # 0x6e068
leaq 0x230(%rsp), %rdi
movq $-0x1, %rcx
callq 0x94e0
leaq 0x44119(%rip), %rsi     # 0x561cf
leaq 0x230(%rsp), %rdi
callq 0x9140
testl %eax, %eax
sete %bl
movb $0x1, %al
movl %r14d, %r15d
movl %r14d, %r12d
jmp 0x120fe
xorl %eax, %eax
movl %r14d, %r15d
movl %r14d, %r12d
xorl %ebx, %ebx
jmp 0x120fe
movb $0x1, %bpl
xorl %r14d, %r14d
jmp 0x120e9
movb $0x1, %r14b
xorl %r15d, %r15d
xorl %r12d, %r12d
jmp 0x120fa
movb $0x1, %r14b
xorl %r12d, %r12d
movb $0x1, %r15b
xorl %eax, %eax
movb $0x1, %bl
testb %al, %al
je 0x12123
leaq 0x240(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x12123
movq 0x240(%rsp), %rsi
incq %rsi
callq 0x94c0
testb %r12b, %r12b
je 0x12149
leaq 0x1c0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x12149
movq 0x1c0(%rsp), %rsi
incq %rsi
callq 0x94c0
testb %r15b, %r15b
je 0x1216f
leaq 0x1e0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1216f
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x94c0
testb %r14b, %r14b
je 0x12195
leaq 0x200(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x12195
movq 0x200(%rsp), %rsi
incq %rsi
callq 0x94c0
testb %bpl, %bpl
je 0x121bb
leaq 0x220(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x121bb
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x94c0
testb %bl, %bl
je 0x12630
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x128(%rsp)
xorl %eax, %eax
movq %rax, 0x130(%rsp)
movq $0x80, 0x138(%rsp)
movq %rax, 0x140(%rsp)
leaq 0x260(%rsp), %rbx
movq %rbx, -0x10(%rbx)
leaq 0x451ee(%rip), %rsi     # 0x573f4
leaq 0x451e8(%rip), %rdx     # 0x573f5
leaq 0x250(%rsp), %rdi
callq 0x1dde4
leaq 0x5be47(%rip), %rdi     # 0x6e068
leaq 0x250(%rsp), %rsi
leaq 0x128(%rsp), %rdx
movq $-0x1, %rcx
callq 0x11ddd
movq 0x250(%rsp), %rdi
cmpq %rbx, %rdi
je 0x1225a
movq 0x260(%rsp), %rsi
incq %rsi
callq 0x94c0
cmpq $0x0, 0x140(%rsp)
je 0x12621
movl $0xffffffff, %r14d      # imm = 0xFFFFFFFF
leaq 0x42778(%rip), %r12     # 0x549ee
leaq 0x40(%rsp), %rbp
leaq 0x148(%rsp), %r13
xorl %r15d, %r15d
movq 0x130(%rsp), %rbx
movq %r15, 0x60(%rsp)
shlq $0x5, %r15
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x78(%rsp)
xorl %ecx, %ecx
movq %rcx, 0x80(%rsp)
movl $0x80, %edx
movq %rdx, 0x88(%rsp)
movq %rcx, 0x90(%rsp)
movq %rax, 0x18(%rsp)
movq %rcx, 0x20(%rsp)
movq %rdx, 0x28(%rsp)
movq %rcx, 0x30(%rsp)
movq (%rbx,%r15), %rdi
movq %r12, %rsi
callq 0x9530
testq %rax, %rax
je 0x15334
addq %r15, %rbx
xorps %xmm0, %xmm0
movaps %xmm0, 0x250(%rsp)
movaps %xmm0, 0x260(%rsp)
movl $0x40000, %ecx          # imm = 0x40000
movq %rcx, 0x278(%rsp)
movq %rcx, 0x270(%rsp)
movb $0x0, 0x280(%rsp)
movq $0x0, 0x40288(%rsp)
movq %rax, 0x250(%rsp)
movq $0x0, 0x40(%rsp)
leaq 0x78(%rsp), %rdi
movq %rbp, %rsi
callq 0x1f180
movq $0x0, 0x40(%rsp)
leaq 0x18(%rsp), %rdi
movq %rbp, %rsi
callq 0x1f180
movq 0x80(%rsp), %rax
movq 0x90(%rsp), %rcx
leaq (%rax,%rcx,8), %rsi
addq $-0x8, %rsi
movq 0x20(%rsp), %rax
movq 0x30(%rsp), %rcx
leaq -0x8(%rax,%rcx,8), %rdx
leaq 0x250(%rsp), %rdi
xorl %ecx, %ecx
callq 0x1f206
movq 0x20(%rsp), %rcx
movq 0x30(%rsp), %rax
cmpq $0x0, -0x8(%rcx,%rax,8)
jne 0x123b9
decq 0x90(%rsp)
decq %rax
movq %rax, 0x30(%rsp)
movq 0x270(%rsp), %rax
cmpq 0x278(%rsp), %rax
jne 0x12335
testb $0x1, 0x280(%rsp)
je 0x12335
leaq 0x250(%rsp), %rdi
callq 0x1f68c
movq (%rbx), %rdi
movq %r12, %rsi
callq 0x9530
testq %rax, %rax
je 0x15379
xorps %xmm0, %xmm0
movaps %xmm0, 0x250(%rsp)
movaps %xmm0, 0x260(%rsp)
movl $0x40000, %ecx          # imm = 0x40000
movq %rcx, 0x278(%rsp)
movq %rcx, 0x270(%rsp)
movb $0x0, 0x280(%rsp)
movq $0x0, 0x40288(%rsp)
movq %rax, 0x250(%rsp)
xorl %r12d, %r12d
leaq 0x50(%rsp), %rax
movq %rax, 0x40(%rsp)
movq $0x0, 0x48(%rsp)
movb $0x0, 0x50(%rsp)
movq 0x80(%rsp), %rax
movq (%rax,%r12), %rsi
incq %rsi
movq %rbp, %rdi
callq 0x97d0
movq 0x20(%rsp), %rax
movq (%rax,%r12), %r15
movq %r15, %rdi
callq 0x9030
movq %rax, %rbx
leaq 0x57331(%rip), %rax     # 0x697c0
movq %rax, 0x148(%rsp)
leaq 0x150(%rsp), %rax
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
testq %r15, %r15
je 0x124d0
movq %r13, %rdi
movq %r15, %rsi
callq 0x1b272
movq 0x150(%rsp), %rdi
movq %rbx, %rsi
movq %r15, %rdx
callq 0x93c0
leaq 0x108(%rsp), %rdi
movq %r13, %rsi
callq 0x1efca
movq %r13, %rdi
callq 0x1b340
movq 0x110(%rsp), %rax
movq 0x120(%rsp), %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdx
addq $-0x20, %rdx
leaq 0x250(%rsp), %rdi
movq %rbp, %rsi
xorl %ecx, %ecx
callq 0x1f04a
movq 0x110(%rsp), %rax
movq 0x120(%rsp), %rdx
movq %rdx, %rcx
shlq $0x5, %rcx
movq -0x8(%rax,%rcx), %rsi
testq %rsi, %rsi
je 0x12554
movq %r14, %rdx
subq %rsi, %rdx
jge 0x12561
leaq (%rax,%rcx), %rdi
addq $-0x20, %rdi
movq %r14, %rsi
callq 0x1b272
xorl %r14d, %r14d
jmp 0x12564
decq %rdx
movq %rdx, 0x120(%rsp)
jmp 0x12564
movq %rdx, %r14
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x12580
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x94c0
movq 0x270(%rsp), %rax
addq $0x8, %r12
cmpq 0x278(%rsp), %rax
jne 0x12445
testb $0x1, 0x280(%rsp)
je 0x12445
leaq 0x250(%rsp), %rdi
callq 0x1f68c
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
leaq 0x4242a(%rip), %r12     # 0x549ee
je 0x125de
callq 0x95e0
leaq 0x20(%rsp), %rax
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x12606
callq 0x95e0
leaq 0x80(%rsp), %rax
xorps %xmm0, %xmm0
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
testq %r14, %r14
movq 0x60(%rsp), %r15
jle 0x12621
incq %r15
cmpq 0x140(%rsp), %r15
jb 0x12286
leaq 0x128(%rsp), %rdi
callq 0x1fefe
jmp 0x1265c
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
leaq 0x250(%rsp), %rdx
movq %rax, (%rdx)
leaq 0x5ba21(%rip), %rdi     # 0x6e068
leaq 0x108(%rsp), %rsi
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
xorl %r8d, %r8d
callq 0x1f6c7
movq 0x5bbcd(%rip), %rsi     # 0x6e230
leaq 0x78(%rsp), %rdi
leaq 0x18(%rsp), %rdx
callq 0x1b200
movzbl 0x5bbc4(%rip), %ecx     # 0x6e23d
leaq 0x5bb58(%rip), %rdx     # 0x6e1d8
leaq 0x250(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0x4b514
leaq 0x5b9a7(%rip), %rdi     # 0x6e040
leaq 0x250(%rsp), %rbx
movq %rbx, %rsi
callq 0x95b0
movq (%rbx), %rdi
leaq 0x260(%rsp), %rax
cmpq %rax, %rdi
je 0x126c9
movq 0x260(%rsp), %rsi
incq %rsi
callq 0x94c0
leaq 0x88(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x126ea
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x94c0
leaq 0x5bd17(%rip), %rdi     # 0x6e408
leaq 0x43adb(%rip), %rsi     # 0x561d3
callq 0x9140
testl %eax, %eax
je 0x12722
leaq 0x5bd00(%rip), %rdi     # 0x6e408
leaq 0x43ac8(%rip), %rsi     # 0x561d7
callq 0x9140
testl %eax, %eax
je 0x12722
movl $0x0, 0x70(%rsp)
jmp 0x12728
movb $0x1, %al
movl %eax, 0x70(%rsp)
movabsq $-0x100000000, %rdx     # imm = 0xFFFFFFFF00000000
movq %rdx, 0x148(%rsp)
xorl %eax, %eax
movq %rax, 0x150(%rsp)
movl $0x80, %ecx
movq %rcx, 0x158(%rsp)
movq %rax, 0x160(%rsp)
movq %rdx, 0x128(%rsp)
movq %rax, 0x130(%rsp)
movq %rcx, 0x138(%rsp)
movq %rax, 0x140(%rsp)
movq %rdx, 0x170(%rsp)
movq %rax, 0x178(%rsp)
movq %rcx, 0x180(%rsp)
movq %rax, 0x188(%rsp)
movq 0x5b898(%rip), %rax     # 0x6e038
orq 0x5b851(%rip), %rax     # 0x6dff8
je 0x127b0
movb $0x1, 0x5bb15(%rip)     # 0x6e2c5
cmpb $0x0, 0x5ba86(%rip)     # 0x6e23d
jne 0x127c2
cmpb $0x1, 0x5ba68(%rip)     # 0x6e228
jne 0x127df
movq 0x58827(%rip), %rdi     # 0x6aff0
leaq 0x43a0c(%rip), %rsi     # 0x561dc
movl $0x1d, %edx
callq 0x9560
callq 0xd89c
cmpq $0x0, 0x5b851(%rip)     # 0x6e038
je 0x128a6
xorl %r14d, %r14d
leaq 0x170(%rsp), %r15
leaq 0x78(%rsp), %r12
xorl %ebp, %ebp
xorl %ebx, %ebx
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x250(%rsp)
movq %r14, 0x258(%rsp)
movq $0x80, 0x260(%rsp)
movq %r14, 0x268(%rsp)
cmpb $0x1, 0x5ba8b(%rip)     # 0x6e2c1
leaq 0x5b7e3(%rip), %rsi     # 0x6e020
jne 0x1285c
movq 0x5b7e2(%rip), %rsi     # 0x6e028
addq %rbp, %rsi
leaq 0x250(%rsp), %r13
movq %r13, %rdi
callq 0x1c634
movq %r13, %rsi
movl 0x5b9de(%rip), %edi     # 0x6e240
xorl %edx, %edx
callq 0x15db8
movq %rax, 0x78(%rsp)
movq %r15, %rdi
movq %r12, %rsi
callq 0x1dff6
movb 0x5ba41(%rip), %r13b    # 0x6e2c1
leaq 0x250(%rsp), %rdi
callq 0x1fefe
testb %r13b, %r13b
je 0x128a6
incq %rbx
addq $0x20, %rbp
cmpq 0x5b798(%rip), %rbx     # 0x6e038
jb 0x12801
cmpq $0x0, 0x5b74a(%rip)     # 0x6dff8
je 0x129b3
xorl %ebp, %ebp
movl $0x80, %r14d
leaq 0x250(%rsp), %rbx
xorl %r12d, %r12d
xorl %r13d, %r13d
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x250(%rsp)
movq %rbp, 0x258(%rsp)
movq %r14, 0x260(%rsp)
movq %rbp, 0x268(%rsp)
movq %rax, 0x78(%rsp)
movq %rbp, 0x80(%rsp)
movq %r14, 0x88(%rsp)
movq %rbp, 0x90(%rsp)
cmpb $0x1, 0x5b9a9(%rip)     # 0x6e2c1
leaq 0x5b6c1(%rip), %rsi     # 0x6dfe0
leaq 0x5b84a(%rip), %rdx     # 0x6e170
jne 0x12954
movq 0x5b6b9(%rip), %rsi     # 0x6dfe8
addq %r12, %rsi
movq %rbx, %rdi
callq 0x1c634
movq 0x5b837(%rip), %rsi     # 0x6e178
addq %r12, %rsi
leaq 0x78(%rsp), %rdi
callq 0x1c634
movq %rbx, %rsi
movq %rbx, %rdx
movq 0x18(%rdx), %rax
testq %rax, %rax
cmoveq %rax, %rdx
movl 0x5b8db(%rip), %edi     # 0x6e240
callq 0x15db8
movq %rax, 0x18(%rsp)
leaq 0x148(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x1dff6
movb 0x5b939(%rip), %r15b    # 0x6e2c1
leaq 0x78(%rsp), %rdi
callq 0x1fefe
movq %rbx, %rdi
callq 0x1fefe
testb %r15b, %r15b
je 0x129b3
incq %r13
addq $0x20, %r12
cmpq 0x5b64b(%rip), %r13     # 0x6dff8
jb 0x128ca
cmpq $0x0, 0x5b65d(%rip)     # 0x6e018
movq 0x38(%rsp), %r12
je 0x12acd
xorl %r14d, %r14d
movl $0x80, %r13d
leaq 0x250(%rsp), %rbx
xorl %ebp, %ebp
xorl %r15d, %r15d
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x250(%rsp)
movq %r14, 0x258(%rsp)
movq %r13, 0x260(%rsp)
movq %r14, 0x268(%rsp)
movq %rax, 0x78(%rsp)
movq %r14, 0x80(%rsp)
movq %r13, 0x88(%rsp)
movq %r14, 0x90(%rsp)
cmpb $0x1, 0x5b897(%rip)     # 0x6e2c1
leaq 0x5b5cf(%rip), %rsi     # 0x6e000
leaq 0x5b758(%rip), %rdx     # 0x6e190
jne 0x12a69
movq 0x5b5c7(%rip), %rsi     # 0x6e008
addq %rbp, %rsi
movq %rbx, %rdi
callq 0x1c634
movq 0x5b745(%rip), %rsi     # 0x6e198
addq %rbp, %rsi
leaq 0x78(%rsp), %r12
movq %r12, %rdi
callq 0x1c634
movq %rbx, %rsi
movq %r12, %rdx
movq 0x18(%rdx), %rax
testq %rax, %rax
cmoveq %rax, %rdx
movl 0x5b7c6(%rip), %edi     # 0x6e240
callq 0x15db8
movq %rax, 0x18(%rsp)
leaq 0x128(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x1dff6
movb 0x5b824(%rip), %r12b    # 0x6e2c1
leaq 0x78(%rsp), %rdi
callq 0x1fefe
movq %rbx, %rdi
callq 0x1fefe
testb %r12b, %r12b
movq 0x38(%rsp), %r12
je 0x12acd
incq %r15
addq $0x20, %rbp
cmpq 0x5b551(%rip), %r15     # 0x6e018
jb 0x129dc
cmpb $0x0, 0x5b769(%rip)     # 0x6e23d
jne 0x12adf
cmpb $0x1, 0x5b74b(%rip)     # 0x6e228
jne 0x12afc
movq 0x5850a(%rip), %rdi     # 0x6aff0
leaq 0x4370d(%rip), %rsi     # 0x561fa
movl $0x1d, %edx
callq 0x9560
callq 0xd89c
cmpq $0x0, 0x18(%r12)
je 0x12c24
xorl %r15d, %r15d
leaq 0x250(%rsp), %rbx
leaq 0x78(%rsp), %r14
xorl %ebp, %ebp
xorl %r13d, %r13d
movq %r15, 0x18(%rsp)
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x250(%rsp)
movq %r15, 0x258(%rsp)
movl $0x80, %ecx
movq %rcx, 0x260(%rsp)
movq %r15, 0x268(%rsp)
movq %rax, 0x78(%rsp)
movq %r15, 0x80(%rsp)
movq %rcx, 0x88(%rsp)
movq %r15, 0x90(%rsp)
cmpb $0x1, 0x5b74c(%rip)     # 0x6e2c1
movq %r12, %rsi
leaq 0x5b5d1(%rip), %rdx     # 0x6e150
jne 0x12ba9
movq 0x8(%r12), %rsi
addq %rbp, %rsi
movq %rbx, %rdi
callq 0x1c634
movq 0x5b5c0(%rip), %rsi     # 0x6e158
addq %rbp, %rsi
movq %r14, %rdi
callq 0x1c634
movq %rbx, %rsi
movq %r14, %rdx
movq 0x18(%rdx), %rax
testq %rax, %rax
cmoveq %rax, %rdx
movl 0x5b686(%rip), %edi     # 0x6e240
callq 0x15db8
movq %rax, 0x18(%rsp)
leaq 0x148(%rsp), %rdi
leaq 0x18(%rsp), %rsi
callq 0x1dff6
movq $0x0, 0x40(%rsp)
leaq 0x128(%rsp), %rdi
leaq 0x40(%rsp), %rsi
callq 0x1dff6
movb 0x5b6c9(%rip), %r12b    # 0x6e2c1
movq %r14, %rdi
callq 0x1fefe
movq %rbx, %rdi
callq 0x1fefe
testb %r12b, %r12b
movq 0x38(%rsp), %r12
je 0x12c24
incq %r13
addq $0x20, %rbp
cmpq 0x18(%r12), %r13
jb 0x12b1d
cmpb $0x0, 0x5b612(%rip)     # 0x6e23d
jne 0x12c36
cmpb $0x1, 0x5b5f4(%rip)     # 0x6e228
jne 0x12c53
movq 0x583b3(%rip), %rdi     # 0x6aff0
leaq 0x435d4(%rip), %rsi     # 0x56218
movl $0x18, %edx
callq 0x9560
callq 0xd89c
cmpq $0x0, 0x5b3dd(%rip)     # 0x6e038
je 0x12ccd
movl $0x30, %edi
callq 0x94b0
movq %rax, 0x60(%rsp)
movq 0x100(%rsp), %r14
leaq 0x88(%rsp), %rbp
movq 0x60(%rsp), %rcx
movb $0x0, 0x8(%rcx)
leaq 0x57f1c(%rip), %rax     # 0x6aba8
addq $0x10, %rax
movq %rax, (%rcx)
movl $0x0, 0xc(%rcx)
movq %rcx, %rdi
addq $0x10, %rdi
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x10(%rcx)
xorps %xmm0, %xmm0
movups %xmm0, 0x18(%rcx)
movq $0x0, 0x28(%rcx)
leaq 0x170(%rsp), %rsi
callq 0x200fc
jmp 0x12d06
movl $0x50, %edi
callq 0x94b0
movq %rax, 0x60(%rsp)
movq 0x100(%rsp), %r14
leaq 0x88(%rsp), %rbp
leaq 0x148(%rsp), %rsi
leaq 0x128(%rsp), %rdx
movq 0x60(%rsp), %rdi
callq 0x1e07c
cmpb $0x0, 0x5b530(%rip)     # 0x6e23d
jne 0x12d18
cmpb $0x1, 0x5b512(%rip)     # 0x6e228
jne 0x12d35
movq 0x582d1(%rip), %rdi     # 0x6aff0
leaq 0x4350b(%rip), %rsi     # 0x56231
movl $0x19, %edx
callq 0x9560
callq 0xd89c
cmpq $0x0, 0x8(%r14)
je 0x12d58
movl $0x4020, %edi           # imm = 0x4020
callq 0x94b0
movq %rax, %rbx
movq (%r14), %rsi
movq %rax, %rdi
xorl %edx, %edx
callq 0x1e11c
jmp 0x12d8c
movl $0x4020, %edi           # imm = 0x4020
callq 0x94b0
movq %rax, %rbx
leaq 0x4364c(%rip), %rax     # 0x563b8
movq %rax, (%rbx)
movq $0x0, 0x10(%rbx)
movb $0x0, 0x4018(%rbx)
movq 0x581bb(%rip), %rax     # 0x6af40
movq (%rax), %rax
movq %rax, 0x8(%rbx)
cmpb $0x0, 0x5b4aa(%rip)     # 0x6e23d
jne 0x12d9e
cmpb $0x1, 0x5b48c(%rip)     # 0x6e228
jne 0x12dbb
movq 0x5824b(%rip), %rdi     # 0x6aff0
leaq 0x4349f(%rip), %rsi     # 0x5624b
movl $0x1d, %edx
callq 0x9560
callq 0xd89c
movq %rbx, 0x100(%rsp)
movl 0x5b49a(%rip), %r8d     # 0x6e264
movl 0x5b497(%rip), %r9d     # 0x6e268
movzbl 0x5b4eb(%rip), %eax     # 0x6e2c3
movzbl 0x5b4e2(%rip), %r10d    # 0x6e2c2
movzbl 0x5b4dc(%rip), %r11d    # 0x6e2c4
movzbl 0x5b4b0(%rip), %r14d    # 0x6e2a0
movzbl 0x5b445(%rip), %r15d    # 0x6e23d
movzbl 0x5b428(%rip), %r12d    # 0x6e228
movzbl 0x5b43c(%rip), %r13d    # 0x6e244
subq $0x8, %rsp
movzbl 0x78(%rsp), %ebx
xorl $0x1, %r14d
leaq 0x5b224(%rip), %rsi     # 0x6e040
leaq 0x258(%rsp), %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
movl $0x1, %ecx
pushq %rbx
pushq %r13
pushq $0x0
pushq %r12
pushq %r15
pushq %r14
pushq %r11
pushq %r10
pushq %rax
callq 0x1e1ac
addq $0x50, %rsp
cmpl $0x0, 0x5b41e(%rip)     # 0x6e26c
jg 0x12e67
testb $0x1, 0x5b41d(%rip)     # 0x6e274
jne 0x12e67
movq $0x0, 0x38(%rsp)
jmp 0x12f68
cmpb $0x0, 0x5b3cf(%rip)     # 0x6e23d
jne 0x12e79
cmpb $0x1, 0x5b3b1(%rip)     # 0x6e228
jne 0x12e96
movq 0x58170(%rip), %rdi     # 0x6aff0
leaq 0x433e2(%rip), %rsi     # 0x56269
movl $0x1e, %edx
callq 0x9560
callq 0xd89c
movl $0x188, %edi            # imm = 0x188
callq 0x94b0
movq %rax, 0x38(%rsp)
leaq 0x78(%rsp), %rdi
movq %rbp, (%rdi)
movq 0x5b18c(%rip), %rsi     # 0x6e040
movq 0x5b18d(%rip), %rdx     # 0x6e048
addq %rsi, %rdx
callq 0x20aae
leaq 0x433be(%rip), %rsi     # 0x56288
leaq 0x78(%rsp), %rdi
callq 0x99f0
movl 0x5b389(%rip), %r8d     # 0x6e264
movl 0x5b386(%rip), %r9d     # 0x6e268
movzbl 0x5b3da(%rip), %eax     # 0x6e2c3
movzbl 0x5b3d1(%rip), %r10d    # 0x6e2c2
movzbl 0x5b3cb(%rip), %r11d    # 0x6e2c4
movzbl 0x5b39f(%rip), %r14d    # 0x6e2a0
movzbl 0x5b334(%rip), %r15d    # 0x6e23d
movzbl 0x5b317(%rip), %r12d    # 0x6e228
movzbl 0x5b32b(%rip), %r13d    # 0x6e244
subq $0x8, %rsp
xorl $0x1, %r14d
leaq 0x80(%rsp), %rsi
movq 0x40(%rsp), %rdi
movl $0xffffffff, %edx       # imm = 0xFFFFFFFF
xorl %ecx, %ecx
pushq %rbx
pushq %r13
pushq $0x0
pushq %r12
pushq %r15
pushq %r14
pushq %r11
pushq %r10
pushq %rax
callq 0x1e1ac
addq $0x50, %rsp
movq 0x78(%rsp), %rdi
cmpq %rbp, %rdi
je 0x12f68
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x94c0
movq 0x120(%rsp), %rax
testq %rax, %rax
je 0x1302c
xorl %ebx, %ebx
xorl %r14d, %r14d
movq 0x110(%rsp), %rdx
movq %r14, %r15
shlq $0x5, %r15
movq 0x18(%rdx,%r15), %rcx
testq %rcx, %rcx
je 0x12fce
addq %r15, %rdx
movq 0x8(%rdx), %rdx
xorl %esi, %esi
xorl %r8d, %r8d
xorl %edi, %edi
movl %edi, %r9d
cmpl %edi, %r8d
leal 0x1(%r8), %r8d
movl %r8d, %edi
cmovll %r9d, %edi
cmpb $0x4, (%rdx,%rsi)
cmovgel %r9d, %edi
cmovgel %ebx, %r8d
incq %rsi
cmpq %rsi, %rcx
jne 0x12fa5
testl %edi, %edi
jg 0x13018
decq %rax
cmpq %r14, %rax
jbe 0x1300d
movq %r14, %r12
movq 0x110(%rsp), %rax
leaq (%rax,%r15), %rdi
movq (%rax,%r15), %rcx
movq 0x28(%rax,%r15), %rsi
movq 0x38(%rax,%r15), %rdx
callq *0x10(%rcx)
incq %r12
movq 0x120(%rsp), %rax
decq %rax
addq $0x20, %r15
cmpq %rax, %r12
jb 0x12fd9
decq %r14
movq %rax, 0x120(%rsp)
incq %r14
movq 0x120(%rsp), %rax
cmpq %rax, %r14
jb 0x12f7e
cmpb $0x1, 0x5b211(%rip)     # 0x6e244
jne 0x13091
cmpq $0x0, 0x120(%rsp)
je 0x13091
movzbl 0x5b258(%rip), %r9d     # 0x6e2a0
movzbl 0x5b1d9(%rip), %eax     # 0x6e228
subq $0x8, %rsp
xorl $0x1, %r9d
leaq 0x258(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
pushq %rax
callq 0xb9c6
addq $0x10, %rsp
leaq 0x250(%rsp), %rdi
xorl %edx, %edx
callq 0xb97e
leaq 0x250(%rsp), %rdi
callq 0x1e5ec
movb 0x5b1a5(%rip), %bl      # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, 0x190(%rsp)
movq 0x57f43(%rip), %rax     # 0x6aff0
movq %rax, 0x198(%rsp)
leaq 0x431d1(%rip), %rax     # 0x5628d
movq %rax, 0x1a0(%rsp)
movb %bl, 0x1a8(%rsp)
cmpb $0x0, 0x5b16b(%rip)     # 0x6e23d
jne 0x130dd
cmpb $0x1, 0x5b14d(%rip)     # 0x6e228
jne 0x130fa
movq 0x57f0c(%rip), %rdi     # 0x6aff0
leaq 0x431b3(%rip), %rsi     # 0x5629e
movl $0x12, %edx
callq 0x9560
callq 0xd89c
leaq 0x318(%rsp), %rax
xorl %ebx, %ebx
cmpb $0x0, 0x5b195(%rip)     # 0x6e2a0
cmoveq %rax, %rbx
movl 0x5b187(%rip), %eax     # 0x6e29c
cmpl $0x1, %eax
je 0x1328d
cmpl $0x4, %eax
jne 0x153cd
movl $0x1f8, %edi            # imm = 0x1F8
callq 0x94b0
movq %rax, %r12
movb 0x5b1de(%rip), %bpl     # 0x6e319
movb 0x5b1d8(%rip), %r14b    # 0x6e31a
xorl %r9d, %r9d
cmpl $0x5, 0x5b0f4(%rip)     # 0x6e240
sete %r9b
movzbl 0x5b1c6(%rip), %eax     # 0x6e31d
movslq 0x5b12e(%rip), %r10     # 0x6e28c
movslq 0x5b153(%rip), %r11     # 0x6e2b8
movzbl 0x5b123(%rip), %r15d    # 0x6e290
subq $0x8, %rsp
leaq 0x5af30(%rip), %rdx     # 0x6e0a8
leaq 0x5af49(%rip), %rcx     # 0x6e0c8
leaq 0x5af62(%rip), %r8      # 0x6e0e8
movq %r12, %rdi
movq 0x108(%rsp), %rsi
pushq %r15
pushq %r11
pushq %r10
pushq %rbx
pushq %rax
callq 0x2020e
addq $0x30, %rsp
leaq 0x57aaf(%rip), %rax     # 0x6ac58
addq $0x10, %rax
movq %rax, (%r12)
movb %bpl, 0x1f1(%r12)
movb %r14b, 0x1f2(%r12)
cmpb $0x0, 0x5b153(%rip)     # 0x6e31b
jne 0x1331e
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x40(%rsp)
xorl %eax, %eax
movq %rax, 0x48(%rsp)
movq $0x80, 0x50(%rsp)
movq %rax, 0x58(%rsp)
cmpb $0x0, 0x5b123(%rip)     # 0x6e31c
movq 0x57df0(%rip), %r15     # 0x6aff0
jne 0x1371d
leaq 0x28(%rsp), %r14
movq %r14, -0x10(%r14)
movq 0x5ae2a(%rip), %rsi     # 0x6e040
movq 0x5ae2b(%rip), %rdx     # 0x6e048
addq %rsi, %rdx
leaq 0x18(%rsp), %rdi
callq 0x20aae
leaq 0x4318c(%rip), %rsi     # 0x563bd
leaq 0x18(%rsp), %rdi
callq 0x99f0
leaq 0x88(%rsp), %rbx
leaq 0x5b1be(%rip), %rax     # 0x6e408
movq (%rax), %rsi
movq 0x8(%rax), %rdx
leaq 0x18(%rsp), %rdi
callq 0x9170
movq %rbx, 0x78(%rsp)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
movq %r12, 0x70(%rsp)
je 0x1332a
movq %rdx, 0x78(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x88(%rsp)
jmp 0x13330
movl $0x228, %edi            # imm = 0x228
callq 0x94b0
movl 0x5b04b(%rip), %edx     # 0x6e2e8
movzbl 0x5b080(%rip), %ecx     # 0x6e324
movzbl 0x5b06d(%rip), %r9d     # 0x6e319
xorl %r13d, %r13d
cmpl $0x5, 0x5af8a(%rip)     # 0x6e240
sete %r13b
movzbl 0x5b05b(%rip), %r10d    # 0x6e31d
movslq 0x5afc3(%rip), %r11     # 0x6e28c
movl 0x5afe0(%rip), %r14d    # 0x6e2b0
subq $0x8, %rsp
leaq 0x5ae0d(%rip), %r15     # 0x6e0e8
leaq 0x5ade6(%rip), %r12     # 0x6e0c8
movq %rax, %rdi
leaq 0x5adbc(%rip), %rax     # 0x6e0a8
leaq 0x5ae35(%rip), %r8      # 0x6e128
movq %rdi, %rbp
movq 0x108(%rsp), %rsi
pushq %r14
pushq 0x5afb2(%rip)           # 0x6e2b8
pushq %r11
pushq %rbx
pushq %r10
pushq %r13
pushq %r15
pushq %r12
pushq %rax
callq 0x1e6b4
addq $0x50, %rsp
movq %rbp, %r12
movq 0x57ccb(%rip), %r15     # 0x6aff0
jmp 0x13783
movups (%rcx), %xmm0
movups %xmm0, (%rbx)
movq 0x8(%rax), %rdx
movq %rdx, 0x80(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x78(%rsp), %rdi
leaq 0x40196(%rip), %rsi     # 0x534ed
callq 0x9530
movq %rax, %r13
movq 0x78(%rsp), %rdi
cmpq %rbx, %rdi
je 0x13379
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x94c0
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
je 0x13390
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x94c0
testq %r13, %r13
je 0x1548a
leaq 0x78(%rsp), %rbx
movl $0x1, %esi
movl $0x4, %edx
movq %rbx, %rdi
movq %r13, %rcx
callq 0x9730
movl (%rbx), %eax
movl %eax, 0x68(%rsp)
leaq 0x78(%rsp), %rbx
movl $0x1, %esi
movl $0x4, %edx
movq %rbx, %rdi
movq %r13, %rcx
callq 0x9730
movl (%rbx), %r15d
leaq 0x78(%rsp), %rbx
movl $0x1, %esi
movl $0x4, %edx
movq %rbx, %rdi
movq %r13, %rcx
callq 0x9730
movl (%rbx), %r12d
leaq 0x78(%rsp), %rbx
movl $0x1, %esi
movl $0x4, %edx
movq %rbx, %rdi
movq %r13, %rcx
callq 0x9730
movl (%rbx), %ebp
leaq 0x78(%rsp), %rbx
movl $0x1, %esi
movl $0x4, %edx
movq %rbx, %rdi
movq %r13, %rcx
callq 0x9730
movl (%rbx), %ebx
leaq 0x78(%rsp), %r14
movl $0x1, %esi
movl $0x4, %edx
movq %r14, %rdi
movq %r13, %rcx
callq 0x9730
movl (%r14), %r14d
leaq 0x78(%rsp), %rdi
movl $0x1, %esi
movl $0x4, %edx
movq %r13, %rcx
callq 0x9730
cmpl $0x1, 0x68(%rsp)
movl %r15d, %eax
bswapl %eax
cmovel %r15d, %eax
movl %eax, 0x16c(%rsp)
movl %r12d, %r15d
bswapl %r15d
cmovel %r12d, %r15d
movl %ebp, %r12d
bswapl %r12d
cmovel %ebp, %r12d
movl %ebx, %ebp
bswapl %ebp
cmovel %ebx, %ebp
movl %r14d, %ebx
bswapl %ebx
cmovel %r14d, %ebx
leaq 0x78(%rsp), %rax
movl (%rax), %eax
movl %eax, %r14d
bswapl %r14d
cmovel %eax, %r14d
testl %r14d, %r14d
sets %al
negb %r14b
andb $0x4, %r14b
shrb $0x2, %r14b
andb %al, %r14b
leaq 0x5af44(%rip), %rdi     # 0x6e408
leaq 0x42d08(%rip), %rsi     # 0x561d3
callq 0x9140
testl %eax, %eax
je 0x134ef
leaq 0x5af2d(%rip), %rdi     # 0x6e408
leaq 0x42cf1(%rip), %rsi     # 0x561d3
callq 0x9140
testl %eax, %eax
je 0x134ef
xorl %eax, %eax
jmp 0x134f1
movb $0x1, %al
subq $0x8, %rsp
movzbl %al, %eax
movzbl %r14b, %r10d
leaq 0x80(%rsp), %rdi
movl 0x174(%rsp), %esi
movl %r15d, %edx
movl %r12d, %ecx
movl %ebp, %r8d
movl $0xffffffff, %r9d       # imm = 0xFFFFFFFF
pushq %rax
pushq %r10
pushq %rbx
callq 0x1b384
addq $0x20, %rsp
leaq 0x18(%rsp), %r14
movl $0x1, %esi
movl $0x4, %edx
movq %r14, %rdi
movq %r13, %rcx
callq 0x9730
movl 0x68(%rsp), %ebx
cmpl $0x1, %ebx
movl (%r14), %eax
movl %eax, %esi
bswapl %esi
cmovel %eax, %esi
shll $0x2, %esi
movq %r13, %rdi
movl $0x1, %edx
callq 0x9860
leaq 0x18(%rsp), %r14
movl $0x1, %esi
movl $0x4, %edx
movq %r14, %rdi
movq %r13, %rcx
callq 0x9730
cmpl $0x1, %ebx
movl (%r14), %eax
movl %eax, %ecx
bswapl %ecx
cmovel %eax, %ecx
shll $0x2, %ecx
leal (%rcx,%rcx,2), %esi
movq %r13, %rdi
movl $0x1, %edx
callq 0x9860
leaq 0x78(%rsp), %rbx
movl 0x7c(%rbx), %esi
movq %r13, %rdi
movl $0x1, %edx
callq 0x9860
leaq 0x18(%rsp), %rdi
movl $0x1, %esi
movl $0x4, %edx
movq %r13, %rcx
callq 0x9730
movl $0x14, %esi
movq %r13, %rdi
movl $0x1, %edx
callq 0x9860
movl 0x38(%rbx), %esi
shll $0x2, %esi
movq %r13, %rdi
movl $0x1, %edx
callq 0x9860
movl 0x30(%rbx), %esi
shll $0x2, %esi
movq %r13, %rdi
movl $0x1, %edx
callq 0x9860
movq %r13, %rdi
callq 0x97c0
cmpl $-0x1, %eax
leaq 0x28(%rsp), %r12
je 0x136dc
movl %eax, %r15d
leaq 0x40(%rsp), %rbx
leaq 0x18(%rsp), %r14
cmpb $0xa, %r15b
je 0x13693
movzbl %r15b, %eax
testl %eax, %eax
je 0x136dc
cmpq $0x0, 0x58(%rsp)
jne 0x13672
movq %r12, 0x18(%rsp)
movq $0x0, 0x20(%rsp)
movb $0x0, 0x28(%rsp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1c634
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x13672
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x94c0
movq 0x48(%rsp), %rax
movq 0x58(%rsp), %rcx
shlq $0x5, %rcx
leaq (%rax,%rcx), %rdi
addq $-0x20, %rdi
movsbl %r15b, %esi
callq 0x9400
jmp 0x136c8
movq %r12, 0x18(%rsp)
movq $0x0, 0x20(%rsp)
movb $0x0, 0x28(%rsp)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x1c634
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x136c8
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x94c0
movq %r13, %rdi
callq 0x97c0
movl %eax, %r15d
cmpl $-0x1, %eax
jne 0x13623
movq 0x48(%rsp), %rcx
movq 0x58(%rsp), %rax
movq %rax, %rdx
shlq $0x5, %rdx
cmpq $0x0, -0x18(%rcx,%rdx)
jne 0x136fd
decq %rax
movq %rax, 0x58(%rsp)
movq %r13, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x9860
movq %r13, %rdi
callq 0x94a0
movq 0x70(%rsp), %r12
movq 0x578d3(%rip), %r15     # 0x6aff0
movq 0x8(%r12), %rsi
movl 0x2c4(%rsp), %edx
movzbl 0x5abeb(%rip), %r8d     # 0x6e31c
movq 0x2d0(%rsp), %r9
movzbl 0x5abd9(%rip), %eax     # 0x6e319
movzbl 0x5abd2(%rip), %r10d    # 0x6e31a
movq 0x5aab9(%rip), %r11     # 0x6e208
movq 0x5a9ba(%rip), %rbx     # 0x6e110
testq %rbx, %rbx
je 0x13762
movq 0x5a9a6(%rip), %rbx     # 0x6e108
leaq 0x40(%rsp), %rcx
movq %r12, %rdi
pushq %rbx
pushq %r11
pushq %r10
pushq %rax
callq 0x5019c
addq $0x20, %rsp
leaq 0x40(%rsp), %rdi
callq 0x1fefe
cmpb $0x0, 0x5aab3(%rip)     # 0x6e23d
jne 0x13795
cmpb $0x1, 0x5aa95(%rip)     # 0x6e228
jne 0x137b2
movq 0x57854(%rip), %rdi     # 0x6aff0
leaq 0x42b24(%rip), %rsi     # 0x562c7
movl $0x1e, %edx
callq 0x9560
callq 0xd89c
cmpb $0x1, 0x5aabb(%rip)     # 0x6e274
movq %r12, 0x70(%rsp)
jne 0x13d92
movl 0x5aab6(%rip), %eax     # 0x6e280
movq 0x60(%rsp), %rcx
movq %rcx, 0x5ab52(%rip)     # 0x6e328
movq %r12, 0x5ab53(%rip)     # 0x6e330
leaq 0x250(%rsp), %rcx
movq %rcx, 0x5ab4c(%rip)     # 0x6e338
movq 0x38(%rsp), %rcx
movq %rcx, 0x5ab48(%rip)     # 0x6e340
leaq 0x108(%rsp), %rcx
movq %rcx, 0x5ab41(%rip)     # 0x6e348
movl %eax, 0x5ab43(%rip)     # 0x6e350
movq 0x5a824(%rip), %rax     # 0x6e038
xorl %r13d, %r13d
orq 0x5a7da(%rip), %rax     # 0x6dff8
je 0x138dd
cmpl $-0x1, 0x5aaad(%rip)    # 0x6e2d8
je 0x138dd
movb 0x5aa05(%rip), %bl      # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, 0x78(%rsp)
movq %r15, 0x80(%rsp)
leaq 0x42bc3(%rip), %rax     # 0x56415
movq %rax, 0x88(%rsp)
movb %bl, 0x90(%rsp)
movl $0x568, %edi            # imm = 0x568
callq 0x94b0
movq %rax, %r13
movzbl 0x5a9cf(%rip), %edx     # 0x6e244
movzbl 0x5aa47(%rip), %eax     # 0x6e2c3
movzbl 0x5aa3e(%rip), %r10d    # 0x6e2c2
movzbl 0x5aa38(%rip), %r11d    # 0x6e2c4
movzbl 0x5a9aa(%rip), %ebx     # 0x6e23d
movzbl 0x5a98d(%rip), %r14d    # 0x6e228
leaq 0x5a79e(%rip), %rsi     # 0x6e040
leaq 0x108(%rsp), %r8
movq %r13, %rdi
xorl %ecx, %ecx
xorl %r9d, %r9d
pushq %r14
pushq %rbx
pushq %r11
pushq %r10
pushq %rax
pushq $0x1
callq 0x215fc
addq $0x30, %rsp
cmpb $0x0, 0x560(%r13)
je 0x15423
leaq 0x78(%rsp), %rdi
callq 0x1d4cc
movq %r13, 0x5aa74(%rip)     # 0x6e358
movl 0x5a9a2(%rip), %eax     # 0x6e28c
movl 0x5a9a4(%rip), %ecx     # 0x6e294
leaq 0x80(%rsp), %rdi
movabsq $-0x100000000, %rsi     # imm = 0xFFFFFFFF00000000
movq %rsi, -0x8(%rdi)
xorl %ebx, %ebx
movq %rbx, (%rdi)
movl $0x80, %edx
movq %rdx, 0x8(%rdi)
movq %rbx, 0x10(%rdi)
leaq 0x20(%rsp), %rdi
movq %rsi, -0x8(%rdi)
movq %rbx, (%rdi)
movq %rdx, 0x8(%rdi)
movq %rbx, 0x10(%rdi)
cmpl %ecx, %eax
cmovgl %eax, %ecx
movslq %ecx, %rsi
leaq 0x18(%rsp), %rdi
callq 0x22a1c
xchgl %ebx, 0x14(%rsp)
movq 0x38(%rsp), %rdi
cmpq $0x0, 0xb8(%rdi)
je 0x13956
callq 0x1e5ec
cmpq $0x0, 0x308(%rsp)
jne 0x139c7
movb 0x5a8d5(%rip), %bl      # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, 0x40(%rsp)
movq %r15, 0x48(%rsp)
leaq 0x42aaf(%rip), %rax     # 0x5642e
movq %rax, 0x50(%rsp)
movb %bl, 0x58(%rsp)
movzbl 0x5a910(%rip), %r9d     # 0x6e2a0
movzbl 0x5a891(%rip), %eax     # 0x6e228
subq $0x8, %rsp
xorl $0x1, %r9d
leaq 0x258(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
pushq %rax
callq 0xb9c6
addq $0x10, %rsp
leaq 0x40(%rsp), %rdi
callq 0x1d4cc
movq %r13, 0x68(%rsp)
movq 0x60(%rsp), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movb 0x5a85f(%rip), %bl      # 0x6e23c
xorl %r13d, %r13d
xorl %edi, %edi
callq 0x9440
movq %rax, 0x40(%rsp)
movq %r15, 0x48(%rsp)
leaq 0x42a53(%rip), %rax     # 0x5644b
movq %rax, 0x50(%rsp)
movb %bl, 0x58(%rsp)
movzbl 0x5a897(%rip), %r9d     # 0x6e2a0
movzbl 0x5a818(%rip), %eax     # 0x6e228
subq $0x8, %rsp
xorl $0x1, %r9d
movq 0x40(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
pushq %rax
callq 0xb9c6
addq $0x10, %rsp
leaq 0x40(%rsp), %rbx
movq %rbx, %rdi
callq 0x1d4cc
movb 0x5a7f5(%rip), %bpl     # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, (%rbx)
movq %r15, 0x8(%rbx)
leaq 0x42a0b(%rip), %rax     # 0x56467
movq %rax, 0x10(%rbx)
movb %bpl, 0x18(%rbx)
cmpb $0x1, 0x5a82d(%rip)     # 0x6e298
jne 0x13a8b
callq 0x9700
movl %eax, %r13d
movq 0x5a60c(%rip), %rdi     # 0x6e088
movl %eax, %esi
callq 0x16056
xorl %eax, %eax
xchgl %eax, 0x5a771(%rip)     # 0x6e1fc
movl 0x5a7fa(%rip), %r14d    # 0x6e28c
testl %r14d, %r14d
jle 0x13baa
xorl %r15d, %r15d
leaq 0x14(%rsp), %r12
xorl %ebp, %ebp
movq 0x20(%rsp), %rax
movl %ebp, (%rax,%r15)
movq 0x20(%rsp), %rax
movq %r12, 0x8(%rax,%r15)
movl 0x5a7ce(%rip), %ecx     # 0x6e28c
decl %ecx
movb 0x5a7ff(%rip), %al      # 0x6e2c5
cmpq %rcx, %rbp
jne 0x13ae1
movq 0x20(%rsp), %rdi
addq %r15, %rdi
testb $0x1, %al
je 0x13b2a
callq 0x160e0
jmp 0x13b93
testb $0x1, %al
je 0x13b31
movl $0x8, %edi
callq 0x94b0
movq %rax, %r14
movq 0x20(%rsp), %rax
addq %r15, %rax
movq %rax, (%rsp)
movb $0x1, %bl
movq %r14, %rdi
leaq 0x25d6(%rip), %rsi      # 0x160e0
movq %rsp, %rdx
callq 0x22b08
movq %r14, 0x8(%rsp)
xorl %ebx, %ebx
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
jmp 0x13b74
callq 0x16481
jmp 0x13b93
movl $0x8, %edi
callq 0x94b0
movq %rax, %r14
movq 0x20(%rsp), %rax
addq %r15, %rax
movq %rax, (%rsp)
movb $0x1, %bl
movq %r14, %rdi
leaq 0x292b(%rip), %rsi      # 0x16481
movq %rsp, %rdx
callq 0x22b08
movq %r14, 0x8(%rsp)
xorl %ebx, %ebx
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
movq 0x80(%rsp), %rax
movq (%rax,%rbp,8), %rdi
callq 0x9920
leaq 0x3f6dc(%rip), %rdi     # 0x53268
xorl %esi, %esi
callq 0x9160
incq %rbp
movslq 0x5a6ef(%rip), %r14     # 0x6e28c
addq $0x10, %r15
cmpq %r14, %rbp
jl 0x13aa5
cmpb $0x1, 0x5a6e7(%rip)     # 0x6e298
jne 0x13d72
movl $0xa, %ebx
movl $0x1, %edi
callq 0x9360
decl %ebx
jne 0x13bbc
movl 0x5a62c(%rip), %eax     # 0x6e1fc
testl %eax, %eax
jle 0x13d72
movq 0x57411(%rip), %r12     # 0x6aff0
leaq 0x428a9(%rip), %r15     # 0x5648f
movl %r13d, %edi
movl %r14d, %esi
callq 0x18997
testb %al, %al
je 0x13d51
movslq 0x5a68c(%rip), %rax     # 0x6e28c
leal 0x1(%rax), %ecx
movl %ecx, 0x5a683(%rip)     # 0x6e28c
movq 0x20(%rsp), %rcx
movq %rax, %rdx
shlq $0x4, %rdx
movl %eax, (%rcx,%rdx)
movslq 0x5a66d(%rip), %rbx     # 0x6e28c
decq %rbx
movq 0x20(%rsp), %rax
shlq $0x4, %rbx
leaq 0x14(%rsp), %rcx
movq %rcx, 0x8(%rax,%rbx)
cmpb $0x1, 0x5a689(%rip)     # 0x6e2c5
jne 0x13c80
movl $0x8, %edi
callq 0x94b0
movq %rax, %rbp
addq 0x20(%rsp), %rbx
movq %rbx, (%rsp)
movb $0x1, %bl
movq %rax, %rdi
leaq 0x2480(%rip), %rsi      # 0x160e0
movq %rsp, %rdx
callq 0x22b08
movq %rbp, 0x8(%rsp)
xorl %ebx, %ebx
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
jmp 0x13cc0
movl $0x8, %edi
callq 0x94b0
movq %rax, %rbp
addq 0x20(%rsp), %rbx
movq %rbx, (%rsp)
movb $0x1, %bl
movq %rax, %rdi
leaq 0x27df(%rip), %rsi      # 0x16481
movq %rsp, %rdx
callq 0x22b08
movq %rbp, 0x8(%rsp)
xorl %ebx, %ebx
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
movslq 0x5a5c5(%rip), %rax     # 0x6e28c
movq 0x80(%rsp), %rcx
movq -0x8(%rcx,%rax,8), %rdi
callq 0x9920
leaq 0x3f598(%rip), %rdi     # 0x53278
xorl %esi, %esi
callq 0x9160
movl $0x4, %edx
movq %r12, %rdi
leaq 0x42794(%rip), %rsi     # 0x5648a
callq 0x9560
movq %r12, %rdi
movl %r13d, %esi
callq 0x9910
movq %rax, %rbp
movl $0x16, %edx
movq %rax, %rdi
movq %r15, %rsi
callq 0x9560
movl 0x5a56d(%rip), %esi     # 0x6e28c
movq %rbp, %rdi
callq 0x9910
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x9480
movsbl %al, %esi
movq %rbp, %rdi
callq 0x9050
movq %rax, %rdi
callq 0x92f0
movl $0xa, %ebx
movl $0x1, %edi
callq 0x9360
decl %ebx
jne 0x13d56
movl 0x5a492(%rip), %eax     # 0x6e1fc
testl %eax, %eax
jg 0x13be6
movl 0x14(%rsp), %eax
cmpl 0x5a510(%rip), %eax     # 0x6e28c
jge 0x14347
leaq 0x3f4ff(%rip), %rdi     # 0x53288
xorl %esi, %esi
callq 0x9160
jmp 0x13d72
movl 0x5a4d4(%rip), %eax     # 0x6e26c
testl %eax, %eax
jle 0x14411
cmpl $0x1, %eax
jne 0x149fe
movq 0x60(%rsp), %rax
movq %rax, 0x5a5ab(%rip)     # 0x6e360
movq %r12, 0x5a5ac(%rip)     # 0x6e368
leaq 0x250(%rsp), %r13
movq %r13, 0x5a5a5(%rip)     # 0x6e370
movq 0x38(%rsp), %r14
movq %r14, 0x5a5a1(%rip)     # 0x6e378
leaq 0x108(%rsp), %rax
movq %rax, 0x5a59a(%rip)     # 0x6e380
movb 0x5a450(%rip), %bl      # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, 0x78(%rsp)
movq %r15, 0x80(%rsp)
leaq 0x42627(%rip), %rax     # 0x5642e
movq %rax, 0x88(%rsp)
movb %bl, 0x90(%rsp)
movzbl 0x5a482(%rip), %r9d     # 0x6e2a0
movzbl 0x5a403(%rip), %eax     # 0x6e228
subq $0x8, %rsp
xorl $0x1, %r9d
movq %r13, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
pushq %rax
callq 0xb9c6
addq $0x10, %rsp
leaq 0x78(%rsp), %rbx
movq %rbx, %rdi
callq 0x1d4cc
movb 0x5a3e2(%rip), %bpl     # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, (%rbx)
movq %r15, 0x8(%rbx)
leaq 0x425dc(%rip), %rax     # 0x5644b
movq %rax, 0x10(%rbx)
movb %bpl, 0x18(%rbx)
movzbl 0x5a421(%rip), %r9d     # 0x6e2a0
movzbl 0x5a3a2(%rip), %eax     # 0x6e228
subq $0x8, %rsp
xorl $0x1, %r9d
movq %r14, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
pushq %rax
callq 0xb9c6
addq $0x10, %rsp
leaq 0x78(%rsp), %rdi
callq 0x1d4cc
movq 0x5a180(%rip), %rax     # 0x6e038
xorl %r13d, %r13d
orq 0x5a136(%rip), %rax     # 0x6dff8
je 0x13f81
cmpl $-0x1, 0x5a409(%rip)    # 0x6e2d8
je 0x13f81
movb 0x5a361(%rip), %bl      # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, 0x78(%rsp)
movq %r15, 0x80(%rsp)
leaq 0x4251f(%rip), %rax     # 0x56415
movq %rax, 0x88(%rsp)
movb %bl, 0x90(%rsp)
movl $0x568, %edi            # imm = 0x568
callq 0x94b0
movq %rax, %r13
movzbl 0x5a32b(%rip), %edx     # 0x6e244
movzbl 0x5a3a3(%rip), %eax     # 0x6e2c3
movzbl 0x5a39a(%rip), %r10d    # 0x6e2c2
movzbl 0x5a394(%rip), %r11d    # 0x6e2c4
movzbl 0x5a306(%rip), %ebx     # 0x6e23d
movzbl 0x5a2e9(%rip), %r14d    # 0x6e228
leaq 0x5a0fa(%rip), %rsi     # 0x6e040
leaq 0x108(%rsp), %r8
movq %r13, %rdi
xorl %ecx, %ecx
xorl %r9d, %r9d
pushq %r14
pushq %rbx
pushq %r11
pushq %r10
pushq %rax
pushq $0x1
callq 0x215fc
addq $0x30, %rsp
cmpb $0x0, 0x560(%r13)
je 0x15502
leaq 0x78(%rsp), %rdi
callq 0x1d4cc
movq %r13, 0x68(%rsp)
movq %r13, 0x5a3fb(%rip)     # 0x6e388
movl 0x5a2f9(%rip), %eax     # 0x6e28c
movl 0x5a2fb(%rip), %ecx     # 0x6e294
leaq 0x80(%rsp), %rdi
movabsq $-0x100000000, %rsi     # imm = 0xFFFFFFFF00000000
movq %rsi, -0x8(%rdi)
xorl %r13d, %r13d
movq %r13, (%rdi)
movl $0x80, %edx
movq %rdx, 0x8(%rdi)
movq %r13, 0x10(%rdi)
leaq 0x20(%rsp), %rdi
movq %rsi, -0x8(%rdi)
movq %r13, (%rdi)
movq %rdx, 0x8(%rdi)
movq %r13, 0x10(%rdi)
cmpl %ecx, %eax
cmovgl %eax, %ecx
movslq %ecx, %rsi
leaq 0x18(%rsp), %rdi
callq 0x22a1c
xorl %eax, %eax
xchgl %eax, 0x14(%rsp)
movb 0x5a248(%rip), %bl      # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, 0x40(%rsp)
movq %r15, 0x48(%rsp)
leaq 0x430c8(%rip), %rax     # 0x570d4
movq %rax, 0x50(%rsp)
movb %bl, 0x58(%rsp)
cmpb $0x1, 0x5a27c(%rip)     # 0x6e298
jne 0x1403c
callq 0x9700
movl %eax, %r13d
movq 0x5a05b(%rip), %rdi     # 0x6e088
movl %eax, %esi
callq 0x16056
xorl %eax, %eax
xchgl %eax, 0x5a1c0(%rip)     # 0x6e1fc
movl 0x5a249(%rip), %r14d    # 0x6e28c
testl %r14d, %r14d
jle 0x1415b
xorl %r15d, %r15d
leaq 0x14(%rsp), %r12
xorl %ebp, %ebp
movq 0x20(%rsp), %rax
movl %ebp, (%rax,%r15)
movq 0x20(%rsp), %rax
movq %r12, 0x8(%rax,%r15)
movl 0x5a21d(%rip), %ecx     # 0x6e28c
decl %ecx
movb 0x5a24e(%rip), %al      # 0x6e2c5
cmpq %rcx, %rbp
jne 0x14092
movq 0x20(%rsp), %rdi
addq %r15, %rdi
testb $0x1, %al
je 0x140db
callq 0x18bcb
jmp 0x14144
testb $0x1, %al
je 0x140e2
movl $0x8, %edi
callq 0x94b0
movq %rax, %r14
movq 0x20(%rsp), %rax
addq %r15, %rax
movq %rax, (%rsp)
movb $0x1, %bl
movq %r14, %rdi
leaq 0x4b10(%rip), %rsi      # 0x18bcb
movq %rsp, %rdx
callq 0x22b08
movq %r14, 0x8(%rsp)
xorl %ebx, %ebx
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
jmp 0x14125
callq 0x18ec3
jmp 0x14144
movl $0x8, %edi
callq 0x94b0
movq %rax, %r14
movq 0x20(%rsp), %rax
addq %r15, %rax
movq %rax, (%rsp)
movb $0x1, %bl
movq %r14, %rdi
leaq 0x4dbc(%rip), %rsi      # 0x18ec3
movq %rsp, %rdx
callq 0x22b08
movq %r14, 0x8(%rsp)
xorl %ebx, %ebx
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
movq 0x80(%rsp), %rax
movq (%rax,%rbp,8), %rdi
callq 0x9920
leaq 0x3f15b(%rip), %rdi     # 0x53298
xorl %esi, %esi
callq 0x9160
incq %rbp
movslq 0x5a13e(%rip), %r14     # 0x6e28c
addq $0x10, %r15
cmpq %r14, %rbp
jl 0x14056
cmpb $0x1, 0x5a136(%rip)     # 0x6e298
jne 0x14327
movl $0xa, %ebx
movl $0x1, %edi
callq 0x9360
decl %ebx
jne 0x1416d
movl 0x5a07b(%rip), %eax     # 0x6e1fc
testl %eax, %eax
jle 0x14327
movq 0x56e60(%rip), %r15     # 0x6aff0
leaq 0x422f8(%rip), %rbx     # 0x5648f
movl %r13d, %edi
movl %r14d, %esi
callq 0x18997
testb %al, %al
je 0x14306
movslq 0x5a0db(%rip), %rax     # 0x6e28c
leal 0x1(%rax), %ecx
movl %ecx, 0x5a0d2(%rip)     # 0x6e28c
movq 0x20(%rsp), %rcx
movq %rax, %rdx
shlq $0x4, %rdx
movl %eax, (%rcx,%rdx)
movslq 0x5a0bc(%rip), %r12     # 0x6e28c
decq %r12
movq 0x20(%rsp), %rax
shlq $0x4, %r12
leaq 0x14(%rsp), %rcx
movq %rcx, 0x8(%rax,%r12)
cmpb $0x1, 0x5a0d8(%rip)     # 0x6e2c5
jne 0x14233
movl $0x8, %edi
callq 0x94b0
movq %rax, %rbp
addq 0x20(%rsp), %r12
movq %r12, (%rsp)
movb $0x1, %r12b
movq %rax, %rdi
leaq 0x49b9(%rip), %rsi      # 0x18bcb
movq %rsp, %rdx
callq 0x22b08
movq %rbp, 0x8(%rsp)
xorl %r12d, %r12d
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
jmp 0x14275
movl $0x8, %edi
callq 0x94b0
movq %rax, %rbp
addq 0x20(%rsp), %r12
movq %r12, (%rsp)
movb $0x1, %r12b
movq %rax, %rdi
leaq 0x4c6d(%rip), %rsi      # 0x18ec3
movq %rsp, %rdx
callq 0x22b08
movq %rbp, 0x8(%rsp)
xorl %r12d, %r12d
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
movslq 0x5a010(%rip), %rax     # 0x6e28c
movq 0x80(%rsp), %rcx
movq -0x8(%rcx,%rax,8), %rdi
callq 0x9920
leaq 0x3f013(%rip), %rdi     # 0x532a8
xorl %esi, %esi
callq 0x9160
movl $0x4, %edx
movq %r15, %rdi
leaq 0x421df(%rip), %rsi     # 0x5648a
callq 0x9560
movq %r15, %rdi
movl %r13d, %esi
callq 0x9910
movq %rax, %rbp
movl $0x16, %edx
movq %rax, %rdi
movq %rbx, %rsi
callq 0x9560
movl 0x59fb8(%rip), %esi     # 0x6e28c
movq %rbp, %rdi
callq 0x9910
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x9480
movsbl %al, %esi
movq %rbp, %rdi
callq 0x9050
movq %rax, %rdi
callq 0x92f0
movl $0xa, %ebp
movl $0x1, %edi
callq 0x9360
decl %ebp
jne 0x1430b
movl 0x59edd(%rip), %eax     # 0x6e1fc
testl %eax, %eax
jg 0x14197
movl 0x14(%rsp), %eax
cmpl 0x59f5b(%rip), %eax     # 0x6e28c
jge 0x14fd2
leaq 0x3ef7a(%rip), %rdi     # 0x532b8
xorl %esi, %esi
callq 0x9160
jmp 0x14327
cmpb $0x1, 0x59f4a(%rip)     # 0x6e298
jne 0x1435f
movq 0x59d31(%rip), %rdi     # 0x6e088
movl %r13d, %esi
callq 0xdfe5
leaq 0x40(%rsp), %rdi
callq 0x1d4cc
movq 0x68(%rsp), %rbx
testq %rbx, %rbx
je 0x14388
movq %rbx, %rdi
callq 0x22b9a
movl $0x568, %esi            # imm = 0x568
movq %rbx, %rdi
callq 0x94c0
cmpl $0x2, 0x59efd(%rip)     # 0x6e28c
movq 0x70(%rsp), %r14
jl 0x143cf
xorl %ebx, %ebx
movq 0x80(%rsp), %rax
movq (%rax,%rbx,8), %rdi
testq %rdi, %rdi
je 0x143bd
cmpq $0x0, (%rdi)
jne 0x1532f
movl $0x8, %esi
callq 0x94c0
incq %rbx
movslq 0x59ec5(%rip), %rax     # 0x6e28c
decq %rax
cmpq %rax, %rbx
jl 0x14398
movq 0x38(%rsp), %rdi
callq 0x1e5ec
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x143fb
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x20(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x15164
jmp 0x15149
movq 0x60(%rsp), %rax
movq %rax, 0x59fb3(%rip)     # 0x6e3d0
movq %r12, 0x59fb4(%rip)     # 0x6e3d8
leaq 0x250(%rsp), %r14
movq %r14, 0x59fad(%rip)     # 0x6e3e0
leaq 0x108(%rsp), %rax
movq %rax, 0x59fa6(%rip)     # 0x6e3e8
movb 0x59df4(%rip), %bl      # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, 0x78(%rsp)
movq %r15, 0x80(%rsp)
leaq 0x41fcb(%rip), %rax     # 0x5642e
movq %rax, 0x88(%rsp)
movb %bl, 0x90(%rsp)
movzbl 0x59e26(%rip), %r9d     # 0x6e2a0
movzbl 0x59da7(%rip), %eax     # 0x6e228
subq $0x8, %rsp
xorl $0x1, %r9d
movq %r14, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
pushq %rax
callq 0xb9c6
addq $0x10, %rsp
leaq 0x78(%rsp), %rdi
callq 0x1d4cc
movq 0x59b85(%rip), %rax     # 0x6e038
xorl %r13d, %r13d
orq 0x59b3b(%rip), %rax     # 0x6dff8
je 0x1457c
cmpl $-0x1, 0x59e0e(%rip)    # 0x6e2d8
je 0x1457c
movb 0x59d66(%rip), %bl      # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, 0x78(%rsp)
movq %r15, 0x80(%rsp)
leaq 0x41f24(%rip), %rax     # 0x56415
movq %rax, 0x88(%rsp)
movb %bl, 0x90(%rsp)
movl $0x568, %edi            # imm = 0x568
callq 0x94b0
movq %rax, %r13
movzbl 0x59d30(%rip), %edx     # 0x6e244
movzbl 0x59da8(%rip), %eax     # 0x6e2c3
movzbl 0x59d9f(%rip), %r10d    # 0x6e2c2
movzbl 0x59d99(%rip), %r11d    # 0x6e2c4
movzbl 0x59d0b(%rip), %ebx     # 0x6e23d
movzbl 0x59cee(%rip), %r14d    # 0x6e228
leaq 0x59aff(%rip), %rsi     # 0x6e040
leaq 0x108(%rsp), %r8
movq %r13, %rdi
xorl %ecx, %ecx
xorl %r9d, %r9d
pushq %r14
pushq %rbx
pushq %r11
pushq %r10
pushq %rax
pushq $0x1
callq 0x215fc
addq $0x30, %rsp
cmpb $0x0, 0x560(%r13)
je 0x154e1
leaq 0x78(%rsp), %rdi
callq 0x1d4cc
movq %r13, 0x68(%rsp)
movq %r13, 0x59e68(%rip)     # 0x6e3f0
movl 0x59cfe(%rip), %eax     # 0x6e28c
movl 0x59d00(%rip), %ecx     # 0x6e294
leaq 0x80(%rsp), %rdi
movabsq $-0x100000000, %rsi     # imm = 0xFFFFFFFF00000000
movq %rsi, -0x8(%rdi)
xorl %r13d, %r13d
movq %r13, (%rdi)
movl $0x80, %edx
movq %rdx, 0x8(%rdi)
movq %r13, 0x10(%rdi)
leaq 0x20(%rsp), %rdi
movq %rsi, -0x8(%rdi)
movq %r13, (%rdi)
movq %rdx, 0x8(%rdi)
movq %r13, 0x10(%rdi)
cmpl %ecx, %eax
cmovgl %eax, %ecx
movslq %ecx, %rsi
leaq 0x18(%rsp), %rdi
callq 0x22a1c
xorl %eax, %eax
xchgl %eax, 0x14(%rsp)
movb 0x59c4d(%rip), %bl      # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, 0x40(%rsp)
movq %r15, 0x48(%rsp)
leaq 0x42bb4(%rip), %rax     # 0x571bb
movq %rax, 0x50(%rsp)
movb %bl, 0x58(%rsp)
cmpb $0x1, 0x59c81(%rip)     # 0x6e298
jne 0x14637
callq 0x9700
movl %eax, %r13d
movq 0x59a60(%rip), %rdi     # 0x6e088
movl %eax, %esi
callq 0x16056
xorl %eax, %eax
xchgl %eax, 0x59bc5(%rip)     # 0x6e1fc
movl 0x59c4e(%rip), %r14d    # 0x6e28c
testl %r14d, %r14d
jle 0x14756
xorl %r15d, %r15d
leaq 0x14(%rsp), %r12
xorl %ebp, %ebp
movq 0x20(%rsp), %rax
movl %ebp, (%rax,%r15)
movq 0x20(%rsp), %rax
movq %r12, 0x8(%rax,%r15)
movl 0x59c22(%rip), %ecx     # 0x6e28c
decl %ecx
movb 0x59c53(%rip), %al      # 0x6e2c5
cmpq %rcx, %rbp
jne 0x1468d
movq 0x20(%rsp), %rdi
addq %r15, %rdi
testb $0x1, %al
je 0x146d6
callq 0x1a879
jmp 0x1473f
testb $0x1, %al
je 0x146dd
movl $0x8, %edi
callq 0x94b0
movq %rax, %r14
movq 0x20(%rsp), %rax
addq %r15, %rax
movq %rax, (%rsp)
movb $0x1, %bl
movq %r14, %rdi
leaq 0x61c3(%rip), %rsi      # 0x1a879
movq %rsp, %rdx
callq 0x22b08
movq %r14, 0x8(%rsp)
xorl %ebx, %ebx
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
jmp 0x14720
callq 0x1ab46
jmp 0x1473f
movl $0x8, %edi
callq 0x94b0
movq %rax, %r14
movq 0x20(%rsp), %rax
addq %r15, %rax
movq %rax, (%rsp)
movb $0x1, %bl
movq %r14, %rdi
leaq 0x6444(%rip), %rsi      # 0x1ab46
movq %rsp, %rdx
callq 0x22b08
movq %r14, 0x8(%rsp)
xorl %ebx, %ebx
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
movq 0x80(%rsp), %rax
movq (%rax,%rbp,8), %rdi
callq 0x9920
leaq 0x3ebc0(%rip), %rdi     # 0x532f8
xorl %esi, %esi
callq 0x9160
incq %rbp
movslq 0x59b43(%rip), %r14     # 0x6e28c
addq $0x10, %r15
cmpq %r14, %rbp
jl 0x14651
cmpb $0x1, 0x59b3b(%rip)     # 0x6e298
jne 0x14922
movl $0xa, %ebx
movl $0x1, %edi
callq 0x9360
decl %ebx
jne 0x14768
movl 0x59a80(%rip), %eax     # 0x6e1fc
testl %eax, %eax
jle 0x14922
movq 0x56865(%rip), %r15     # 0x6aff0
leaq 0x41cfd(%rip), %rbx     # 0x5648f
movl %r13d, %edi
movl %r14d, %esi
callq 0x18997
testb %al, %al
je 0x14901
movslq 0x59ae0(%rip), %rax     # 0x6e28c
leal 0x1(%rax), %ecx
movl %ecx, 0x59ad7(%rip)     # 0x6e28c
movq 0x20(%rsp), %rcx
movq %rax, %rdx
shlq $0x4, %rdx
movl %eax, (%rcx,%rdx)
movslq 0x59ac1(%rip), %r12     # 0x6e28c
decq %r12
movq 0x20(%rsp), %rax
shlq $0x4, %r12
leaq 0x14(%rsp), %rcx
movq %rcx, 0x8(%rax,%r12)
cmpb $0x1, 0x59add(%rip)     # 0x6e2c5
jne 0x1482e
movl $0x8, %edi
callq 0x94b0
movq %rax, %rbp
addq 0x20(%rsp), %r12
movq %r12, (%rsp)
movb $0x1, %r12b
movq %rax, %rdi
leaq 0x606c(%rip), %rsi      # 0x1a879
movq %rsp, %rdx
callq 0x22b08
movq %rbp, 0x8(%rsp)
xorl %r12d, %r12d
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
jmp 0x14870
movl $0x8, %edi
callq 0x94b0
movq %rax, %rbp
addq 0x20(%rsp), %r12
movq %r12, (%rsp)
movb $0x1, %r12b
movq %rax, %rdi
leaq 0x62f5(%rip), %rsi      # 0x1ab46
movq %rsp, %rdx
callq 0x22b08
movq %rbp, 0x8(%rsp)
xorl %r12d, %r12d
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
movslq 0x59a15(%rip), %rax     # 0x6e28c
movq 0x80(%rsp), %rcx
movq -0x8(%rcx,%rax,8), %rdi
callq 0x9920
leaq 0x3ea78(%rip), %rdi     # 0x53308
xorl %esi, %esi
callq 0x9160
movl $0x4, %edx
movq %r15, %rdi
leaq 0x41be4(%rip), %rsi     # 0x5648a
callq 0x9560
movq %r15, %rdi
movl %r13d, %esi
callq 0x9910
movq %rax, %rbp
movl $0x16, %edx
movq %rax, %rdi
movq %rbx, %rsi
callq 0x9560
movl 0x599bd(%rip), %esi     # 0x6e28c
movq %rbp, %rdi
callq 0x9910
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x9480
movsbl %al, %esi
movq %rbp, %rdi
callq 0x9050
movq %rax, %rdi
callq 0x92f0
movl $0xa, %ebp
movl $0x1, %edi
callq 0x9360
decl %ebp
jne 0x14906
movl 0x598e2(%rip), %eax     # 0x6e1fc
testl %eax, %eax
jg 0x14792
movl 0x14(%rsp), %eax
cmpl 0x59960(%rip), %eax     # 0x6e28c
jge 0x1493e
leaq 0x3e9e3(%rip), %rdi     # 0x53318
xorl %esi, %esi
callq 0x9160
jmp 0x14922
cmpb $0x1, 0x59953(%rip)     # 0x6e298
jne 0x14956
movq 0x5973a(%rip), %rdi     # 0x6e088
movl %r13d, %esi
callq 0xdfe5
leaq 0x40(%rsp), %rdi
callq 0x1d4cc
movq 0x68(%rsp), %rbx
testq %rbx, %rbx
je 0x1497f
movq %rbx, %rdi
callq 0x22b9a
movl $0x568, %esi            # imm = 0x568
movq %rbx, %rdi
callq 0x94c0
cmpl $0x2, 0x59906(%rip)     # 0x6e28c
movq 0x70(%rsp), %r14
jl 0x149c6
xorl %ebx, %ebx
movq 0x80(%rsp), %rax
movq (%rax,%rbx,8), %rdi
testq %rdi, %rdi
je 0x149b4
cmpq $0x0, (%rdi)
jne 0x153be
movl $0x8, %esi
callq 0x94c0
incq %rbx
movslq 0x598ce(%rip), %rax     # 0x6e28c
decq %rax
cmpq %rax, %rbx
jl 0x1498f
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x149e8
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x20(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x15164
jmp 0x15149
movl %eax, %ecx
andl $0x7ffffffe, %ecx       # imm = 0x7FFFFFFE
cmpl $0x2, %ecx
jne 0x15444
cmpl $0x2, %eax
sete %bpl
movb 0x59820(%rip), %bl      # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, 0x78(%rsp)
movq %r15, 0x80(%rsp)
leaq 0x419f7(%rip), %rax     # 0x5642e
movq %rax, 0x88(%rsp)
movb %bl, 0x90(%rsp)
movzbl 0x59852(%rip), %r9d     # 0x6e2a0
movzbl 0x597d3(%rip), %eax     # 0x6e228
subq $0x8, %rsp
xorl $0x1, %r9d
leaq 0x258(%rsp), %rbx
movq %rbx, %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
pushq %rax
callq 0xb9c6
addq $0x10, %rsp
movq %r15, %r13
leaq 0x78(%rsp), %r14
movq %r14, %rdi
callq 0x1d4cc
movb 0x597a7(%rip), %r15b    # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, (%r14)
movq %r13, 0x8(%r14)
leaq 0x419a1(%rip), %rax     # 0x5644b
movq %rax, 0x10(%r14)
movb %r15b, 0x18(%r14)
movzbl 0x597e6(%rip), %r9d     # 0x6e2a0
movzbl 0x59767(%rip), %eax     # 0x6e228
subq $0x8, %rsp
xorl $0x1, %r9d
movq 0x40(%rsp), %rdi
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
xorl %edx, %edx
xorl %ecx, %ecx
xorl %r8d, %r8d
pushq %rax
callq 0xb9c6
addq $0x10, %rsp
leaq 0x78(%rsp), %rdi
callq 0x1d4cc
movq 0x59543(%rip), %rax     # 0x6e038
xorl %r13d, %r13d
orq 0x594f9(%rip), %rax     # 0x6dff8
je 0x14bc9
cmpl $-0x1, 0x597cc(%rip)    # 0x6e2d8
movq 0x564dd(%rip), %r15     # 0x6aff0
je 0x14bd0
movb 0x5971c(%rip), %r14b    # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, 0x78(%rsp)
movq %r15, 0x80(%rsp)
leaq 0x418da(%rip), %rax     # 0x56415
movq %rax, 0x88(%rsp)
movb %r14b, 0x90(%rsp)
movl $0x568, %edi            # imm = 0x568
callq 0x94b0
movq %rax, %r13
movzbl 0x596e5(%rip), %edx     # 0x6e244
movzbl 0x5975d(%rip), %eax     # 0x6e2c3
movzbl 0x59754(%rip), %r10d    # 0x6e2c2
movzbl 0x5974e(%rip), %r11d    # 0x6e2c4
movzbl 0x596bf(%rip), %r14d    # 0x6e23d
movzbl 0x596a2(%rip), %r15d    # 0x6e228
leaq 0x594b3(%rip), %rsi     # 0x6e040
leaq 0x108(%rsp), %r8
movq %r13, %rdi
xorl %ecx, %ecx
xorl %r9d, %r9d
pushq %r15
pushq %r14
pushq %r11
pushq %r10
pushq %rax
pushq $0x1
callq 0x215fc
addq $0x30, %rsp
cmpb $0x0, 0x560(%r13)
je 0x15523
leaq 0x78(%rsp), %rdi
callq 0x1d4cc
movq 0x56420(%rip), %r15     # 0x6aff0
movq %r13, 0x68(%rsp)
movq %r13, 0x597b4(%rip)     # 0x6e390
movq 0x60(%rsp), %rax
movq %rax, 0x597b0(%rip)     # 0x6e398
movq %r12, 0x597b1(%rip)     # 0x6e3a0
movq %rbx, 0x597b2(%rip)     # 0x6e3a8
movq 0x38(%rsp), %rax
movq %rax, 0x597ae(%rip)     # 0x6e3b0
leaq 0x108(%rsp), %rax
movq %rax, 0x597a7(%rip)     # 0x6e3b8
movb %bpl, 0x597a8(%rip)     # 0x6e3c0
movl 0x5966e(%rip), %eax     # 0x6e28c
movl 0x59670(%rip), %ecx     # 0x6e294
leaq 0x80(%rsp), %rdi
movabsq $-0x100000000, %rsi     # imm = 0xFFFFFFFF00000000
movq %rsi, -0x8(%rdi)
xorl %r13d, %r13d
movq %r13, (%rdi)
movl $0x80, %edx
movq %rdx, 0x8(%rdi)
movq %r13, 0x10(%rdi)
leaq 0x20(%rsp), %rdi
movq %rsi, -0x8(%rdi)
movq %r13, (%rdi)
movq %rdx, 0x8(%rdi)
movq %r13, 0x10(%rdi)
cmpl %ecx, %eax
cmovgl %eax, %ecx
movslq %ecx, %rsi
leaq 0x18(%rsp), %rdi
callq 0x22a1c
xorl %eax, %eax
xchgl %eax, 0x14(%rsp)
movb 0x595bd(%rip), %bl      # 0x6e23c
xorl %edi, %edi
callq 0x9440
movq %rax, 0x40(%rsp)
movq %r15, 0x48(%rsp)
leaq 0x424a8(%rip), %rax     # 0x5713f
movq %rax, 0x50(%rsp)
movb %bl, 0x58(%rsp)
cmpb $0x1, 0x595f1(%rip)     # 0x6e298
jne 0x14cc7
callq 0x9700
movl %eax, %r13d
movq 0x593d0(%rip), %rdi     # 0x6e088
movl %eax, %esi
callq 0x16056
xorl %eax, %eax
xchgl %eax, 0x59535(%rip)     # 0x6e1fc
movl 0x595be(%rip), %r14d    # 0x6e28c
testl %r14d, %r14d
jle 0x14de6
xorl %r15d, %r15d
leaq 0x14(%rsp), %r12
xorl %ebp, %ebp
movq 0x20(%rsp), %rax
movl %ebp, (%rax,%r15)
movq 0x20(%rsp), %rax
movq %r12, 0x8(%rax,%r15)
movl 0x59592(%rip), %ecx     # 0x6e28c
decl %ecx
movb 0x595c3(%rip), %al      # 0x6e2c5
cmpq %rcx, %rbp
jne 0x14d1d
movq 0x20(%rsp), %rdi
addq %r15, %rdi
testb $0x1, %al
je 0x14d66
callq 0x195d3
jmp 0x14dcf
testb $0x1, %al
je 0x14d6d
movl $0x8, %edi
callq 0x94b0
movq %rax, %r14
movq 0x20(%rsp), %rax
addq %r15, %rax
movq %rax, (%rsp)
movb $0x1, %bl
movq %r14, %rdi
leaq 0x488d(%rip), %rsi      # 0x195d3
movq %rsp, %rdx
callq 0x22b08
movq %r14, 0x8(%rsp)
xorl %ebx, %ebx
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
jmp 0x14db0
callq 0x198f8
jmp 0x14dcf
movl $0x8, %edi
callq 0x94b0
movq %rax, %r14
movq 0x20(%rsp), %rax
addq %r15, %rax
movq %rax, (%rsp)
movb $0x1, %bl
movq %r14, %rdi
leaq 0x4b66(%rip), %rsi      # 0x198f8
movq %rsp, %rdx
callq 0x22b08
movq %r14, 0x8(%rsp)
xorl %ebx, %ebx
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
movq 0x80(%rsp), %rax
movq (%rax,%rbp,8), %rdi
callq 0x9920
leaq 0x3e500(%rip), %rdi     # 0x532c8
xorl %esi, %esi
callq 0x9160
incq %rbp
movslq 0x594b3(%rip), %r14     # 0x6e28c
addq $0x10, %r15
cmpq %r14, %rbp
jl 0x14ce1
cmpb $0x1, 0x594ab(%rip)     # 0x6e298
jne 0x14fb2
movl $0xa, %ebx
movl $0x1, %edi
callq 0x9360
decl %ebx
jne 0x14df8
movl 0x593f0(%rip), %eax     # 0x6e1fc
testl %eax, %eax
jle 0x14fb2
movq 0x561d5(%rip), %r15     # 0x6aff0
leaq 0x4166d(%rip), %rbx     # 0x5648f
movl %r13d, %edi
movl %r14d, %esi
callq 0x18997
testb %al, %al
je 0x14f91
movslq 0x59450(%rip), %rax     # 0x6e28c
leal 0x1(%rax), %ecx
movl %ecx, 0x59447(%rip)     # 0x6e28c
movq 0x20(%rsp), %rcx
movq %rax, %rdx
shlq $0x4, %rdx
movl %eax, (%rcx,%rdx)
movslq 0x59431(%rip), %r12     # 0x6e28c
decq %r12
movq 0x20(%rsp), %rax
shlq $0x4, %r12
leaq 0x14(%rsp), %rcx
movq %rcx, 0x8(%rax,%r12)
cmpb $0x1, 0x5944d(%rip)     # 0x6e2c5
jne 0x14ebe
movl $0x8, %edi
callq 0x94b0
movq %rax, %rbp
addq 0x20(%rsp), %r12
movq %r12, (%rsp)
movb $0x1, %r12b
movq %rax, %rdi
leaq 0x4736(%rip), %rsi      # 0x195d3
movq %rsp, %rdx
callq 0x22b08
movq %rbp, 0x8(%rsp)
xorl %r12d, %r12d
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
jmp 0x14f00
movl $0x8, %edi
callq 0x94b0
movq %rax, %rbp
addq 0x20(%rsp), %r12
movq %r12, (%rsp)
movb $0x1, %r12b
movq %rax, %rdi
leaq 0x4a17(%rip), %rsi      # 0x198f8
movq %rsp, %rdx
callq 0x22b08
movq %rbp, 0x8(%rsp)
xorl %r12d, %r12d
leaq 0x78(%rsp), %rdi
leaq 0x8(%rsp), %rsi
callq 0x22a82
movslq 0x59385(%rip), %rax     # 0x6e28c
movq 0x80(%rsp), %rcx
movq -0x8(%rcx,%rax,8), %rdi
callq 0x9920
leaq 0x3e3b8(%rip), %rdi     # 0x532d8
xorl %esi, %esi
callq 0x9160
movl $0x4, %edx
movq %r15, %rdi
leaq 0x41554(%rip), %rsi     # 0x5648a
callq 0x9560
movq %r15, %rdi
movl %r13d, %esi
callq 0x9910
movq %rax, %rbp
movl $0x16, %edx
movq %rax, %rdi
movq %rbx, %rsi
callq 0x9560
movl 0x5932d(%rip), %esi     # 0x6e28c
movq %rbp, %rdi
callq 0x9910
movq %rax, %rbp
movq (%rax), %rax
movq -0x18(%rax), %rdi
addq %rbp, %rdi
movl $0xa, %esi
callq 0x9480
movsbl %al, %esi
movq %rbp, %rdi
callq 0x9050
movq %rax, %rdi
callq 0x92f0
movl $0xa, %ebp
movl $0x1, %edi
callq 0x9360
decl %ebp
jne 0x14f96
movl 0x59252(%rip), %eax     # 0x6e1fc
testl %eax, %eax
jg 0x14e22
movl 0x14(%rsp), %eax
cmpl 0x592d0(%rip), %eax     # 0x6e28c
jge 0x15092
leaq 0x3e31f(%rip), %rdi     # 0x532e8
xorl %esi, %esi
callq 0x9160
jmp 0x14fb2
cmpb $0x1, 0x592bf(%rip)     # 0x6e298
jne 0x14fea
movq 0x590a6(%rip), %rdi     # 0x6e088
movl %r13d, %esi
callq 0xdfe5
leaq 0x40(%rsp), %rdi
callq 0x1d4cc
movq 0x68(%rsp), %rbx
testq %rbx, %rbx
je 0x15013
movq %rbx, %rdi
callq 0x22b9a
movl $0x568, %esi            # imm = 0x568
movq %rbx, %rdi
callq 0x94c0
cmpl $0x2, 0x59272(%rip)     # 0x6e28c
movq 0x70(%rsp), %r14
jl 0x1505a
xorl %ebx, %ebx
movq 0x80(%rsp), %rax
movq (%rax,%rbx,8), %rdi
testq %rdi, %rdi
je 0x15048
cmpq $0x0, (%rdi)
jne 0x153c3
movl $0x8, %esi
callq 0x94c0
incq %rbx
movslq 0x5923a(%rip), %rax     # 0x6e28c
decq %rax
cmpq %rax, %rbx
jl 0x15023
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x1507c
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x20(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x15164
jmp 0x15149
cmpb $0x1, 0x591ff(%rip)     # 0x6e298
jne 0x150aa
movq 0x58fe6(%rip), %rdi     # 0x6e088
movl %r13d, %esi
callq 0xdfe5
leaq 0x40(%rsp), %rdi
callq 0x1d4cc
movq 0x68(%rsp), %rbx
testq %rbx, %rbx
je 0x150d3
movq %rbx, %rdi
callq 0x22b9a
movl $0x568, %esi            # imm = 0x568
movq %rbx, %rdi
callq 0x94c0
cmpl $0x2, 0x591b2(%rip)     # 0x6e28c
movq 0x70(%rsp), %r14
jl 0x1511a
xorl %ebx, %ebx
movq 0x80(%rsp), %rax
movq (%rax,%rbx,8), %rdi
testq %rdi, %rdi
je 0x15108
cmpq $0x0, (%rdi)
jne 0x153c8
movl $0x8, %esi
callq 0x94c0
incq %rbx
movslq 0x5917a(%rip), %rax     # 0x6e28c
decq %rax
cmpq %rax, %rbx
jl 0x150e3
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x1513c
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x20(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x15164
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x80(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
cmpq $0x0, 0x308(%rsp)
je 0x1517c
leaq 0x250(%rsp), %rdi
callq 0x1e5ec
movq 0x38(%rsp), %rbx
testq %rbx, %rbx
je 0x1519b
movq %rbx, %rdi
callq 0x1e78e
movl $0x188, %esi            # imm = 0x188
movq %rbx, %rdi
callq 0x94c0
movzbl 0x59176(%rip), %esi     # 0x6e318
movq %r14, %rdi
callq 0x1e8be
cmpq $0x0, 0x160(%rsp)
je 0x151db
xorl %ebx, %ebx
movq 0x150(%rsp), %rax
movq (%rax,%rbx,8), %rdi
testq %rdi, %rdi
je 0x151ce
movq (%rdi), %rax
callq *0x8(%rax)
incq %rbx
cmpq 0x160(%rsp), %rbx
jb 0x151b7
cmpq $0x0, 0x140(%rsp)
je 0x1520c
xorl %ebx, %ebx
movq 0x130(%rsp), %rax
movq (%rax,%rbx,8), %rdi
testq %rdi, %rdi
je 0x151ff
movq (%rdi), %rax
callq *0x8(%rax)
incq %rbx
cmpq 0x140(%rsp), %rbx
jb 0x151e8
cmpq $0x0, 0x188(%rsp)
je 0x1523d
xorl %ebx, %ebx
movq 0x178(%rsp), %rax
movq (%rax,%rbx,8), %rdi
testq %rdi, %rdi
je 0x15230
movq (%rdi), %rax
callq *0x8(%rax)
incq %rbx
cmpq 0x188(%rsp), %rbx
jb 0x15219
movq 0x60(%rsp), %rdi
movq (%rdi), %rax
callq *0x8(%rax)
movq (%r14), %rax
movq %r14, %rdi
callq *0x8(%rax)
movq 0x100(%rsp), %rbx
movq %rbx, %rdi
callq 0x215aa
movl $0x4020, %esi           # imm = 0x4020
movq %rbx, %rdi
callq 0x94c0
leaq 0x190(%rsp), %rdi
callq 0x1d4cc
leaq 0x250(%rsp), %rdi
callq 0x1e78e
movq 0x178(%rsp), %rdi
testq %rdi, %rdi
je 0x152b0
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x178(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x130(%rsp), %rdi
testq %rdi, %rdi
je 0x152d8
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x130(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x150(%rsp), %rdi
testq %rdi, %rdi
je 0x15300
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x150(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
leaq 0x108(%rsp), %rdi
callq 0x1f58e
addq $0x42298, %rsp          # imm = 0x42298
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movb $0x1, %r14b
xorl %eax, %eax
movb $0x1, %r15b
movb $0x1, %r12b
jmp 0x120fc
callq 0x9130
movq 0x55cb5(%rip), %rdi     # 0x6aff0
leaq 0x40fcd(%rip), %rsi     # 0x5630f
movl $0x1c, %edx
callq 0x9560
movq 0x55c9d(%rip), %rdi     # 0x6aff0
callq 0x91f0
movl $0x4, %edi
callq 0x9200
movl $0x1, (%rax)
movq 0x55bc9(%rip), %rsi     # 0x6af38
movq %rax, %rdi
xorl %edx, %edx
callq 0x98f0
movq 0x55c70(%rip), %rdi     # 0x6aff0
leaq 0x40f88(%rip), %rsi     # 0x5630f
movl $0x1c, %edx
callq 0x9560
movq 0x55c58(%rip), %rdi     # 0x6aff0
callq 0x91f0
movl $0x4, %edi
callq 0x9200
movl $0x1, (%rax)
movq 0x55b84(%rip), %rsi     # 0x6af38
movq %rax, %rdi
xorl %edx, %edx
callq 0x98f0
callq 0x9130
callq 0x9130
callq 0x9130
movq 0x55c1c(%rip), %rdi     # 0x6aff0
leaq 0x40ed6(%rip), %rsi     # 0x562b1
movl $0x15, %edx
callq 0x9560
movl 0x58eb1(%rip), %esi     # 0x6e29c
movq 0x55bfe(%rip), %rdi     # 0x6aff0
callq 0x9910
movq %rax, %rbx
movq %rbx, %rdi
callq 0x91f0
movl $0x4, %edi
callq 0x9200
movl $0x1, (%rax)
movq 0x55b1f(%rip), %rsi     # 0x6af38
movq %rax, %rdi
xorl %edx, %edx
callq 0x98f0
movl $0x4, %edi
callq 0x9200
movl $0x1, (%rax)
movq 0x55afe(%rip), %rsi     # 0x6af38
movq %rax, %rdi
xorl %edx, %edx
callq 0x98f0
movq 0x55ba5(%rip), %rdi     # 0x6aff0
leaq 0x3f22a(%rip), %rsi     # 0x5467c
movl $0x7, %edx
callq 0x9560
movl 0x58e0a(%rip), %esi     # 0x6e26c
movq 0x55b87(%rip), %rdi     # 0x6aff0
callq 0x9910
movq %rax, %rbx
leaq 0x40e6e(%rip), %rsi     # 0x562e6
movl $0x28, %edx
movq %rax, %rdi
callq 0x9560
jmp 0x153fa
movl $0x10, %edi
callq 0x9200
movq %rax, %rbx
leaq 0x40f65(%rip), %rsi     # 0x56403
leaq 0x58b9b(%rip), %rdx     # 0x6e040
leaq 0x78(%rsp), %rdi
callq 0x1df6d
movb $0x1, %bpl
leaq 0x78(%rsp), %rsi
movq %rbx, %rdi
callq 0x95c0
leaq 0x54592(%rip), %rax     # 0x69a58
movq %rax, (%rbx)
xorl %ebp, %ebp
leaq 0x5455e(%rip), %rsi     # 0x69a30
movq 0x55ac7(%rip), %rdx     # 0x6afa0
movq %rbx, %rdi
callq 0x98f0
movl $0x4, %edi
callq 0x9200
movl $0x1, (%rax)
movq 0x55a40(%rip), %rsi     # 0x6af38
movq %rax, %rdi
xorl %edx, %edx
callq 0x98f0
movl $0x4, %edi
callq 0x9200
movl $0x1, (%rax)
movq 0x55a1f(%rip), %rsi     # 0x6af38
movq %rax, %rdi
xorl %edx, %edx
callq 0x98f0
movl $0x4, %edi
callq 0x9200
movl $0x1, (%rax)
movq 0x559fe(%rip), %rsi     # 0x6af38
movq %rax, %rdi
xorl %edx, %edx
callq 0x98f0
movq %rax, %r13
movq 0x78(%rsp), %rdi
leaq 0x88(%rsp), %rax
cmpq %rax, %rdi
je 0x15571
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x94c0
jmp 0x15571
movq %rax, %r13
movb $0x1, %bpl
testb %bpl, %bpl
je 0x15885
movq %rbx, %rdi
callq 0x9330
jmp 0x15885
jmp 0x1558b
jmp 0x1558b
movq %r13, %rdi
movq %rax, %r13
movl $0x568, %esi            # imm = 0x568
callq 0x94c0
jmp 0x15772
movq %rax, %r13
movb $0x1, %bl
jmp 0x1561e
jmp 0x155a9
movq %rax, %r13
movq 0x18(%rsp), %rdi
cmpq %r14, %rdi
jne 0x15873
jmp 0x15885
movq %rax, %r13
jmp 0x15a9e
jmp 0x15692
movq %rax, %r13
jmp 0x15ae3
jmp 0x15692
jmp 0x15692
jmp 0x15692
jmp 0x15692
jmp 0x15692
movq %rax, %r13
cmpq $0x4, %r15
jb 0x1561b
leaq 0x1c0(%rsp), %rax
movq -0x10(%rax), %rdi
movb $0x1, %bl
cmpq %rax, %rdi
je 0x1561e
movq 0x1c0(%rsp), %rsi
incq %rsi
callq 0x94c0
jmp 0x1561e
movl %r14d, %ebx
testb %bl, %bl
cmpq $0x4, %r15
jb 0x1564b
leaq 0x1e0(%rsp), %rax
movq -0x10(%rax), %rdi
movb $0x1, %bl
cmpq %rax, %rdi
je 0x15655
movq 0x1e0(%rsp), %rsi
incq %rsi
callq 0x94c0
jmp 0x15655
movl %r14d, %ebx
jmp 0x15655
movq %rax, %r13
movb $0x1, %bl
testb %bl, %bl
cmpq $0x4, %r15
jb 0x156b5
leaq 0x200(%rsp), %rax
movq -0x10(%rax), %rdi
movb $0x1, %r14b
cmpq %rax, %rdi
je 0x156b5
movq 0x200(%rsp), %rsi
incq %rsi
callq 0x94c0
jmp 0x156b5
movq %rax, %r13
jmp 0x15b28
jmp 0x1575d
jmp 0x15692
movq %rax, %r13
jmp 0x15772
movq %r13, %rdi
movq %rax, %r13
movl $0x568, %esi            # imm = 0x568
callq 0x94c0
jmp 0x15772
movq %rax, %r13
movb $0x1, %r14b
testb %r14b, %r14b
cmpq $0x6, %r15
jb 0x15725
leaq 0x220(%rsp), %rax
movq -0x10(%rax), %rdi
movb $0x1, %bpl
cmpq %rax, %rdi
je 0x15725
movq 0x220(%rsp), %rsi
incq %rsi
callq 0x94c0
jmp 0x15725
jmp 0x15866
movq %rax, %r13
movq 0x250(%rsp), %rdi
cmpq %rbx, %rdi
je 0x15d02
movq 0x260(%rsp), %rsi
incq %rsi
callq 0x94c0
jmp 0x15d02
jmp 0x158fc
movq %rax, %r13
jmp 0x15d02
movq %rax, %r13
movb $0x1, %bpl
testb %bpl, %bpl
jmp 0x15d0f
jmp 0x15882
movq %rax, %r13
movl $0x50, %esi
jmp 0x157f5
jmp 0x15a91
jmp 0x15ad6
jmp 0x15a91
jmp 0x15ad6
jmp 0x15b1b
jmp 0x15b1b
movq %rax, %r13
jmp 0x15b93
jmp 0x15767
movq %rax, %r13
jmp 0x15b9d
movq %rax, %r13
leaq 0x78(%rsp), %rdi
callq 0x1d4cc
jmp 0x15be7
movq %rax, %r13
movl $0x228, %esi            # imm = 0x228
movq %rbp, %rdi
jmp 0x15799
movq %rax, %r13
movl $0x1f8, %esi            # imm = 0x1F8
movq %r12, %rdi
callq 0x94c0
jmp 0x15be7
jmp 0x159e9
jmp 0x157aa
movq %rax, %r13
movq 0x78(%rsp), %rdi
cmpq %rbp, %rdi
je 0x157cc
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x94c0
jmp 0x157cc
movq %rax, %r13
movl $0x188, %esi            # imm = 0x188
movq 0x38(%rsp), %rdi
callq 0x94c0
jmp 0x15bfe
movq %rax, %r13
movl $0x4020, %esi           # imm = 0x4020
movq %rbx, %rdi
jmp 0x157fa
movq %rax, %r13
movl $0x30, %esi
movq 0x60(%rsp), %rdi
callq 0x94c0
jmp 0x15c0b
movq %rax, %r13
testb %r12b, %r12b
je 0x15a94
jmp 0x1582c
movq %rax, %r13
testb %r12b, %r12b
je 0x15ad9
jmp 0x15845
movq %rax, %r13
testb %r12b, %r12b
je 0x15a94
movl $0x8, %esi
movq %rbp, %rdi
jmp 0x15940
movq %rax, %r13
testb %r12b, %r12b
je 0x15ad9
movl $0x8, %esi
movq %rbp, %rdi
jmp 0x1595d
jmp 0x15a91
jmp 0x15ad6
jmp 0x15a91
jmp 0x15ad6
movq %rax, %r13
movq 0x18(%rsp), %rdi
cmpq %r12, %rdi
je 0x15885
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x94c0
jmp 0x15885
movq %rax, %r13
leaq 0x40(%rsp), %rdi
callq 0x1fefe
jmp 0x15be7
movq %rax, %r13
testb %r12b, %r12b
je 0x15b1e
jmp 0x158ae
movq %rax, %r13
testb %r12b, %r12b
je 0x15b1e
movl $0x8, %esi
movq %rbp, %rdi
jmp 0x15987
jmp 0x15b1b
jmp 0x15b1b
jmp 0x15d24
jmp 0x159f1
movq %rax, %r13
leaq 0x88(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x15d0f
movq 0x88(%rsp), %rsi
incq %rsi
callq 0x94c0
jmp 0x15d0f
movq %rax, %r13
jmp 0x15d0f
jmp 0x15b90
jmp 0x15b90
jmp 0x159e9
movq %rax, %r13
testb %bl, %bl
je 0x15a94
jmp 0x15938
movq %rax, %r13
testb %bl, %bl
je 0x15ad9
jmp 0x15955
movq %rax, %r13
testb %bl, %bl
je 0x15a94
movl $0x8, %esi
movq %r14, %rdi
callq 0x94c0
jmp 0x15a94
movq %rax, %r13
testb %bl, %bl
je 0x15ad9
movl $0x8, %esi
movq %r14, %rdi
callq 0x94c0
jmp 0x15ad9
movq %rax, %r13
testb %bl, %bl
je 0x15b1e
jmp 0x1597f
movq %rax, %r13
testb %bl, %bl
je 0x15b1e
movl $0x8, %esi
movq %r14, %rdi
callq 0x94c0
jmp 0x15b1e
jmp 0x15bfb
movq %rax, %r13
testb %bl, %bl
je 0x15b93
jmp 0x159ae
movq %rax, %r13
testb %bl, %bl
je 0x15b93
movl $0x8, %esi
movq %rbp, %rdi
jmp 0x15a2d
jmp 0x15a91
jmp 0x15ad6
jmp 0x15b90
jmp 0x15b90
jmp 0x159f1
jmp 0x159f1
jmp 0x15b1b
jmp 0x15d24
jmp 0x159e1
jmp 0x15d24
movq %rax, %r13
jmp 0x15cb8
movq %rax, %r13
jmp 0x15be7
movq %rax, %r13
jmp 0x15c0b
jmp 0x15a91
jmp 0x15ad6
jmp 0x15a91
jmp 0x15ad6
movq %rax, %r13
testb %bl, %bl
je 0x15b93
jmp 0x15a25
movq %rax, %r13
testb %bl, %bl
je 0x15b93
movl $0x8, %esi
movq %r14, %rdi
callq 0x94c0
jmp 0x15b93
jmp 0x15a68
jmp 0x15b1b
jmp 0x15b1b
jmp 0x15b90
jmp 0x15a91
jmp 0x15ad6
jmp 0x15a72
jmp 0x15a72
jmp 0x15a72
jmp 0x15b1b
jmp 0x15b90
jmp 0x15b90
jmp 0x15a72
jmp 0x15a72
movq %rax, %r13
jmp 0x15a7f
jmp 0x15b90
movq %rax, %r13
leaq 0x78(%rsp), %rdi
callq 0x1fefe
leaq 0x250(%rsp), %rdi
callq 0x1fefe
jmp 0x15c0b
movq %rax, %r13
leaq 0x40(%rsp), %rdi
callq 0x1d4cc
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x15ac0
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x20(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x15be7
jmp 0x15bcc
movq %rax, %r13
leaq 0x40(%rsp), %rdi
callq 0x1d4cc
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x15b05
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x20(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x15be7
jmp 0x15bcc
movq %rax, %r13
leaq 0x40(%rsp), %rdi
callq 0x1d4cc
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x15b4a
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x20(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x15be7
jmp 0x15bcc
movq %rax, %r13
leaq 0x148(%rsp), %rdi
callq 0x1b340
jmp 0x15c8f
jmp 0x15b76
jmp 0x15b76
movq %rax, %r13
leaq 0x250(%rsp), %rdi
callq 0x1f68c
jmp 0x15cb8
jmp 0x15d24
movq %rax, %r13
leaq 0x40(%rsp), %rdi
callq 0x1d4cc
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x15bbf
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x20(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x15be7
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x80(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
leaq 0x190(%rsp), %rdi
callq 0x1d4cc
jmp 0x15bfe
jmp 0x15c8c
movq %rax, %r13
leaq 0x250(%rsp), %rdi
callq 0x1e78e
movq 0x178(%rsp), %rdi
testq %rdi, %rdi
je 0x15c33
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x178(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x130(%rsp), %rdi
testq %rdi, %rdi
je 0x15c5b
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x130(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x150(%rsp), %rdi
testq %rdi, %rdi
je 0x15d0f
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x150(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
jmp 0x15d0f
movq %rax, %r13
movq 0x40(%rsp), %rdi
leaq 0x50(%rsp), %rax
cmpq %rax, %rdi
je 0x15cab
movq 0x50(%rsp), %rsi
incq %rsi
callq 0x94c0
leaq 0x250(%rsp), %rdi
callq 0x1f68c
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x15cda
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x20(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
movq 0x80(%rsp), %rdi
testq %rdi, %rdi
je 0x15d02
callq 0x95e0
xorps %xmm0, %xmm0
leaq 0x80(%rsp), %rax
movups %xmm0, (%rax)
movq $0x0, 0x10(%rax)
leaq 0x128(%rsp), %rdi
callq 0x1fefe
leaq 0x108(%rsp), %rdi
callq 0x1f58e
movq %r13, %rdi
callq 0x9930
movq %rax, %rdi
callq 0x1b23d