// File: /workspace/github_cpp_makefile_star2_O2/BenLangmead[P]bowtie/./reference.h
// Function: BitPairReference::BitPairReference(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, bool, EList<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, 128>*, EList<SString<char>, 128>*, bool, bool, bool, bool, bool, bool, bool)
BitPairReference(const string& in,
	                 bool sanity,
	                 EList<string>* infiles,
	                 EList<BTRefString >* origs,
	                 bool infilesSeq,
	                 bool loadSequence, // as opposed to just records
	                 bool useMm,
	                 bool useShmem,
	                 bool mmSweep,
	                 bool verbose,
	                 bool startVerbose) :
	buf_(NULL),
	sanityBuf_(NULL),
	loaded_(true),
	sanity_(sanity),
	useMm_(useMm),
	useShmem_(useShmem),
	verbose_(verbose)
	{
		string s3 = in + ".3." + gEbwt_ext;
		string s4 = in + ".4." + gEbwt_ext;

		FILE *f3, *f4;
		if((f3 = fopen(s3.c_str(), "rb")) == NULL) {
			cerr << "Could not open reference-string index file " << s3 << " for reading." << endl;
			cerr << "This is most likely because your index was built with an older version" << endl
			     << "(<= 0.9.8.1) of bowtie-build.  Please re-run bowtie-build to generate a new" << endl
			     << "index (or download one from the Bowtie website) and try again." << endl;
			loaded_ = false;
			return;
		}
		if((f4 = fopen(s4.c_str(), "rb")) ==NULL) {
			cerr << "Could not open reference-string index file " << s4 << " for reading." << endl;
			loaded_ = false;
			return;
		}
#ifdef BOWTIE_MM
		char *mmFile = NULL;
		if(useMm_) {
			if(verbose_ || startVerbose) {
				cerr << "  Memory-mapping reference index file " << s4 << ": ";
				logTime(cerr);
			}
			struct stat sbuf;
			if (stat(s4.c_str(), &sbuf) == -1) {
				perror("stat");
				cerr << "Error: Could not stat index file " << s4.c_str() << " prior to memory-mapping" << endl;
				throw 1;
			}
			mmFile = (char*)mmap((void *)0, sbuf.st_size,
			                     PROT_READ, MAP_SHARED, fileno(f4), 0);
			if(mmFile == (void *)(-1) || mmFile == NULL) {
				perror("mmap");
				cerr << "Error: Could not memory-map the index file " << s4.c_str() << endl;
				throw 1;
			}
			if(mmSweep) {
				TIndexOff sum = 0;
				for(off_t i = 0; i < sbuf.st_size; i += 1024) {
					sum += (TIndexOff) mmFile[i];
				}
				if(startVerbose) {
					cerr << "  Swept the memory-mapped ref index file; checksum: " << sum << ": ";
					logTime(cerr);
				}
			}
		}
#endif

		// Read endianness sentinel, set 'swap'
		uint32_t one;
		bool swap = false;
		one = readU<int32_t>(f3, swap);
		if(one != 1) {
			if(useMm_) {
				cerr << "Error: Can't use memory-mapped files when the index is the opposite endianness" << endl;
				throw 1;
			}
			assert_eq(0x1000000, one);
			swap = true; // have to endian swap U32s
		}

		// Read # records
		TIndexOffU sz;
		sz = readU<TIndexOffU>(f3, swap);
		if(sz == 0) {
			cerr << "Error: number of reference records is 0 in " << s3 << endl;
			throw 1;
		}

		// Read records
		nrefs_ = 0;
		nNoGapRefs_ = 0;

		// Cumulative count of all unambiguous characters on a per-
		// stretch 8-bit alignment (i.e. count of bytes we need to
		// allocate in buf_)
		TIndexOffU cumsz = 0;
		TIndexOffU cumlen = 0;
		TIndexOffU unambiglen = 0;
		TIndexOffU maxlen = 0;
		// For each unambiguous stretch...
		for(TIndexOffU i = 0; i < sz; i++) {
			recs_.push_back(RefRecord(f3, swap));
		}
		for(TIndexOffU i = 0; i < sz; i++) {
			if(recs_[i].first) {
				if(nrefs_ > 0) {
					refLens_.push_back(cumlen);
				}
				// Stupid hack to get around the fact that, for
				// colorspace Ebwts, not only do we omit reference
				// sequences that are *all* gaps from
				// nPat/plen/refnames, but we also omit reference
				// sequences that never have a stretch of more than 1
				// unambiguous character.
				if(unambiglen > 0 && maxlen > 1) {
					refApproxLens_.push_back(cumlen);
				}
				// More hackery to detect references that won't be
				// in the Ebwt even though they have non-zero length
				bool willBeInEbwt = true;
				if(recs_[i].len > 0 && willBeInEbwt) {
					// Remember that this is the first record for this
					// reference sequence (and the last record for the one
					// before)
					refRecOffs_.push_back(i);
					refOffs_.push_back(cumsz);
					expandIdx_.push_back(nrefs_);
					shrinkIdx_.push_back(nNoGapRefs_);
					nNoGapRefs_++;
					isGaps_.push_back(false);
				} else {
					shrinkIdx_.push_back(nNoGapRefs_);
					isGaps_.push_back(true);
				}
				cumlen = 0;
				unambiglen = 0;
				maxlen = 0;
				nrefs_++;
				assert_eq(nNoGapRefs_, expandIdx_.size());
				assert_eq(nrefs_, shrinkIdx_.size());
			} else if(i == 0) {
				//cerr << "First record in reference index file was not marked as 'first'" << endl;
				//throw 1;
			}
			cumUnambig_.push_back(cumsz);
			cumRefOff_.push_back(cumlen);
			cumsz += recs_[i].len;
#ifdef ACCOUNT_FOR_ALL_GAP_REFS
			cumlen += recs_[i].off;
			cumlen += recs_[i].len;
#else
			if(recs_[i].len > 0) {
				cumlen += recs_[i].off;
				cumlen += recs_[i].len;
			}
#endif
			unambiglen += recs_[i].len;
			if(recs_[i].len > maxlen) maxlen = recs_[i].len;
		}
		if(verbose_ || startVerbose) {
			cerr << "Read " << nrefs_ << " reference strings (" << nNoGapRefs_ << " non-empty) from " << sz << " records: ";
			logTime(cerr);
		}
		// Store a cap entry for the end of the last reference seq
		refRecOffs_.push_back((TIndexOffU)recs_.size());
		refOffs_.push_back(cumsz);
		if(unambiglen > 0 && maxlen > 1) {
			refApproxLens_.push_back(cumlen);
		}
		refLens_.push_back(cumlen);
		cumUnambig_.push_back(cumsz);
		cumRefOff_.push_back(cumlen);
		bufSz_ = cumsz;
		assert_eq(nNoGapRefs_, refApproxLens_.size());
		assert_eq(sz, recs_.size());
		if (f3 != NULL) fclose(f3); // done with .3.ebwt file
		// Round cumsz up to nearest byte boundary
		if((cumsz & 3) != 0) {
			cumsz += (4 - (cumsz & 3));
		}
		bufAllocSz_ = cumsz >> 2;
		assert_eq(0, cumsz & 3); // should be rounded up to nearest 4
		if(!loadSequence) return;
		if(useMm_) {
#ifdef BOWTIE_MM
			buf_ = (uint8_t*)mmFile;
			if(sanity_) {
				FILE *ftmp = fopen(s4.c_str(), "rb");
				sanityBuf_ = new uint8_t[cumsz >> 2];
				size_t ret = fread(sanityBuf_, 1, cumsz >> 2, ftmp);
				if(ret != (cumsz >> 2)) {
					cerr << "Only read " << ret << " bytes (out of " << (cumsz >> 2) << ") from reference index file " << s4 << endl;
					throw 1;
				}
				fclose(ftmp);
				for(size_t i = 0; i < (cumsz >> 2); i++) {
					assert_eq(sanityBuf_[i], buf_[i]);
				}
			}
#else
			cerr << "Shouldn't be at " << __FILE__ << ":" << __LINE__ << " without BOWTIE_MM defined" << endl;
			throw 1;
#endif
		} else {
			bool shmemLeader = true;
			if(!useShmem_) {
				// Allocate a buffer to hold the reference string
				try {
					buf_ = new uint8_t[cumsz >> 2];
					if(buf_ == NULL) throw std::bad_alloc();
				} catch(std::bad_alloc& e) {
					cerr << "Error: Ran out of memory allocating space for the bitpacked reference.  Please" << endl
						 << "re-run on a computer with more memory." << endl;
					throw 1;
				}
			} else {
				shmemLeader = ALLOC_SHARED_U8(
					(s4 + "[ref]"), (cumsz >> 2), &buf_,
					"ref", (verbose_ || startVerbose));
			}
			if(shmemLeader) {
				// Open the bitpair-encoded reference file
				FILE *f4 = fopen(s4.c_str(), "rb");
				if(f4 == NULL) {
					cerr << "Could not open reference-string index file " << s4 << " for reading." << endl;
					cerr << "This is most likely because your index was built with an older version" << endl
						 << "(<= 0.9.8.1) of bowtie-build.  Please re-run bowtie-build to generate a new" << endl
						 << "index (or download one from the Bowtie website) and try again." << endl;
					loaded_ = false;
					return;
				}
				// Read the whole thing in
				size_t ret = fread(buf_, 1, cumsz >> 2, f4);
				// Didn't read all of it?
				if(ret != (cumsz >> 2)) {
					cerr << "Only read " << ret << " bytes (out of " << (cumsz >> 2) << ") from reference index file " << s4 << endl;
					throw 1;
				}
				// Make sure there's no more
				char c;
				ret = fread(&c, 1, 1, f4);
				assert_eq(0, ret); // should have failed
				fclose(f4);
				if(useShmem_) NOTIFY_SHARED(buf_, (cumsz >> 2));
			} else {
				if(useShmem_) WAIT_SHARED(buf_, (cumsz >> 2));
			}
		}

		// Populate byteToU32_
		bool big = currentlyBigEndian();
		for(int i = 0; i < 256; i++) {
			uint32_t word = 0;
			if(big) {
				word |= ((i >> 0) & 3) << 24;
				word |= ((i >> 2) & 3) << 16;
				word |= ((i >> 4) & 3) << 8;
				word |= ((i >> 6) & 3) << 0;
			} else {
				word |= ((i >> 0) & 3) << 0;
				word |= ((i >> 2) & 3) << 8;
				word |= ((i >> 4) & 3) << 16;
				word |= ((i >> 6) & 3) << 24;
			}
			byteToU32_[i] = word;
		}

#ifndef NDEBUG
		if(sanity_) {
			// Compare the sequence we just read from the compact index
			// file to the true reference sequence.
			EList<BTRefString > *os; // for holding references
			EList<BTRefString > osv; // for holding references
			if(infiles != NULL) {
				if(infilesSeq) {
					for(size_t i = 0; i < infiles->size(); i++) {
						// Remove initial backslash; that's almost
						// certainly being used to protect the first
						// character of the sequence from getopts (e.g.,
						// when the first char is -)
						if((*infiles)[i].at(0) == '\\') {
							(*infiles)[i].erase(0, 1);
						}
						osv.push_back(BTRefString((*infiles)[i].c_str(), true));
					}
				} else {
					readSequenceFiles(*infiles, osv);
				}
				os = &osv;
			} else {
				assert(origs != NULL);
				os = origs;
			}

			// Go through the loaded reference files base-by-base and
			// sanity check against what we get by calling getBase and
			// getStretch
			size_t refi = 0;
			int longestStretch = 0;
			int curStretch = 0;
			for(size_t i = 0; i < os->size(); i++) {
				size_t olen = (*os)[i].length();
				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 == 0) {
					continue;
				}
				longestStretch = 0;
				size_t olenU32 = (olen + 12) / 4;
				uint32_t *buf = new uint32_t[olenU32];
				uint8_t *bufadj = (uint8_t*)buf;
				bufadj += getStretch(buf, refi, 0, olen);
				for(size_t j = 0; j < olen; j++) {
					assert_eq((int)(*os)[i][j], (int)bufadj[j]);
					assert_eq((int)(*os)[i][j], (int)getBase(refi, j));
				}
				refi++;
				delete[] buf;
			}
		}
