// File: BenLangmead[P]bowtie/./aligner_1mm.h
// Function: Paired1mmAlignerV1Factory::create() const
virtual Aligner* create() const {
		HitSinkPerThread* sinkPt = sinkPtFactory_.createMult(2);
		HitSinkPerThread* sinkPtSe1 = NULL, * sinkPtSe2 = NULL;
		EbwtSearchParams* params =
			new EbwtSearchParams(*sinkPt, os_);
		EbwtSearchParams* paramsSe1 = NULL, * paramsSe2 = NULL;
		if(reportSe_) {
			sinkPtSe1 = sinkPtFactory_.create();
			sinkPtSe2 = sinkPtFactory_.create();
			paramsSe1 =
				new EbwtSearchParams(*sinkPtSe1, os_);
			paramsSe2 =
				new EbwtSearchParams(*sinkPtSe2, os_);
		}

		const int halfAndHalf = 0;
		const bool seeded = false;

		bool do1Fw = true;
		bool do1Rc = true;
		bool do2Fw = true;
		bool do2Rc = true;
		if(!doFw_) {
			if(mate1fw_) do1Fw = false;
			else         do1Rc = false;
			if(mate2fw_) do2Fw = false;
			else         do2Rc = false;
		}
		if(!doRc_) {
			if(mate1fw_) do1Rc = false;
			else         do1Fw = false;
			if(mate2fw_) do2Rc = false;
			else         do2Fw = false;
		}

		TRangeSrcDrPtrVec *dr1FwVec;
		dr1FwVec = new TRangeSrcDrPtrVec();
		if(do1Fw) {
			EbwtRangeSource *r1Fw_Bw = new EbwtRangeSource(
				 ebwtBw_, true, OFF_MASK, true,  verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
			EbwtRangeSource *r1Fw_Fw = new EbwtRangeSource(
				&ebwtFw_, true, OFF_MASK, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);

			EbwtRangeSourceDriver * dr1Fw_Bw = new EbwtRangeSourceDriver(
				*params, r1Fw_Bw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
				0,          // seedLen (0 = whole read is seed)
				true,       // nudgeLeft (true for Fw index, false for Bw)
				PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
				PIN_TO_LEN, // allow 1 mismatch in rest of read
				PIN_TO_LEN, // "
				PIN_TO_LEN, // "
				os_, verbose_, quiet_, true, pool_, NULL);
			EbwtRangeSourceDriver * dr1Fw_Fw = new EbwtRangeSourceDriver(
				*params, r1Fw_Fw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
				0,          // seedLen
				false,      // nudgeLeft (true for Fw index, false for Bw)
				PIN_TO_HI_HALF_EDGE, // right-hand half alignment is unrevisitable
				PIN_TO_LEN, // "
				PIN_TO_LEN, // "
				PIN_TO_LEN, // "
				os_, verbose_, quiet_, true, pool_, NULL);

			dr1FwVec->push_back(dr1Fw_Bw);
			dr1FwVec->push_back(dr1Fw_Fw);
		}

		TRangeSrcDrPtrVec *dr1RcVec;
		if(v1_) {
			dr1RcVec = new TRangeSrcDrPtrVec();
		} else {
			dr1RcVec = dr1FwVec;
		}
		if(do1Rc) {
			EbwtRangeSource *r1Rc_Fw = new EbwtRangeSource(
				&ebwtFw_, false, OFF_MASK, true,  verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
			EbwtRangeSource *r1Rc_Bw = new EbwtRangeSource(
				 ebwtBw_, false, OFF_MASK, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);

			EbwtRangeSourceDriver * dr1Rc_Fw = new EbwtRangeSourceDriver(
				*params, r1Rc_Fw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
				0,          // seedLen
				true,       // nudgeLeft (true for Fw index, false for Bw)
				PIN_TO_HI_HALF_EDGE, // right-hand half alignment is unrevisitable
				PIN_TO_LEN, // "
				PIN_TO_LEN, // "
				PIN_TO_LEN, // "
				os_, verbose_, quiet_, true, pool_, NULL);
			EbwtRangeSourceDriver * dr1Rc_Bw = new EbwtRangeSourceDriver(
				*params, r1Rc_Bw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
				0,          // seedLen (0 = whole read is seed)
				false,      // nudgeLeft (true for Fw index, false for Bw)
				PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
				PIN_TO_LEN, // allow 1 mismatch in rest of read
				PIN_TO_LEN, // "
				PIN_TO_LEN, // "
				os_, verbose_, quiet_, true, pool_, NULL);
			dr1RcVec->push_back(dr1Rc_Fw);
			dr1RcVec->push_back(dr1Rc_Bw);
		}

		TRangeSrcDrPtrVec *dr2FwVec;
		if(v1_) {
			dr2FwVec = new TRangeSrcDrPtrVec();
		} else {
			dr2FwVec = dr1FwVec;
		}
		if(do2Fw) {
			EbwtRangeSource *r2Fw_Bw = new EbwtRangeSource(
				 ebwtBw_, true, OFF_MASK, true,  verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
			EbwtRangeSource *r2Fw_Fw = new EbwtRangeSource(
				&ebwtFw_, true, OFF_MASK, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);

			EbwtRangeSourceDriver * dr2Fw_Bw = new EbwtRangeSourceDriver(
				*params, r2Fw_Bw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
				0,          // seedLen (0 = whole read is seed)
				true,       // nudgeLeft (true for Fw index, false for Bw)
				PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
				PIN_TO_LEN, // allow 1 mismatch in rest of read
				PIN_TO_LEN, // "
				PIN_TO_LEN, // "
				os_, verbose_, quiet_, false, pool_, NULL);
			EbwtRangeSourceDriver * dr2Fw_Fw = new EbwtRangeSourceDriver(
				*params, r2Fw_Fw, true, false, maqPenalty_, qualOrder_, sink_, sinkPt,
				0,          // seedLen
				false,      // nudgeLeft (true for Fw index, false for Bw)
				PIN_TO_HI_HALF_EDGE, // right-hand half alignment is unrevisitable
				PIN_TO_LEN, // "
				PIN_TO_LEN, // "
				PIN_TO_LEN, // "
				os_, verbose_, quiet_, false, pool_, NULL);
			dr2FwVec->push_back(dr2Fw_Bw);
			dr2FwVec->push_back(dr2Fw_Fw);
		}

		TRangeSrcDrPtrVec *dr2RcVec;
		if(v1_) {
			dr2RcVec = new TRangeSrcDrPtrVec();
		} else {
			dr2RcVec = dr1FwVec;
		}
		if(do2Rc) {
			EbwtRangeSource *r2Rc_Fw = new EbwtRangeSource(
				&ebwtFw_, false, OFF_MASK, true,  verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);
			EbwtRangeSource *r2Rc_Bw = new EbwtRangeSource(
				 ebwtBw_, false, OFF_MASK, false, verbose_, quiet_, halfAndHalf, seeded, maqPenalty_, qualOrder_);

			EbwtRangeSourceDriver * dr2Rc_Fw = new EbwtRangeSourceDriver(
				*params, r2Rc_Fw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
				0,          // seedLen
				true,       // nudgeLeft (true for Fw index, false for Bw)
				PIN_TO_HI_HALF_EDGE, // right-hand half alignment is unrevisitable
				PIN_TO_LEN, // "
				PIN_TO_LEN, // "
				PIN_TO_LEN, // "
				os_, verbose_, quiet_, false, pool_, NULL);
			EbwtRangeSourceDriver * dr2Rc_Bw = new EbwtRangeSourceDriver(
				*params, r2Rc_Bw, false, false, maqPenalty_, qualOrder_, sink_, sinkPt,
				0,          // seedLen (0 = whole read is seed)
				false,      // nudgeLeft (true for Fw index, false for Bw)
				PIN_TO_HI_HALF_EDGE, // right half is unrevisitable
				PIN_TO_LEN, // allow 1 mismatch in rest of read
				PIN_TO_LEN, // "
				PIN_TO_LEN, // "
				os_, verbose_, quiet_, false, pool_, NULL);
			dr2RcVec->push_back(dr2Rc_Fw);
			dr2RcVec->push_back(dr2Rc_Bw);
		}

		RefAligner* refAligner =
			new OneMMRefAligner(verbose_, quiet_);

		// Set up a RangeChaser
		RangeChaser *rchase =
			new RangeChaser(cacheLimit_, cacheFw_, cacheBw_);

		if(v1_) {
			PairedBWAlignerV1<EbwtRangeSource>* al = new PairedBWAlignerV1<EbwtRangeSource>(
				params,
				new TCostAwareRangeSrcDr(strandFix_, dr1FwVec, verbose_, quiet_, false),
				new TCostAwareRangeSrcDr(strandFix_, dr1RcVec, verbose_, quiet_, false),
				new TCostAwareRangeSrcDr(strandFix_, dr2FwVec, verbose_, quiet_, false),
				new TCostAwareRangeSrcDr(strandFix_, dr2RcVec, verbose_, quiet_, false),
				refAligner, rchase,
				sink_, sinkPtFactory_, sinkPt, mate1fw_, mate2fw_,
				peInner_, peOuter_, dontReconcile_, symCeil_, mixedThresh_,
				mixedAttemptLim_, refs_, rangeMode_, verbose_,
				quiet_, INT_MAX, pool_, NULL);
			delete dr1FwVec;
			delete dr1RcVec;
			delete dr2FwVec;
			delete dr2RcVec;
			return al;
		} else {
			PairedBWAlignerV2<EbwtRangeSource>* al = new PairedBWAlignerV2<EbwtRangeSource>(
				params, paramsSe1, paramsSe2,
				new TCostAwareRangeSrcDr(strandFix_, dr1FwVec, verbose_, quiet_, true),
				refAligner, rchase,
				sink_, sinkPtFactory_,
				sinkPt, sinkPtSe1, sinkPtSe2,
				mate1fw_, mate2fw_,
				peInner_, peOuter_,
				mixedAttemptLim_, refs_, rangeMode_,
				verbose_, quiet_, INT_MAX, pool_, NULL);
			delete dr1FwVec;
			return al;
		}
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x3d8, %rsp            # imm = 0x3D8
movq %rdi, -0x38(%rbp)
movq -0x38(%rbp), %rax
movq %rax, -0x198(%rbp)
movq 0x28(%rax), %rdi
movq (%rdi), %rax
movq 0x18(%rax), %rax
movl $0x2, %esi
callq *%rax
movq %rax, -0x40(%rbp)
movq $0x0, -0x48(%rbp)
movq $0x0, -0x50(%rbp)
movl $0x18, %edi
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x190(%rbp)
movq -0x40(%rbp), %rsi
movq 0x78(%rax), %rdx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0x3db70
jmp 0x6dc7f
movq -0x198(%rbp), %rax
movq -0x190(%rbp), %rcx
movq %rcx, -0x58(%rbp)
movq $0x0, -0x70(%rbp)
movq $0x0, -0x78(%rbp)
testb $0x1, 0x80(%rax)
je 0x6ddcb
movq -0x198(%rbp), %rax
movq 0x28(%rax), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, %rcx
movq -0x198(%rbp), %rax
movq %rcx, -0x48(%rbp)
movq 0x28(%rax), %rdi
movq (%rdi), %rax
movq 0x10(%rax), %rax
callq *%rax
movq %rax, -0x50(%rbp)
movl $0x18, %edi
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x1a0(%rbp)
movq -0x48(%rbp), %rsi
movq 0x78(%rax), %rdx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0x3db70
jmp 0x6dd17
movq -0x1a0(%rbp), %rax
movq %rax, -0x70(%rbp)
movl $0x18, %edi
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x1a8(%rbp)
movq -0x50(%rbp), %rsi
movq 0x78(%rax), %rdx
movl $0x1, %r8d
movl %r8d, %ecx
callq 0x3db70
jmp 0x6dd58
movq -0x1a8(%rbp), %rax
movq %rax, -0x78(%rbp)
jmp 0x6ddcb
movq -0x190(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x18, %esi
callq 0xa600
jmp 0x6f640
movq -0x1a0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x18, %esi
callq 0xa600
jmp 0x6f640
movq -0x1a8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x18, %esi
callq 0xa600
jmp 0x6f640
movq -0x198(%rbp), %rax
movl $0x0, -0x7c(%rbp)
movb $0x0, -0x7d(%rbp)
movb $0x1, -0x7e(%rbp)
movb $0x1, -0x7f(%rbp)
movb $0x1, -0x80(%rbp)
movb $0x1, -0x81(%rbp)
testb $0x1, 0x18(%rax)
jne 0x6de29
movq -0x198(%rbp), %rax
testb $0x1, 0x30(%rax)
je 0x6de09
movb $0x0, -0x7e(%rbp)
jmp 0x6de0d
movb $0x0, -0x7f(%rbp)
movq -0x198(%rbp), %rax
testb $0x1, 0x31(%rax)
je 0x6de20
movb $0x0, -0x80(%rbp)
jmp 0x6de27
movb $0x0, -0x81(%rbp)
jmp 0x6de29
movq -0x198(%rbp), %rax
testb $0x1, 0x19(%rax)
jne 0x6de69
movq -0x198(%rbp), %rax
testb $0x1, 0x30(%rax)
je 0x6de49
movb $0x0, -0x7f(%rbp)
jmp 0x6de4d
movb $0x0, -0x7e(%rbp)
movq -0x198(%rbp), %rax
testb $0x1, 0x31(%rax)
je 0x6de63
movb $0x0, -0x81(%rbp)
jmp 0x6de67
movb $0x0, -0x80(%rbp)
jmp 0x6de69
movl $0x20, %edi
callq 0xa5f0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x1b0(%rbp)
callq 0x3dbc0
jmp 0x6de87
movq -0x1b0(%rbp), %rax
movq %rax, -0x90(%rbp)
testb $0x1, -0x7e(%rbp)
je 0x6e271
movl $0x188, %edi            # imm = 0x188
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x1b8(%rbp)
movq 0x10(%rax), %rsi
movzbl 0x85(%rax), %r9d
movzbl 0x86(%rax), %ecx
movzbl 0x81(%rax), %edx
movzbl 0x82(%rax), %r8d
andl $0x1, %r8d
movq %rsp, %rax
movl %r8d, 0x20(%rax)
andl $0x1, %edx
movl %edx, 0x18(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x28(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
andl $0x1, %r9d
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movl $0x1, %r8d
movl %r8d, %edx
callq 0x3dc00
jmp 0x6df24
movq -0x1b8(%rbp), %rax
movq %rax, -0x98(%rbp)
movl $0x188, %edi            # imm = 0x188
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x1c0(%rbp)
movq 0x8(%rax), %rsi
movzbl 0x85(%rax), %r9d
movzbl 0x86(%rax), %ecx
movzbl 0x81(%rax), %edx
movzbl 0x82(%rax), %r8d
andl $0x1, %r8d
movq %rsp, %rax
movl %r8d, 0x20(%rax)
andl $0x1, %edx
movl %edx, 0x18(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x28(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
andl $0x1, %r9d
movl $0x1, %edx
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
xorl %r8d, %r8d
callq 0x3dc00
jmp 0x6dfb6
movq -0x1c0(%rbp), %rax
movq %rax, -0xa0(%rbp)
movl $0x1e0, %edi            # imm = 0x1E0
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x1d0(%rbp)
movq -0x58(%rbp), %rsi
movq -0x98(%rbp), %rdx
movq -0x40(%rbp), %r10
movq 0x78(%rax), %r11
movq 0x20(%rax), %r8
movq 0x68(%rax), %r15
movzbl 0x81(%rax), %r9d
movzbl 0x82(%rax), %ecx
movzbl 0x85(%rax), %ebx
movzbl 0x86(%rax), %r14d
movq %rsp, %rax
movq %rax, -0x1c8(%rbp)
movq %r15, 0x68(%rax)
andl $0x1, %r14d
movl %r14d, 0x58(%rax)
andl $0x1, %ebx
movl %ebx, 0x50(%rax)
movq %r11, 0x48(%rax)
movq %r10, 0x10(%rax)
movq %r8, 0x8(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x70(%rax)
movl $0x1, 0x60(%rax)
movl $0x2, 0x40(%rax)
movl $0x2, 0x38(%rax)
movl $0x2, 0x30(%rax)
movl $0x3, 0x28(%rax)
movl $0x1, 0x20(%rax)
movl $0x0, 0x18(%rax)
andl $0x1, %r9d
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x3de00
jmp 0x6e094
movq -0x1d0(%rbp), %rax
movq %rax, -0xa8(%rbp)
movl $0x1e0, %edi            # imm = 0x1E0
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x1e0(%rbp)
movq -0x58(%rbp), %rsi
movq -0xa0(%rbp), %rdx
movq -0x40(%rbp), %r10
movq 0x78(%rax), %r11
movq 0x20(%rax), %r8
movq 0x68(%rax), %r15
movzbl 0x81(%rax), %r9d
movzbl 0x82(%rax), %ecx
movzbl 0x85(%rax), %ebx
movzbl 0x86(%rax), %r14d
movq %rsp, %rax
movq %rax, -0x1d8(%rbp)
movq %r15, 0x68(%rax)
andl $0x1, %r14d
movl %r14d, 0x58(%rax)
andl $0x1, %ebx
movl %ebx, 0x50(%rax)
movq %r11, 0x48(%rax)
movq %r10, 0x10(%rax)
movq %r8, 0x8(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x70(%rax)
movl $0x1, 0x60(%rax)
movl $0x2, 0x40(%rax)
movl $0x2, 0x38(%rax)
movl $0x2, 0x30(%rax)
movl $0x3, 0x28(%rax)
movl $0x0, 0x20(%rax)
movl $0x0, 0x18(%rax)
andl $0x1, %r9d
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x3de00
jmp 0x6e172
movq -0x1e0(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x90(%rbp), %rdi
movq -0xa8(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb8(%rbp), %rsi
callq 0x3dfd0
movq -0x90(%rbp), %rdi
movq -0xb0(%rbp), %rax
movq %rax, -0xc0(%rbp)
leaq -0xc0(%rbp), %rsi
callq 0x3dfd0
jmp 0x6e271
movq -0x1b0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x20, %esi
callq 0xa600
jmp 0x6f640
movq -0x1b8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x188, %esi            # imm = 0x188
callq 0xa600
jmp 0x6f640
movq -0x1c0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x188, %esi            # imm = 0x188
callq 0xa600
jmp 0x6f640
movq -0x1d0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x1e0, %esi            # imm = 0x1E0
callq 0xa600
jmp 0x6f640
movq -0x1e0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x1e0, %esi            # imm = 0x1E0
callq 0xa600
jmp 0x6f640
movq -0x198(%rbp), %rax
testb $0x1, 0x1a(%rax)
je 0x6e2ce
movl $0x20, %edi
callq 0xa5f0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x1e8(%rbp)
callq 0x3dbc0
jmp 0x6e29c
movq -0x1e8(%rbp), %rax
movq %rax, -0xc8(%rbp)
jmp 0x6e2dc
movq -0x1e8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x20, %esi
callq 0xa600
jmp 0x6f640
movq -0x90(%rbp), %rax
movq %rax, -0xc8(%rbp)
testb $0x1, -0x7f(%rbp)
je 0x6e68f
movl $0x188, %edi            # imm = 0x188
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x1f0(%rbp)
movq 0x8(%rax), %rsi
movzbl 0x85(%rax), %r9d
movzbl 0x86(%rax), %ecx
movzbl 0x81(%rax), %edx
movzbl 0x82(%rax), %r8d
andl $0x1, %r8d
movq %rsp, %rax
movl %r8d, 0x20(%rax)
andl $0x1, %edx
movl %edx, 0x18(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x28(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
andl $0x1, %r9d
xorl %edx, %edx
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movl $0x1, %r8d
callq 0x3dc00
jmp 0x6e36a
movq -0x1f0(%rbp), %rax
movq %rax, -0xd0(%rbp)
movl $0x188, %edi            # imm = 0x188
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x1f8(%rbp)
movq 0x10(%rax), %rsi
movzbl 0x85(%rax), %r9d
movzbl 0x86(%rax), %ecx
movzbl 0x81(%rax), %edx
movzbl 0x82(%rax), %r8d
andl $0x1, %r8d
movq %rsp, %rax
movl %r8d, 0x20(%rax)
andl $0x1, %edx
movl %edx, 0x18(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x28(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
andl $0x1, %r9d
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
xorl %r8d, %r8d
movl %r8d, %edx
callq 0x3dc00
jmp 0x6e3fa
movq -0x1f8(%rbp), %rax
movq %rax, -0xd8(%rbp)
movl $0x1e0, %edi            # imm = 0x1E0
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x208(%rbp)
movq -0x58(%rbp), %rsi
movq -0xd0(%rbp), %rdx
movq -0x40(%rbp), %r10
movq 0x78(%rax), %r11
movq 0x20(%rax), %r8
movq 0x68(%rax), %r15
movzbl 0x81(%rax), %r9d
movzbl 0x82(%rax), %ecx
movzbl 0x85(%rax), %ebx
movzbl 0x86(%rax), %r14d
movq %rsp, %rax
movq %rax, -0x200(%rbp)
movq %r15, 0x68(%rax)
andl $0x1, %r14d
movl %r14d, 0x58(%rax)
andl $0x1, %ebx
movl %ebx, 0x50(%rax)
movq %r11, 0x48(%rax)
movq %r10, 0x10(%rax)
movq %r8, 0x8(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x70(%rax)
movl $0x1, 0x60(%rax)
movl $0x2, 0x40(%rax)
movl $0x2, 0x38(%rax)
movl $0x2, 0x30(%rax)
movl $0x3, 0x28(%rax)
movl $0x1, 0x20(%rax)
movl $0x0, 0x18(%rax)
andl $0x1, %r9d
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x3de00
jmp 0x6e4d6
movq -0x208(%rbp), %rax
movq %rax, -0xe0(%rbp)
movl $0x1e0, %edi            # imm = 0x1E0
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x218(%rbp)
movq -0x58(%rbp), %rsi
movq -0xd8(%rbp), %rdx
movq -0x40(%rbp), %r10
movq 0x78(%rax), %r11
movq 0x20(%rax), %r8
movq 0x68(%rax), %r15
movzbl 0x81(%rax), %r9d
movzbl 0x82(%rax), %ecx
movzbl 0x85(%rax), %ebx
movzbl 0x86(%rax), %r14d
movq %rsp, %rax
movq %rax, -0x210(%rbp)
movq %r15, 0x68(%rax)
andl $0x1, %r14d
movl %r14d, 0x58(%rax)
andl $0x1, %ebx
movl %ebx, 0x50(%rax)
movq %r11, 0x48(%rax)
movq %r10, 0x10(%rax)
movq %r8, 0x8(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x70(%rax)
movl $0x1, 0x60(%rax)
movl $0x2, 0x40(%rax)
movl $0x2, 0x38(%rax)
movl $0x2, 0x30(%rax)
movl $0x3, 0x28(%rax)
movl $0x0, 0x20(%rax)
movl $0x0, 0x18(%rax)
andl $0x1, %r9d
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x3de00
jmp 0x6e5b2
movq -0x218(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0xc8(%rbp), %rdi
movq -0xe0(%rbp), %rax
movq %rax, -0xf0(%rbp)
leaq -0xf0(%rbp), %rsi
callq 0x3dfd0
movq -0xc8(%rbp), %rdi
movq -0xe8(%rbp), %rax
movq %rax, -0xf8(%rbp)
leaq -0xf8(%rbp), %rsi
callq 0x3dfd0
jmp 0x6e68f
movq -0x1f0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x188, %esi            # imm = 0x188
callq 0xa600
jmp 0x6f640
movq -0x1f8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x188, %esi            # imm = 0x188
callq 0xa600
jmp 0x6f640
movq -0x208(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x1e0, %esi            # imm = 0x1E0
callq 0xa600
jmp 0x6f640
movq -0x218(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x1e0, %esi            # imm = 0x1E0
callq 0xa600
jmp 0x6f640
movq -0x198(%rbp), %rax
testb $0x1, 0x1a(%rax)
je 0x6e6ec
movl $0x20, %edi
callq 0xa5f0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x220(%rbp)
callq 0x3dbc0
jmp 0x6e6ba
movq -0x220(%rbp), %rax
movq %rax, -0x100(%rbp)
jmp 0x6e6fa
movq -0x220(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x20, %esi
callq 0xa600
jmp 0x6f640
movq -0x90(%rbp), %rax
movq %rax, -0x100(%rbp)
testb $0x1, -0x80(%rbp)
je 0x6eab4
movl $0x188, %edi            # imm = 0x188
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x228(%rbp)
movq 0x10(%rax), %rsi
movzbl 0x85(%rax), %r9d
movzbl 0x86(%rax), %ecx
movzbl 0x81(%rax), %edx
movzbl 0x82(%rax), %r8d
andl $0x1, %r8d
movq %rsp, %rax
movl %r8d, 0x20(%rax)
andl $0x1, %edx
movl %edx, 0x18(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x28(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
andl $0x1, %r9d
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movl $0x1, %r8d
movl %r8d, %edx
callq 0x3dc00
jmp 0x6e789
movq -0x228(%rbp), %rax
movq %rax, -0x108(%rbp)
movl $0x188, %edi            # imm = 0x188
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x230(%rbp)
movq 0x8(%rax), %rsi
movzbl 0x85(%rax), %r9d
movzbl 0x86(%rax), %ecx
movzbl 0x81(%rax), %edx
movzbl 0x82(%rax), %r8d
andl $0x1, %r8d
movq %rsp, %rax
movl %r8d, 0x20(%rax)
andl $0x1, %edx
movl %edx, 0x18(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x28(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
andl $0x1, %r9d
movl $0x1, %edx
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
xorl %r8d, %r8d
callq 0x3dc00
jmp 0x6e81b
movq -0x230(%rbp), %rax
movq %rax, -0x110(%rbp)
movl $0x1e0, %edi            # imm = 0x1E0
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x240(%rbp)
movq -0x58(%rbp), %rsi
movq -0x108(%rbp), %rdx
movq -0x40(%rbp), %r10
movq 0x78(%rax), %r11
movq 0x20(%rax), %r8
movq 0x68(%rax), %r15
movzbl 0x81(%rax), %r9d
movzbl 0x82(%rax), %ecx
movzbl 0x85(%rax), %ebx
movzbl 0x86(%rax), %r14d
movq %rsp, %rax
movq %rax, -0x238(%rbp)
movq %r15, 0x68(%rax)
andl $0x1, %r14d
movl %r14d, 0x58(%rax)
andl $0x1, %ebx
movl %ebx, 0x50(%rax)
movq %r11, 0x48(%rax)
movq %r10, 0x10(%rax)
movq %r8, 0x8(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x70(%rax)
movl $0x0, 0x60(%rax)
movl $0x2, 0x40(%rax)
movl $0x2, 0x38(%rax)
movl $0x2, 0x30(%rax)
movl $0x3, 0x28(%rax)
movl $0x1, 0x20(%rax)
movl $0x0, 0x18(%rax)
andl $0x1, %r9d
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x3de00
jmp 0x6e8f9
movq -0x240(%rbp), %rax
movq %rax, -0x118(%rbp)
movl $0x1e0, %edi            # imm = 0x1E0
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x250(%rbp)
movq -0x58(%rbp), %rsi
movq -0x110(%rbp), %rdx
movq -0x40(%rbp), %r10
movq 0x78(%rax), %r11
movq 0x20(%rax), %r8
movq 0x68(%rax), %r15
movzbl 0x81(%rax), %r9d
movzbl 0x82(%rax), %ecx
movzbl 0x85(%rax), %ebx
movzbl 0x86(%rax), %r14d
movq %rsp, %rax
movq %rax, -0x248(%rbp)
movq %r15, 0x68(%rax)
andl $0x1, %r14d
movl %r14d, 0x58(%rax)
andl $0x1, %ebx
movl %ebx, 0x50(%rax)
movq %r11, 0x48(%rax)
movq %r10, 0x10(%rax)
movq %r8, 0x8(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x70(%rax)
movl $0x0, 0x60(%rax)
movl $0x2, 0x40(%rax)
movl $0x2, 0x38(%rax)
movl $0x2, 0x30(%rax)
movl $0x3, 0x28(%rax)
movl $0x0, 0x20(%rax)
movl $0x0, 0x18(%rax)
andl $0x1, %r9d
movl $0x1, %ecx
xorl %r8d, %r8d
callq 0x3de00
jmp 0x6e9d7
movq -0x250(%rbp), %rax
movq %rax, -0x120(%rbp)
movq -0x100(%rbp), %rdi
movq -0x118(%rbp), %rax
movq %rax, -0x128(%rbp)
leaq -0x128(%rbp), %rsi
callq 0x3dfd0
movq -0x100(%rbp), %rdi
movq -0x120(%rbp), %rax
movq %rax, -0x130(%rbp)
leaq -0x130(%rbp), %rsi
callq 0x3dfd0
jmp 0x6eab4
movq -0x228(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x188, %esi            # imm = 0x188
callq 0xa600
jmp 0x6f640
movq -0x230(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x188, %esi            # imm = 0x188
callq 0xa600
jmp 0x6f640
movq -0x240(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x1e0, %esi            # imm = 0x1E0
callq 0xa600
jmp 0x6f640
movq -0x250(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x1e0, %esi            # imm = 0x1E0
callq 0xa600
jmp 0x6f640
movq -0x198(%rbp), %rax
testb $0x1, 0x1a(%rax)
je 0x6eb11
movl $0x20, %edi
callq 0xa5f0
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0x258(%rbp)
callq 0x3dbc0
jmp 0x6eadf
movq -0x258(%rbp), %rax
movq %rax, -0x138(%rbp)
jmp 0x6eb1f
movq -0x258(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x20, %esi
callq 0xa600
jmp 0x6f640
movq -0x90(%rbp), %rax
movq %rax, -0x138(%rbp)
testb $0x1, -0x81(%rbp)
je 0x6eed5
movl $0x188, %edi            # imm = 0x188
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x260(%rbp)
movq 0x8(%rax), %rsi
movzbl 0x85(%rax), %r9d
movzbl 0x86(%rax), %ecx
movzbl 0x81(%rax), %edx
movzbl 0x82(%rax), %r8d
andl $0x1, %r8d
movq %rsp, %rax
movl %r8d, 0x20(%rax)
andl $0x1, %edx
movl %edx, 0x18(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x28(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
andl $0x1, %r9d
xorl %edx, %edx
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
movl $0x1, %r8d
callq 0x3dc00
jmp 0x6ebb0
movq -0x260(%rbp), %rax
movq %rax, -0x140(%rbp)
movl $0x188, %edi            # imm = 0x188
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x268(%rbp)
movq 0x10(%rax), %rsi
movzbl 0x85(%rax), %r9d
movzbl 0x86(%rax), %ecx
movzbl 0x81(%rax), %edx
movzbl 0x82(%rax), %r8d
andl $0x1, %r8d
movq %rsp, %rax
movl %r8d, 0x20(%rax)
andl $0x1, %edx
movl %edx, 0x18(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x28(%rax)
movl $0x0, 0x10(%rax)
movl $0x0, 0x8(%rax)
andl $0x1, %r9d
movl $0xffffffff, %ecx       # imm = 0xFFFFFFFF
xorl %r8d, %r8d
movl %r8d, %edx
callq 0x3dc00
jmp 0x6ec40
movq -0x268(%rbp), %rax
movq %rax, -0x148(%rbp)
movl $0x1e0, %edi            # imm = 0x1E0
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x278(%rbp)
movq -0x58(%rbp), %rsi
movq -0x140(%rbp), %rdx
movq -0x40(%rbp), %r10
movq 0x78(%rax), %r11
movq 0x20(%rax), %r8
movq 0x68(%rax), %r15
movzbl 0x81(%rax), %r9d
movzbl 0x82(%rax), %ecx
movzbl 0x85(%rax), %ebx
movzbl 0x86(%rax), %r14d
movq %rsp, %rax
movq %rax, -0x270(%rbp)
movq %r15, 0x68(%rax)
andl $0x1, %r14d
movl %r14d, 0x58(%rax)
andl $0x1, %ebx
movl %ebx, 0x50(%rax)
movq %r11, 0x48(%rax)
movq %r10, 0x10(%rax)
movq %r8, 0x8(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x70(%rax)
movl $0x0, 0x60(%rax)
movl $0x2, 0x40(%rax)
movl $0x2, 0x38(%rax)
movl $0x2, 0x30(%rax)
movl $0x3, 0x28(%rax)
movl $0x1, 0x20(%rax)
movl $0x0, 0x18(%rax)
andl $0x1, %r9d
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x3de00
jmp 0x6ed1c
movq -0x278(%rbp), %rax
movq %rax, -0x150(%rbp)
movl $0x1e0, %edi            # imm = 0x1E0
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x288(%rbp)
movq -0x58(%rbp), %rsi
movq -0x148(%rbp), %rdx
movq -0x40(%rbp), %r10
movq 0x78(%rax), %r11
movq 0x20(%rax), %r8
movq 0x68(%rax), %r15
movzbl 0x81(%rax), %r9d
movzbl 0x82(%rax), %ecx
movzbl 0x85(%rax), %ebx
movzbl 0x86(%rax), %r14d
movq %rsp, %rax
movq %rax, -0x280(%rbp)
movq %r15, 0x68(%rax)
andl $0x1, %r14d
movl %r14d, 0x58(%rax)
andl $0x1, %ebx
movl %ebx, 0x50(%rax)
movq %r11, 0x48(%rax)
movq %r10, 0x10(%rax)
movq %r8, 0x8(%rax)
andl $0x1, %ecx
movl %ecx, (%rax)
movq $0x0, 0x70(%rax)
movl $0x0, 0x60(%rax)
movl $0x2, 0x40(%rax)
movl $0x2, 0x38(%rax)
movl $0x2, 0x30(%rax)
movl $0x3, 0x28(%rax)
movl $0x0, 0x20(%rax)
movl $0x0, 0x18(%rax)
andl $0x1, %r9d
xorl %r8d, %r8d
movl %r8d, %ecx
callq 0x3de00
jmp 0x6edf8
movq -0x288(%rbp), %rax
movq %rax, -0x158(%rbp)
movq -0x138(%rbp), %rdi
movq -0x150(%rbp), %rax
movq %rax, -0x160(%rbp)
leaq -0x160(%rbp), %rsi
callq 0x3dfd0
movq -0x138(%rbp), %rdi
movq -0x158(%rbp), %rax
movq %rax, -0x168(%rbp)
leaq -0x168(%rbp), %rsi
callq 0x3dfd0
jmp 0x6eed5
movq -0x260(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x188, %esi            # imm = 0x188
callq 0xa600
jmp 0x6f640
movq -0x268(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x188, %esi            # imm = 0x188
callq 0xa600
jmp 0x6f640
movq -0x278(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x1e0, %esi            # imm = 0x1E0
callq 0xa600
jmp 0x6f640
movq -0x288(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x1e0, %esi            # imm = 0x1E0
callq 0xa600
jmp 0x6f640
movl $0x4028, %edi           # imm = 0x4028
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x290(%rbp)
movzbl 0x86(%rax), %edx
movzbl 0x85(%rax), %esi
andl $0x1, %esi
andl $0x1, %edx
callq 0x6f650
jmp 0x6ef0e
movq -0x290(%rbp), %rax
movq %rax, -0x170(%rbp)
movl $0xc8, %edi
callq 0xa5f0
movq %rax, %rdi
movq -0x198(%rbp), %rax
movq %rdi, %rcx
movq %rcx, -0x298(%rbp)
movl 0x60(%rax), %esi
movq 0x50(%rax), %rdx
movq 0x58(%rax), %rcx
xorl %eax, %eax
movl %eax, %r8d
callq 0x3e550
jmp 0x6ef51
movq -0x198(%rbp), %rax
movq -0x298(%rbp), %rcx
movq %rcx, -0x178(%rbp)
testb $0x1, 0x1a(%rax)
je 0x6f3eb
movl $0x22b0, %edi           # imm = 0x22B0
callq 0xa5f0
movq %rax, -0x2b0(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x2a8(%rbp)
movl $0x90, %edi
callq 0xa5f0
movq %rax, -0x2a0(%rbp)
jmp 0x6ef9f
movq -0x2a0(%rbp), %rdi
movq -0x198(%rbp), %rax
movq -0x90(%rbp), %rdx
movzbl 0x86(%rax), %r8d
movzbl 0x85(%rax), %ecx
movzbl 0x83(%rax), %esi
andl $0x1, %esi
andl $0x1, %ecx
andl $0x1, %r8d
xorl %r9d, %r9d
callq 0x3e380
jmp 0x6efde
movl $0x90, %edi
callq 0xa5f0
movq %rax, -0x2b8(%rbp)
jmp 0x6eff1
movq -0x2b8(%rbp), %rdi
movq -0x198(%rbp), %rax
movq -0xc8(%rbp), %rdx
movzbl 0x86(%rax), %r8d
movzbl 0x85(%rax), %ecx
movzbl 0x83(%rax), %esi
andl $0x1, %esi
andl $0x1, %ecx
andl $0x1, %r8d
xorl %r9d, %r9d
callq 0x3e380
jmp 0x6f030
movl $0x90, %edi
callq 0xa5f0
movq %rax, -0x2c0(%rbp)
jmp 0x6f043
movq -0x2c0(%rbp), %rdi
movq -0x198(%rbp), %rax
movq -0x100(%rbp), %rdx
movzbl 0x86(%rax), %r8d
movzbl 0x85(%rax), %ecx
movzbl 0x83(%rax), %esi
andl $0x1, %esi
andl $0x1, %ecx
andl $0x1, %r8d
xorl %r9d, %r9d
callq 0x3e380
jmp 0x6f082
movl $0x90, %edi
callq 0xa5f0
movq %rax, -0x2c8(%rbp)
jmp 0x6f095
movq -0x2c8(%rbp), %rdi
movq -0x198(%rbp), %rax
movq -0x138(%rbp), %rdx
movzbl 0x86(%rax), %r8d
movzbl 0x85(%rax), %ecx
movzbl 0x83(%rax), %esi
andl $0x1, %esi
andl $0x1, %ecx
andl $0x1, %r8d
xorl %r9d, %r9d
callq 0x3e380
jmp 0x6f0d4
movq -0x198(%rbp), %rax
movq -0x170(%rbp), %r10
movq -0x178(%rbp), %r11
movq 0x20(%rax), %rbx
movq 0x28(%rax), %r14
movq -0x40(%rbp), %r15
movl 0x34(%rax), %ecx
movl %ecx, -0x2cc(%rbp)
movl 0x38(%rax), %edx
movl 0x40(%rax), %edi
movl 0x44(%rax), %r8d
movl 0x48(%rax), %r9d
movq 0x70(%rax), %rcx
movq %rcx, -0x2d8(%rbp)
movq 0x68(%rax), %rcx
movzbl 0x30(%rax), %r12d
movzbl 0x31(%rax), %r13d
movzbl 0x3c(%rax), %esi
movzbl 0x84(%rax), %eax
movl %eax, -0x2dc(%rbp)
movq -0x198(%rbp), %rax
movzbl 0x85(%rax), %eax
movl %eax, -0x2e0(%rbp)
movq -0x198(%rbp), %rax
movzbl 0x86(%rax), %eax
movl %eax, -0x2e4(%rbp)
movq %rsp, %rax
movq %rax, -0x2f0(%rbp)
movq %rcx, 0x90(%rax)
movl -0x2e4(%rbp), %ecx
andl $0x1, %ecx
movl %ecx, 0x80(%rax)
movl -0x2e0(%rbp), %ecx
andl $0x1, %ecx
movl %ecx, 0x78(%rax)
movl -0x2dc(%rbp), %ecx
andl $0x1, %ecx
movl %ecx, 0x70(%rax)
movq -0x2d8(%rbp), %rcx
movq %rcx, 0x68(%rax)
movl -0x2cc(%rbp), %ecx
movl %r9d, 0x60(%rax)
movq -0x2c8(%rbp), %r9
movl %r8d, 0x58(%rax)
movq -0x2c0(%rbp), %r8
movl %edi, 0x50(%rax)
movq -0x2b0(%rbp), %rdi
andl $0x1, %esi
movl %esi, 0x48(%rax)
movq -0x2a8(%rbp), %rsi
movl %edx, 0x40(%rax)
movq -0x2a0(%rbp), %rdx
movl %ecx, 0x38(%rax)
movq -0x2b8(%rbp), %rcx
andl $0x1, %r13d
movl %r13d, 0x30(%rax)
andl $0x1, %r12d
movl %r12d, 0x28(%rax)
movq %r15, 0x20(%rax)
movq %r14, 0x18(%rax)
movq %rbx, 0x10(%rax)
movq %r11, 0x8(%rax)
movq %r10, (%rax)
movq $0x0, 0x98(%rax)
movl $0x7fffffff, 0x88(%rax) # imm = 0x7FFFFFFF
callq 0x56f90
jmp 0x6f227
movq -0x2b0(%rbp), %rax
movq %rax, -0x180(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x2f8(%rbp)
cmpq $0x0, %rax
je 0x6f266
movq -0x2f8(%rbp), %rdi
callq 0x3e530
movq -0x2f8(%rbp), %rdi
movl $0x20, %esi
callq 0xa600
movq -0xc8(%rbp), %rax
movq %rax, -0x300(%rbp)
cmpq $0x0, %rax
je 0x6f297
movq -0x300(%rbp), %rdi
callq 0x3e530
movq -0x300(%rbp), %rdi
movl $0x20, %esi
callq 0xa600
movq -0x100(%rbp), %rax
movq %rax, -0x308(%rbp)
cmpq $0x0, %rax
je 0x6f2c8
movq -0x308(%rbp), %rdi
callq 0x3e530
movq -0x308(%rbp), %rdi
movl $0x20, %esi
callq 0xa600
movq -0x138(%rbp), %rax
movq %rax, -0x310(%rbp)
cmpq $0x0, %rax
je 0x6f2f9
movq -0x310(%rbp), %rdi
callq 0x3e530
movq -0x310(%rbp), %rdi
movl $0x20, %esi
callq 0xa600
movq -0x180(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x6f62a
movq -0x290(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x4028, %esi           # imm = 0x4028
callq 0xa600
jmp 0x6f640
movq -0x298(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0xc8, %esi
callq 0xa600
jmp 0x6f640
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x6f3d5
movq -0x2a0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x90, %esi
callq 0xa600
jmp 0x6f3d5
movq -0x2b8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x90, %esi
callq 0xa600
jmp 0x6f3d5
movq -0x2c0(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x90, %esi
callq 0xa600
jmp 0x6f3d5
movq -0x2c8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x90, %esi
callq 0xa600
movq -0x2b0(%rbp), %rdi
movl $0x22b0, %esi           # imm = 0x22B0
callq 0xa600
jmp 0x6f640
movl $0x150, %edi            # imm = 0x150
callq 0xa5f0
movq %rax, -0x338(%rbp)
movq -0x58(%rbp), %rax
movq %rax, -0x330(%rbp)
movq -0x70(%rbp), %rax
movq %rax, -0x328(%rbp)
movq -0x78(%rbp), %rax
movq %rax, -0x320(%rbp)
movl $0x90, %edi
callq 0xa5f0
movq %rax, -0x318(%rbp)
jmp 0x6f430
movq -0x318(%rbp), %rdi
movq -0x198(%rbp), %rax
movq -0x90(%rbp), %rdx
movzbl 0x86(%rax), %r8d
movzbl 0x85(%rax), %ecx
movzbl 0x83(%rax), %esi
andl $0x1, %esi
andl $0x1, %ecx
andl $0x1, %r8d
movl $0x1, %r9d
callq 0x3e380
jmp 0x6f472
movq -0x198(%rbp), %rax
movq -0x170(%rbp), %r9
movq -0x178(%rbp), %r10
movq 0x20(%rax), %r11
movq 0x28(%rax), %rbx
movq -0x40(%rbp), %r14
movq -0x48(%rbp), %r15
movq -0x50(%rbp), %r12
movl 0x34(%rax), %edx
movl 0x38(%rax), %esi
movl 0x48(%rax), %edi
movq 0x70(%rax), %r8
movq 0x68(%rax), %rcx
movzbl 0x30(%rax), %r13d
movzbl 0x31(%rax), %eax
movl %eax, -0x33c(%rbp)
movq -0x198(%rbp), %rax
movzbl 0x84(%rax), %eax
movl %eax, -0x340(%rbp)
movq -0x198(%rbp), %rax
movzbl 0x85(%rax), %eax
movl %eax, -0x344(%rbp)
movq -0x198(%rbp), %rax
movzbl 0x86(%rax), %eax
movl %eax, -0x348(%rbp)
movq %rsp, %rax
movq %rax, -0x350(%rbp)
movq %rcx, 0x80(%rax)
movl -0x348(%rbp), %ecx
andl $0x1, %ecx
movl %ecx, 0x70(%rax)
movl -0x344(%rbp), %ecx
andl $0x1, %ecx
movl %ecx, 0x68(%rax)
movl -0x340(%rbp), %ecx
andl $0x1, %ecx
movl %ecx, 0x60(%rax)
movl -0x33c(%rbp), %ecx
movq %r8, 0x58(%rax)
movq -0x318(%rbp), %r8
movl %edi, 0x50(%rax)
movq -0x338(%rbp), %rdi
movl %esi, 0x48(%rax)
movq -0x330(%rbp), %rsi
movl %edx, 0x40(%rax)
movq -0x328(%rbp), %rdx
andl $0x1, %ecx
movl %ecx, 0x38(%rax)
movq -0x320(%rbp), %rcx
andl $0x1, %r13d
movl %r13d, 0x30(%rax)
movq %r12, 0x28(%rax)
movq %r15, 0x20(%rax)
movq %r14, 0x18(%rax)
movq %rbx, 0x10(%rax)
movq %r11, 0x8(%rax)
movq %r10, (%rax)
movq $0x0, 0x88(%rax)
movl $0x7fffffff, 0x78(%rax) # imm = 0x7FFFFFFF
callq 0x58330
jmp 0x6f5a0
movq -0x338(%rbp), %rax
movq %rax, -0x188(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x358(%rbp)
cmpq $0x0, %rax
je 0x6f5df
movq -0x358(%rbp), %rdi
callq 0x3e530
movq -0x358(%rbp), %rdi
movl $0x20, %esi
callq 0xa600
movq -0x188(%rbp), %rax
movq %rax, -0x30(%rbp)
jmp 0x6f62a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x6f617
movq -0x318(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
movl $0x90, %esi
callq 0xa600
movq -0x338(%rbp), %rdi
movl $0x150, %esi            # imm = 0x150
callq 0xa600
jmp 0x6f640
movq -0x30(%rbp), %rax
addq $0x3d8, %rsp            # imm = 0x3D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0xab60
nopl (%rax)