// File: BenLangmead[P]bowtie/./multikey_qsort.h
// Function: void mkeyQSortSuf<S2bDnaString>(S2bDnaString const&, unsigned long, unsigned long*, unsigned long, int, unsigned long, unsigned long, unsigned long, unsigned long)
void mkeyQSortSuf(
	const T& host,
	size_t hlen,
	TIndexOffU *s,
	size_t slen,
	int hi,
	size_t begin,
	size_t end,
	size_t depth,
	size_t upto = OFF_MASK)
{
	// Helper for making the recursive call; sanity-checks arguments to
	// make sure that the problem actually got smaller.
	#define MQS_RECURSE_SUF(nbegin, nend, ndepth) { \
		assert(nbegin > begin || nend < end || ndepth > depth); \
		if(ndepth < upto) { /* don't exceed depth of 'upto' */ \
			mkeyQSortSuf(host, hlen, s, slen, hi, nbegin, nend, ndepth, upto); \
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movq 0x20(%rbp), %rax
movq 0x18(%rbp), %rax
movq 0x10(%rbp), %rax
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq %rcx, -0x20(%rbp)
movl %r8d, -0x24(%rbp)
movq %r9, -0x30(%rbp)
movq -0x30(%rbp), %rax
cmpq -0x20(%rbp), %rax
jbe 0x37da2
movq 0x122cc(%rip), %rdi     # 0x49fc0
leaq 0x74a8(%rip), %rsi      # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x74a4(%rip), %rsi      # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x20(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x9887(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x12240(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x12274(%rip), %rdi     # 0x49fc0
leaq 0xa1db(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x8a28(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x190, %esi            # imm = 0x190
callq 0x5750
movq %rax, %rdi
movq 0x12202(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x88e0(%rip), %rdi      # 0x4066a
leaq 0xa19d(%rip), %rsi      # 0x41f2e
movl $0x190, %edx            # imm = 0x190
leaq 0xae8e(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq 0x10(%rbp), %rax
cmpq -0x20(%rbp), %rax
jbe 0x37e65
movq 0x12209(%rip), %rdi     # 0x49fc0
leaq 0x73e5(%rip), %rsi      # 0x3f1a3
callq 0x5360
movq %rax, %rdi
movq 0x10(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x73e1(%rip), %rsi      # 0x3f1ba
callq 0x5360
movq %rax, %rdi
movq -0x20(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x97c4(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x1217d(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x121b1(%rip), %rdi     # 0x49fc0
leaq 0xa118(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x8965(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x191, %esi            # imm = 0x191
callq 0x5750
movq %rax, %rdi
movq 0x1213f(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x881d(%rip), %rdi      # 0x4066a
leaq 0xa0da(%rip), %rsi      # 0x41f2e
movl $0x191, %edx            # imm = 0x191
leaq 0xadcb(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq 0x10(%rbp), %rax
subq -0x30(%rbp), %rax
movq %rax, -0x60(%rbp)
cmpq $0x1, -0x60(%rbp)
ja 0x37e7d
jmp 0x39656
movq -0x30(%rbp), %rax
movq %rax, -0x38(%rbp)
cmpq $0x5, -0x60(%rbp)
jb 0x38486
movq 0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movq -0x30(%rbp), %rdx
addq 0x8(%rcx,%rdx,8), %rax
cmpq -0x10(%rbp), %rax
jae 0x37ecc
movq -0x8(%rbp), %rdi
movq 0x18(%rbp), %rsi
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
addq 0x8(%rax,%rcx,8), %rsi
callq 0x356a0
movsbl %al, %eax
movl %eax, -0x9c(%rbp)
jmp 0x37ed5
movl -0x24(%rbp), %eax
movl %eax, -0x9c(%rbp)
movl -0x9c(%rbp), %eax
cmpl $0x1, %eax
je 0x37f30
movq 0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movq -0x30(%rbp), %rdx
addq 0x8(%rcx,%rdx,8), %rax
cmpq -0x10(%rbp), %rax
jae 0x37f1c
movq -0x8(%rbp), %rdi
movq 0x18(%rbp), %rsi
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
addq 0x8(%rax,%rcx,8), %rsi
callq 0x356a0
movsbl %al, %eax
movl %eax, -0xa0(%rbp)
jmp 0x37f25
movl -0x24(%rbp), %eax
movl %eax, -0xa0(%rbp)
movl -0xa0(%rbp), %eax
cmpl $0x2, %eax
jne 0x37f41
movq -0x30(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
jmp 0x38155
movq 0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movq -0x30(%rbp), %rdx
addq 0x10(%rcx,%rdx,8), %rax
cmpq -0x10(%rbp), %rax
jae 0x37f7d
movq -0x8(%rbp), %rdi
movq 0x18(%rbp), %rsi
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
addq 0x10(%rax,%rcx,8), %rsi
callq 0x356a0
movsbl %al, %eax
movl %eax, -0xa4(%rbp)
jmp 0x37f86
movl -0x24(%rbp), %eax
movl %eax, -0xa4(%rbp)
movl -0xa4(%rbp), %eax
cmpl $0x1, %eax
je 0x37fe1
movq 0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movq -0x30(%rbp), %rdx
addq 0x10(%rcx,%rdx,8), %rax
cmpq -0x10(%rbp), %rax
jae 0x37fcd
movq -0x8(%rbp), %rdi
movq 0x18(%rbp), %rsi
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
addq 0x10(%rax,%rcx,8), %rsi
callq 0x356a0
movsbl %al, %eax
movl %eax, -0xa8(%rbp)
jmp 0x37fd6
movl -0x24(%rbp), %eax
movl %eax, -0xa8(%rbp)
movl -0xa8(%rbp), %eax
cmpl $0x2, %eax
jne 0x37ff2
movq -0x30(%rbp), %rax
addq $0x2, %rax
movq %rax, -0x38(%rbp)
jmp 0x38153
movq 0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movq -0x30(%rbp), %rdx
addq 0x18(%rcx,%rdx,8), %rax
cmpq -0x10(%rbp), %rax
jae 0x3802e
movq -0x8(%rbp), %rdi
movq 0x18(%rbp), %rsi
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
addq 0x18(%rax,%rcx,8), %rsi
callq 0x356a0
movsbl %al, %eax
movl %eax, -0xac(%rbp)
jmp 0x38037
movl -0x24(%rbp), %eax
movl %eax, -0xac(%rbp)
movl -0xac(%rbp), %eax
cmpl $0x1, %eax
je 0x38092
movq 0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movq -0x30(%rbp), %rdx
addq 0x18(%rcx,%rdx,8), %rax
cmpq -0x10(%rbp), %rax
jae 0x3807e
movq -0x8(%rbp), %rdi
movq 0x18(%rbp), %rsi
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
addq 0x18(%rax,%rcx,8), %rsi
callq 0x356a0
movsbl %al, %eax
movl %eax, -0xb0(%rbp)
jmp 0x38087
movl -0x24(%rbp), %eax
movl %eax, -0xb0(%rbp)
movl -0xb0(%rbp), %eax
cmpl $0x2, %eax
jne 0x380a3
movq -0x30(%rbp), %rax
addq $0x3, %rax
movq %rax, -0x38(%rbp)
jmp 0x38151
movq 0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movq -0x30(%rbp), %rdx
addq 0x20(%rcx,%rdx,8), %rax
cmpq -0x10(%rbp), %rax
jae 0x380df
movq -0x8(%rbp), %rdi
movq 0x18(%rbp), %rsi
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
addq 0x20(%rax,%rcx,8), %rsi
callq 0x356a0
movsbl %al, %eax
movl %eax, -0xb4(%rbp)
jmp 0x380e8
movl -0x24(%rbp), %eax
movl %eax, -0xb4(%rbp)
movl -0xb4(%rbp), %eax
cmpl $0x1, %eax
je 0x38143
movq 0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movq -0x30(%rbp), %rdx
addq 0x20(%rcx,%rdx,8), %rax
cmpq -0x10(%rbp), %rax
jae 0x3812f
movq -0x8(%rbp), %rdi
movq 0x18(%rbp), %rsi
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
addq 0x20(%rax,%rcx,8), %rsi
callq 0x356a0
movsbl %al, %eax
movl %eax, -0xb8(%rbp)
jmp 0x38138
movl -0x24(%rbp), %eax
movl %eax, -0xb8(%rbp)
movl -0xb8(%rbp), %eax
cmpl $0x2, %eax
jne 0x3814f
movq -0x30(%rbp), %rax
addq $0x4, %rax
movq %rax, -0x38(%rbp)
jmp 0x38151
jmp 0x38153
jmp 0x38155
movq -0x38(%rbp), %rax
cmpq -0x30(%rbp), %rax
je 0x38484
movq -0x30(%rbp), %rax
cmpq -0x30(%rbp), %rax
jae 0x38226
movq 0x11e48(%rip), %rdi     # 0x49fc0
leaq 0x7086(%rip), %rsi      # 0x3f205
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x7082(%rip), %rsi      # 0x3f21c
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x9403(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x11dbc(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x11df0(%rip), %rdi     # 0x49fc0
leaq 0x9d57(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x85a4(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x195, %esi            # imm = 0x195
callq 0x5750
movq %rax, %rdi
movq 0x11d7e(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x845c(%rip), %rdi      # 0x4066a
leaq 0x9d19(%rip), %rsi      # 0x41f2e
movl $0x195, %edx            # imm = 0x195
leaq 0xaa0a(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x38(%rbp), %rax
cmpq -0x30(%rbp), %rax
jae 0x382e9
movq 0x11d85(%rip), %rdi     # 0x49fc0
leaq 0x6fc3(%rip), %rsi      # 0x3f205
callq 0x5360
movq %rax, %rdi
movq -0x38(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x6fbf(%rip), %rsi      # 0x3f21c
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x9340(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x11cf9(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x11d2d(%rip), %rdi     # 0x49fc0
leaq 0x9c94(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x84e1(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x195, %esi            # imm = 0x195
callq 0x5750
movq %rax, %rdi
movq 0x11cbb(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x8399(%rip), %rdi      # 0x4066a
leaq 0x9c56(%rip), %rsi      # 0x41f2e
movl $0x195, %edx            # imm = 0x195
leaq 0xa947(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x30(%rbp), %rax
cmpq 0x10(%rbp), %rax
jb 0x383ac
movq 0x11cc2(%rip), %rdi     # 0x49fc0
leaq 0x6f42(%rip), %rsi      # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x6f3d(%rip), %rsi      # 0x3f25d
callq 0x5360
movq %rax, %rdi
movq 0x10(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x927d(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x11c36(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x11c6a(%rip), %rdi     # 0x49fc0
leaq 0x9bd1(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x841e(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x195, %esi            # imm = 0x195
callq 0x5750
movq %rax, %rdi
movq 0x11bf8(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x82d6(%rip), %rdi      # 0x4066a
leaq 0x9b93(%rip), %rsi      # 0x41f2e
movl $0x195, %edx            # imm = 0x195
leaq 0xa884(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x38(%rbp), %rax
cmpq 0x10(%rbp), %rax
jb 0x3846f
movq 0x11bff(%rip), %rdi     # 0x49fc0
leaq 0x6e7f(%rip), %rsi      # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x38(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x6e7a(%rip), %rsi      # 0x3f25d
callq 0x5360
movq %rax, %rdi
movq 0x10(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x91ba(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x11b73(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x11ba7(%rip), %rdi     # 0x49fc0
leaq 0x9b0e(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x835b(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x195, %esi            # imm = 0x195
callq 0x5750
movq %rax, %rdi
movq 0x11b35(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x8213(%rip), %rdi      # 0x4066a
leaq 0x9ad0(%rip), %rsi      # 0x41f2e
movl $0x195, %edx            # imm = 0x195
leaq 0xa7c1(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x30(%rbp), %rdx
movq -0x38(%rbp), %rcx
callq 0x15610
jmp 0x38486
movq 0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movq -0x30(%rbp), %rdx
addq (%rcx,%rdx,8), %rax
cmpq -0x10(%rbp), %rax
jae 0x384c0
movq -0x8(%rbp), %rdi
movq 0x18(%rbp), %rsi
movq -0x18(%rbp), %rax
movq -0x30(%rbp), %rcx
addq (%rax,%rcx,8), %rsi
callq 0x356a0
movsbl %al, %eax
movl %eax, -0xbc(%rbp)
jmp 0x384c9
movl -0x24(%rbp), %eax
movl %eax, -0xbc(%rbp)
movl -0xbc(%rbp), %eax
movl %eax, -0x64(%rbp)
movb $0x0, -0x65(%rbp)
movq -0x30(%rbp), %rax
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rax
cmpq 0x10(%rbp), %rax
jae 0x38519
movq 0x18(%rbp), %rax
movq -0x10(%rbp), %rcx
movq -0x18(%rbp), %rdx
movq -0x70(%rbp), %rsi
subq (%rdx,%rsi,8), %rcx
cmpq %rcx, %rax
jae 0x38507
movb $0x1, -0x65(%rbp)
jmp 0x38519
jmp 0x38509
jmp 0x3850b
movq -0x70(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x70(%rbp)
jmp 0x384de
testb $0x1, -0x65(%rbp)
je 0x38521
jmp 0x38540
leaq 0x9b11(%rip), %rdi      # 0x42039
leaq 0x99ff(%rip), %rsi      # 0x41f2e
movl $0x1a0, %edx            # imm = 0x1A0
leaq 0xa6f0(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x30(%rbp), %rax
movq %rax, -0x40(%rbp)
movq %rax, -0x38(%rbp)
movq 0x10(%rbp), %rax
subq $0x1, %rax
movq %rax, -0x50(%rbp)
movq %rax, -0x48(%rbp)
movl $0x0, -0x74(%rbp)
movq -0x40(%rbp), %rcx
xorl %eax, %eax
cmpq -0x48(%rbp), %rcx
movb %al, -0xbd(%rbp)
ja 0x385db
movl -0x64(%rbp), %eax
movl %eax, -0xc4(%rbp)
movq 0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movq -0x40(%rbp), %rdx
addq (%rcx,%rdx,8), %rax
cmpq -0x10(%rbp), %rax
jae 0x385b8
movq -0x8(%rbp), %rdi
movq 0x18(%rbp), %rsi
movq -0x18(%rbp), %rax
movq -0x40(%rbp), %rcx
addq (%rax,%rcx,8), %rsi
callq 0x356a0
movsbl %al, %eax
movl %eax, -0xc8(%rbp)
jmp 0x385c1
movl -0x24(%rbp), %eax
movl %eax, -0xc8(%rbp)
movl -0xc4(%rbp), %eax
movl -0xc8(%rbp), %ecx
movl %ecx, -0x74(%rbp)
cmpl %ecx, %eax
setge %al
movb %al, -0xbd(%rbp)
movb -0xbd(%rbp), %al
testb $0x1, %al
jne 0x385ea
jmp 0x38934
movl -0x64(%rbp), %eax
cmpl -0x74(%rbp), %eax
jne 0x38923
movq -0x38(%rbp), %rax
cmpq -0x30(%rbp), %rax
jae 0x386b9
movq 0x119b5(%rip), %rdi     # 0x49fc0
leaq 0x6bf3(%rip), %rsi      # 0x3f205
callq 0x5360
movq %rax, %rdi
movq -0x38(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x6bef(%rip), %rsi      # 0x3f21c
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x8f70(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x11929(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x1195d(%rip), %rdi     # 0x49fc0
leaq 0x98c4(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x8111(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x1ab, %esi            # imm = 0x1AB
callq 0x5750
movq %rax, %rdi
movq 0x118eb(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x7fc9(%rip), %rdi      # 0x4066a
leaq 0x9886(%rip), %rsi      # 0x41f2e
movl $0x1ab, %edx            # imm = 0x1AB
leaq 0xa577(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x40(%rbp), %rax
cmpq -0x30(%rbp), %rax
jae 0x3877c
movq 0x118f2(%rip), %rdi     # 0x49fc0
leaq 0x6b30(%rip), %rsi      # 0x3f205
callq 0x5360
movq %rax, %rdi
movq -0x40(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x6b2c(%rip), %rsi      # 0x3f21c
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x8ead(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x11866(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x1189a(%rip), %rdi     # 0x49fc0
leaq 0x9801(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x804e(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x1ab, %esi            # imm = 0x1AB
callq 0x5750
movq %rax, %rdi
movq 0x11828(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x7f06(%rip), %rdi      # 0x4066a
leaq 0x97c3(%rip), %rsi      # 0x41f2e
movl $0x1ab, %edx            # imm = 0x1AB
leaq 0xa4b4(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x38(%rbp), %rax
cmpq 0x10(%rbp), %rax
jb 0x3883f
movq 0x1182f(%rip), %rdi     # 0x49fc0
leaq 0x6aaf(%rip), %rsi      # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x38(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x6aaa(%rip), %rsi      # 0x3f25d
callq 0x5360
movq %rax, %rdi
movq 0x10(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x8dea(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x117a3(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x117d7(%rip), %rdi     # 0x49fc0
leaq 0x973e(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x7f8b(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x1ab, %esi            # imm = 0x1AB
callq 0x5750
movq %rax, %rdi
movq 0x11765(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x7e43(%rip), %rdi      # 0x4066a
leaq 0x9700(%rip), %rsi      # 0x41f2e
movl $0x1ab, %edx            # imm = 0x1AB
leaq 0xa3f1(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x40(%rbp), %rax
cmpq 0x10(%rbp), %rax
jb 0x38902
movq 0x1176c(%rip), %rdi     # 0x49fc0
leaq 0x69ec(%rip), %rsi      # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x40(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x69e7(%rip), %rsi      # 0x3f25d
callq 0x5360
movq %rax, %rdi
movq 0x10(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x8d27(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x116e0(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x11714(%rip), %rdi     # 0x49fc0
leaq 0x967b(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x7ec8(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x1ab, %esi            # imm = 0x1AB
callq 0x5750
movq %rax, %rdi
movq 0x116a2(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x7d80(%rip), %rdi      # 0x4066a
leaq 0x963d(%rip), %rsi      # 0x41f2e
movl $0x1ab, %edx            # imm = 0x1AB
leaq 0xa32e(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x38(%rbp), %rdx
movq -0x40(%rbp), %rcx
callq 0x15610
movq -0x38(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x38(%rbp)
movq -0x40(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x40(%rbp)
jmp 0x38563
movl $0x0, -0x78(%rbp)
movq -0x40(%rbp), %rcx
xorl %eax, %eax
cmpq -0x48(%rbp), %rcx
movb %al, -0xc9(%rbp)
ja 0x389b3
movl -0x64(%rbp), %eax
movl %eax, -0xd0(%rbp)
movq 0x18(%rbp), %rax
movq -0x18(%rbp), %rcx
movq -0x48(%rbp), %rdx
addq (%rcx,%rdx,8), %rax
cmpq -0x10(%rbp), %rax
jae 0x38990
movq -0x8(%rbp), %rdi
movq 0x18(%rbp), %rsi
movq -0x18(%rbp), %rax
movq -0x48(%rbp), %rcx
addq (%rax,%rcx,8), %rsi
callq 0x356a0
movsbl %al, %eax
movl %eax, -0xd4(%rbp)
jmp 0x38999
movl -0x24(%rbp), %eax
movl %eax, -0xd4(%rbp)
movl -0xd0(%rbp), %eax
movl -0xd4(%rbp), %ecx
movl %ecx, -0x78(%rbp)
cmpl %ecx, %eax
setle %al
movb %al, -0xc9(%rbp)
movb -0xc9(%rbp), %al
testb $0x1, %al
jne 0x389c2
jmp 0x38d0c
movl -0x64(%rbp), %eax
cmpl -0x78(%rbp), %eax
jne 0x38cfb
movq -0x48(%rbp), %rax
cmpq -0x30(%rbp), %rax
jae 0x38a91
movq 0x115dd(%rip), %rdi     # 0x49fc0
leaq 0x681b(%rip), %rsi      # 0x3f205
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x6817(%rip), %rsi      # 0x3f21c
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x8b98(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x11551(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x11585(%rip), %rdi     # 0x49fc0
leaq 0x94ec(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x7d39(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x1b4, %esi            # imm = 0x1B4
callq 0x5750
movq %rax, %rdi
movq 0x11513(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x7bf1(%rip), %rdi      # 0x4066a
leaq 0x94ae(%rip), %rsi      # 0x41f2e
movl $0x1b4, %edx            # imm = 0x1B4
leaq 0xa19f(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x50(%rbp), %rax
cmpq -0x30(%rbp), %rax
jae 0x38b54
movq 0x1151a(%rip), %rdi     # 0x49fc0
leaq 0x6758(%rip), %rsi      # 0x3f205
callq 0x5360
movq %rax, %rdi
movq -0x50(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x6754(%rip), %rsi      # 0x3f21c
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x8ad5(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x1148e(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x114c2(%rip), %rdi     # 0x49fc0
leaq 0x9429(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x7c76(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x1b4, %esi            # imm = 0x1B4
callq 0x5750
movq %rax, %rdi
movq 0x11450(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x7b2e(%rip), %rdi      # 0x4066a
leaq 0x93eb(%rip), %rsi      # 0x41f2e
movl $0x1b4, %edx            # imm = 0x1B4
leaq 0xa0dc(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x48(%rbp), %rax
cmpq 0x10(%rbp), %rax
jb 0x38c17
movq 0x11457(%rip), %rdi     # 0x49fc0
leaq 0x66d7(%rip), %rsi      # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x66d2(%rip), %rsi      # 0x3f25d
callq 0x5360
movq %rax, %rdi
movq 0x10(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x8a12(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x113cb(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x113ff(%rip), %rdi     # 0x49fc0
leaq 0x9366(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x7bb3(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x1b4, %esi            # imm = 0x1B4
callq 0x5750
movq %rax, %rdi
movq 0x1138d(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x7a6b(%rip), %rdi      # 0x4066a
leaq 0x9328(%rip), %rsi      # 0x41f2e
movl $0x1b4, %edx            # imm = 0x1B4
leaq 0xa019(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x50(%rbp), %rax
cmpq 0x10(%rbp), %rax
jb 0x38cda
movq 0x11394(%rip), %rdi     # 0x49fc0
leaq 0x6614(%rip), %rsi      # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x50(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x660f(%rip), %rsi      # 0x3f25d
callq 0x5360
movq %rax, %rdi
movq 0x10(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x894f(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x11308(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x1133c(%rip), %rdi     # 0x49fc0
leaq 0x92a3(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x7af0(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x1b4, %esi            # imm = 0x1B4
callq 0x5750
movq %rax, %rdi
movq 0x112ca(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x79a8(%rip), %rdi      # 0x4066a
leaq 0x9265(%rip), %rsi      # 0x41f2e
movl $0x1b4, %edx            # imm = 0x1B4
leaq 0x9f56(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x48(%rbp), %rdx
movq -0x50(%rbp), %rcx
callq 0x15610
movq -0x50(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x50(%rbp)
movq -0x48(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x48(%rbp)
jmp 0x3893b
movq -0x40(%rbp), %rax
cmpq -0x48(%rbp), %rax
jbe 0x38d1b
jmp 0x39059
movq -0x40(%rbp), %rax
cmpq -0x30(%rbp), %rax
jae 0x38dde
movq 0x11290(%rip), %rdi     # 0x49fc0
leaq 0x64ce(%rip), %rsi      # 0x3f205
callq 0x5360
movq %rax, %rdi
movq -0x40(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x64ca(%rip), %rsi      # 0x3f21c
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x884b(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x11204(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x11238(%rip), %rdi     # 0x49fc0
leaq 0x919f(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x79ec(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x1b9, %esi            # imm = 0x1B9
callq 0x5750
movq %rax, %rdi
movq 0x111c6(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x78a4(%rip), %rdi      # 0x4066a
leaq 0x9161(%rip), %rsi      # 0x41f2e
movl $0x1b9, %edx            # imm = 0x1B9
leaq 0x9e52(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x48(%rbp), %rax
cmpq -0x30(%rbp), %rax
jae 0x38ea1
movq 0x111cd(%rip), %rdi     # 0x49fc0
leaq 0x640b(%rip), %rsi      # 0x3f205
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x6407(%rip), %rsi      # 0x3f21c
callq 0x5360
movq %rax, %rdi
movq -0x30(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x8788(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x11141(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x11175(%rip), %rdi     # 0x49fc0
leaq 0x90dc(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x7929(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x1b9, %esi            # imm = 0x1B9
callq 0x5750
movq %rax, %rdi
movq 0x11103(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x77e1(%rip), %rdi      # 0x4066a
leaq 0x909e(%rip), %rsi      # 0x41f2e
movl $0x1b9, %edx            # imm = 0x1B9
leaq 0x9d8f(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x40(%rbp), %rax
cmpq 0x10(%rbp), %rax
jb 0x38f64
movq 0x1110a(%rip), %rdi     # 0x49fc0
leaq 0x638a(%rip), %rsi      # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x40(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x6385(%rip), %rsi      # 0x3f25d
callq 0x5360
movq %rax, %rdi
movq 0x10(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x86c5(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x1107e(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x110b2(%rip), %rdi     # 0x49fc0
leaq 0x9019(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x7866(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x1b9, %esi            # imm = 0x1B9
callq 0x5750
movq %rax, %rdi
movq 0x11040(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x771e(%rip), %rdi      # 0x4066a
leaq 0x8fdb(%rip), %rsi      # 0x41f2e
movl $0x1b9, %edx            # imm = 0x1B9
leaq 0x9ccc(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x48(%rbp), %rax
cmpq 0x10(%rbp), %rax
jb 0x39027
movq 0x11047(%rip), %rdi     # 0x49fc0
leaq 0x62c7(%rip), %rsi      # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x48(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x62c2(%rip), %rsi      # 0x3f25d
callq 0x5360
movq %rax, %rdi
movq 0x10(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x8602(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x10fbb(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x10fef(%rip), %rdi     # 0x49fc0
leaq 0x8f56(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x77a3(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x1b9, %esi            # imm = 0x1B9
callq 0x5750
movq %rax, %rdi
movq 0x10f7d(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x765b(%rip), %rdi      # 0x4066a
leaq 0x8f18(%rip), %rsi      # 0x41f2e
movl $0x1b9, %edx            # imm = 0x1B9
leaq 0x9c09(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq -0x48(%rbp), %rcx
callq 0x15610
movq -0x40(%rbp), %rax
addq $0x1, %rax
movq %rax, -0x40(%rbp)
movq -0x48(%rbp), %rax
addq $-0x1, %rax
movq %rax, -0x48(%rbp)
jmp 0x3855c
movq -0x38(%rbp), %rcx
movb $0x1, %al
cmpq -0x30(%rbp), %rcx
movb %al, -0xd5(%rbp)
ja 0x39083
movq -0x48(%rbp), %rax
movq 0x10(%rbp), %rcx
subq $0x1, %rcx
cmpq %rcx, %rax
setb %al
movb %al, -0xd5(%rbp)
movb -0xd5(%rbp), %al
testb $0x1, %al
jne 0x3908f
jmp 0x39091
jmp 0x390b0
leaq 0x8faf(%rip), %rdi      # 0x42047
leaq 0x8e8f(%rip), %rsi      # 0x41f2e
movl $0x1bd, %edx            # imm = 0x1BD
leaq 0x9b80(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x50(%rbp), %rax
subq -0x48(%rbp), %rax
cmpq -0x60(%rbp), %rax
jb 0x3917b
movq 0x10ef7(%rip), %rdi     # 0x49fc0
leaq 0x6177(%rip), %rsi      # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x50(%rbp), %rsi
subq -0x48(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x616e(%rip), %rsi      # 0x3f25d
callq 0x5360
movq %rax, %rdi
movq -0x60(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x84ae(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x10e67(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x10e9b(%rip), %rdi     # 0x49fc0
leaq 0x8e02(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x764f(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x1be, %esi            # imm = 0x1BE
callq 0x5750
movq %rax, %rdi
movq 0x10e29(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x7507(%rip), %rdi      # 0x4066a
leaq 0x8dc4(%rip), %rsi      # 0x41f2e
movl $0x1be, %edx            # imm = 0x1BE
leaq 0x9ab5(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x40(%rbp), %rax
subq -0x38(%rbp), %rax
cmpq -0x60(%rbp), %rax
jb 0x39246
movq 0x10e2c(%rip), %rdi     # 0x49fc0
leaq 0x60ac(%rip), %rsi      # 0x3f247
callq 0x5360
movq %rax, %rdi
movq -0x40(%rbp), %rsi
subq -0x38(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x60a3(%rip), %rsi      # 0x3f25d
callq 0x5360
movq %rax, %rdi
movq -0x60(%rbp), %rsi
callq 0x50c0
movq %rax, %rdi
leaq 0x83e3(%rip), %rsi      # 0x415b8
callq 0x5360
movq %rax, %rdi
movq 0x10d9c(%rip), %rsi     # 0x49f80
callq 0x53c0
movq 0x10dd0(%rip), %rdi     # 0x49fc0
leaq 0x8d37(%rip), %rsi      # 0x41f2e
callq 0x5360
movq %rax, %rdi
leaq 0x7584(%rip), %rsi      # 0x4078a
callq 0x5360
movq %rax, %rdi
movl $0x1bf, %esi            # imm = 0x1BF
callq 0x5750
movq %rax, %rdi
movq 0x10d5e(%rip), %rsi     # 0x49f80
callq 0x53c0
leaq 0x743c(%rip), %rdi      # 0x4066a
leaq 0x8cf9(%rip), %rsi      # 0x41f2e
movl $0x1bf, %edx            # imm = 0x1BF
leaq 0x99ea(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movl -0x24(%rbp), %ecx
movl -0x64(%rbp), %r8d
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %r10
movq 0x18(%rbp), %rax
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x39660
testb $0x1, %al
jne 0x39279
jmp 0x3927b
jmp 0x3929a
leaq 0x9a1c(%rip), %rdi      # 0x42c9e
leaq 0x8ca5(%rip), %rsi      # 0x41f2e
movl $0x1c0, %edx            # imm = 0x1C0
leaq 0x9996(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x38(%rbp), %rax
subq -0x30(%rbp), %rax
movq %rax, -0x80(%rbp)
movq -0x40(%rbp), %rax
subq -0x38(%rbp), %rax
movq %rax, -0x88(%rbp)
leaq -0x80(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0x1b390
movq (%rax), %rax
movq %rax, -0x58(%rbp)
cmpq $0x0, -0x58(%rbp)
jbe 0x392fc
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x30(%rbp), %rdx
movq -0x40(%rbp), %rcx
subq -0x58(%rbp), %rcx
movq -0x58(%rbp), %r8
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rax
movq %rax, (%rsp)
callq 0x157f0
movq -0x50(%rbp), %rax
subq -0x48(%rbp), %rax
movq %rax, -0x90(%rbp)
movq 0x10(%rbp), %rax
subq -0x50(%rbp), %rax
subq $0x1, %rax
movq %rax, -0x98(%rbp)
leaq -0x90(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x1b390
movq (%rax), %rax
movq %rax, -0x58(%rbp)
cmpq $0x0, -0x58(%rbp)
jbe 0x39368
movq -0x18(%rbp), %rdi
movq -0x20(%rbp), %rsi
movq -0x40(%rbp), %rdx
movq 0x10(%rbp), %rcx
subq -0x58(%rbp), %rcx
movq -0x58(%rbp), %r8
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %rax
movq %rax, (%rsp)
callq 0x157f0
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
movl -0x24(%rbp), %ecx
movl -0x64(%rbp), %r8d
movq -0x30(%rbp), %r9
movq 0x10(%rbp), %r10
movq 0x18(%rbp), %rax
movq %r10, (%rsp)
movq %rax, 0x8(%rsp)
callq 0x39f60
testb $0x1, %al
jne 0x3939b
jmp 0x3939d
jmp 0x393bc
leaq 0x9938(%rip), %rdi      # 0x42cdc
leaq 0x8b83(%rip), %rsi      # 0x41f2e
movl $0x1c3, %edx            # imm = 0x1C3
leaq 0x9874(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq -0x40(%rbp), %rax
subq -0x38(%rbp), %rax
movq %rax, -0x58(%rbp)
cmpq $0x0, -0x58(%rbp)
jbe 0x39480
movq -0x30(%rbp), %rcx
movb $0x1, %al
cmpq -0x30(%rbp), %rcx
movb %al, -0xd6(%rbp)
ja 0x3940c
movq -0x30(%rbp), %rcx
addq -0x58(%rbp), %rcx
movb $0x1, %al
cmpq 0x10(%rbp), %rcx
movb %al, -0xd6(%rbp)
jb 0x3940c
movq 0x18(%rbp), %rax
cmpq 0x18(%rbp), %rax
seta %al
movb %al, -0xd6(%rbp)
movb -0xd6(%rbp), %al
testb $0x1, %al
jne 0x39418
jmp 0x3941a
jmp 0x39439
leaq 0x8c3d(%rip), %rdi      # 0x4205e
leaq 0x8b06(%rip), %rsi      # 0x41f2e
movl $0x1c6, %edx            # imm = 0x1C6
leaq 0x97f7(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq 0x18(%rbp), %rax
cmpq 0x20(%rbp), %rax
jae 0x3947e
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movl -0x24(%rbp), %r8d
movq -0x30(%rbp), %r9
movq -0x30(%rbp), %r11
addq -0x58(%rbp), %r11
movq 0x18(%rbp), %r10
movq 0x20(%rbp), %rax
movq %r11, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0x37cb0
jmp 0x39480
movl -0x64(%rbp), %eax
cmpl -0x24(%rbp), %eax
je 0x39581
movq -0x30(%rbp), %rcx
addq -0x58(%rbp), %rcx
movb $0x1, %al
cmpq -0x30(%rbp), %rcx
movb %al, -0xd7(%rbp)
ja 0x394e7
movq -0x30(%rbp), %rcx
addq -0x58(%rbp), %rcx
movq -0x38(%rbp), %rax
subq -0x30(%rbp), %rax
addq %rax, %rcx
movq 0x10(%rbp), %rax
subq -0x50(%rbp), %rax
subq $0x1, %rax
addq %rax, %rcx
movb $0x1, %al
cmpq 0x10(%rbp), %rcx
movb %al, -0xd7(%rbp)
jb 0x394e7
movq 0x18(%rbp), %rax
addq $0x1, %rax
cmpq 0x18(%rbp), %rax
seta %al
movb %al, -0xd7(%rbp)
movb -0xd7(%rbp), %al
testb $0x1, %al
jne 0x394f3
jmp 0x394f5
jmp 0x39514
leaq 0x8b94(%rip), %rdi      # 0x42090
leaq 0x8a2b(%rip), %rsi      # 0x41f2e
movl $0x1cb, %edx            # imm = 0x1CB
leaq 0x971c(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq 0x18(%rbp), %rax
addq $0x1, %rax
cmpq 0x20(%rbp), %rax
jae 0x3957f
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movl -0x24(%rbp), %r8d
movq -0x30(%rbp), %r9
addq -0x58(%rbp), %r9
movq -0x30(%rbp), %r11
addq -0x58(%rbp), %r11
movq -0x38(%rbp), %rax
subq -0x30(%rbp), %rax
addq %rax, %r11
movq 0x10(%rbp), %rax
subq -0x50(%rbp), %rax
subq $0x1, %rax
addq %rax, %r11
movq 0x18(%rbp), %r10
addq $0x1, %r10
movq 0x20(%rbp), %rax
movq %r11, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0x37cb0
jmp 0x39581
movq -0x50(%rbp), %rax
subq -0x48(%rbp), %rax
movq %rax, -0x58(%rbp)
cmpq $0x0, -0x58(%rbp)
jbe 0x39656
movl -0x64(%rbp), %eax
movl -0x24(%rbp), %ecx
subl $0x1, %ecx
cmpl %ecx, %eax
jge 0x39656
movq 0x10(%rbp), %rcx
subq -0x58(%rbp), %rcx
movb $0x1, %al
cmpq -0x30(%rbp), %rcx
movb %al, -0xd8(%rbp)
ja 0x395e2
movq 0x10(%rbp), %rcx
movb $0x1, %al
cmpq 0x10(%rbp), %rcx
movb %al, -0xd8(%rbp)
jb 0x395e2
movq 0x18(%rbp), %rax
cmpq 0x18(%rbp), %rax
seta %al
movb %al, -0xd8(%rbp)
movb -0xd8(%rbp), %al
testb $0x1, %al
jne 0x395ee
jmp 0x395f0
jmp 0x3960f
leaq 0x8ae9(%rip), %rdi      # 0x420e0
leaq 0x8930(%rip), %rsi      # 0x41f2e
movl $0x1cf, %edx            # imm = 0x1CF
leaq 0x9621(%rip), %rcx      # 0x42c2b
callq 0x51e0
movq 0x18(%rbp), %rax
cmpq 0x20(%rbp), %rax
jae 0x39654
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
movq -0x18(%rbp), %rdx
movq -0x20(%rbp), %rcx
movl -0x24(%rbp), %r8d
movq 0x10(%rbp), %r9
subq -0x58(%rbp), %r9
movq 0x10(%rbp), %r11
movq 0x18(%rbp), %r10
movq 0x20(%rbp), %rax
movq %r11, (%rsp)
movq %r10, 0x8(%rsp)
movq %rax, 0x10(%rsp)
callq 0x37cb0
jmp 0x39656
addq $0xf0, %rsp
popq %rbp
retq
nop