#endif
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x421d8, %rsp          # imm = 0x421D8
movl %r9d, %r13d
movq %r8, %r15
movq %rcx, %r12
movq %rsi, %rbx
movq %rdi, %r9
movb 0x42230(%rsp), %al
movb 0x42220(%rsp), %cl
movb 0x42218(%rsp), %sil
addq $0x400, %rdi            # imm = 0x400
movq %rdi, 0x18(%rsp)
movabsq $-0x100000000, %r10     # imm = 0xFFFFFFFF00000000
movq %r10, 0x400(%r9)
andq $0x0, 0x408(%r9)
movl $0x80, %edi
movq %rdi, 0x410(%r9)
andq $0x0, 0x418(%r9)
movq %r10, 0x420(%r9)
andq $0x0, 0x428(%r9)
movq %rdi, 0x430(%r9)
andq $0x0, 0x438(%r9)
movq %r10, 0x440(%r9)
andq $0x0, 0x448(%r9)
movq %rdi, 0x450(%r9)
andq $0x0, 0x458(%r9)
leaq 0x420(%r9), %r8
movq %r8, 0x48(%rsp)
leaq 0x440(%r9), %r8
movq %r8, 0x60(%rsp)
leaq 0x460(%r9), %r8
movq %r8, 0x50(%rsp)
movq %r10, 0x460(%r9)
andq $0x0, 0x468(%r9)
movq %rdi, 0x470(%r9)
andq $0x0, 0x478(%r9)
leaq 0x480(%r9), %r8
movq %r8, 0x80(%rsp)
movq %r10, 0x480(%r9)
andq $0x0, 0x488(%r9)
movq %rdi, 0x490(%r9)
andq $0x0, 0x498(%r9)
movq %r10, 0x4a0(%r9)
andq $0x0, 0x4a8(%r9)
movq %rdi, 0x4b0(%r9)
andq $0x0, 0x4b8(%r9)
movq %r10, 0x4c0(%r9)
andq $0x0, 0x4c8(%r9)
movq %rdi, 0x4d0(%r9)
andq $0x0, 0x4d8(%r9)
movq %r10, 0x4e0(%r9)
andq $0x0, 0x4e8(%r9)
movq %rdi, 0x4f0(%r9)
andq $0x0, 0x4f8(%r9)
movq %r10, 0x500(%r9)
andq $0x0, 0x508(%r9)
movq %rdi, 0x510(%r9)
andq $0x0, 0x518(%r9)
movq %r10, 0x520(%r9)
andq $0x0, 0x528(%r9)
movq %rdi, 0x530(%r9)
leaq 0x4a0(%r9), %rdi
movq %rdi, 0x78(%rsp)
xorps %xmm0, %xmm0
movups %xmm0, 0x538(%r9)
andq $0x0, 0x548(%r9)
movb $0x1, 0x56c(%r9)
movb %dl, 0x56d(%r9)
leaq 0x4c0(%r9), %rdx
movq %rdx, 0x58(%rsp)
movb %sil, 0x56e(%r9)
leaq 0x4e0(%r9), %rdx
movq %rdx, 0xd0(%rsp)
movb %cl, 0x56f(%r9)
movb %al, 0x570(%r9)
leaq 0x500(%r9), %rax
movq %rax, 0x70(%rsp)
movq %r9, (%rsp)
leaq 0x520(%r9), %rax
movq %rax, 0x68(%rsp)
leaq 0x17d28(%rip), %rdx     # 0x29979
leaq 0x198(%rsp), %rdi
movq %rbx, %rsi
callq 0xf2e5
leaq 0x24478(%rip), %rdx     # 0x360e0
leaq 0x118(%rsp), %rdi
leaq 0x198(%rsp), %rsi
callq 0x1b182
leaq 0x198(%rsp), %rdi
callq 0x46c8
leaq 0x17cec(%rip), %rdx     # 0x2997d
leaq 0x198(%rsp), %rdi
movq %rbx, %rsi
callq 0xf2e5
leaq 0x24438(%rip), %rdx     # 0x360e0
leaq 0x90(%rsp), %rdi
leaq 0x198(%rsp), %rsi
callq 0x1b182
leaq 0x198(%rsp), %rdi
callq 0x46c8
movq 0x118(%rsp), %rdi
leaq 0x1675d(%rip), %rsi     # 0x28436
callq 0x4350
movq %rax, 0x20(%rsp)
testq %rax, %rax
je 0x11dee
movq 0x90(%rsp), %rdi
leaq 0x1673b(%rip), %rsi     # 0x28436
callq 0x4350
testq %rax, %rax
je 0x11e73
movq %rax, %rbx
movb 0x42238(%rsp), %bpl
movq (%rsp), %rax
cmpb $0x1, 0x56e(%rax)
jne 0x11ebd
movb 0x570(%rax), %al
orb %bpl, %al
cmpb $0x1, %al
jne 0x11d69
movq 0x222b7(%rip), %rdi     # 0x33ff0
leaq 0x17d4d(%rip), %rsi     # 0x29a8d
callq 0x42d0
leaq 0x90(%rsp), %rsi
movq %rax, %rdi
callq 0x4270
leaq 0x16d05(%rip), %rsi     # 0x28a61
movq %rax, %rdi
callq 0x42d0
callq 0x99bd
movq 0x90(%rsp), %rdi
leaq 0x198(%rsp), %rsi
callq 0x45c0
cmpl $-0x1, %eax
je 0x12cd9
movq 0x1c8(%rsp), %r14
movq %rbx, %rdi
callq 0x4320
pushq $0x1
popq %rcx
xorl %edi, %edi
movq %r14, %rsi
movl %ecx, %edx
movl %eax, %r8d
xorl %r9d, %r9d
callq 0x42c0
movq %rax, 0x38(%rsp)
incq %rax
cmpq $0x1, %rax
jbe 0x12ca8
cmpb $0x0, 0x42228(%rsp)
je 0x11ec6
xorl %eax, %eax
xorl %ebx, %ebx
cmpq %r14, %rax
jge 0x124d2
movq 0x38(%rsp), %rcx
movsbq (%rcx,%rax), %rcx
addq %rcx, %rbx
addq $0x400, %rax            # imm = 0x400
jmp 0x11dd0
movq 0x221fb(%rip), %rdi     # 0x33ff0
leaq 0x17b85(%rip), %rsi     # 0x29981
callq 0x42d0
leaq 0x118(%rsp), %rsi
movq %rax, %rdi
callq 0x4270
leaq 0x17b95(%rip), %rsi     # 0x299ad
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq 0x221c1(%rip), %rdi     # 0x33ff0
leaq 0x17b85(%rip), %rsi     # 0x299bb
callq 0x42d0
movq %rax, %rdi
callq 0x4130
leaq 0x17bb8(%rip), %rsi     # 0x29a02
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
leaq 0x17bed(%rip), %rsi     # 0x29a4e
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
jmp 0x11ead
movq 0x22176(%rip), %rdi     # 0x33ff0
leaq 0x17b00(%rip), %rsi     # 0x29981
callq 0x42d0
leaq 0x90(%rsp), %rsi
movq %rax, %rdi
callq 0x4270
leaq 0x17b10(%rip), %rsi     # 0x299ad
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq (%rsp), %rax
movb $0x0, 0x56c(%rax)
jmp 0x12c7c
movq $0x0, 0x38(%rsp)
leaq 0x198(%rsp), %rdi
pushq $0x1
popq %rsi
pushq $0x4
popq %rdx
movq 0x20(%rsp), %rcx
callq 0x44b0
cmpq $0x4, %rax
jne 0x1354b
movl 0x198(%rsp), %ebx
cmpq $0x1, %rbx
je 0x11f12
movq (%rsp), %rax
cmpb $0x1, 0x56e(%rax)
je 0x1396e
cmpl $0x1000000, %ebx        # imm = 0x1000000
jne 0x139ad
movq %r12, 0x40(%rsp)
xorl %esi, %esi
cmpl $0x1, %ebx
setne %sil
movq 0x20(%rsp), %rdi
callq 0x9b27
testq %rax, %rax
je 0x13568
movq %rax, %rbp
movq (%rsp), %rax
andq $0x0, 0x560(%rax)
andl $0x0, 0x568(%rax)
andq $0x0, 0x8(%rsp)
andq $0x0, 0x28(%rsp)
leaq 0x540(%rax), %rcx
movq %rcx, 0x30(%rsp)
addq $0x568, %rax            # imm = 0x568
movq %rax, 0x10(%rsp)
leaq 0x198(%rsp), %r14
movq %rbp, %r12
subq $0x1, %r12
jb 0x11fa1
xorl %edx, %edx
cmpl $0x1, %ebx
setne %dl
movq %r14, %rdi
movq 0x20(%rsp), %rsi
callq 0x1b1fa
movq 0x18(%rsp), %rdi
movq %r14, %rsi
callq 0x1b1a2
jmp 0x11f77
movl %r13d, 0x8c(%rsp)
xorl %esi, %esi
leaq 0x8(%rsp), %r12
leaq 0x28(%rsp), %r13
xorl %ebx, %ebx
xorl %r14d, %r14d
movq %rsi, 0x198(%rsp)
cmpq %rbp, %rsi
jae 0x121ec
movq 0x18(%rsp), %rdi
callq 0x1b2cc
cmpb $0x1, 0x10(%rax)
jne 0x12112
movq (%rsp), %rax
cmpq $0x0, 0x560(%rax)
je 0x11ffa
movq 0x60(%rsp), %rdi
movq %r13, %rsi
callq 0x1b390
testq %r14, %r14
leaq 0xb0(%rsp), %r14
je 0x12025
cmpq $0x2, %rbx
jb 0x12025
movl 0x28(%rsp), %eax
movl %eax, 0xb0(%rsp)
movq 0x48(%rsp), %rdi
movq %r14, %rsi
callq 0x1b3de
movq 0x198(%rsp), %rsi
movq 0x18(%rsp), %rdi
callq 0x1b2cc
cmpq $0x0, 0x8(%rax)
je 0x120ab
movq 0x58(%rsp), %rdi
leaq 0x198(%rsp), %rsi
callq 0x1b390
movq 0x50(%rsp), %rdi
movq %r12, %rsi
callq 0x1b390
movq (%rsp), %rax
movl 0x560(%rax), %eax
movl %eax, 0xb0(%rsp)
movq 0xd0(%rsp), %rdi
movq %r14, %rsi
callq 0x1b3de
movq 0x70(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1b3de
movq 0x10(%rsp), %rax
incl (%rax)
movb $0x0, 0xb0(%rsp)
movq 0x68(%rsp), %rdi
movq %r14, %rsi
callq 0x1b42a
jmp 0x120cf
movq 0x70(%rsp), %rdi
movq 0x10(%rsp), %rsi
callq 0x1b3de
movb $0x1, 0xb0(%rsp)
movq 0x68(%rsp), %rdi
movq %r14, %rsi
callq 0x1b42a
andq $0x0, 0x28(%rsp)
movq (%rsp), %rsi
movq 0x4f8(%rsi), %rcx
movq 0x560(%rsi), %rax
incq %rax
movq %rax, 0x560(%rsi)
movl 0x568(%rsi), %edx
cmpq %rdx, %rcx
jne 0x1323b
cmpq 0x518(%rsi), %rax
jne 0x130ee
xorl %ebx, %ebx
xorl %r14d, %r14d
movq 0x80(%rsp), %rdi
movq %r12, %rsi
callq 0x1b390
movq 0x78(%rsp), %rdi
movq %r13, %rsi
callq 0x1b390
movq 0x198(%rsp), %rsi
movq 0x18(%rsp), %rdi
callq 0x1b2cc
movq 0x8(%rax), %rax
addq %rax, 0x8(%rsp)
movq 0x198(%rsp), %rsi
movq 0x18(%rsp), %rdi
callq 0x1b2cc
cmpq $0x0, 0x8(%rax)
je 0x12198
movq 0x198(%rsp), %rsi
movq 0x18(%rsp), %rdi
callq 0x1b2cc
movq (%rax), %rax
addq %rax, 0x28(%rsp)
movq 0x198(%rsp), %rsi
movq 0x18(%rsp), %rdi
callq 0x1b2cc
movq 0x8(%rax), %rax
addq %rax, 0x28(%rsp)
movq 0x198(%rsp), %rsi
movq 0x18(%rsp), %rdi
callq 0x1b2cc
addq 0x8(%rax), %r14
movq 0x198(%rsp), %rsi
movq 0x18(%rsp), %rdi
callq 0x1b2cc
cmpq %rbx, 0x8(%rax)
jbe 0x121dc
movq 0x198(%rsp), %rsi
movq 0x18(%rsp), %rdi
callq 0x1b2cc
movq 0x8(%rax), %rbx
movq 0x198(%rsp), %rsi
incq %rsi
jmp 0x11fba
movq (%rsp), %rax
movb 0x570(%rax), %al
orb 0x42238(%rsp), %al
je 0x12271
movq 0x21dea(%rip), %rdi     # 0x33ff0
leaq 0x17992(%rip), %rsi     # 0x29b9f
callq 0x42d0
movq (%rsp), %rcx
movq 0x560(%rcx), %rsi
movq %rax, %rdi
callq 0x41a0
leaq 0x17979(%rip), %rsi     # 0x29ba5
movq %rax, %rdi
callq 0x42d0
movq 0x10(%rsp), %rcx
movl (%rcx), %esi
movq %rax, %rdi
callq 0x41a0
leaq 0x17970(%rip), %rsi     # 0x29bba
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x41a0
leaq 0x17968(%rip), %rsi     # 0x29bcc
movq %rax, %rdi
callq 0x42d0
callq 0x99bd
movq (%rsp), %rax
movq 0x418(%rax), %rax
leaq 0x198(%rsp), %rsi
movq %rax, (%rsi)
movq 0x58(%rsp), %rdi
callq 0x1b390
leaq 0x8(%rsp), %rsi
movq 0x50(%rsp), %rdi
callq 0x1b390
testq %r14, %r14
je 0x122c3
cmpq $0x2, %rbx
jb 0x122c3
movl 0x28(%rsp), %eax
leaq 0x198(%rsp), %rsi
movl %eax, (%rsi)
movq 0x48(%rsp), %rdi
callq 0x1b3de
leaq 0x28(%rsp), %rsi
movq 0x60(%rsp), %rdi
callq 0x1b390
leaq 0x8(%rsp), %rsi
movq 0x80(%rsp), %rdi
callq 0x1b390
leaq 0x28(%rsp), %rsi
movq 0x78(%rsp), %rdi
callq 0x1b390
movq 0x8(%rsp), %rax
movq (%rsp), %rcx
movq %rax, 0x550(%rcx)
movl 0x568(%rcx), %eax
cmpq %rax, 0x438(%rcx)
jne 0x135b7
cmpq 0x418(%rcx), %rbp
jne 0x136fc
movq 0x20(%rsp), %rdi
callq 0x42e0
movq 0x8(%rsp), %rax
testb $0x3, %al
je 0x12343
andq $-0x4, %rax
addq $0x4, %rax
movq %rax, 0x8(%rsp)
movq 0x40(%rsp), %r13
movb 0x42238(%rsp), %bl
movq %rax, %rdi
shrq $0x2, %rdi
movq (%rsp), %rcx
movq %rdi, 0x558(%rcx)
testb $0x3, %al
jne 0x13839
cmpb $0x0, 0x42210(%rsp)
je 0x12c7c
movq (%rsp), %rax
cmpb $0x1, 0x56e(%rax)
jne 0x1243a
movq 0x38(%rsp), %rcx
movq %rcx, 0x540(%rax)
cmpb $0x1, 0x56d(%rax)
jne 0x125ba
movq 0x90(%rsp), %rdi
leaq 0x16086(%rip), %rsi     # 0x28436
callq 0x4350
movq %rax, %rbx
movq 0x8(%rsp), %r14
shrq $0x2, %r14
movq %r14, %rdi
callq 0x4030
movq (%rsp), %r12
movq %rax, 0x548(%r12)
pushq $0x1
popq %rsi
movq %rax, %rdi
movq %r14, %rdx
movq %rbx, %rcx
callq 0x44b0
movq %rax, %r14
movq 0x8(%rsp), %rax
shrq $0x2, %rax
cmpq %rax, %r14
jne 0x13ad9
movq %rbx, %rdi
callq 0x42e0
movq 0x8(%rsp), %rax
shrq $0x2, %rax
movq 0x540(%r12), %rcx
movq 0x548(%r12), %rdx
xorl %ebx, %ebx
cmpq %rbx, %rax
je 0x125ba
movb (%rdx,%rbx), %sil
cmpb (%rcx,%rbx), %sil
jne 0x13380
incq %rbx
jmp 0x1241e
cmpb $0x0, 0x56f(%rax)
je 0x12512
leaq 0x17837(%rip), %rdx     # 0x29c85
leaq 0x158(%rsp), %rdi
leaq 0x90(%rsp), %rsi
callq 0xf2e5
movq 0x8(%rsp), %rsi
shrq $0x2, %rsi
movq (%rsp), %rax
orb 0x570(%rax), %bl
movzbl %bl, %r8d
leaq 0x1825e(%rip), %rcx     # 0x2a6df
leaq 0x158(%rsp), %rdi
movq 0x30(%rsp), %rdx
callq 0xeded
movl %eax, %ebx
leaq 0x158(%rsp), %rdi
callq 0x46c8
testb %bl, %bl
jne 0x1251f
movq (%rsp), %rax
cmpb $0x1, 0x56f(%rax)
jne 0x125ba
movq 0x30(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rsi
shrq $0x2, %rsi
callq 0x26d08
jmp 0x125ba
testb %bpl, %bpl
je 0x11ec6
movq 0x21b0e(%rip), %rdi     # 0x33ff0
leaq 0x175cb(%rip), %rsi     # 0x29ab4
callq 0x42d0
movq %rax, %rdi
movq %rbx, %rsi
callq 0x42b0
leaq 0x16561(%rip), %rsi     # 0x28a61
movq %rax, %rdi
callq 0x42d0
callq 0x99bd
jmp 0x11ec6
callq 0x4030
movq 0x30(%rsp), %rcx
movq %rax, (%rcx)
movq 0x90(%rsp), %rdi
leaq 0x15f08(%rip), %rsi     # 0x28436
callq 0x4350
testq %rax, %rax
je 0x12714
movq %rax, %r14
movq 0x30(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rdx
shrq $0x2, %rdx
pushq $0x1
popq %rsi
movq %r14, %rcx
callq 0x44b0
movq %rax, %rbx
movq 0x8(%rsp), %rax
shrq $0x2, %rax
cmpq %rax, %rbx
jne 0x13b62
leaq 0x198(%rsp), %rdi
pushq $0x1
popq %rdx
movq %rdx, %rsi
movq %r14, %rcx
callq 0x44b0
testq %rax, %rax
jne 0x13beb
movq %r14, %rdi
callq 0x42e0
movq (%rsp), %rax
cmpb $0x1, 0x56f(%rax)
jne 0x125ba
movq 0x30(%rsp), %rax
movq (%rax), %rdi
movq 0x8(%rsp), %rsi
shrq $0x2, %rsi
callq 0x26d00
xorl %eax, %eax
xorl %ecx, %ecx
xorl %edx, %edx
xorl %esi, %esi
cmpq $0x100, %rsi            # imm = 0x100
je 0x12611
movl %esi, %edi
andl $0x3, %edi
movl %eax, %r8d
andl $0x300, %r8d            # imm = 0x300
orl %edi, %r8d
movl %ecx, %edi
andl $0x30000, %edi          # imm = 0x30000
orl %r8d, %edi
movl %edx, %r8d
andl $0x3000000, %r8d        # imm = 0x3000000
orl %edi, %r8d
movq (%rsp), %rdi
movl %r8d, (%rdi,%rsi,4)
incq %rsi
addl $0x40000, %edx          # imm = 0x40000
addl $0x1000, %ecx           # imm = 0x1000
addl $0x40, %eax
jmp 0x125c2
movq (%rsp), %rax
cmpb $0x0, 0x56d(%rax)
je 0x12c7c
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0xd8(%rsp)
andq $0x0, 0xe0(%rsp)
movq $0x80, 0xe8(%rsp)
andq $0x0, 0xf0(%rsp)
testq %r13, %r13
je 0x126ec
cmpb $0x0, 0x8c(%rsp)
je 0x1279c
xorl %ebx, %ebx
leaq 0xd8(%rsp), %r15
pushq $0x1
popq %r14
leaq 0x198(%rsp), %r12
cmpq 0x18(%r13), %rbx
jae 0x12b2b
movq %r13, %rdi
movq %rbx, %rsi
callq 0x140da
movq %rax, %rdi
xorl %esi, %esi
callq 0x4680
cmpb $0x5c, (%rax)
jne 0x126bb
movq %r13, %rdi
movq %rbx, %rsi
callq 0x140da
movq %rax, %rdi
xorl %esi, %esi
movq %r14, %rdx
callq 0x4090
movq %r13, %rdi
movq %rbx, %rsi
callq 0x140da
movq (%rax), %rsi
movq %r12, %rdi
movq %r14, %rdx
callq 0x1b4d8
movq %r15, %rdi
movq %r12, %rsi
callq 0x1b476
movq %r12, %rdi
callq 0xe6f0
incq %rbx
jmp 0x1267f
testq %r15, %r15
jne 0x12b2b
leaq 0x1758f(%rip), %rdi     # 0x29c8b
leaq 0x170f5(%rip), %rsi     # 0x297f8
leaq 0x173df(%rip), %rcx     # 0x29ae9
movl $0x14d, %edx            # imm = 0x14D
callq 0x4190
movq 0x218d5(%rip), %rdi     # 0x33ff0
leaq 0x1725f(%rip), %rsi     # 0x29981
callq 0x42d0
leaq 0x90(%rsp), %rsi
movq %rax, %rdi
callq 0x4270
leaq 0x1726f(%rip), %rsi     # 0x299ad
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq 0x2189b(%rip), %rdi     # 0x33ff0
leaq 0x1725f(%rip), %rsi     # 0x299bb
callq 0x42d0
movq %rax, %rdi
callq 0x4130
leaq 0x17292(%rip), %rsi     # 0x29a02
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
leaq 0x172c7(%rip), %rsi     # 0x29a4e
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
jmp 0x11ead
leaq 0xd8(%rsp), %r15
movl $0xffffffff, %ebp       # imm = 0xFFFFFFFF
xorl %esi, %esi
leaq 0x138(%rsp), %r12
leaq 0xf8(%rsp), %r13
movq 0x40(%rsp), %rdi
cmpq 0x18(%rdi), %rsi
jae 0x12b2b
movq %rsi, 0x20(%rsp)
callq 0x13f60
movq %rax, %rbx
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0xb0(%rsp)
andq $0x0, 0xb8(%rsp)
movl $0x80, %ecx
movq %rcx, 0xc0(%rsp)
andq $0x0, 0xc8(%rsp)
movq %rax, 0x138(%rsp)
andq $0x0, 0x140(%rsp)
movq %rcx, 0x148(%rsp)
andq $0x0, 0x150(%rsp)
movq (%rbx), %rdi
leaq 0x15f5c(%rip), %rsi     # 0x28790
callq 0x4350
testq %rax, %rax
je 0x134d7
leaq 0x1a0(%rsp), %rcx
andq $0x0, 0x10(%rcx)
xorps %xmm0, %xmm0
movups %xmm0, (%rcx)
movl $0x40000, %ecx          # imm = 0x40000
movq %rcx, 0x1c0(%rsp)
movq %rcx, 0x1b8(%rsp)
movb $0x0, 0x1c8(%rsp)
andq $0x0, 0x401d0(%rsp)
movq %rax, 0x198(%rsp)
xorl %eax, %eax
movl $0x40000, %edx          # imm = 0x40000
cmpq %rcx, %rdx
jne 0x12897
testb $0x1, %al
jne 0x12930
andq $0x0, 0xf8(%rsp)
leaq 0xb0(%rsp), %rdi
movq %r13, %rsi
callq 0x1b390
andq $0x0, 0xf8(%rsp)
movq %r12, %rdi
movq %r13, %rsi
callq 0x1b390
leaq 0xb0(%rsp), %rdi
callq 0x1cf6c
movq %rax, %r14
movq %r12, %rdi
callq 0x1cf6c
leaq 0x198(%rsp), %rdi
movq %r14, %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x1ce96
movq %r12, %rdi
callq 0x1cf6c
cmpq $0x0, (%rax)
jne 0x12914
leaq 0xb0(%rsp), %rdi
callq 0x1d034
movq %r12, %rdi
callq 0x1d034
movq 0x1b8(%rsp), %rdx
movq 0x1c0(%rsp), %rcx
movb 0x1c8(%rsp), %al
jmp 0x1288a
leaq 0x198(%rsp), %rdi
callq 0x1ce86
movq (%rbx), %rdi
leaq 0x15e49(%rip), %rsi     # 0x28790
callq 0x4350
testq %rax, %rax
je 0x13511
leaq 0x1a0(%rsp), %rcx
andq $0x0, 0x10(%rcx)
xorps %xmm0, %xmm0
movups %xmm0, (%rcx)
movl $0x40000, %ecx          # imm = 0x40000
movq %rcx, 0x1c0(%rsp)
movq %rcx, 0x1b8(%rsp)
movb $0x0, 0x1c8(%rsp)
andq $0x0, 0x401d0(%rsp)
movq %rax, 0x198(%rsp)
xorl %eax, %eax
movl $0x40000, %edx          # imm = 0x40000
xorl %ebx, %ebx
cmpq %rcx, %rdx
jne 0x129ac
testb $0x1, %al
jne 0x12af8
leaq 0x108(%rsp), %rax
movq %rax, 0xf8(%rsp)
andq $0x0, 0x100(%rsp)
movb $0x0, 0x108(%rsp)
leaq 0xb0(%rsp), %rdi
movq %rbx, %rsi
callq 0xd2a6
movq (%rax), %rsi
incq %rsi
movq %r13, %rdi
callq 0x4500
movq %r12, %rdi
movq %rbx, %rsi
callq 0xd2a6
movq (%rax), %rdi
callq 0x4030
movq %rax, %r14
movq %r12, %rdi
movq %rbx, %rsi
callq 0xd2a6
movq (%rax), %rdx
leaq 0x178(%rsp), %rdi
movq %r14, %rsi
callq 0x1b4d8
movq %r15, %rdi
leaq 0x178(%rsp), %r14
movq %r14, %rsi
callq 0x1b476
movq %r14, %rdi
callq 0xe6f0
movq %r15, %rdi
callq 0x1ccfa
leaq 0x198(%rsp), %rdi
movq %r13, %rsi
movq %rax, %rdx
xorl %ecx, %ecx
callq 0x1cbde
movq %r15, %rdi
callq 0x1ccfa
cmpq $0x0, 0x18(%rax)
je 0x12a8b
movq %r15, %rdi
callq 0x1ccfa
cmpq %rbp, 0x18(%rax)
jle 0x12aba
movq %r15, %rdi
callq 0x1ccfa
movq %rax, %rdi
movq %rbp, %rsi
callq 0xdd84
xorl %ebp, %ebp
jmp 0x12ac6
movq %r15, %rdi
callq 0x1cdc4
movq %r13, %rdi
callq 0x46c8
incq %rbx
movq 0x1b8(%rsp), %rdx
movq 0x1c0(%rsp), %rcx
movb 0x1c8(%rsp), %al
jmp 0x1299f
movq %r15, %rdi
callq 0x1ccfa
subq 0x18(%rax), %rbp
xorl %r14d, %r14d
movq %r15, %rdi
callq 0x1ccfa
cmpq 0x18(%rax), %r14
jae 0x12a93
movq %r15, %rdi
callq 0x1ccfa
movq %rax, %rdi
movq %r14, %rsi
callq 0xe1f4
cmpb $0x0, (%rax)
js 0x12d3e
incq %r14
jmp 0x12ac9
leaq 0x198(%rsp), %rdi
callq 0x1ce86
movq %r12, %rdi
callq 0x1b82c
leaq 0xb0(%rsp), %rdi
callq 0x1b82c
movq 0x20(%rsp), %rsi
incq %rsi
testq %rbp, %rbp
jg 0x127bb
movq $0x0, 0x10(%rsp)
xorl %r12d, %r12d
xorl %ebp, %ebp
cmpq 0x18(%r15), %rbp
jae 0x12c6f
movq %r15, %rdi
movq %rbp, %rsi
callq 0x1b4f4
movq 0x18(%rax), %rax
movq %rax, 0x20(%rsp)
xorl %r14d, %r14d
xorl %ebx, %ebx
cmpq %rbx, 0x20(%rsp)
je 0x12b9e
movq %r15, %rdi
movq %rbp, %rsi
callq 0x1b4f4
movq %rax, %rdi
movq %rbx, %rsi
callq 0xe1f4
cmpl %r14d, %r12d
leal 0x1(%r12), %ecx
movl %ecx, %edx
cmovll %r14d, %edx
cmpb $0x4, (%rax)
cmovll %edx, %r14d
movl $0x0, %eax
cmovgel %eax, %ecx
incq %rbx
movl %ecx, %r12d
jmp 0x12b5c
testl %r14d, %r14d
je 0x12c67
movq 0x20(%rsp), %rbx
movq %rbx, %rdi
andq $-0x4, %rdi
addq $0xc, %rdi
callq 0x4030
movq %rax, %r14
movq (%rsp), %rdi
movq %rax, %rsi
movq 0x10(%rsp), %rdx
xorl %ecx, %ecx
movq %rbx, %r8
callq 0x10620
cltq
movq %r14, %rcx
addq %rax, %rcx
movq %rcx, 0x38(%rsp)
xorl %ebx, %ebx
cmpq %rbx, 0x20(%rsp)
je 0x12c5a
movq %r15, %rdi
movq %r14, %r15
movq %rbp, %rsi
movq %rdi, %r13
callq 0x1b4f4
movq %rax, %rdi
movq %rbx, %rsi
callq 0xe1f4
movsbl (%rax), %eax
movq 0x38(%rsp), %rcx
movzbl (%rcx,%rbx), %ecx
cmpl %ecx, %eax
jne 0x12df8
movq %r13, %rdi
movq %rbp, %rsi
callq 0x1b4f4
movq %rax, %rdi
movq %rbx, %rsi
callq 0xe1f4
movsbl (%rax), %r14d
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x1b5ba
cmpl %r14d, %eax
jne 0x12f65
incq %rbx
movq %r15, %r14
movq %r13, %r15
jmp 0x12be4
incq 0x10(%rsp)
movq %r14, %rdi
callq 0x43d0
incq %rbp
jmp 0x12b39
leaq 0xd8(%rsp), %rdi
callq 0x1b7fc
leaq 0x90(%rsp), %rdi
callq 0x46c8
leaq 0x118(%rsp), %rdi
callq 0x46c8
addq $0x421d8, %rsp          # imm = 0x421D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x15823(%rip), %rdi     # 0x284d2
callq 0x4240
movq 0x21335(%rip), %rdi     # 0x33ff0
leaq 0x15815(%rip), %rsi     # 0x284d7
callq 0x42d0
movq 0x90(%rsp), %rsi
movq %rax, %rdi
callq 0x42d0
jmp 0x12d17
leaq 0x157b2(%rip), %rdi     # 0x28492
callq 0x4240
movq 0x21304(%rip), %rdi     # 0x33ff0
leaq 0x157a4(%rip), %rsi     # 0x28497
callq 0x42d0
movq 0x90(%rsp), %rsi
movq %rax, %rdi
callq 0x42d0
leaq 0x157aa(%rip), %rsi     # 0x284b9
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
pushq $0x4
popq %rdi
callq 0x4140
movl $0x1, (%rax)
movq 0x2123c(%rip), %rsi     # 0x33f70
movq %rax, %rdi
xorl %edx, %edx
callq 0x45b0
movq 0x21273(%rip), %rdi     # 0x33fb8
leaq 0x154f9(%rip), %rsi     # 0x28245
callq 0x42d0
movq %rax, %rbx
leaq 0xd8(%rsp), %rdi
callq 0x1ccfa
movq %rax, %rdi
movq %r14, %rsi
callq 0xe1f4
movsbl (%rax), %esi
movq %rbx, %rdi
callq 0x4380
leaq 0x154de(%rip), %rsi     # 0x2825c
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
xorl %esi, %esi
callq 0x45d0
leaq 0x17681(%rip), %rsi     # 0x2a418
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq 0x2120a(%rip), %rdi     # 0x33fb8
leaq 0x173ad(%rip), %rsi     # 0x2a162
callq 0x42d0
leaq 0x1697a(%rip), %rsi     # 0x2973b
movq %rax, %rdi
callq 0x42d0
pushq $0x69
popq %rsi
movq %rax, %rdi
callq 0x45d0
movq %rax, %rdi
callq 0x4130
leaq 0x16838(%rip), %rdi     # 0x2961b
leaq 0x17378(%rip), %rsi     # 0x2a162
leaq 0x17381(%rip), %rcx     # 0x2a172
pushq $0x69
jmp 0x13562
movq 0x211b9(%rip), %rdi     # 0x33fb8
leaq 0x15353(%rip), %rsi     # 0x28159
callq 0x42d0
movq %rax, %r12
movq %r13, %rdi
movq %rbp, %rsi
callq 0x1b4f4
movq %rax, %rdi
movq %rbx, %rsi
callq 0xe1f4
movsbl (%rax), %esi
movq %r12, %rdi
callq 0x45d0
leaq 0x15339(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq %rax, %r12
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%r12,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%r12,%rax)
movq %r13, %rdi
movq %rbp, %rsi
callq 0x1b4f4
movq %rax, %rdi
movq %rbx, %rsi
callq 0xe1f4
movsbl (%rax), %esi
movq %r12, %rdi
callq 0x45d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x152df(%rip), %rsi     # 0x28174
movq %rax, %rdi
callq 0x42d0
movq 0x38(%rsp), %rcx
movzbl (%rcx,%rbx), %esi
movq %rax, %rdi
callq 0x45d0
leaq 0x152ba(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq 0x38(%rsp), %rcx
movzbl (%rcx,%rbx), %esi
movq %rax, %rdi
callq 0x45d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x17519(%rip), %rsi     # 0x2a418
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq 0x210a2(%rip), %rdi     # 0x33fb8
leaq 0x168db(%rip), %rsi     # 0x297f8
callq 0x42d0
leaq 0x16812(%rip), %rsi     # 0x2973b
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
movl $0x16a, %esi            # imm = 0x16A
callq 0x45d0
movq %rax, %rdi
callq 0x4130
leaq 0x166ce(%rip), %rdi     # 0x2961b
leaq 0x168a4(%rip), %rsi     # 0x297f8
leaq 0x16b8e(%rip), %rcx     # 0x29ae9
movl $0x16a, %edx            # imm = 0x16A
callq 0x4190
movq 0x2104c(%rip), %rdi     # 0x33fb8
leaq 0x151e6(%rip), %rsi     # 0x28159
callq 0x42d0
movq %rax, %r14
movq %r13, %rdi
movq %rbp, %rsi
callq 0x1b4f4
movq %rax, %rdi
movq %rbx, %rsi
callq 0xe1f4
movsbl (%rax), %esi
movq %r14, %rdi
callq 0x45d0
leaq 0x151cc(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%r14,%rax)
movq %r13, %rdi
movq %rbp, %rsi
callq 0x1b4f4
movq %rax, %rdi
movq %rbx, %rsi
callq 0xe1f4
movsbl (%rax), %esi
movq %r14, %rdi
callq 0x45d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x15172(%rip), %rsi     # 0x28174
movq %rax, %rdi
callq 0x42d0
movq %rax, %r14
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x1b5ba
movq %r14, %rdi
movl %eax, %esi
callq 0x45d0
leaq 0x15140(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq %rax, %r14
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%r14,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%r14,%rax)
movq (%rsp), %rdi
movq 0x10(%rsp), %rsi
movq %rbx, %rdx
callq 0x1b5ba
movq %r14, %rdi
movl %eax, %esi
callq 0x45d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x17390(%rip), %rsi     # 0x2a418
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq 0x20f19(%rip), %rdi     # 0x33fb8
leaq 0x16752(%rip), %rsi     # 0x297f8
callq 0x42d0
leaq 0x16689(%rip), %rsi     # 0x2973b
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
movl $0x16b, %esi            # imm = 0x16B
callq 0x45d0
movq %rax, %rdi
callq 0x4130
leaq 0x16545(%rip), %rdi     # 0x2961b
leaq 0x1671b(%rip), %rsi     # 0x297f8
leaq 0x16a05(%rip), %rcx     # 0x29ae9
movl $0x16b, %edx            # imm = 0x16B
callq 0x4190
movq 0x20ec3(%rip), %rdi     # 0x33fb8
leaq 0x1505d(%rip), %rsi     # 0x28159
callq 0x42d0
movq (%rsp), %rcx
movq 0x560(%rcx), %rsi
movq %rax, %rdi
callq 0x41a0
leaq 0x15054(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq (%rsp), %rcx
movq 0x560(%rcx), %rsi
movq %rax, %rdi
callq 0x41a0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x1500d(%rip), %rsi     # 0x28174
movq %rax, %rdi
callq 0x42d0
movq (%rsp), %rcx
movq 0x518(%rcx), %rsi
movq %rax, %rdi
callq 0x41a0
leaq 0x14fe6(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq (%rsp), %rcx
movq 0x518(%rcx), %rsi
movq %rax, %rdi
callq 0x41a0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x17243(%rip), %rsi     # 0x2a418
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq 0x20dcc(%rip), %rdi     # 0x33fb8
leaq 0x16605(%rip), %rsi     # 0x297f8
callq 0x42d0
leaq 0x1653c(%rip), %rsi     # 0x2973b
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
movl $0xb6, %esi
callq 0x45d0
movq %rax, %rdi
callq 0x4130
leaq 0x163f8(%rip), %rdi     # 0x2961b
leaq 0x165ce(%rip), %rsi     # 0x297f8
leaq 0x168b8(%rip), %rcx     # 0x29ae9
movl $0xb6, %edx
callq 0x4190
movq 0x20d76(%rip), %rdi     # 0x33fb8
leaq 0x14f10(%rip), %rsi     # 0x28159
callq 0x42d0
movq 0x10(%rsp), %rcx
movl (%rcx), %esi
movq %rax, %rdi
callq 0x41a0
leaq 0x14f0b(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq 0x10(%rsp), %rcx
movl (%rcx), %esi
movq %rax, %rdi
callq 0x41a0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x14ec8(%rip), %rsi     # 0x28174
movq %rax, %rdi
callq 0x42d0
movq (%rsp), %rcx
movq 0x4f8(%rcx), %rsi
movq %rax, %rdi
callq 0x41a0
leaq 0x14ea1(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq (%rsp), %rcx
movq 0x4f8(%rcx), %rsi
movq %rax, %rdi
callq 0x41a0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x170fe(%rip), %rsi     # 0x2a418
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq 0x20c87(%rip), %rdi     # 0x33fb8
leaq 0x164c0(%rip), %rsi     # 0x297f8
callq 0x42d0
leaq 0x163f7(%rip), %rsi     # 0x2973b
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
movl $0xb5, %esi
callq 0x45d0
movq %rax, %rdi
callq 0x4130
leaq 0x162b3(%rip), %rdi     # 0x2961b
leaq 0x16489(%rip), %rsi     # 0x297f8
leaq 0x16773(%rip), %rcx     # 0x29ae9
movl $0xb5, %edx
callq 0x4190
movq 0x20c31(%rip), %rdi     # 0x33fb8
leaq 0x14dcb(%rip), %rsi     # 0x28159
callq 0x42d0
movq (%rsp), %rcx
movq 0x548(%rcx), %rcx
movsbl (%rcx,%rbx), %esi
movq %rax, %rdi
callq 0x4380
leaq 0x14dbe(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq (%rsp), %rcx
movq 0x548(%rcx), %rcx
movsbl (%rcx,%rbx), %esi
movq %rax, %rdi
callq 0x4380
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x14d73(%rip), %rsi     # 0x28174
movq %rax, %rdi
callq 0x42d0
movq 0x30(%rsp), %rcx
movq (%rcx), %rcx
movsbl (%rcx,%rbx), %esi
movq %rax, %rdi
callq 0x4380
leaq 0x14d4b(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq 0x30(%rsp), %rcx
movq (%rcx), %rcx
movsbl (%rcx,%rbx), %esi
movq %rax, %rdi
callq 0x4380
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x16fa7(%rip), %rsi     # 0x2a418
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq 0x20b30(%rip), %rdi     # 0x33fb8
leaq 0x16369(%rip), %rsi     # 0x297f8
callq 0x42d0
leaq 0x162a0(%rip), %rsi     # 0x2973b
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
movl $0xef, %esi
callq 0x45d0
movq %rax, %rdi
callq 0x4130
leaq 0x1615c(%rip), %rdi     # 0x2961b
leaq 0x16332(%rip), %rsi     # 0x297f8
leaq 0x1661c(%rip), %rcx     # 0x29ae9
movl $0xef, %edx
callq 0x4190
movq 0x20b12(%rip), %rdi     # 0x33ff0
leaq 0x16c60(%rip), %rsi     # 0x2a145
callq 0x42d0
movq %rax, %rdi
callq 0x4130
pushq $0x4
popq %rdi
callq 0x4140
movl $0x1, (%rax)
movq 0x20a69(%rip), %rsi     # 0x33f70
movq %rax, %rdi
xorl %edx, %edx
callq 0x45b0
movq 0x20ad8(%rip), %rdi     # 0x33ff0
leaq 0x16c26(%rip), %rsi     # 0x2a145
callq 0x42d0
movq %rax, %rdi
callq 0x4130
pushq $0x4
popq %rdi
callq 0x4140
movl $0x1, (%rax)
movq 0x20a2f(%rip), %rsi     # 0x33f70
movq %rax, %rdi
xorl %edx, %edx
callq 0x45b0
leaq 0x16747(%rip), %rdi     # 0x29c99
leaq 0x16746(%rip), %rsi     # 0x29c9f
leaq 0x1674b(%rip), %rcx     # 0x29cab
pushq $0x4a
popq %rdx
callq 0x4190
movq 0x20a81(%rip), %rdi     # 0x33ff0
leaq 0x165fd(%rip), %rsi     # 0x29b73
callq 0x42d0
leaq 0x118(%rsp), %rsi
movq %rax, %rdi
callq 0x4270
movq %rax, %rdi
callq 0x4130
pushq $0x4
popq %rdi
callq 0x4140
movl $0x1, (%rax)
movq 0x209c8(%rip), %rsi     # 0x33f70
movq %rax, %rdi
xorl %edx, %edx
callq 0x45b0
jmp 0x13d9d
movq 0x209fa(%rip), %rdi     # 0x33fb8
leaq 0x14b94(%rip), %rsi     # 0x28159
callq 0x42d0
movq 0x10(%rsp), %rcx
movl (%rcx), %esi
movq %rax, %rdi
callq 0x41a0
leaq 0x14b8f(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq 0x10(%rsp), %rcx
movl (%rcx), %esi
movq %rax, %rdi
callq 0x41a0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x14b4c(%rip), %rsi     # 0x28174
movq %rax, %rdi
callq 0x42d0
movq (%rsp), %rcx
movq 0x438(%rcx), %rsi
movq %rax, %rdi
callq 0x41a0
leaq 0x14b25(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq (%rsp), %rcx
movq 0x438(%rcx), %rsi
movq %rax, %rdi
callq 0x41a0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x16d82(%rip), %rsi     # 0x2a418
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq 0x2090b(%rip), %rdi     # 0x33fb8
leaq 0x16144(%rip), %rsi     # 0x297f8
callq 0x42d0
leaq 0x1607b(%rip), %rsi     # 0x2973b
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
movl $0xd8, %esi
callq 0x45d0
movq %rax, %rdi
callq 0x4130
leaq 0x15f37(%rip), %rdi     # 0x2961b
leaq 0x1610d(%rip), %rsi     # 0x297f8
leaq 0x163f7(%rip), %rcx     # 0x29ae9
movl $0xd8, %edx
callq 0x4190
movq 0x208b5(%rip), %rdi     # 0x33fb8
leaq 0x14a4f(%rip), %rsi     # 0x28159
callq 0x42d0
movq %rax, %rdi
movq %rbp, %rsi
callq 0x41a0
leaq 0x14a4e(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
movq %rbp, %rsi
callq 0x41a0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x14a0f(%rip), %rsi     # 0x28174
movq %rax, %rdi
callq 0x42d0
movq (%rsp), %rcx
movq 0x418(%rcx), %rsi
movq %rax, %rdi
callq 0x41a0
leaq 0x149e8(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq (%rsp), %rcx
movq 0x418(%rcx), %rsi
movq %rax, %rdi
callq 0x41a0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x16c45(%rip), %rsi     # 0x2a418
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq 0x207ce(%rip), %rdi     # 0x33fb8
leaq 0x16007(%rip), %rsi     # 0x297f8
callq 0x42d0
leaq 0x15f3e(%rip), %rsi     # 0x2973b
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
movl $0xd9, %esi
callq 0x45d0
movq %rax, %rdi
callq 0x4130
leaq 0x15dfa(%rip), %rdi     # 0x2961b
leaq 0x15fd0(%rip), %rsi     # 0x297f8
leaq 0x162ba(%rip), %rcx     # 0x29ae9
movl $0xd9, %edx
callq 0x4190
movq 0x20778(%rip), %rdi     # 0x33fb8
leaq 0x14912(%rip), %rsi     # 0x28159
callq 0x42d0
movq %rax, %rdi
xorl %esi, %esi
callq 0x45d0
leaq 0x14912(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
xorl %esi, %esi
callq 0x45d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x148d4(%rip), %rsi     # 0x28174
movq %rax, %rdi
callq 0x42d0
movq 0x8(%rsp), %rsi
andl $0x3, %esi
movq %rax, %rdi
callq 0x41a0
leaq 0x148b0(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq 0x8(%rsp), %rsi
andl $0x3, %esi
movq %rax, %rdi
callq 0x41a0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x16b10(%rip), %rsi     # 0x2a418
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq 0x20699(%rip), %rdi     # 0x33fb8
leaq 0x15ed2(%rip), %rsi     # 0x297f8
callq 0x42d0
leaq 0x15e09(%rip), %rsi     # 0x2973b
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
movl $0xe0, %esi
callq 0x45d0
movq %rax, %rdi
callq 0x4130
leaq 0x15cc5(%rip), %rdi     # 0x2961b
leaq 0x15e9b(%rip), %rsi     # 0x297f8
leaq 0x16185(%rip), %rcx     # 0x29ae9
movl $0xe0, %edx
callq 0x4190
movq 0x2067b(%rip), %rdi     # 0x33ff0
leaq 0x14c43(%rip), %rsi     # 0x285bf
callq 0x42d0
movq %rax, %rdi
callq 0x4130
pushq $0x4
popq %rdi
callq 0x4140
movl $0x1, (%rax)
movq 0x205d2(%rip), %rsi     # 0x33f70
movq %rax, %rdi
xorl %edx, %edx
callq 0x45b0
jmp 0x13d9d
movq 0x20604(%rip), %rdi     # 0x33fb8
leaq 0x1479e(%rip), %rsi     # 0x28159
callq 0x42d0
movq %rax, %rdi
movl $0x1000000, %esi        # imm = 0x1000000
callq 0x45d0
leaq 0x1479b(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
movl $0x1000000, %esi        # imm = 0x1000000
callq 0x45d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x1475a(%rip), %rsi     # 0x28174
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
movq %rbx, %rsi
callq 0x41a0
leaq 0x1473b(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x41a0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x169a0(%rip), %rsi     # 0x2a418
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq 0x20529(%rip), %rdi     # 0x33fb8
leaq 0x15d62(%rip), %rsi     # 0x297f8
callq 0x42d0
leaq 0x15c99(%rip), %rsi     # 0x2973b
movq %rax, %rdi
callq 0x42d0
pushq $0x77
popq %rsi
movq %rax, %rdi
callq 0x45d0
movq %rax, %rdi
callq 0x4130
leaq 0x15b57(%rip), %rdi     # 0x2961b
leaq 0x15d2d(%rip), %rsi     # 0x297f8
leaq 0x16017(%rip), %rcx     # 0x29ae9
pushq $0x77
jmp 0x13562
movq 0x20510(%rip), %rdi     # 0x33ff0
leaq 0x160f0(%rip), %rsi     # 0x29bd7
callq 0x42d0
movq %rax, %rdi
movq %r14, %rsi
callq 0x41a0
leaq 0x160e4(%rip), %rsi     # 0x29be2
movq %rax, %rdi
callq 0x42d0
movq 0x8(%rsp), %rsi
shrq $0x2, %rsi
movq %rax, %rdi
callq 0x41a0
leaq 0x160d4(%rip), %rsi     # 0x29bf2
movq %rax, %rdi
callq 0x42d0
leaq 0x90(%rsp), %rsi
movq %rax, %rdi
callq 0x4270
movq %rax, %rdi
callq 0x4130
pushq $0x4
popq %rdi
callq 0x4140
movl $0x1, (%rax)
movq 0x2041d(%rip), %rsi     # 0x33f70
movq %rax, %rdi
xorl %edx, %edx
callq 0x45b0
jmp 0x13d9d
movq 0x20487(%rip), %rdi     # 0x33ff0
leaq 0x16067(%rip), %rsi     # 0x29bd7
callq 0x42d0
movq %rax, %rdi
movq %rbx, %rsi
callq 0x41a0
leaq 0x1605b(%rip), %rsi     # 0x29be2
movq %rax, %rdi
callq 0x42d0
movq 0x8(%rsp), %rsi
shrq $0x2, %rsi
movq %rax, %rdi
callq 0x41a0
leaq 0x1604b(%rip), %rsi     # 0x29bf2
movq %rax, %rdi
callq 0x42d0
leaq 0x90(%rsp), %rsi
movq %rax, %rdi
callq 0x4270
movq %rax, %rdi
callq 0x4130
pushq $0x4
popq %rdi
callq 0x4140
movl $0x1, (%rax)
movq 0x20394(%rip), %rsi     # 0x33f70
movq %rax, %rdi
xorl %edx, %edx
callq 0x45b0
jmp 0x13d9d
movq %rax, %rbx
movq 0x203c3(%rip), %rdi     # 0x33fb8
leaq 0x1455d(%rip), %rsi     # 0x28159
callq 0x42d0
movq %rax, %rdi
xorl %esi, %esi
callq 0x45d0
leaq 0x1455d(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
xorl %esi, %esi
callq 0x45d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x1451f(%rip), %rsi     # 0x28174
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
movq %rbx, %rsi
callq 0x41a0
leaq 0x14500(%rip), %rsi     # 0x2816f
movq %rax, %rdi
callq 0x42d0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x8, %edx
movl %edx, 0x18(%rax,%rcx)
movq %rax, %rdi
movq %rbx, %rsi
callq 0x41a0
movq (%rax), %rcx
movq -0x18(%rcx), %rcx
movl 0x18(%rax,%rcx), %edx
andl $-0x4b, %edx
orl $0x2, %edx
movl %edx, 0x18(%rax,%rcx)
leaq 0x16765(%rip), %rsi     # 0x2a418
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
movq 0x202ee(%rip), %rdi     # 0x33fb8
leaq 0x15b27(%rip), %rsi     # 0x297f8
callq 0x42d0
leaq 0x15a5e(%rip), %rsi     # 0x2973b
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
movl $0x11c, %esi            # imm = 0x11C
callq 0x45d0
movq %rax, %rdi
callq 0x4130
leaq 0x1591a(%rip), %rdi     # 0x2961b
leaq 0x15af0(%rip), %rsi     # 0x297f8
leaq 0x15dda(%rip), %rcx     # 0x29ae9
movl $0x11c, %edx            # imm = 0x11C
callq 0x4190
jmp 0x13ed1
jmp 0x13ed1
movq %rax, %rbx
leaq 0x158(%rsp), %rdi
callq 0x46c8
jmp 0x13ed4
movq %rax, %rbx
cmpl $0x1, %edx
jne 0x13ed4
movq %rbx, %rdi
callq 0x4110
movq 0x2029d(%rip), %rdi     # 0x33ff0
leaq 0x15eb5(%rip), %rsi     # 0x29c0f
callq 0x42d0
movq %rax, %rdi
callq 0x4130
leaq 0x15ef0(%rip), %rsi     # 0x29c5e
movq %rax, %rdi
callq 0x42d0
movq %rax, %rdi
callq 0x4130
pushq $0x4
popq %rdi
callq 0x4140
movl $0x1, (%rax)
movq 0x201dd(%rip), %rsi     # 0x33f70
movq %rax, %rdi
xorl %edx, %edx
callq 0x45b0
movq %rax, %rbx
callq 0x4540
jmp 0x13ed4
movq %rax, %rdi
callq 0xdd58
jmp 0x13ed1
jmp 0x13ed1
jmp 0x13ed1
jmp 0x13ed1
jmp 0x13ed1
jmp 0x13ed1
jmp 0x13ed1
jmp 0x13ed1
jmp 0x13ed1
jmp 0x13de6
jmp 0x13e86
movq %rax, %rbx
jmp 0x13ea8
jmp 0x13ed1
movq %rax, %rbx
leaq 0x198(%rsp), %rdi
callq 0xe6f0
jmp 0x13ec2
movq %rax, %rbx
leaq 0x198(%rsp), %rdi
jmp 0x13edc
movq %rax, %rbx
jmp 0x13ee1
movq %rax, %rbx
leaq 0x198(%rsp), %rdi
jmp 0x13ee9
movq %rax, %rbx
jmp 0x13eee
jmp 0x13ed1
jmp 0x13e86
jmp 0x13e86
jmp 0x13e86
jmp 0x13ed1
jmp 0x13e86
jmp 0x13e86
jmp 0x13ed1
jmp 0x13ed1
jmp 0x13ed1
jmp 0x13ed1
jmp 0x13ed1
jmp 0x13ed1
movq %rax, %rbx
leaq 0x178(%rsp), %rdi
callq 0xe6f0
jmp 0x13e8e
jmp 0x13e77
jmp 0x13e77
jmp 0x13ed1
jmp 0x13ed1
jmp 0x13e8b
movq %rax, %rbx
jmp 0x13e9b
jmp 0x13e8b
jmp 0x13e86
jmp 0x13ed1
jmp 0x13e86
jmp 0x13e8b
movq %rax, %rbx
jmp 0x13ec2
movq %rax, %rbx
leaq 0xf8(%rsp), %rdi
callq 0x46c8
leaq 0x198(%rsp), %rdi
callq 0x1ce86
leaq 0x138(%rsp), %rdi
callq 0x1b82c
leaq 0xb0(%rsp), %rdi
callq 0x1b82c
leaq 0xd8(%rsp), %rdi
callq 0x1b7fc
jmp 0x13ed4
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x46c8
leaq 0x118(%rsp), %rdi
callq 0x46c8
movq 0x68(%rsp), %rdi
callq 0x1b80c
movq 0x70(%rsp), %rdi
callq 0x1b81c
movq 0xd0(%rsp), %rdi
callq 0x1b81c
movq 0x58(%rsp), %rdi
callq 0x1b82c
movq 0x78(%rsp), %rdi
callq 0x1b82c
movq 0x80(%rsp), %rdi
callq 0x1b82c
movq 0x50(%rsp), %rdi
callq 0x1b82c
movq 0x60(%rsp), %rdi
callq 0x1b82c
movq 0x48(%rsp), %rdi
callq 0x1b81c
movq 0x18(%rsp), %rdi
callq 0x1b83c
movq %rbx, %rdi
callq 0x45e0