// File: /workspace/github_cpp_makefile_star2_O3/BenLangmead[P]bowtie/./multikey_qsort.h
// Function: void mkeyQSortSufDcU8<S2bDnaString, S2bDnaString>(S2bDnaString const&, S2bDnaString const&, unsigned long, unsigned long*, unsigned long, DifferenceCoverSample<S2bDnaString> const&, int, unsigned long, unsigned long, unsigned long, bool)
void mkeyQSortSufDcU8(const T1& host1,
                      const T2& host,
                      size_t hlen,
                      TIndexOffU* s,
                      size_t slen,
                      const DifferenceCoverSample<T1>& dc,
                      int hi,
                      size_t begin,
                      size_t end,
                      size_t depth,
                      bool sanityCheck = false)
{
	// Helper for making the recursive call; sanity-checks arguments to
	// make sure that the problem actually got smaller.
	#define MQS_RECURSE_SUF_DC_U8(nbegin, nend, ndepth) { \
		assert(nbegin > begin || nend < end || ndepth > depth); \
		mkeyQSortSufDcU8(host1, host, hlen, s, slen, dc, hi, nbegin, nend, ndepth, sanityCheck); \
	}
	assert_leq(begin, slen);
	assert_leq(end, slen);
	size_t n = end - begin;
	if(n <= 1) return; // 1-element list already sorted
	if(depth > dc.v()) {
		// Quicksort the remaining suffixes using difference cover
		// for constant-time comparisons; this is O(k*log(k)) where
		// k=(end-begin)
		qsortSufDcU8<T1,T2>(host1, host, hlen, s, slen, dc, begin, end, sanityCheck);
		if(sanityCheck) {
			sanityCheckOrderedSufs(host1, hlen, s, slen, OFF_MASK, begin, end);
		}
		return;
	}
	if(n <= BUCKET_SORT_CUTOFF) {
		// Bucket sort remaining items
		bucketSortSufDcU8(host1, host, hlen, s, slen, dc,
		                  (uint8_t)hi, begin, end, depth, sanityCheck);
		if(sanityCheck) {
			sanityCheckOrderedSufs(host1, hlen, s, slen, OFF_MASK, begin, end);
		}
		return;
	}
	size_t a, b, c, d, r;
	CHOOSE_AND_SWAP_PIVOT(SWAP1, CHAR_AT_SUF_U8); // choose pivot, swap to begin
	int v = CHAR_AT_SUF_U8(begin, depth); // v <- pivot value
	#ifndef NDEBUG
	{
		bool stillInBounds = false;
		for(size_t i = begin; i < end; i++) {
			if(depth < (hlen-s[i])) {
				stillInBounds = true;
				break;
			} else { /* already fell off this suffix */ }
		}
		assert(stillInBounds); // >=1 suffix must still be in bounds
	}
	#endif
	a = b = begin;
	c = d = end-1;
	while(true) {
		// Invariant: everything before a is = pivot, everything
		// between a and b is <
		int bc = 0; // shouldn't have to init but gcc on Mac complains
		while(b <= c && v >= (bc = CHAR_AT_SUF_U8(b, depth))) {
			if(v == bc) {
				SWAP(s, a, b); a++;
			}
			b++;
		}
		// Invariant: everything after d is = pivot, everything
		// between c and d is >
		int cc = 0; // shouldn't have to init but gcc on Mac complains
		//bool hiLatch = true;
		while(b <= c && v <= (cc = CHAR_AT_SUF_U8(c, depth))) {
			if(v == cc) {
				SWAP(s, c, d); d--;
			}
			//else if(hiLatch && cc == hi) { }
			c--;
		}
		if(b > c) break;
		SWAP(s, b, c);
		b++;
		c--;
	}
	assert(a > begin || c < end-1);                      // there was at least one =s
	assert_lt(d-c, n); // they can't all have been > pivot
	assert_lt(b-a, n); // they can't all have been < pivot
	r = min(a-begin, b-a); VECSWAP(s, begin, b-r,   r);  // swap left = to center
	r = min(d-c, end-d-1); VECSWAP(s, b,     end-r, r);  // swap right = to center
	r = b-a; // r <- # of <'s
	if(r > 0) {
		MQS_RECURSE_SUF_DC_U8(begin, begin + r, depth); // recurse on <'s
	}
	// Do not recurse on ='s if the pivot was the off-the-end value;
	// they're already fully sorted
	if(v != hi) {
		MQS_RECURSE_SUF_DC_U8(begin + r, begin + r + (a-begin) + (end-d-1), depth+1); // recurse on ='s
	}
	r = d-c; // r <- # of >'s excluding those exhausted
	if(r > 0 && v < hi-1) {
		MQS_RECURSE_SUF_DC_U8(end-r, end, depth); // recurse on >'s
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x158, %rsp            # imm = 0x158
movq %r8, %r13
movq %rcx, (%rsp)
movq %rdx, %rbp
movq %rsi, 0x10(%rsp)
movq %rdi, 0x18(%rsp)
movq 0x1a8(%rsp), %rax
movq 0x1a0(%rsp), %r14
movq 0x198(%rsp), %r15
movl 0x190(%rsp), %r12d
leaq -0x1(%r14), %rcx
movq %rcx, 0x60(%rsp)
incq %rax
movq %rax, 0x70(%rsp)
leal -0x1(%r12), %eax
movl %eax, 0x78(%rsp)
movq %rdx, 0x20(%rsp)
movq %r8, 0x30(%rsp)
movq %r9, 0x48(%rsp)
cmpq %r13, %r15
ja 0x235d4
cmpq %r13, %r14
ja 0x23677
movq %r14, %rdx
subq %r15, %rdx
cmpq $0x2, %rdx
jb 0x22d59
movl 0x8(%r9), %eax
movzbl 0x1b0(%rsp), %ecx
movq %rcx, 0x68(%rsp)
cmpq 0x1a8(%rsp), %rax
jb 0x22139
cmpq $0x400000, %rdx         # imm = 0x400000
movq %r15, 0x40(%rsp)
movq %rdx, 0x50(%rsp)
jbe 0x221a7
movq (%rsp), %rax
movq 0x8(%rax,%r15,8), %rsi
addq 0x1a8(%rsp), %rsi
movl %r12d, %eax
cmpq %rbp, %rsi
jae 0x21c40
movq 0x10(%rsp), %rdi
callq 0x25e5e
leaq 0x1(%r15), %rbx
cmpb $0x1, %al
je 0x21d75
movq (%rsp), %rax
movq 0x8(%rax,%r15,8), %rsi
addq 0x1a8(%rsp), %rsi
movl %r12d, %eax
cmpq %rbp, %rsi
jae 0x21c6f
movq 0x10(%rsp), %rdi
callq 0x25e5e
cmpb $0x2, %al
je 0x21d75
movq (%rsp), %rax
movq 0x10(%rax,%r15,8), %rsi
addq 0x1a8(%rsp), %rsi
movl %r12d, %eax
cmpq %rbp, %rsi
jae 0x21c9a
movq 0x10(%rsp), %rdi
callq 0x25e5e
leaq 0x2(%r15), %rbx
cmpb $0x1, %al
je 0x21d75
movq (%rsp), %rax
movq 0x10(%rax,%r15,8), %rsi
addq 0x1a8(%rsp), %rsi
movl %r12d, %eax
cmpq %rbp, %rsi
jae 0x21cc9
movq 0x10(%rsp), %rdi
callq 0x25e5e
cmpb $0x2, %al
je 0x21d75
movq (%rsp), %rax
movq 0x18(%rax,%r15,8), %rsi
addq 0x1a8(%rsp), %rsi
movl %r12d, %eax
cmpq %rbp, %rsi
jae 0x21cf4
movq 0x10(%rsp), %rdi
callq 0x25e5e
leaq 0x3(%r15), %rbx
cmpb $0x1, %al
je 0x21d75
movq (%rsp), %rax
movq 0x18(%rax,%r15,8), %rsi
addq 0x1a8(%rsp), %rsi
movl %r12d, %eax
cmpq %rbp, %rsi
jae 0x21d1f
movq 0x10(%rsp), %rdi
callq 0x25e5e
cmpb $0x2, %al
je 0x21d75
movq (%rsp), %rax
movq 0x20(%rax,%r15,8), %rsi
addq 0x1a8(%rsp), %rsi
movl %r12d, %eax
cmpq %rbp, %rsi
jae 0x21d46
movq 0x10(%rsp), %rdi
callq 0x25e5e
leaq 0x4(%r15), %rbx
cmpb $0x1, %al
je 0x21d75
movq (%rsp), %rax
movq 0x20(%rax,%r15,8), %rsi
addq 0x1a8(%rsp), %rsi
movl %r12d, %eax
cmpq %rbp, %rsi
jae 0x21d71
movq 0x10(%rsp), %rdi
callq 0x25e5e
cmpb $0x2, %al
jne 0x21da2
cmpq %r15, %rbx
jb 0x23881
cmpq %r15, %r14
jbe 0x238ae
cmpq %r14, %rbx
jae 0x2394c
movq (%rsp), %rdi
movq %r13, %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0xec66
movq (%rsp), %rax
movq (%rax,%r15,8), %rsi
addq 0x1a8(%rsp), %rsi
movl %r12d, %r13d
cmpq %rbp, %rsi
jae 0x21dc7
movq 0x10(%rsp), %rdi
callq 0x25e5e
movl %eax, %r13d
cmpq %r15, %r14
jbe 0x22d8a
movzbl %r13b, %eax
movl %eax, 0x8(%rsp)
movq %r15, %rax
movq %rbp, %rcx
movq (%rsp), %rdx
subq (%rdx,%rax,8), %rcx
cmpq 0x1a8(%rsp), %rcx
ja 0x21dfd
incq %rax
cmpq %rax, %r14
jne 0x21ddb
jmp 0x22d8a
movq %r15, 0x38(%rsp)
movq 0x60(%rsp), %rbp
movq %rbp, %rbx
cmpq %rbx, %r15
ja 0x21efd
movq (%rsp), %rax
movq (%rax,%r15,8), %rsi
addq 0x1a8(%rsp), %rsi
movl %r12d, %eax
cmpq 0x20(%rsp), %rsi
jae 0x21e37
movq 0x10(%rsp), %rdi
callq 0x25e5e
cmpb %al, %r13b
jb 0x21efd
jne 0x21ea0
movq 0x40(%rsp), %r12
cmpq %r12, 0x38(%rsp)
jb 0x23128
cmpq %r12, %r15
jb 0x230eb
movq 0x1a0(%rsp), %r14
cmpq %r14, 0x38(%rsp)
movl 0x190(%rsp), %r12d
jae 0x23162
cmpq %r14, %r15
jae 0x2319c
movq (%rsp), %rdi
movq 0x30(%rsp), %rsi
movq 0x38(%rsp), %r14
movq %r14, %rdx
movq %r15, %rcx
callq 0xec66
incq %r14
movq %r14, 0x38(%rsp)
incq %r15
jmp 0x21e0a
jne 0x21efa
movq 0x40(%rsp), %r12
cmpq %r12, %rbx
jb 0x22f4c
cmpq %r12, %rbp
jb 0x23027
movq 0x1a0(%rsp), %rax
cmpq %rax, %rbx
movl 0x190(%rsp), %r12d
jae 0x22f11
cmpq %rax, %rbp
jae 0x22fea
movq (%rsp), %rdi
movq 0x30(%rsp), %rsi
movq %rbx, %rdx
movq %rbp, %rcx
callq 0xec66
decq %rbp
decq %rbx
cmpq %rbx, %r15
ja 0x21f73
movq (%rsp), %rax
movq (%rax,%rbx,8), %rsi
addq 0x1a8(%rsp), %rsi
movl %r12d, %eax
cmpq 0x20(%rsp), %rsi
jae 0x21f26
movq 0x10(%rsp), %rdi
callq 0x25e5e
cmpb %al, %r13b
jbe 0x21ea8
cmpq 0x40(%rsp), %r15
jb 0x23ad0
movq 0x1a0(%rsp), %r14
cmpq %r14, %r15
jae 0x239f2
cmpq %r14, %rbx
jae 0x23a2d
movq (%rsp), %rdi
movq 0x30(%rsp), %rsi
movq %r15, %rdx
movq %rbx, %rcx
callq 0xec66
incq %r15
decq %rbx
jmp 0x21e0a
movq 0x38(%rsp), %r8
subq 0x40(%rsp), %r8
ja 0x21f8a
cmpq 0x60(%rsp), %rbx
jae 0x2371a
movq %rbp, %rax
subq %rbx, %rax
movq 0x50(%rsp), %r14
movq %rax, 0x28(%rsp)
cmpq %r14, %rax
jae 0x23739
movq %r15, %r13
subq 0x38(%rsp), %r13
cmpq %r14, %r13
jae 0x237de
cmpq %r8, %r13
cmovbq %r13, %r8
testq %r8, %r8
movq 0x1a0(%rsp), %r14
je 0x21fef
movq %r15, %rcx
subq %r8, %rcx
subq $0x8, %rsp
movq 0x8(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq 0x48(%rsp), %rdx
movq %rdx, %r9
pushq %r14
callq 0xede7
addq $0x10, %rsp
movq %r14, %rax
movq %rbp, %r14
notq %r14
addq %rax, %r14
movq 0x28(%rsp), %r8
cmpq %r8, %r14
cmovbq %r14, %r8
testq %r8, %r8
je 0x22032
movq %rax, %rcx
subq %r8, %rcx
subq $0x8, %rsp
movq 0x8(%rsp), %rdi
movq 0x38(%rsp), %rsi
movq %r15, %rdx
movq 0x48(%rsp), %r9
pushq %rax
callq 0xede7
addq $0x10, %rsp
cmpq 0x38(%rsp), %r15
je 0x2208b
movq 0x40(%rsp), %r10
leaq (%r10,%r13), %rax
cmpq 0x1a0(%rsp), %rax
jae 0x23c53
subq $0x8, %rsp
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq 0x8(%rsp), %rcx
movq 0x38(%rsp), %r8
movq 0x50(%rsp), %r9
pushq 0x70(%rsp)
pushq 0x1b8(%rsp)
pushq %rax
pushq %r10
pushq %r12
callq 0x21b57
addq $0x30, %rsp
cmpl %r12d, 0x8(%rsp)
je 0x220d6
addq 0x40(%rsp), %r13
addq %r15, %r14
subq $0x8, %rsp
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x28(%rsp), %rdx
movq 0x8(%rsp), %rcx
movq 0x38(%rsp), %r8
movq 0x50(%rsp), %r9
pushq 0x70(%rsp)
pushq 0x80(%rsp)
pushq %r14
pushq %r13
pushq %r12
callq 0x21b57
addq $0x30, %rsp
cmpq %rbx, %rbp
movq 0x1a0(%rsp), %r14
movq 0x20(%rsp), %rbp
movq 0x40(%rsp), %rcx
movq 0x30(%rsp), %r13
je 0x22d59
movl 0x8(%rsp), %eax
cmpl %eax, 0x78(%rsp)
jle 0x22d59
movq %r14, %r15
subq 0x28(%rsp), %r15
cmpq %rcx, %r15
movq 0x48(%rsp), %r9
ja 0x21bc5
leaq 0xcd2c(%rip), %rdi      # 0x2ee4d
leaq 0xcb82(%rip), %rsi      # 0x2ecaa
leaq 0xcbbe(%rip), %rcx      # 0x2eced
movl $0x4c4, %edx            # imm = 0x4C4
callq 0x41c0
subq $0x8, %rsp
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq %rbp, %rdx
movq 0x8(%rsp), %rcx
movq %r13, %r8
movq 0x50(%rsp), %r9
pushq 0x70(%rsp)
pushq %r14
pushq %r15
callq 0x247d8
addq $0x20, %rsp
cmpb $0x0, 0x1b0(%rsp)
je 0x22d59
subq $0x8, %rsp
movq 0x20(%rsp), %rdi
movq %rbp, %rsi
movq 0x8(%rsp), %rdx
movq %r13, %rcx
movq $-0x1, %r8
movq %r15, %r9
pushq %r14
callq 0x2413a
addq $0x168, %rsp            # imm = 0x168
jmp 0x22d60
xorl %ebx, %ebx
movl $0x2000000, %edi        # imm = 0x2000000
callq 0x4030
movq %rax, 0x130(%rsp,%rbx,8)
incq %rbx
cmpq $0x4, %rbx
jne 0x221a9
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x90(%rsp)
xorl %eax, %eax
movq %rax, 0x98(%rsp)
movq $0x80, 0xa0(%rsp)
movq %rax, 0xa8(%rsp)
movq 0x130(%rsp), %rax
movq %rax, 0xf8(%rsp)
movq 0x138(%rsp), %rax
movq %rax, 0xf0(%rsp)
movq 0x140(%rsp), %rax
movq %rax, 0xe8(%rsp)
movq 0x148(%rsp), %rax
movq %rax, 0xe0(%rsp)
movq %r15, 0x58(%rsp)
cmpb $0x4, %r12b
jne 0x23f5a
xorl %ecx, %ecx
movq %r14, %rbx
movq %r15, %r12
leaq 0x1(%r12), %rax
movq %rbx, 0x28(%rsp)
cmpq %rax, %rbx
jbe 0x22b5b
addq 0x1a8(%rsp), %rcx
movq 0x48(%rsp), %r9
movl 0x8(%r9), %edx
movq %rcx, 0x78(%rsp)
movq %rdx, 0x70(%rsp)
cmpq %rdx, %rcx
jbe 0x222af
subq $0x8, %rsp
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq %rbp, %rdx
movq 0x8(%rsp), %rcx
movq %r13, %r8
pushq 0x70(%rsp)
pushq 0x38(%rsp)
pushq %r12
callq 0x247d8
addq $0x20, %rsp
jmp 0x22b5b
movq 0x50(%rsp), %rcx
cmpq $0x6, %rcx
movq %r12, 0x38(%rsp)
ja 0x2238b
leaq 0x2(%r12), %rax
cmpq 0x28(%rsp), %rax
jne 0x22617
movq (%rsp), %rax
movq (%rax,%r12,8), %rsi
movq 0x8(%rax,%r12,8), %rdx
movq 0x48(%rsp), %rdi
callq 0x254ec
movl %eax, %eax
movq (%rsp), %rdx
movq (%rdx,%r12,8), %rcx
addq %rax, %rcx
cmpq %rbp, %rcx
jae 0x22617
movq 0x8(%rdx,%r12,8), %rcx
addq %rax, %rcx
cmpq %rbp, %rcx
jae 0x22617
subq 0x78(%rsp), %rax
jae 0x2260f
subq $0x8, %rsp
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq %rbp, %rdx
movq 0x8(%rsp), %rcx
movq %r13, %r8
movq 0x50(%rsp), %r9
pushq 0x70(%rsp)
pushq 0x38(%rsp)
pushq %r12
callq 0x247d8
addq $0x20, %rsp
cmpb $0x0, 0x1b0(%rsp)
je 0x22b5b
subq $0x8, %rsp
movq 0x20(%rsp), %rdi
movq %rbp, %rsi
movq 0x8(%rsp), %rdx
movq %r13, %rcx
movq $-0x1, %r8
movq %r12, %r9
pushq 0x30(%rsp)
callq 0x2413a
addq $0x10, %rsp
jmp 0x22b2e
xorps %xmm0, %xmm0
movaps %xmm0, 0xc0(%rsp)
movaps %xmm0, 0xb0(%rsp)
movq $0x0, 0xd0(%rsp)
movq 0x28(%rsp), %r13
cmpq %r13, %r12
jae 0x22430
xorl %r14d, %r14d
movq (%rsp), %r15
movq (%r15,%r12,8), %rax
movq 0x78(%rsp), %rcx
leaq (%rax,%rcx), %rsi
movl $0x4, %ecx
cmpq %rbp, %rsi
jae 0x223f1
movq 0x10(%rsp), %rdi
callq 0x25e5e
movl %eax, %ebx
cmpb $0x5, %al
jae 0x23b75
movq (%r15,%r12,8), %rax
testb %bl, %bl
je 0x2241e
movzbl %bl, %ecx
leal -0x1(%rcx), %edx
movq 0x130(%rsp,%rdx,8), %rdx
movq 0xb0(%rsp,%rcx,8), %rsi
leaq 0x1(%rsi), %rdi
movq %rdi, 0xb0(%rsp,%rcx,8)
movq %rax, (%rdx,%rsi,8)
incq %r12
cmpq %r12, %r13
jne 0x223bb
jmp 0x2243f
movq 0x58(%rsp), %rcx
leaq (%r15,%rcx,8), %rcx
movq %rax, (%rcx,%r14,8)
incq %r14
jmp 0x22414
xorl %r15d, %r15d
xorl %ebx, %ebx
xorl %r12d, %r12d
xorl %ebp, %ebp
xorl %r14d, %r14d
jmp 0x2246f
movq 0xb8(%rsp), %rbp
movq 0xc0(%rsp), %r12
movq 0xc8(%rsp), %rbx
movq 0xd0(%rsp), %r15
movq 0x58(%rsp), %rax
movq %r13, %rcx
movq %rax, 0x38(%rsp)
subq %rax, %rcx
movq %r14, 0xb0(%rsp)
leaq (%r12,%rbp), %r13
addq %rbx, %r13
addq %r15, %r13
addq %r14, %r13
cmpq %rcx, %r13
jne 0x23d0d
addq 0x38(%rsp), %r14
testq %rbp, %rbp
je 0x224b7
movq (%rsp), %rax
leaq (%rax,%r14,8), %rdi
leaq (,%rbp,8), %rdx
movq 0xf8(%rsp), %rsi
callq 0x4250
addq %rbp, %r14
movq 0x20(%rsp), %rbp
movq 0x30(%rsp), %r13
testq %r12, %r12
je 0x224e6
movq (%rsp), %rax
leaq (%rax,%r14,8), %rdi
leaq (,%r12,8), %rdx
movq 0xf0(%rsp), %rsi
callq 0x4250
addq %r12, %r14
testq %rbx, %rbx
je 0x2250b
movq (%rsp), %rax
leaq (%rax,%r14,8), %rdi
leaq (,%rbx,8), %rdx
movq 0xe8(%rsp), %rsi
callq 0x4250
addq %rbx, %r14
testq %r15, %r15
je 0x2252c
movq (%rsp), %rax
leaq (%rax,%r14,8), %rdi
shlq $0x3, %r15
movq 0xe0(%rsp), %rsi
movq %r15, %rdx
callq 0x4250
movabsq $-0x100000000, %rax     # imm = 0xFFFFFFFF00000000
movq %rax, 0x110(%rsp)
xorl %eax, %eax
movq %rax, 0x118(%rsp)
movq $0x80, 0x120(%rsp)
movq %rax, 0x128(%rsp)
leaq 0x90(%rsp), %rbx
movq %rbx, %rdi
leaq 0x110(%rsp), %rsi
callq 0x270f0
movq %rbx, %rdi
callq 0x26fc8
movq $0x0, 0x18(%rax)
movq %rbx, %rdi
callq 0x26fc8
movq %rax, %rdi
leaq 0x58(%rsp), %rsi
callq 0x1f03e
xorl %r14d, %r14d
movq 0xb0(%rsp,%r14,8), %r15
testq %r15, %r15
je 0x225e7
leaq 0x90(%rsp), %r12
movq %r12, %rdi
callq 0x26fc8
movq %rax, %rbx
movq %r12, %rdi
callq 0x26fc8
movq %rax, %rdi
callq 0x20b7c
addq (%rax), %r15
movq %r15, 0x108(%rsp)
movq %rbx, %rdi
leaq 0x108(%rsp), %rsi
callq 0x1f03e
incq %r14
cmpq $0x4, %r14
jne 0x2259c
leaq 0x110(%rsp), %rdi
callq 0x1f9be
movq 0x1a0(%rsp), %r14
movq 0x40(%rsp), %r15
jmp 0x22b5b
incq %rax
movq %rax, 0x70(%rsp)
movq 0x48(%rsp), %rax
movl 0x8(%rax), %eax
cmpq %rax, 0x70(%rsp)
ja 0x23e83
movq 0x28(%rsp), %rax
decq %rax
movq %rax, 0x100(%rsp)
cmpq %r12, %rax
jbe 0x22af9
incq 0x70(%rsp)
movq %r12, %rax
movq %rax, %rcx
incq %rax
movq %rcx, 0x88(%rsp)
movq %rcx, 0x8(%rsp)
movq %rax, 0x80(%rsp)
cmpq 0x28(%rsp), %rax
jae 0x22a17
movq (%rsp), %rax
movq 0x88(%rsp), %rcx
movq (%rax,%rcx,8), %rax
addq 0x78(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x80(%rsp), %r15
movq %rcx, 0x8(%rsp)
cmpq 0x8(%rsp), %r15
je 0x22da9
movq (%rsp), %rax
movq (%rax,%r15,8), %rbp
addq 0x78(%rsp), %rbp
movq %rbp, 0x60(%rsp)
movq 0x50(%rsp), %r13
movq 0x70(%rsp), %r14
movb $0x4, %bl
movb $0x4, %r12b
movq 0x20(%rsp), %rax
cmpq %rax, %rbp
jae 0x226e3
movq 0x10(%rsp), %rdi
movq %rbp, %rsi
callq 0x25e5e
movl %eax, %r12d
movq 0x20(%rsp), %rax
cmpq %rax, %r13
jae 0x226f7
movq 0x10(%rsp), %rdi
movq %r13, %rsi
callq 0x25e5e
movl %eax, %ebx
cmpb $0x4, %r12b
jne 0x22706
cmpb $0x4, %bl
je 0x22d6b
cmpb %bl, %r12b
ja 0x227a2
movq 0x38(%rsp), %r12
jb 0x227f4
incq %r13
incq %rbp
decq %r14
jne 0x226bf
movq 0x20(%rsp), %rax
cmpq %rax, %rbp
ja 0x23316
cmpq %rax, %r13
movq 0x1a0(%rsp), %r14
ja 0x23244
cmpq %rbp, %rax
movq %rax, %rbp
jne 0x22880
cmpq %r13, %rbp
movq 0x38(%rsp), %r12
je 0x23426
cmpb $0x0, 0x1b0(%rsp)
movq 0x30(%rsp), %r13
je 0x2286d
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movq (%rax,%r15,8), %r8
movq 0x18(%rsp), %rcx
movq %rcx, %rdi
movq %rbp, %rdx
movq %rbp, %r9
callq 0xf3e8
testb %al, %al
jne 0x2286d
jmp 0x235b5
cmpb $0x0, 0x1b0(%rsp)
movq 0x38(%rsp), %r12
je 0x2285b
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movq (%rax,%r15,8), %r8
movq 0x18(%rsp), %rcx
movq %rcx, %rdi
movq 0x20(%rsp), %rbp
movq %rbp, %rdx
movq %rbp, %r9
callq 0xf3e8
movq 0x1a0(%rsp), %r14
movq 0x30(%rsp), %r13
testb %al, %al
jne 0x2286d
jmp 0x233e8
cmpb $0x0, 0x1b0(%rsp)
je 0x2284c
movq (%rsp), %rax
movq (%rax,%r15,8), %rsi
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %r8
movq 0x18(%rsp), %rcx
movq %rcx, %rdi
movq 0x20(%rsp), %rbp
movq %rbp, %rdx
movq %rbp, %r9
callq 0xf3e8
movq 0x1a0(%rsp), %r14
movq 0x30(%rsp), %r13
movq %r15, 0x8(%rsp)
movq 0x60(%rsp), %rcx
movq %rcx, 0x50(%rsp)
testb %al, %al
jne 0x2286d
jmp 0x23407
movq %r15, 0x8(%rsp)
movq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
movq 0x1a0(%rsp), %r14
movq 0x20(%rsp), %rbp
movq 0x30(%rsp), %r13
incq %r15
cmpq 0x28(%rsp), %r15
jb 0x22698
jmp 0x22a17
cmpq %r13, %rbp
setne %al
movb 0x1b0(%rsp), %cl
xorb $0x1, %cl
orb %al, %cl
movq 0x38(%rsp), %r12
jne 0x228da
movq (%rsp), %rax
movq (%rax,%r15,8), %rsi
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %r8
movq 0x18(%rsp), %rcx
movq %rcx, %rdi
movq %rbp, %rdx
movq %rbp, %r9
callq 0xf3e8
movq 0x30(%rsp), %r13
movq %r15, 0x8(%rsp)
movq 0x60(%rsp), %rcx
movq %rcx, 0x50(%rsp)
testb %al, %al
jne 0x2286d
jmp 0x23596
cmpq %r13, %rbp
jne 0x228f3
movq %r15, 0x8(%rsp)
movq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
jmp 0x22868
movq (%rsp), %rax
movq (%rax,%r15,8), %rcx
movq 0x8(%rsp), %rdx
movq (%rax,%rdx,8), %r8
subq $0x8, %rsp
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq %rbp, %rdx
movq 0x50(%rsp), %r9
pushq 0x70(%rsp)
callq 0x25058
addq $0x10, %rsp
movq 0x30(%rsp), %r13
movl %eax, %ebx
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rcx
movq (%rax,%r15,8), %r8
subq $0x8, %rsp
movq 0x20(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq %rbp, %rdx
movq 0x50(%rsp), %r9
pushq 0x70(%rsp)
callq 0x25058
addq $0x10, %rsp
testb %bl, %bl
je 0x229bc
testb %al, %al
jne 0x23c72
cmpb $0x0, 0x1b0(%rsp)
je 0x22a03
movq (%rsp), %rax
movq (%rax,%r15,8), %rsi
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %r8
movq 0x18(%rsp), %rcx
movq %rcx, %rdi
movq %rbp, %rdx
movq %rbp, %r9
callq 0xf3e8
movq %r15, 0x8(%rsp)
movq 0x60(%rsp), %rcx
movq %rcx, 0x50(%rsp)
testb %al, %al
jne 0x2286d
jmp 0x23cee
testb %al, %al
je 0x23c91
cmpb $0x0, 0x1b0(%rsp)
je 0x2286d
movq (%rsp), %rax
movq 0x8(%rsp), %rcx
movq (%rax,%rcx,8), %rsi
movq (%rax,%r15,8), %r8
movq 0x18(%rsp), %rcx
movq %rcx, %rdi
movq %rbp, %rdx
movq %rbp, %r9
callq 0xf3e8
testb %al, %al
jne 0x2286d
jmp 0x23ccf
movq %r15, 0x8(%rsp)
movq 0x60(%rsp), %rax
movq %rax, 0x50(%rsp)
jmp 0x2286d
movq 0x88(%rsp), %rax
cmpq 0x8(%rsp), %rax
movq 0x80(%rsp), %r15
je 0x22a89
movq (%rsp), %rbx
movq (%rbx,%rax,8), %r8
cmpb $0x0, 0x1b0(%rsp)
je 0x22a72
movq 0x8(%rsp), %rax
movq (%rbx,%rax,8), %rsi
movq 0x18(%rsp), %rcx
movq %rcx, %rdi
movq %rbp, %rdx
movq %rbp, %r9
callq 0xf3e8
testb %al, %al
je 0x23cb0
movq 0x88(%rsp), %rcx
movq (%rbx,%rcx,8), %r8
jmp 0x22a75
movq %rax, %rcx
movq 0x8(%rsp), %rdx
movq (%rbx,%rdx,8), %rax
movq %rax, (%rbx,%rcx,8)
movq %r8, (%rbx,%rdx,8)
movq %rcx, %rax
cmpq 0x28(%rsp), %r15
movq 0x40(%rsp), %r15
jae 0x22ae3
movq 0x80(%rsp), %rbx
cmpb $0x0, 0x1b0(%rsp)
je 0x22ad9
movq %rax, %rcx
movq (%rsp), %rax
movq (%rax,%rcx,8), %rsi
movq (%rax,%rbx,8), %r8
movq 0x18(%rsp), %rcx
movq %rcx, %rdi
movq %rbp, %rdx
movq %rbp, %r9
callq 0xf3e8
testb %al, %al
movq 0x88(%rsp), %rax
je 0x230cc
incq %rbx
cmpq 0x28(%rsp), %rbx
jb 0x22a9d
movq 0x80(%rsp), %rax
cmpq 0x100(%rsp), %rax
jne 0x2264b
cmpb $0x0, 0x1b0(%rsp)
je 0x22b5b
subq $0x8, %rsp
movq 0x20(%rsp), %rdi
movq %rbp, %rsi
movq 0x8(%rsp), %rdx
movq %r13, %rcx
movq $-0x1, %r8
movq %r12, %r9
pushq 0x30(%rsp)
callq 0x2413a
addq $0x10, %rsp
movq 0x58(%rsp), %r9
subq $0x8, %rsp
movq 0x20(%rsp), %rdi
movq %rbp, %rsi
movq 0x8(%rsp), %rdx
movq %r13, %rcx
movq $-0x1, %r8
pushq 0x30(%rsp)
callq 0x2413a
addq $0x10, %rsp
movq $0x0, 0x58(%rsp)
cmpq $0x0, 0xa8(%rsp)
je 0x22cfc
leaq 0x90(%rsp), %rdi
callq 0x26fc8
cmpq $0x2, 0x18(%rax)
jb 0x22bdb
leaq 0x90(%rsp), %rdi
callq 0x26fc8
movq %rax, %rdi
callq 0x20b7c
movq (%rax), %rbx
leaq 0x90(%rsp), %rdi
callq 0x26fc8
movq %rax, %rdi
callq 0x20c44
leaq 0x90(%rsp), %rdi
callq 0x26fc8
movq %rax, %rdi
callq 0x20b7c
movq (%rax), %r12
movq %r12, 0x58(%rsp)
movq 0xa8(%rsp), %rcx
jmp 0x22c0e
movq 0xa8(%rsp), %rsi
decq %rsi
leaq 0x90(%rsp), %rdi
callq 0x27092
movq 0xa8(%rsp), %rax
testq %rax, %rax
je 0x22cfc
movq %rax, %rcx
movq 0x58(%rsp), %r12
xorl %ebx, %ebx
movq %rbx, %rax
subq %r12, %rax
movq %rax, 0x50(%rsp)
cmpq $0x400001, %rax         # imm = 0x400001
jb 0x2224b
movq 0x1438c(%rip), %rdi     # 0x36fb8
leaq 0x961d(%rip), %rsi      # 0x2c250
movl $0x16, %edx
callq 0x43b0
movq %rbx, %rsi
subq 0x58(%rsp), %rsi
movq 0x1436c(%rip), %rdi     # 0x36fb8
callq 0x41d0
movq %rax, %rbx
leaq 0x960c(%rip), %rsi      # 0x2c267
movl $0x6, %edx
movq %rax, %rdi
callq 0x43b0
movq %rbx, %rdi
movl $0x400000, %esi         # imm = 0x400000
callq 0x4610
movq %rax, %rbx
leaq 0xb726(%rip), %rsi      # 0x2e3a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x43b0
movq %rbx, %rdi
callq 0x4150
movq 0x1431d(%rip), %rdi     # 0x36fb8
leaq 0xc008(%rip), %rsi      # 0x2ecaa
movl $0x12, %edx
callq 0x43b0
movq 0x14305(%rip), %rdi     # 0x36fb8
leaq 0xaaee(%rip), %rsi      # 0x2d7a8
movl $0x1, %edx
callq 0x43b0
movq 0x142ed(%rip), %rdi     # 0x36fb8
movl $0x411, %esi            # imm = 0x411
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0xa9a4(%rip), %rdi      # 0x2d688
leaq 0xbfbf(%rip), %rsi      # 0x2ecaa
leaq 0xc5f9(%rip), %rcx      # 0x2f2eb
movl $0x411, %edx            # imm = 0x411
callq 0x41c0
xorl %ebx, %ebx
movq 0x130(%rsp,%rbx,8), %rdi
testq %rdi, %rdi
je 0x22d10
callq 0x4420
incq %rbx
cmpq $0x4, %rbx
jne 0x22cfe
leaq 0x90(%rsp), %rdi
callq 0x2750a
cmpb $0x0, 0x1b0(%rsp)
je 0x22d59
subq $0x8, %rsp
movq 0x20(%rsp), %rdi
movq %rbp, %rsi
movq 0x8(%rsp), %rdx
movq %r13, %rcx
movq $-0x1, %r8
movq %r15, %r9
pushq %r14
callq 0x2413a
addq $0x10, %rsp
addq $0x158, %rsp            # imm = 0x158
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xc94b(%rip), %rdi      # 0x2f6bd
leaq 0xbf31(%rip), %rsi      # 0x2ecaa
leaq 0xc87c(%rip), %rcx      # 0x2f5fc
movl $0x3a3, %edx            # imm = 0x3A3
callq 0x41c0
leaq 0xc015(%rip), %rdi      # 0x2eda6
leaq 0xbf12(%rip), %rsi      # 0x2ecaa
leaq 0xbf4e(%rip), %rcx      # 0x2eced
movl $0x495, %edx            # imm = 0x495
callq 0x41c0
movq 0x14208(%rip), %rdi     # 0x36fb8
leaq 0x95e0(%rip), %rsi      # 0x2c397
movl $0x1a, %edx
callq 0x43b0
movq 0x141f0(%rip), %rdi     # 0x36fb8
movq %r15, %rsi
callq 0x41d0
movq %rax, %rbx
leaq 0x9402(%rip), %rsi      # 0x2c1dc
movl $0x4, %edx
movq %rax, %rdi
callq 0x43b0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
movq %rbx, %rdi
movq %r15, %rsi
callq 0x41d0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x93bb(%rip), %rsi      # 0x2c1e1
movl $0x7, %edx
movq %rbx, %rdi
callq 0x43b0
movq %rbx, %rdi
movq %r15, %rsi
callq 0x41d0
movq %rax, %rbx
leaq 0x9394(%rip), %rsi      # 0x2c1dc
movl $0x4, %edx
movq %rax, %rdi
callq 0x43b0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
movq %rbx, %rdi
movq %r15, %rsi
callq 0x41d0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0xb511(%rip), %rsi      # 0x2e3a5
movl $0x1, %edx
movq %rbx, %rdi
callq 0x43b0
movq %rbx, %rdi
callq 0x4150
movq 0x14108(%rip), %rdi     # 0x36fb8
leaq 0xbdf3(%rip), %rsi      # 0x2ecaa
movl $0x12, %edx
callq 0x43b0
movq 0x140f0(%rip), %rdi     # 0x36fb8
leaq 0xa8d9(%rip), %rsi      # 0x2d7a8
movl $0x1, %edx
callq 0x43b0
movq 0x140d8(%rip), %rdi     # 0x36fb8
movl $0x39c, %esi            # imm = 0x39C
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0xa78f(%rip), %rdi      # 0x2d688
leaq 0xbdaa(%rip), %rsi      # 0x2ecaa
leaq 0xc6f5(%rip), %rcx      # 0x2f5fc
movl $0x39c, %edx            # imm = 0x39C
callq 0x41c0
movq %rax, %r15
movq 0x1409d(%rip), %r14     # 0x36fb8
leaq 0x93d2(%rip), %rsi      # 0x2c2f4
movq %r14, %rdi
callq 0x4310
movq %rax, %rdi
movq %rbx, %rsi
callq 0x40c0
leaq 0x93ce(%rip), %rsi      # 0x2c30a
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq %r15, %rsi
jmp 0x22f82
movq 0x14065(%rip), %r14     # 0x36fb8
leaq 0x9358(%rip), %rsi      # 0x2c2b2
movq %r14, %rdi
callq 0x4310
movq %rax, %rdi
movq %rbx, %rsi
callq 0x40c0
leaq 0x9355(%rip), %rsi      # 0x2c2c9
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq %r12, %rsi
callq 0x40c0
leaq 0xb417(%rip), %rsi      # 0x2e3a5
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0xbd05(%rip), %rbx      # 0x2ecaa
movq %r14, %rdi
movq %rbx, %rsi
callq 0x4310
leaq 0xa7f1(%rip), %rsi      # 0x2d7a8
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0x4aa, %esi            # imm = 0x4AA
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0xa6ad(%rip), %rdi      # 0x2d688
leaq 0xbd0b(%rip), %rcx      # 0x2eced
movq %rbx, %rsi
jmp 0x230c2
movq 0x13fc7(%rip), %rbx     # 0x36fb8
leaq 0x92fc(%rip), %rsi      # 0x2c2f4
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq %rbp, %rsi
callq 0x40c0
leaq 0x92f8(%rip), %rsi      # 0x2c30a
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq 0x1a0(%rsp), %rsi
jmp 0x2305f
movq 0x13f8a(%rip), %rbx     # 0x36fb8
leaq 0x927d(%rip), %rsi      # 0x2c2b2
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq %rbp, %rsi
callq 0x40c0
leaq 0x927a(%rip), %rsi      # 0x2c2c9
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq 0x40(%rsp), %rsi
callq 0x40c0
leaq 0xb33a(%rip), %rsi      # 0x2e3a5
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0xbc28(%rip), %r14      # 0x2ecaa
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4310
leaq 0xa714(%rip), %rsi      # 0x2d7a8
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0x4aa, %esi            # imm = 0x4AA
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0xa5d0(%rip), %rdi      # 0x2d688
leaq 0xbc2e(%rip), %rcx      # 0x2eced
movq %r14, %rsi
movl $0x4aa, %edx            # imm = 0x4AA
callq 0x41c0
leaq 0xac33(%rip), %rdi      # 0x2dd06
leaq 0xbbd0(%rip), %rsi      # 0x2ecaa
leaq 0xc51b(%rip), %rcx      # 0x2f5fc
movl $0x3de, %edx            # imm = 0x3DE
callq 0x41c0
movq 0x13ec6(%rip), %rbx     # 0x36fb8
leaq 0x91b9(%rip), %rsi      # 0x2c2b2
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq %r15, %rsi
callq 0x40c0
leaq 0x91b6(%rip), %rsi      # 0x2c2c9
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq 0x40(%rsp), %rsi
jmp 0x231d7
movq 0x13e89(%rip), %rbx     # 0x36fb8
leaq 0x917c(%rip), %rsi      # 0x2c2b2
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq 0x38(%rsp), %rsi
callq 0x40c0
leaq 0x9177(%rip), %rsi      # 0x2c2c9
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq %r12, %rsi
jmp 0x231d7
movq 0x13e4f(%rip), %rbx     # 0x36fb8
leaq 0x9184(%rip), %rsi      # 0x2c2f4
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq 0x38(%rsp), %rsi
callq 0x40c0
leaq 0x917e(%rip), %rsi      # 0x2c30a
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq %r14, %rsi
jmp 0x231d7
movq 0x13e15(%rip), %rbx     # 0x36fb8
leaq 0x914a(%rip), %rsi      # 0x2c2f4
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq %r15, %rsi
callq 0x40c0
leaq 0x9146(%rip), %rsi      # 0x2c30a
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq 0x1a0(%rsp), %rsi
callq 0x40c0
leaq 0xb1c2(%rip), %rsi      # 0x2e3a5
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0xbab0(%rip), %r14      # 0x2ecaa
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4310
leaq 0xa59c(%rip), %rsi      # 0x2d7a8
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0x4a0, %esi            # imm = 0x4A0
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0xa458(%rip), %rdi      # 0x2d688
leaq 0xbab6(%rip), %rcx      # 0x2eced
movq %r14, %rsi
movl $0x4a0, %edx            # imm = 0x4A0
callq 0x41c0
movq 0x13d6d(%rip), %rdi     # 0x36fb8
leaq 0x8ffe(%rip), %rsi      # 0x2c250
movl $0x16, %edx
callq 0x43b0
movq 0x13d55(%rip), %rdi     # 0x36fb8
movq %r13, %rsi
callq 0x41d0
movq %rax, %rbx
leaq 0x8ff2(%rip), %rsi      # 0x2c267
movl $0x6, %edx
movq %rax, %rdi
callq 0x43b0
movq %rbx, %rdi
movq 0x20(%rsp), %rsi
callq 0x41d0
movq %rax, %rbx
leaq 0xb10c(%rip), %rsi      # 0x2e3a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x43b0
movq %rbx, %rdi
callq 0x4150
movq 0x13d03(%rip), %rdi     # 0x36fb8
leaq 0xb9ee(%rip), %rsi      # 0x2ecaa
movl $0x12, %edx
callq 0x43b0
movq 0x13ceb(%rip), %rdi     # 0x36fb8
leaq 0xa4d4(%rip), %rsi      # 0x2d7a8
movl $0x1, %edx
callq 0x43b0
movq 0x13cd3(%rip), %rdi     # 0x36fb8
movl $0x3b4, %esi            # imm = 0x3B4
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0xa38a(%rip), %rdi      # 0x2d688
leaq 0xb9a5(%rip), %rsi      # 0x2ecaa
leaq 0xc2f0(%rip), %rcx      # 0x2f5fc
movl $0x3b4, %edx            # imm = 0x3B4
callq 0x41c0
movq 0x13c9b(%rip), %rdi     # 0x36fb8
leaq 0x8f2c(%rip), %rsi      # 0x2c250
movl $0x16, %edx
callq 0x43b0
movq 0x13c83(%rip), %rdi     # 0x36fb8
movq %rbp, %rsi
callq 0x41d0
movq %rax, %rbx
leaq 0x8f20(%rip), %rsi      # 0x2c267
movl $0x6, %edx
movq %rax, %rdi
callq 0x43b0
movq %rbx, %rdi
movq 0x20(%rsp), %rsi
callq 0x41d0
movq %rax, %rbx
leaq 0xb03a(%rip), %rsi      # 0x2e3a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x43b0
movq %rbx, %rdi
callq 0x4150
movq 0x13c31(%rip), %rdi     # 0x36fb8
leaq 0xb91c(%rip), %rsi      # 0x2ecaa
movl $0x12, %edx
callq 0x43b0
movq 0x13c19(%rip), %rdi     # 0x36fb8
leaq 0xa402(%rip), %rsi      # 0x2d7a8
movl $0x1, %edx
callq 0x43b0
movq 0x13c01(%rip), %rdi     # 0x36fb8
movl $0x3b3, %esi            # imm = 0x3B3
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0xa2b8(%rip), %rdi      # 0x2d688
leaq 0xb8d3(%rip), %rsi      # 0x2ecaa
leaq 0xc21e(%rip), %rcx      # 0x2f5fc
movl $0x3b3, %edx            # imm = 0x3B3
callq 0x41c0
leaq 0xa917(%rip), %rdi      # 0x2dd06
leaq 0xb8b4(%rip), %rsi      # 0x2ecaa
leaq 0xc1ff(%rip), %rcx      # 0x2f5fc
movl $0x3a7, %edx            # imm = 0x3A7
callq 0x41c0
leaq 0xa8f8(%rip), %rdi      # 0x2dd06
leaq 0xb895(%rip), %rsi      # 0x2ecaa
leaq 0xc1e0(%rip), %rcx      # 0x2f5fc
movl $0x3ac, %edx            # imm = 0x3AC
callq 0x41c0
movq 0x13b8b(%rip), %rdi     # 0x36fb8
leaq 0x8f63(%rip), %rsi      # 0x2c397
movl $0x1a, %edx
callq 0x43b0
movq 0x13b73(%rip), %rdi     # 0x36fb8
movq 0x20(%rsp), %rsi
callq 0x41d0
movq %rax, %rbx
leaq 0x8d83(%rip), %rsi      # 0x2c1dc
movl $0x4, %edx
movq %rax, %rdi
callq 0x43b0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
movq %rbx, %rdi
movq 0x20(%rsp), %rsi
callq 0x41d0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x8d3a(%rip), %rsi      # 0x2c1e1
movl $0x7, %edx
movq %rbx, %rdi
callq 0x43b0
movq %rbx, %rdi
movq 0x20(%rsp), %rsi
callq 0x41d0
movq %rax, %rbx
leaq 0x8d11(%rip), %rsi      # 0x2c1dc
movl $0x4, %edx
movq %rax, %rdi
callq 0x43b0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
movq %rbx, %rdi
movq 0x20(%rsp), %rsi
callq 0x41d0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0xae8c(%rip), %rsi      # 0x2e3a5
movl $0x1, %edx
movq %rbx, %rdi
callq 0x43b0
movq %rbx, %rdi
callq 0x4150
movq 0x13a83(%rip), %rdi     # 0x36fb8
leaq 0xb76e(%rip), %rsi      # 0x2ecaa
movl $0x12, %edx
callq 0x43b0
movq 0x13a6b(%rip), %rdi     # 0x36fb8
leaq 0xa254(%rip), %rsi      # 0x2d7a8
movl $0x1, %edx
callq 0x43b0
movq 0x13a53(%rip), %rdi     # 0x36fb8
movl $0x3b7, %esi            # imm = 0x3B7
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0xa10a(%rip), %rdi      # 0x2d688
leaq 0xb725(%rip), %rsi      # 0x2ecaa
leaq 0xc070(%rip), %rcx      # 0x2f5fc
movl $0x3b7, %edx            # imm = 0x3B7
callq 0x41c0
leaq 0xa769(%rip), %rdi      # 0x2dd06
leaq 0xb706(%rip), %rsi      # 0x2ecaa
leaq 0xc051(%rip), %rcx      # 0x2f5fc
movl $0x3bc, %edx            # imm = 0x3BC
callq 0x41c0
leaq 0xa74a(%rip), %rdi      # 0x2dd06
leaq 0xb6e7(%rip), %rsi      # 0x2ecaa
leaq 0xc032(%rip), %rcx      # 0x2f5fc
movl $0x3b8, %edx            # imm = 0x3B8
callq 0x41c0
movq 0x139dd(%rip), %rbx     # 0x36fb8
leaq 0x8c6e(%rip), %rsi      # 0x2c250
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq %r15, %rsi
callq 0x40c0
leaq 0x8c6b(%rip), %rsi      # 0x2c267
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq %r13, %rsi
callq 0x40c0
leaq 0xad8f(%rip), %rsi      # 0x2e3a5
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0xb67d(%rip), %r14      # 0x2ecaa
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4310
leaq 0xa169(%rip), %rsi      # 0x2d7a8
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0x472, %esi            # imm = 0x472
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0xa025(%rip), %rdi      # 0x2d688
leaq 0xb683(%rip), %rcx      # 0x2eced
movq %r14, %rsi
movl $0x472, %edx            # imm = 0x472
callq 0x41c0
movq 0x1393a(%rip), %rbx     # 0x36fb8
leaq 0x8bcb(%rip), %rsi      # 0x2c250
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq %r14, %rsi
callq 0x40c0
leaq 0x8bc8(%rip), %rsi      # 0x2c267
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq %r13, %rsi
callq 0x40c0
leaq 0xacec(%rip), %rsi      # 0x2e3a5
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0xb5da(%rip), %r14      # 0x2ecaa
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4310
leaq 0xa0c6(%rip), %rsi      # 0x2d7a8
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0x473, %esi            # imm = 0x473
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x9f82(%rip), %rdi      # 0x2d688
leaq 0xb5e0(%rip), %rcx      # 0x2eced
movq %r14, %rsi
movl $0x473, %edx            # imm = 0x473
callq 0x41c0
leaq 0xb693(%rip), %rdi      # 0x2edb4
leaq 0xb582(%rip), %rsi      # 0x2ecaa
leaq 0xb5be(%rip), %rcx      # 0x2eced
movl $0x4b4, %edx            # imm = 0x4B4
callq 0x41c0
movq 0x13878(%rip), %rbx     # 0x36fb8
leaq 0x8bad(%rip), %rsi      # 0x2c2f4
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq 0x28(%rsp), %rsi
callq 0x40c0
leaq 0x8ba7(%rip), %rsi      # 0x2c30a
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq %r14, %rsi
callq 0x40c0
leaq 0xac28(%rip), %rsi      # 0x2e3a5
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0xb516(%rip), %r14      # 0x2ecaa
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4310
leaq 0xa002(%rip), %rsi      # 0x2d7a8
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0x4b5, %esi            # imm = 0x4B5
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x9ebe(%rip), %rdi      # 0x2d688
leaq 0xb51c(%rip), %rcx      # 0x2eced
movq %r14, %rsi
movl $0x4b5, %edx            # imm = 0x4B5
callq 0x41c0
movq 0x137d3(%rip), %rbx     # 0x36fb8
leaq 0x8b08(%rip), %rsi      # 0x2c2f4
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq %r13, %rsi
callq 0x40c0
leaq 0x8b04(%rip), %rsi      # 0x2c30a
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq %r14, %rsi
callq 0x40c0
leaq 0xab85(%rip), %rsi      # 0x2e3a5
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0xb473(%rip), %r14      # 0x2ecaa
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4310
leaq 0x9f5f(%rip), %rsi      # 0x2d7a8
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0x4b6, %esi            # imm = 0x4B6
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x9e1b(%rip), %rdi      # 0x2d688
leaq 0xb479(%rip), %rcx      # 0x2eced
movq %r14, %rsi
movl $0x4b6, %edx            # imm = 0x4B6
callq 0x41c0
movq 0x13730(%rip), %r14     # 0x36fb8
leaq 0x8a23(%rip), %rsi      # 0x2c2b2
movq %r14, %rdi
callq 0x4310
movq %rax, %rdi
movq %rbx, %rsi
callq 0x40c0
leaq 0x8a20(%rip), %rsi      # 0x2c2c9
jmp 0x23977
movq 0x13703(%rip), %rbx     # 0x36fb8
leaq 0x8a38(%rip), %rsi      # 0x2c2f4
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq %r15, %rsi
callq 0x40c0
leaq 0x8a34(%rip), %rsi      # 0x2c30a
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq %r14, %rsi
callq 0x40c0
leaq 0xaab5(%rip), %rsi      # 0x2e3a5
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0xb3a3(%rip), %r14      # 0x2ecaa
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4310
leaq 0x9e8f(%rip), %rsi      # 0x2d7a8
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0x48a, %esi            # imm = 0x48A
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x9d4b(%rip), %rdi      # 0x2d688
leaq 0xb3a9(%rip), %rcx      # 0x2eced
movq %r14, %rsi
jmp 0x239e8
movq %r14, %r15
movq 0x13662(%rip), %r14     # 0x36fb8
leaq 0x8997(%rip), %rsi      # 0x2c2f4
movq %r14, %rdi
callq 0x4310
movq %rax, %rdi
movq %rbx, %rsi
callq 0x40c0
leaq 0x8993(%rip), %rsi      # 0x2c30a
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq %r15, %rsi
callq 0x40c0
leaq 0xaa14(%rip), %rsi      # 0x2e3a5
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0xb302(%rip), %rbx      # 0x2ecaa
movq %r14, %rdi
movq %rbx, %rsi
callq 0x4310
leaq 0x9dee(%rip), %rsi      # 0x2d7a8
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0x48a, %esi            # imm = 0x48A
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x9caa(%rip), %rdi      # 0x2d688
leaq 0xb308(%rip), %rcx      # 0x2eced
movq %rbx, %rsi
movl $0x48a, %edx            # imm = 0x48A
callq 0x41c0
movq 0x135bf(%rip), %rbx     # 0x36fb8
leaq 0x88f4(%rip), %rsi      # 0x2c2f4
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq %r15, %rsi
callq 0x40c0
leaq 0x88f0(%rip), %rsi      # 0x2c30a
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq %r14, %rsi
jmp 0x23b08
movq 0x13584(%rip), %r14     # 0x36fb8
leaq 0x88b9(%rip), %rsi      # 0x2c2f4
movq %r14, %rdi
callq 0x4310
movq %rax, %rdi
movq %rbx, %rsi
callq 0x40c0
leaq 0x88b5(%rip), %rsi      # 0x2c30a
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq 0x1a0(%rsp), %rsi
callq 0x40c0
leaq 0xa931(%rip), %rsi      # 0x2e3a5
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0xb21f(%rip), %rbx      # 0x2ecaa
movq %r14, %rdi
movq %rbx, %rsi
callq 0x4310
leaq 0x9d0b(%rip), %rsi      # 0x2d7a8
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0x4b0, %esi            # imm = 0x4B0
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x9bc7(%rip), %rdi      # 0x2d688
leaq 0xb225(%rip), %rcx      # 0x2eced
movq %rbx, %rsi
jmp 0x23b6b
movq 0x134e1(%rip), %rbx     # 0x36fb8
leaq 0x87d4(%rip), %rsi      # 0x2c2b2
movq %rbx, %rdi
callq 0x4310
movq %rax, %rdi
movq %r15, %rsi
callq 0x40c0
leaq 0x87d1(%rip), %rsi      # 0x2c2c9
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movq 0x40(%rsp), %rsi
callq 0x40c0
leaq 0xa891(%rip), %rsi      # 0x2e3a5
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
callq 0x4150
leaq 0xb17f(%rip), %r14      # 0x2ecaa
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4310
leaq 0x9c6b(%rip), %rsi      # 0x2d7a8
movq %rax, %rdi
callq 0x4310
movq %rax, %rdi
movl $0x4b0, %esi            # imm = 0x4B0
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x9b27(%rip), %rdi      # 0x2d688
leaq 0xb185(%rip), %rcx      # 0x2eced
movq %r14, %rsi
movl $0x4b0, %edx            # imm = 0x4B0
callq 0x41c0
movq 0x1343c(%rip), %rdi     # 0x36fb8
leaq 0x86cd(%rip), %rsi      # 0x2c250
movl $0x16, %edx
callq 0x43b0
leaq 0x110(%rsp), %rsi
movb %bl, (%rsi)
movq 0x1341a(%rip), %rdi     # 0x36fb8
movl $0x1, %edx
callq 0x43b0
movq %rax, %rbx
leaq 0x86b5(%rip), %rsi      # 0x2c267
movl $0x6, %edx
movq %rax, %rdi
callq 0x43b0
movq %rbx, %rdi
movl $0x4, %esi
callq 0x4610
movq %rax, %rbx
leaq 0xa7cf(%rip), %rsi      # 0x2e3a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x43b0
movq %rbx, %rdi
callq 0x4150
movq 0x133c6(%rip), %rdi     # 0x36fb8
leaq 0xb0b1(%rip), %rsi      # 0x2ecaa
movl $0x12, %edx
callq 0x43b0
movq 0x133ae(%rip), %rdi     # 0x36fb8
leaq 0x9b97(%rip), %rsi      # 0x2d7a8
movl $0x1, %edx
callq 0x43b0
movq 0x13396(%rip), %rdi     # 0x36fb8
movl $0x42b, %esi            # imm = 0x42B
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x9a4d(%rip), %rdi      # 0x2d688
leaq 0xb068(%rip), %rsi      # 0x2ecaa
leaq 0xb6a2(%rip), %rcx      # 0x2f2eb
movl $0x42b, %edx            # imm = 0x42B
callq 0x41c0
leaq 0xb171(%rip), %rdi      # 0x2edcb
leaq 0xb049(%rip), %rsi      # 0x2ecaa
leaq 0xb085(%rip), %rcx      # 0x2eced
movl $0x4bb, %edx            # imm = 0x4BB
callq 0x41c0
leaq 0xba59(%rip), %rdi      # 0x2f6d2
leaq 0xb02a(%rip), %rsi      # 0x2ecaa
leaq 0xb975(%rip), %rcx      # 0x2f5fc
movl $0x3cc, %edx            # imm = 0x3CC
callq 0x41c0
leaq 0xba3b(%rip), %rdi      # 0x2f6d3
leaq 0xb00b(%rip), %rsi      # 0x2ecaa
leaq 0xb956(%rip), %rcx      # 0x2f5fc
movl $0x3d1, %edx            # imm = 0x3D1
callq 0x41c0
leaq 0xa04f(%rip), %rdi      # 0x2dd06
leaq 0xafec(%rip), %rsi      # 0x2ecaa
leaq 0xb937(%rip), %rcx      # 0x2f5fc
movl $0x3d7, %edx            # imm = 0x3D7
callq 0x41c0
leaq 0xa030(%rip), %rdi      # 0x2dd06
leaq 0xafcd(%rip), %rsi      # 0x2ecaa
leaq 0xb918(%rip), %rcx      # 0x2f5fc
movl $0x3d2, %edx            # imm = 0x3D2
callq 0x41c0
leaq 0xa011(%rip), %rdi      # 0x2dd06
leaq 0xafae(%rip), %rsi      # 0x2ecaa
leaq 0xb8f9(%rip), %rcx      # 0x2f5fc
movl $0x3cd, %edx            # imm = 0x3CD
callq 0x41c0
movq 0x132a4(%rip), %rdi     # 0x36fb8
leaq 0x84ab(%rip), %rsi      # 0x2c1c6
movl $0x15, %edx
callq 0x43b0
movq 0x1328c(%rip), %rdi     # 0x36fb8
movq %r13, %rsi
callq 0x41d0
movq %rax, %rbx
leaq 0x849e(%rip), %rsi      # 0x2c1dc
movl $0x4, %edx
movq %rax, %rdi
callq 0x43b0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
movq %rbx, %rdi
movq %r13, %rsi
callq 0x41d0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x8457(%rip), %rsi      # 0x2c1e1
movl $0x7, %edx
movq %rbx, %rdi
callq 0x43b0
movq 0x28(%rsp), %rsi
subq 0x58(%rsp), %rsi
movq %rbx, %rdi
callq 0x41d0
movq %rax, %rbx
leaq 0x8429(%rip), %rsi      # 0x2c1dc
movl $0x4, %edx
movq %rax, %rdi
callq 0x43b0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
movq 0x28(%rsp), %rsi
subq 0x58(%rsp), %rsi
movq %rbx, %rdi
callq 0x41d0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0xa59f(%rip), %rsi      # 0x2e3a5
movl $0x1, %edx
movq %rbx, %rdi
callq 0x43b0
movq %rbx, %rdi
callq 0x4150
movq 0x13196(%rip), %rdi     # 0x36fb8
leaq 0xae81(%rip), %rsi      # 0x2ecaa
movl $0x12, %edx
callq 0x43b0
movq 0x1317e(%rip), %rdi     # 0x36fb8
leaq 0x9967(%rip), %rsi      # 0x2d7a8
movl $0x1, %edx
callq 0x43b0
movq 0x13166(%rip), %rdi     # 0x36fb8
movl $0x432, %esi            # imm = 0x432
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x981d(%rip), %rdi      # 0x2d688
leaq 0xae38(%rip), %rsi      # 0x2ecaa
leaq 0xb472(%rip), %rcx      # 0x2f2eb
movl $0x432, %edx            # imm = 0x432
callq 0x41c0
movq 0x1312e(%rip), %rdi     # 0x36fb8
leaq 0x83bf(%rip), %rsi      # 0x2c250
movl $0x16, %edx
callq 0x43b0
movq 0x13116(%rip), %rdi     # 0x36fb8
movq 0x70(%rsp), %rsi
callq 0x41d0
movq %rax, %rbx
leaq 0x83b1(%rip), %rsi      # 0x2c267
movl $0x6, %edx
movq %rax, %rdi
callq 0x43b0
movq 0x48(%rsp), %rax
movl 0x8(%rax), %esi
movq %rbx, %rdi
callq 0x41d0
movq %rax, %rbx
leaq 0xa4c8(%rip), %rsi      # 0x2e3a5
movl $0x1, %edx
movq %rax, %rdi
callq 0x43b0
movq %rbx, %rdi
callq 0x4150
movq 0x130bf(%rip), %rdi     # 0x36fb8
leaq 0xadaa(%rip), %rsi      # 0x2ecaa
movl $0x12, %edx
callq 0x43b0
movq 0x130a7(%rip), %rdi     # 0x36fb8
leaq 0x9890(%rip), %rsi      # 0x2d7a8
movl $0x1, %edx
callq 0x43b0
movq 0x1308f(%rip), %rdi     # 0x36fb8
movl $0x395, %esi            # imm = 0x395
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x9746(%rip), %rdi      # 0x2d688
leaq 0xad61(%rip), %rsi      # 0x2ecaa
leaq 0xb6ac(%rip), %rcx      # 0x2f5fc
movl $0x395, %edx            # imm = 0x395
callq 0x41c0
movq 0x13057(%rip), %rdi     # 0x36fb8
leaq 0x825e(%rip), %rsi      # 0x2c1c6
movl $0x15, %edx
callq 0x43b0
leaq 0xb0(%rsp), %rsi
movl 0x190(%rsp), %eax
movb %al, (%rsi)
movq 0x1302e(%rip), %rdi     # 0x36fb8
movl $0x1, %edx
callq 0x43b0
movq %rax, %rbx
leaq 0x823e(%rip), %rsi      # 0x2c1dc
movl $0x4, %edx
movq %rax, %rdi
callq 0x43b0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0xb0(%rsp), %rsi
movl 0x190(%rsp), %eax
movb %al, (%rsi)
movl $0x1, %edx
movq %rbx, %rdi
callq 0x43b0
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0x81e4(%rip), %rsi      # 0x2c1e1
movl $0x7, %edx
movq %rbx, %rdi
callq 0x43b0
movq %rbx, %rdi
movl $0x4, %esi
callq 0x4610
movq %rax, %rbx
leaq 0x81bb(%rip), %rsi      # 0x2c1dc
movl $0x4, %edx
movq %rax, %rdi
callq 0x43b0
movq (%rbx), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x8, %ecx
movl %ecx, 0x18(%rbx,%rax)
movq %rbx, %rdi
movl $0x4, %esi
callq 0x4610
movq %rax, %rbx
movq (%rax), %rax
movq -0x18(%rax), %rax
movl 0x18(%rbx,%rax), %ecx
andl $-0x4b, %ecx
orl $0x2, %ecx
movl %ecx, 0x18(%rbx,%rax)
leaq 0xa336(%rip), %rsi      # 0x2e3a5
movl $0x1, %edx
movq %rbx, %rdi
callq 0x43b0
movq %rbx, %rdi
callq 0x4150
movq 0x12f2d(%rip), %rdi     # 0x36fb8
leaq 0xac18(%rip), %rsi      # 0x2ecaa
movl $0x12, %edx
callq 0x43b0
movq 0x12f15(%rip), %rdi     # 0x36fb8
leaq 0x96fe(%rip), %rsi      # 0x2d7a8
movl $0x1, %edx
callq 0x43b0
movq 0x12efd(%rip), %rdi     # 0x36fb8
movl $0x412, %esi            # imm = 0x412
callq 0x4610
movq %rax, %rdi
callq 0x4150
leaq 0x95b4(%rip), %rdi      # 0x2d688
leaq 0xabcf(%rip), %rsi      # 0x2ecaa
leaq 0xb209(%rip), %rcx      # 0x2f2eb
movl $0x412, %edx            # imm = 0x412
callq 0x41c0
jmp 0x24132
jmp 0x2411a
jmp 0x24132
jmp 0x2411a
jmp 0x2411a
jmp 0x24100
jmp 0x2411a
jmp 0x2411a
jmp 0x24100
jmp 0x2411a
movq %rax, %rbx
leaq 0x110(%rsp), %rdi
callq 0x1f9be
jmp 0x2411d
jmp 0x24132
jmp 0x2411a
jmp 0x2411a
jmp 0x2411a
movq %rax, %rbx
leaq 0x90(%rsp), %rdi
callq 0x2750a
movq %rbx, %rdi
callq 0x4620
movq %rax, %rdi
callq 0x100de