// File: /workspace/github_c_makefile_star2_O0/zhou-yuxin[P]redis-aof-no-cow/deps/jemalloc/src/ckh.c
// Function: ckh_shrink
static void
ckh_shrink(tsd_t *tsd, ckh_t *ckh)
{
	ckhc_t *tab, *ttab;
	size_t usize;
	unsigned lg_prevbuckets, lg_curcells;

	/*
	 * It is possible (though unlikely, given well behaved hashes) that the
	 * table rebuild will fail.
	 */
	lg_prevbuckets = ckh->lg_curbuckets;
	lg_curcells = ckh->lg_curbuckets + LG_CKH_BUCKET_CELLS - 1;
	usize = sa2u(sizeof(ckhc_t) << lg_curcells, CACHELINE);
	if (unlikely(usize == 0 || usize > HUGE_MAXCLASS))
		return;
	tab = (ckhc_t *)ipallocztm(tsd_tsdn(tsd), usize, CACHELINE, true, NULL,
	    true, arena_ichoose(tsd, NULL));
	if (tab == NULL) {
		/*
		 * An OOM error isn't worth propagating, since it doesn't
		 * prevent this or future operations from proceeding.
		 */
		return;
	}
	/* Swap in new table. */
	ttab = ckh->tab;
	ckh->tab = tab;
	tab = ttab;
	ckh->lg_curbuckets = lg_curcells - LG_CKH_BUCKET_CELLS;

	if (!ckh_rebuild(ckh, tab)) {
		idalloctm(tsd_tsdn(tsd), tab, NULL, true, true);
#ifdef CKH_COUNT
		ckh->nshrinks++;
#endif
		return;
	}

	/* Rebuilding failed, so back out partially rebuilt table. */
	idalloctm(tsd_tsdn(tsd), ckh->tab, NULL, true, true);
	ckh->tab = tab;
	ckh->lg_curbuckets = lg_prevbuckets;
#ifdef CKH_COUNT
	ckh->nshrinkfails++;
#endif
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xa70, %rsp            # imm = 0xA70
movq %rdi, -0x9c0(%rbp)
movq %rsi, -0x9c8(%rbp)
movq -0x9c8(%rbp), %rax
movl 0x14(%rax), %eax
movl %eax, -0x9e4(%rbp)
movq -0x9c8(%rbp), %rax
movl 0x14(%rax), %eax
addl $0x2, %eax
subl $0x1, %eax
movl %eax, -0x9e8(%rbp)
movl -0x9e8(%rbp), %eax
movl %eax, %ecx
movl $0x10, %eax
shlq %cl, %rax
movq %rax, -0x9a8(%rbp)
movq $0x40, -0x9b0(%rbp)
cmpq $0x3800, -0x9a8(%rbp) # imm = 0x3800
ja 0x8a272
cmpq $0x1000, -0x9b0(%rbp) # imm = 0x1000
jae 0x8a272
movq -0x9a8(%rbp), %rax
movq -0x9b0(%rbp), %rcx
subq $0x1, %rcx
addq %rcx, %rax
movq -0x9b0(%rbp), %rcx
xorq $-0x1, %rcx
addq $0x1, %rcx
andq %rcx, %rax
movq %rax, -0x900(%rbp)
cmpq $0x1000, -0x900(%rbp) # imm = 0x1000
setbe %al
testb $0x1, %al
jne 0x8a0c8
jmp 0x8a14b
movq -0x900(%rbp), %rax
movq %rax, -0x8a8(%rbp)
movq -0x8a8(%rbp), %rax
movq %rax, -0x7c8(%rbp)
movq -0x7c8(%rbp), %rcx
subq $0x1, %rcx
shrq $0x3, %rcx
leaq 0x6986(%rip), %rax      # 0x90a80
movzbl (%rax,%rcx), %eax
movl %eax, -0x7cc(%rbp)
movl -0x7cc(%rbp), %eax
movl %eax, -0x7ec(%rbp)
movl -0x7ec(%rbp), %eax
movl %eax, %ecx
leaq 0x61e1(%rip), %rax      # 0x90300
movq (%rax,%rcx,8), %rax
movq %rax, -0x7f8(%rbp)
movq -0x7f8(%rbp), %rax
movq %rax, -0x8b0(%rbp)
movq -0x8b0(%rbp), %rax
movq %rax, -0x8f8(%rbp)
jmp 0x8a242
movq -0x900(%rbp), %rax
movq %rax, -0x808(%rbp)
movabsq $0x7000000000000000, %rax # imm = 0x7000000000000000
cmpq %rax, -0x808(%rbp)
seta %al
testb $0x1, %al
jne 0x8a173
jmp 0x8a183
movq $0x0, -0x800(%rbp)
jmp 0x8a234
movq -0x808(%rbp), %rdi
shlq %rdi
subq $0x1, %rdi
callq 0x8c420
movl %eax, %eax
movq %rax, -0x810(%rbp)
cmpq $0x6, -0x810(%rbp)
jae 0x8a1b7
movl $0x3, %eax
movq %rax, -0x9f0(%rbp)
jmp 0x8a1cd
movq -0x810(%rbp), %rax
subq $0x2, %rax
subq $0x1, %rax
movq %rax, -0x9f0(%rbp)
movq -0x9f0(%rbp), %rax
movq %rax, -0x818(%rbp)
movq -0x818(%rbp), %rcx
movl $0x1, %eax
shlq %cl, %rax
movq %rax, -0x820(%rbp)
movq -0x820(%rbp), %rax
subq $0x1, %rax
movq %rax, -0x828(%rbp)
movq -0x808(%rbp), %rax
addq -0x828(%rbp), %rax
movq -0x828(%rbp), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x830(%rbp)
movq -0x830(%rbp), %rax
movq %rax, -0x800(%rbp)
movq -0x800(%rbp), %rax
movq %rax, -0x8f8(%rbp)
movq -0x8f8(%rbp), %rax
movq %rax, -0x9b8(%rbp)
cmpq $0x4000, -0x9b8(%rbp) # imm = 0x4000
jae 0x8a270
movq -0x9b8(%rbp), %rax
movq %rax, -0x9a0(%rbp)
jmp 0x8a75a
jmp 0x8a272
movq -0x9a8(%rbp), %rax
leaq 0x19d00(%rip), %rcx     # 0xa3f80
cmpq (%rcx), %rax
setbe %al
testb $0x1, %al
jne 0x8a28f
jmp 0x8a4da
movq -0x9b0(%rbp), %rax
leaq 0x19e0b(%rip), %rcx     # 0xa40a8
cmpq (%rcx), %rax
setb %al
testb $0x1, %al
jne 0x8a2ac
jmp 0x8a4da
movq -0x9b0(%rbp), %rax
addq $0xfff, %rax            # imm = 0xFFF
andq $-0x1000, %rax          # imm = 0xF000
movq %rax, -0x9b0(%rbp)
cmpq $0x4000, -0x9a8(%rbp) # imm = 0x4000
ja 0x8a2e4
movl $0x4000, %eax           # imm = 0x4000
movq %rax, -0x9f8(%rbp)
jmp 0x8a491
movq -0x9a8(%rbp), %rax
movq %rax, -0x8f0(%rbp)
cmpq $0x1000, -0x8f0(%rbp) # imm = 0x1000
setbe %al
testb $0x1, %al
jne 0x8a309
jmp 0x8a38c
movq -0x8f0(%rbp), %rax
movq %rax, -0x8b8(%rbp)
movq -0x8b8(%rbp), %rax
movq %rax, -0x7b8(%rbp)
movq -0x7b8(%rbp), %rcx
subq $0x1, %rcx
shrq $0x3, %rcx
leaq 0x6745(%rip), %rax      # 0x90a80
movzbl (%rax,%rcx), %eax
movl %eax, -0x7bc(%rbp)
movl -0x7bc(%rbp), %eax
movl %eax, -0x7dc(%rbp)
movl -0x7dc(%rbp), %eax
movl %eax, %ecx
leaq 0x5fa0(%rip), %rax      # 0x90300
movq (%rax,%rcx,8), %rax
movq %rax, -0x7e8(%rbp)
movq -0x7e8(%rbp), %rax
movq %rax, -0x8c0(%rbp)
movq -0x8c0(%rbp), %rax
movq %rax, -0x8e8(%rbp)
jmp 0x8a483
movq -0x8f0(%rbp), %rax
movq %rax, -0x840(%rbp)
movabsq $0x7000000000000000, %rax # imm = 0x7000000000000000
cmpq %rax, -0x840(%rbp)
seta %al
testb $0x1, %al
jne 0x8a3b4
jmp 0x8a3c4
movq $0x0, -0x838(%rbp)
jmp 0x8a475
movq -0x840(%rbp), %rdi
shlq %rdi
subq $0x1, %rdi
callq 0x8c420
movl %eax, %eax
movq %rax, -0x848(%rbp)
cmpq $0x6, -0x848(%rbp)
jae 0x8a3f8
movl $0x3, %eax
movq %rax, -0xa00(%rbp)
jmp 0x8a40e
movq -0x848(%rbp), %rax
subq $0x2, %rax
subq $0x1, %rax
movq %rax, -0xa00(%rbp)
movq -0xa00(%rbp), %rax
movq %rax, -0x850(%rbp)
movq -0x850(%rbp), %rcx
movl $0x1, %eax
shlq %cl, %rax
movq %rax, -0x858(%rbp)
movq -0x858(%rbp), %rax
subq $0x1, %rax
movq %rax, -0x860(%rbp)
movq -0x840(%rbp), %rax
addq -0x860(%rbp), %rax
movq -0x860(%rbp), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x868(%rbp)
movq -0x868(%rbp), %rax
movq %rax, -0x838(%rbp)
movq -0x838(%rbp), %rax
movq %rax, -0x8e8(%rbp)
movq -0x8e8(%rbp), %rax
movq %rax, -0x9f8(%rbp)
movq -0x9f8(%rbp), %rax
movq %rax, -0x9b8(%rbp)
movq -0x9b8(%rbp), %rax
addq $0x1000, %rax           # imm = 0x1000
addq -0x9b0(%rbp), %rax
subq $0x1000, %rax           # imm = 0x1000
leaq 0x19af0(%rip), %rcx     # 0xa3fb0
cmpq (%rcx), %rax
ja 0x8a4d8
movq -0x9b8(%rbp), %rax
movq %rax, -0x9a0(%rbp)
jmp 0x8a75a
jmp 0x8a4da
movabsq $0x7000000000000000, %rax # imm = 0x7000000000000000
cmpq %rax, -0x9b0(%rbp)
seta %al
testb $0x1, %al
jne 0x8a4f4
jmp 0x8a504
movq $0x0, -0x9a0(%rbp)
jmp 0x8a75a
movq -0x9b0(%rbp), %rax
leaq 0x19b9e(%rip), %rcx     # 0xa40b0
addq (%rcx), %rax
leaq 0x19b94(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x9b0(%rbp)
movq -0x9a8(%rbp), %rax
leaq 0x19b6d(%rip), %rcx     # 0xa40a8
cmpq (%rcx), %rax
ja 0x8a556
leaq 0x19b61(%rip), %rax     # 0xa40a8
movq (%rax), %rax
movq %rax, -0x9b8(%rbp)
jmp 0x8a722
movq -0x9a8(%rbp), %rax
movq %rax, -0x8e0(%rbp)
cmpq $0x1000, -0x8e0(%rbp) # imm = 0x1000
setbe %al
testb $0x1, %al
jne 0x8a57b
jmp 0x8a5fe
movq -0x8e0(%rbp), %rax
movq %rax, -0x8c8(%rbp)
movq -0x8c8(%rbp), %rax
movq %rax, -0x7a8(%rbp)
movq -0x7a8(%rbp), %rcx
subq $0x1, %rcx
shrq $0x3, %rcx
leaq 0x64d3(%rip), %rax      # 0x90a80
movzbl (%rax,%rcx), %eax
movl %eax, -0x7ac(%rbp)
movl -0x7ac(%rbp), %eax
movl %eax, -0x7d0(%rbp)
movl -0x7d0(%rbp), %eax
movl %eax, %ecx
leaq 0x5d2e(%rip), %rax      # 0x90300
movq (%rax,%rcx,8), %rax
movq %rax, -0x7d8(%rbp)
movq -0x7d8(%rbp), %rax
movq %rax, -0x8d0(%rbp)
movq -0x8d0(%rbp), %rax
movq %rax, -0x8d8(%rbp)
jmp 0x8a6f5
movq -0x8e0(%rbp), %rax
movq %rax, -0x878(%rbp)
movabsq $0x7000000000000000, %rax # imm = 0x7000000000000000
cmpq %rax, -0x878(%rbp)
seta %al
testb $0x1, %al
jne 0x8a626
jmp 0x8a636
movq $0x0, -0x870(%rbp)
jmp 0x8a6e7
movq -0x878(%rbp), %rdi
shlq %rdi
subq $0x1, %rdi
callq 0x8c420
movl %eax, %eax
movq %rax, -0x880(%rbp)
cmpq $0x6, -0x880(%rbp)
jae 0x8a66a
movl $0x3, %eax
movq %rax, -0xa08(%rbp)
jmp 0x8a680
movq -0x880(%rbp), %rax
subq $0x2, %rax
subq $0x1, %rax
movq %rax, -0xa08(%rbp)
movq -0xa08(%rbp), %rax
movq %rax, -0x888(%rbp)
movq -0x888(%rbp), %rcx
movl $0x1, %eax
shlq %cl, %rax
movq %rax, -0x890(%rbp)
movq -0x890(%rbp), %rax
subq $0x1, %rax
movq %rax, -0x898(%rbp)
movq -0x878(%rbp), %rax
addq -0x898(%rbp), %rax
movq -0x898(%rbp), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x8a0(%rbp)
movq -0x8a0(%rbp), %rax
movq %rax, -0x870(%rbp)
movq -0x870(%rbp), %rax
movq %rax, -0x8d8(%rbp)
movq -0x8d8(%rbp), %rax
movq %rax, -0x9b8(%rbp)
movq -0x9b8(%rbp), %rax
cmpq -0x9a8(%rbp), %rax
jae 0x8a720
movq $0x0, -0x9a0(%rbp)
jmp 0x8a75a
jmp 0x8a722
movq -0x9b8(%rbp), %rax
addq -0x9b0(%rbp), %rax
subq $0x1000, %rax           # imm = 0x1000
cmpq -0x9b8(%rbp), %rax
jae 0x8a74c
movq $0x0, -0x9a0(%rbp)
jmp 0x8a75a
movq -0x9b8(%rbp), %rax
movq %rax, -0x9a0(%rbp)
movq -0x9a0(%rbp), %rax
movq %rax, -0x9e0(%rbp)
movb $0x1, %al
cmpq $0x0, -0x9e0(%rbp)
movb %al, -0xa09(%rbp)
je 0x8a794
movabsq $0x7000000000000000, %rax # imm = 0x7000000000000000
cmpq %rax, -0x9e0(%rbp)
seta %al
movb %al, -0xa09(%rbp)
movb -0xa09(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x8a7b0
jmp 0x8c24f
movq -0x9c0(%rbp), %rax
movq %rax, -0x948(%rbp)
movq -0x948(%rbp), %rax
movq %rax, -0xa20(%rbp)
movq -0x9e0(%rbp), %rax
movq %rax, -0xa18(%rbp)
movq -0x9c0(%rbp), %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x86e60
movq -0xa20(%rbp), %rdx
movq -0xa18(%rbp), %rcx
movq %rdx, -0x960(%rbp)
movq %rcx, -0x968(%rbp)
movq $0x40, -0x970(%rbp)
movb $0x1, -0x971(%rbp)
movq $0x0, -0x980(%rbp)
movb $0x1, -0x981(%rbp)
movq %rax, -0x990(%rbp)
movq -0x960(%rbp), %rdi
movq -0x990(%rbp), %rsi
movq -0x968(%rbp), %rdx
movq -0x970(%rbp), %rcx
movb -0x971(%rbp), %al
movq -0x980(%rbp), %r9
andb $0x1, %al
movzbl %al, %r8d
callq 0x3d8a0
movq %rax, -0x998(%rbp)
testb $0x1, -0x981(%rbp)
je 0x8ac44
cmpq $0x0, -0x998(%rbp)
setne %al
testb $0x1, %al
jne 0x8a88d
jmp 0x8ac44
movq -0x998(%rbp), %rax
movq %rax, -0x790(%rbp)
movq -0x790(%rbp), %rax
movq %rax, -0x738(%rbp)
movq -0x738(%rbp), %rax
leaq 0x197f9(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x740(%rbp)
movq -0x740(%rbp), %rax
cmpq -0x738(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x8a8df
jmp 0x8a8f4
movq -0x740(%rbp), %rdi
callq 0x8c4e0
movq %rax, -0x730(%rbp)
jmp 0x8a907
movq -0x738(%rbp), %rdi
callq 0x63ec0
movq %rax, -0x730(%rbp)
movq -0x730(%rbp), %rax
movq %rax, -0xa28(%rbp)
movq -0x960(%rbp), %rcx
movq -0x998(%rbp), %rax
movq %rcx, -0x748(%rbp)
movq %rax, -0x750(%rbp)
movb $0x0, -0x751(%rbp)
movq -0x748(%rbp), %rdx
movq -0x750(%rbp), %rcx
movb -0x751(%rbp), %al
movq %rdx, -0x6c8(%rbp)
movq %rcx, -0x6d0(%rbp)
andb $0x1, %al
movb %al, -0x6d1(%rbp)
movq -0x6d0(%rbp), %rax
leaq 0x19740(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x6e8(%rbp)
movq -0x6e8(%rbp), %rax
cmpq -0x6d0(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x8a99b
jmp 0x8ac17
movq -0x6d0(%rbp), %rax
movq -0x6e8(%rbp), %rcx
subq %rcx, %rax
shrq $0xc, %rax
movq %rax, -0x6f0(%rbp)
movq -0x6e8(%rbp), %rcx
movq -0x6f0(%rbp), %rax
movq %rcx, -0x5f8(%rbp)
movq %rax, -0x600(%rbp)
movq -0x5f8(%rbp), %rcx
movq -0x600(%rbp), %rax
movq %rcx, -0x538(%rbp)
movq %rax, -0x540(%rbp)
movq -0x538(%rbp), %rcx
movq -0x540(%rbp), %rax
movq %rcx, -0x4b8(%rbp)
movq %rax, -0x4c0(%rbp)
movq -0x4b8(%rbp), %rcx
movq -0x4c0(%rbp), %rax
movq %rcx, -0x448(%rbp)
movq %rax, -0x450(%rbp)
movq -0x448(%rbp), %rcx
movq -0x450(%rbp), %rax
movq %rcx, -0x3f8(%rbp)
movq %rax, -0x400(%rbp)
movq -0x3f8(%rbp), %rax
addq $0x78, %rax
movq -0x400(%rbp), %rcx
leaq 0x19544(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x500(%rbp)
movq -0x500(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x608(%rbp)
movq -0x608(%rbp), %rax
andq $0x1fe0, %rax           # imm = 0x1FE0
shrq $0x5, %rax
movl %eax, -0x60c(%rbp)
movl -0x60c(%rbp), %eax
movl %eax, -0x6f4(%rbp)
movl -0x6f4(%rbp), %eax
movl %eax, %ecx
movb $0x1, %al
cmpq $0xff, %rcx
movb %al, -0xa29(%rbp)
je 0x8aac4
xorl %eax, %eax
movb %al, -0xa29(%rbp)
jmp 0x8aac4
movb -0xa29(%rbp), %al
testb $0x1, %al
jne 0x8aad3
jmp 0x8abd5
movq -0x6e8(%rbp), %rcx
movq -0x6f0(%rbp), %rax
movq %rcx, -0x5b0(%rbp)
movq %rax, -0x5b8(%rbp)
movq -0x5b0(%rbp), %rcx
movq -0x5b8(%rbp), %rax
movq %rcx, -0x568(%rbp)
movq %rax, -0x570(%rbp)
movq -0x568(%rbp), %rcx
movq -0x570(%rbp), %rax
movq %rcx, -0x488(%rbp)
movq %rax, -0x490(%rbp)
movq -0x488(%rbp), %rcx
movq -0x490(%rbp), %rax
movq %rcx, -0x478(%rbp)
movq %rax, -0x480(%rbp)
movq -0x478(%rbp), %rcx
movq -0x480(%rbp), %rax
movq %rcx, -0x3c8(%rbp)
movq %rax, -0x3d0(%rbp)
movq -0x3c8(%rbp), %rax
addq $0x78, %rax
movq -0x3d0(%rbp), %rcx
leaq 0x19428(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x4e8(%rbp)
movq -0x4e8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x5c0(%rbp)
movq -0x5c0(%rbp), %rax
movq %rax, -0x3b8(%rbp)
movq -0x3b8(%rbp), %rax
andq $-0x2000, %rax          # imm = 0xE000
shrq %rax
movq %rax, -0x3c0(%rbp)
movq -0x3c0(%rbp), %rax
subq $0x1000, %rax           # imm = 0x1000
movq %rax, -0x6e0(%rbp)
jmp 0x8ac15
movl -0x6f4(%rbp), %eax
movl %eax, -0x584(%rbp)
movl -0x584(%rbp), %eax
movl %eax, -0x574(%rbp)
movl -0x574(%rbp), %eax
movl %eax, %ecx
leaq 0x5704(%rip), %rax      # 0x90300
movq (%rax,%rcx,8), %rax
movq %rax, -0x580(%rbp)
movq -0x580(%rbp), %rax
movq %rax, -0x6e0(%rbp)
jmp 0x8ac31
movq -0x6c8(%rbp), %rdi
movq -0x6d0(%rbp), %rsi
callq 0x65c10
movq %rax, -0x6e0(%rbp)
movq -0xa28(%rbp), %rdi
movq -0x6e0(%rbp), %rsi
callq 0x8c440
movq -0x998(%rbp), %rax
movq %rax, -0x9d0(%rbp)
cmpq $0x0, -0x9d0(%rbp)
jne 0x8ac61
jmp 0x8c24f
movq -0x9c8(%rbp), %rax
movq 0x28(%rax), %rax
movq %rax, -0x9d8(%rbp)
movq -0x9d0(%rbp), %rcx
movq -0x9c8(%rbp), %rax
movq %rcx, 0x28(%rax)
movq -0x9d8(%rbp), %rax
movq %rax, -0x9d0(%rbp)
movl -0x9e8(%rbp), %ecx
subl $0x2, %ecx
movq -0x9c8(%rbp), %rax
movl %ecx, 0x14(%rax)
movq -0x9c8(%rbp), %rdi
movq -0x9d0(%rbp), %rsi
callq 0x8ca70
testb $0x1, %al
jne 0x8b76d
movq -0x9c0(%rbp), %rax
movq %rax, -0x950(%rbp)
movq -0x950(%rbp), %rcx
movq -0x9d0(%rbp), %rax
movq %rcx, -0x908(%rbp)
movq %rax, -0x910(%rbp)
movq $0x0, -0x918(%rbp)
movb $0x1, -0x919(%rbp)
movb $0x1, -0x91a(%rbp)
testb $0x1, -0x919(%rbp)
je 0x8b0c8
movq -0x910(%rbp), %rax
movq %rax, -0x7a0(%rbp)
movq -0x7a0(%rbp), %rax
movq %rax, -0x708(%rbp)
movq -0x708(%rbp), %rax
leaq 0x19375(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x710(%rbp)
movq -0x710(%rbp), %rax
cmpq -0x708(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x8ad63
jmp 0x8ad78
movq -0x710(%rbp), %rdi
callq 0x8c4e0
movq %rax, -0x700(%rbp)
jmp 0x8ad8b
movq -0x708(%rbp), %rdi
callq 0x63ec0
movq %rax, -0x700(%rbp)
movq -0x700(%rbp), %rax
movq %rax, -0xa38(%rbp)
movq -0x908(%rbp), %rcx
movq -0x910(%rbp), %rax
movq %rcx, -0x778(%rbp)
movq %rax, -0x780(%rbp)
movb $0x0, -0x781(%rbp)
movq -0x778(%rbp), %rdx
movq -0x780(%rbp), %rcx
movb -0x781(%rbp), %al
movq %rdx, -0x658(%rbp)
movq %rcx, -0x660(%rbp)
andb $0x1, %al
movb %al, -0x661(%rbp)
movq -0x660(%rbp), %rax
leaq 0x192bc(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x678(%rbp)
movq -0x678(%rbp), %rax
cmpq -0x660(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x8ae1f
jmp 0x8b09b
movq -0x660(%rbp), %rax
movq -0x678(%rbp), %rcx
subq %rcx, %rax
shrq $0xc, %rax
movq %rax, -0x680(%rbp)
movq -0x678(%rbp), %rcx
movq -0x680(%rbp), %rax
movq %rcx, -0x638(%rbp)
movq %rax, -0x640(%rbp)
movq -0x638(%rbp), %rcx
movq -0x640(%rbp), %rax
movq %rcx, -0x518(%rbp)
movq %rax, -0x520(%rbp)
movq -0x518(%rbp), %rcx
movq -0x520(%rbp), %rax
movq %rcx, -0x4d8(%rbp)
movq %rax, -0x4e0(%rbp)
movq -0x4d8(%rbp), %rcx
movq -0x4e0(%rbp), %rax
movq %rcx, -0x428(%rbp)
movq %rax, -0x430(%rbp)
movq -0x428(%rbp), %rcx
movq -0x430(%rbp), %rax
movq %rcx, -0x418(%rbp)
movq %rax, -0x420(%rbp)
movq -0x418(%rbp), %rax
addq $0x78, %rax
movq -0x420(%rbp), %rcx
leaq 0x190c0(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x510(%rbp)
movq -0x510(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x648(%rbp)
movq -0x648(%rbp), %rax
andq $0x1fe0, %rax           # imm = 0x1FE0
shrq $0x5, %rax
movl %eax, -0x64c(%rbp)
movl -0x64c(%rbp), %eax
movl %eax, -0x684(%rbp)
movl -0x684(%rbp), %eax
movl %eax, %ecx
movb $0x1, %al
cmpq $0xff, %rcx
movb %al, -0xa39(%rbp)
je 0x8af48
xorl %eax, %eax
movb %al, -0xa39(%rbp)
jmp 0x8af48
movb -0xa39(%rbp), %al
testb $0x1, %al
jne 0x8af57
jmp 0x8b059
movq -0x678(%rbp), %rcx
movq -0x680(%rbp), %rax
movq %rcx, -0x5e0(%rbp)
movq %rax, -0x5e8(%rbp)
movq -0x5e0(%rbp), %rcx
movq -0x5e8(%rbp), %rax
movq %rcx, -0x548(%rbp)
movq %rax, -0x550(%rbp)
movq -0x548(%rbp), %rcx
movq -0x550(%rbp), %rax
movq %rcx, -0x4a8(%rbp)
movq %rax, -0x4b0(%rbp)
movq -0x4a8(%rbp), %rcx
movq -0x4b0(%rbp), %rax
movq %rcx, -0x458(%rbp)
movq %rax, -0x460(%rbp)
movq -0x458(%rbp), %rcx
movq -0x460(%rbp), %rax
movq %rcx, -0x3e8(%rbp)
movq %rax, -0x3f0(%rbp)
movq -0x3e8(%rbp), %rax
addq $0x78, %rax
movq -0x3f0(%rbp), %rcx
leaq 0x18fa4(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x4f8(%rbp)
movq -0x4f8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x5f0(%rbp)
movq -0x5f0(%rbp), %rax
movq %rax, -0x398(%rbp)
movq -0x398(%rbp), %rax
andq $-0x2000, %rax          # imm = 0xE000
shrq %rax
movq %rax, -0x3a0(%rbp)
movq -0x3a0(%rbp), %rax
subq $0x1000, %rax           # imm = 0x1000
movq %rax, -0x670(%rbp)
jmp 0x8b099
movl -0x684(%rbp), %eax
movl %eax, -0x5a4(%rbp)
movl -0x5a4(%rbp), %eax
movl %eax, -0x598(%rbp)
movl -0x598(%rbp), %eax
movl %eax, %ecx
leaq 0x5280(%rip), %rax      # 0x90300
movq (%rax,%rcx,8), %rax
movq %rax, -0x5a0(%rbp)
movq -0x5a0(%rbp), %rax
movq %rax, -0x670(%rbp)
jmp 0x8b0b5
movq -0x658(%rbp), %rdi
movq -0x660(%rbp), %rsi
callq 0x65c10
movq %rax, -0x670(%rbp)
movq -0xa38(%rbp), %rdi
movq -0x670(%rbp), %rsi
callq 0x8c5b0
movq -0x908(%rbp), %rsi
movq -0x910(%rbp), %rdx
movq -0x918(%rbp), %rcx
movb -0x91a(%rbp), %al
movq %rsi, -0x350(%rbp)
movq %rdx, -0x358(%rbp)
movq %rcx, -0x360(%rbp)
andb $0x1, %al
movb %al, -0x361(%rbp)
movq -0x358(%rbp), %rax
leaq 0x18fa2(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x370(%rbp)
movq -0x370(%rbp), %rax
cmpq -0x358(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x8b139
jmp 0x8b755
movq -0x358(%rbp), %rax
movq -0x370(%rbp), %rcx
subq %rcx, %rax
shrq $0xc, %rax
movq %rax, -0x378(%rbp)
movq -0x370(%rbp), %rcx
movq -0x378(%rbp), %rax
movq %rcx, -0x318(%rbp)
movq %rax, -0x320(%rbp)
movq -0x318(%rbp), %rcx
movq -0x320(%rbp), %rax
movq %rcx, -0x2f8(%rbp)
movq %rax, -0x300(%rbp)
movq -0x2f8(%rbp), %rcx
movq -0x300(%rbp), %rax
movq %rcx, -0x2c8(%rbp)
movq %rax, -0x2d0(%rbp)
movq -0x2c8(%rbp), %rcx
movq -0x2d0(%rbp), %rax
movq %rcx, -0x2b8(%rbp)
movq %rax, -0x2c0(%rbp)
movq -0x2b8(%rbp), %rax
addq $0x78, %rax
movq -0x2c0(%rbp), %rcx
leaq 0x18dc2(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x310(%rbp)
movq -0x310(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x380(%rbp)
movq -0x380(%rbp), %rax
andq $0x2, %rax
cmpq $0x0, %rax
sete %al
testb $0x1, %al
jne 0x8b21b
jmp 0x8b430
cmpq $0x0, -0x360(%rbp)
setne %al
testb $0x1, %al
jne 0x8b22f
jmp 0x8b3ed
movq -0x358(%rbp), %rcx
movq -0x380(%rbp), %rax
movq %rcx, -0x168(%rbp)
movq %rax, -0x170(%rbp)
movq -0x170(%rbp), %rax
andq $0x1fe0, %rax           # imm = 0x1FE0
shrq $0x5, %rax
movl %eax, -0x174(%rbp)
movl -0x174(%rbp), %eax
movl %eax, -0x384(%rbp)
movq -0x350(%rbp), %rax
movq %rax, -0xf0(%rbp)
movq -0xf0(%rbp), %rdi
movq -0x360(%rbp), %rsi
movq -0x358(%rbp), %rdx
movl -0x384(%rbp), %ecx
movb -0x361(%rbp), %al
movq %rdi, -0x108(%rbp)
movq %rsi, -0x110(%rbp)
movq %rdx, -0x118(%rbp)
movl %ecx, -0x11c(%rbp)
andb $0x1, %al
movb %al, -0x11d(%rbp)
testb $0x1, -0x11d(%rbp)
je 0x8b2f8
leaq 0x18232(%rip), %rax     # 0xa3502
movb (%rax), %al
testb $0x1, %al
jne 0x8b2d8
jmp 0x8b2f8
movq -0x118(%rbp), %rdi
movl -0x11c(%rbp), %eax
leaq 0x182d4(%rip), %rsi     # 0xa35c0
shlq $0x6, %rax
addq %rax, %rsi
callq 0x3cbd0
movq -0x110(%rbp), %rax
addq $0x28, %rax
movl -0x11c(%rbp), %ecx
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0x128(%rbp)
leaq 0x191ba(%rip), %rax     # 0xa44d8
movq (%rax), %rax
movl -0x11c(%rbp), %ecx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x130(%rbp)
movq -0x128(%rbp), %rax
movl 0x10(%rax), %eax
movq -0x130(%rbp), %rcx
cmpl (%rcx), %eax
sete %al
testb $0x1, %al
jne 0x8b351
jmp 0x8b37e
movq -0x108(%rbp), %rdi
movq -0x110(%rbp), %rsi
movq -0x128(%rbp), %rdx
movl -0x11c(%rbp), %ecx
movq -0x130(%rbp), %rax
movl (%rax), %r8d
shrl %r8d
callq 0x7ecb0
movq -0x128(%rbp), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x118(%rbp), %rdx
movq -0x128(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x128(%rbp), %rcx
movl 0x10(%rcx), %ecx
movl %ecx, %esi
xorl %ecx, %ecx
subq %rsi, %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x108(%rbp), %rcx
movq -0x110(%rbp), %rax
movq %rcx, -0x48(%rbp)
movq %rax, -0x50(%rbp)
movq -0x50(%rbp), %rdi
addq $0x18, %rdi
callq 0x8c610
testb $0x1, %al
jne 0x8b3de
jmp 0x8b3eb
movq -0x48(%rbp), %rdi
movq -0x50(%rbp), %rsi
callq 0x7eb70
jmp 0x8b42b
movq -0x350(%rbp), %rax
movq %rax, -0xa48(%rbp)
movq -0x370(%rbp), %rdi
callq 0x8c4e0
movq -0xa48(%rbp), %rdi
movq %rax, %rsi
movq -0x370(%rbp), %rdx
movq -0x358(%rbp), %rcx
movq -0x378(%rbp), %r8
callq 0x3f9a0
jmp 0x8b753
movq -0x370(%rbp), %rcx
movq -0x378(%rbp), %rax
movq %rcx, -0x338(%rbp)
movq %rax, -0x340(%rbp)
movq -0x338(%rbp), %rcx
movq -0x340(%rbp), %rax
movq %rcx, -0x328(%rbp)
movq %rax, -0x330(%rbp)
movq -0x328(%rbp), %rcx
movq -0x330(%rbp), %rax
movq %rcx, -0x2e8(%rbp)
movq %rax, -0x2f0(%rbp)
movq -0x2e8(%rbp), %rcx
movq -0x2f0(%rbp), %rax
movq %rcx, -0x2d8(%rbp)
movq %rax, -0x2e0(%rbp)
movq -0x2d8(%rbp), %rcx
movq -0x2e0(%rbp), %rax
movq %rcx, -0x2a8(%rbp)
movq %rax, -0x2b0(%rbp)
movq -0x2a8(%rbp), %rax
addq $0x78, %rax
movq -0x2b0(%rbp), %rcx
leaq 0x18acb(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x308(%rbp)
movq -0x308(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x348(%rbp)
movq -0x348(%rbp), %rax
movq %rax, -0x298(%rbp)
movq -0x298(%rbp), %rax
andq $-0x2000, %rax          # imm = 0xE000
shrq %rax
movq %rax, -0x2a0(%rbp)
movq -0x2a0(%rbp), %rax
movq %rax, -0x390(%rbp)
cmpq $0x0, -0x360(%rbp)
setne %al
testb $0x1, %al
jne 0x8b53e
jmp 0x8b71a
movq -0x390(%rbp), %rax
subq $0x1000, %rax           # imm = 0x1000
leaq 0x18fae(%rip), %rcx     # 0xa4500
cmpq (%rcx), %rax
ja 0x8b71a
movq -0x350(%rbp), %rax
movq %rax, -0xe8(%rbp)
movq -0xe8(%rbp), %rdi
movq -0x360(%rbp), %rsi
movq -0x358(%rbp), %rdx
movq -0x390(%rbp), %rcx
subq $0x1000, %rcx           # imm = 0x1000
movb -0x361(%rbp), %al
movq %rdi, -0x78(%rbp)
movq %rsi, -0x80(%rbp)
movq %rdx, -0x88(%rbp)
movq %rcx, -0x90(%rbp)
andb $0x1, %al
movb %al, -0x91(%rbp)
movq -0x90(%rbp), %rax
movq %rax, -0x30(%rbp)
cmpq $0x1000, -0x30(%rbp)    # imm = 0x1000
setbe %al
testb $0x1, %al
jne 0x8b5cc
jmp 0x8b5f6
movq -0x30(%rbp), %rax
movq %rax, -0x20(%rbp)
movq -0x20(%rbp), %rcx
subq $0x1, %rcx
shrq $0x3, %rcx
leaq 0x5499(%rip), %rax      # 0x90a80
movzbl (%rax,%rcx), %eax
movl %eax, -0x24(%rbp)
movl -0x24(%rbp), %eax
movl %eax, -0x28(%rbp)
jmp 0x8b602
movq -0x30(%rbp), %rdi
callq 0x8c6a0
movl %eax, -0x28(%rbp)
movl -0x28(%rbp), %eax
movl %eax, -0x98(%rbp)
testb $0x1, -0x91(%rbp)
je 0x8b636
leaq 0x17ee7(%rip), %rax     # 0xa3502
movb (%rax), %al
testb $0x1, %al
jne 0x8b623
jmp 0x8b636
movq -0x88(%rbp), %rdi
movq -0x90(%rbp), %rsi
callq 0x3fab0
movq -0x80(%rbp), %rax
addq $0x28, %rax
movl -0x98(%rbp), %ecx
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0xa0(%rbp)
leaq 0x18e7f(%rip), %rax     # 0xa44d8
movq (%rax), %rax
movl -0x98(%rbp), %ecx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xa8(%rbp)
movq -0xa0(%rbp), %rax
movl 0x10(%rax), %eax
movq -0xa8(%rbp), %rcx
cmpl (%rcx), %eax
sete %al
testb $0x1, %al
jne 0x8b68c
jmp 0x8b6b1
movq -0x78(%rbp), %rdi
movq -0xa0(%rbp), %rsi
movl -0x98(%rbp), %edx
movq -0xa8(%rbp), %rax
movl (%rax), %ecx
shrl %ecx
movq -0x80(%rbp), %r8
callq 0x7f140
movq -0xa0(%rbp), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x88(%rbp), %rdx
movq -0xa0(%rbp), %rax
movq 0x18(%rax), %rax
movq -0xa0(%rbp), %rcx
movl 0x10(%rcx), %ecx
movl %ecx, %esi
xorl %ecx, %ecx
subq %rsi, %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x78(%rbp), %rcx
movq -0x80(%rbp), %rax
movq %rcx, -0x68(%rbp)
movq %rax, -0x70(%rbp)
movq -0x70(%rbp), %rdi
addq $0x18, %rdi
callq 0x8c610
testb $0x1, %al
jne 0x8b70b
jmp 0x8b718
movq -0x68(%rbp), %rdi
movq -0x70(%rbp), %rsi
callq 0x7eb70
jmp 0x8b751
movq -0x350(%rbp), %rax
movq %rax, -0xa50(%rbp)
movq -0x370(%rbp), %rdi
callq 0x8c4e0
movq -0xa50(%rbp), %rdi
movq %rax, %rsi
movq -0x370(%rbp), %rdx
movq -0x358(%rbp), %rcx
callq 0x3fde0
jmp 0x8b753
jmp 0x8b768
movq -0x350(%rbp), %rdi
movq -0x358(%rbp), %rsi
callq 0x64db0
jmp 0x8c24f
movq -0x9c0(%rbp), %rax
movq %rax, -0x958(%rbp)
movq -0x958(%rbp), %rcx
movq -0x9c8(%rbp), %rax
movq 0x28(%rax), %rax
movq %rcx, -0x928(%rbp)
movq %rax, -0x930(%rbp)
movq $0x0, -0x938(%rbp)
movb $0x1, -0x939(%rbp)
movb $0x1, -0x93a(%rbp)
testb $0x1, -0x939(%rbp)
je 0x8bb78
movq -0x930(%rbp), %rax
movq %rax, -0x798(%rbp)
movq -0x798(%rbp), %rax
movq %rax, -0x720(%rbp)
movq -0x720(%rbp), %rax
leaq 0x188c5(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x728(%rbp)
movq -0x728(%rbp), %rax
cmpq -0x720(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x8b813
jmp 0x8b828
movq -0x728(%rbp), %rdi
callq 0x8c4e0
movq %rax, -0x718(%rbp)
jmp 0x8b83b
movq -0x720(%rbp), %rdi
callq 0x63ec0
movq %rax, -0x718(%rbp)
movq -0x718(%rbp), %rax
movq %rax, -0xa58(%rbp)
movq -0x928(%rbp), %rcx
movq -0x930(%rbp), %rax
movq %rcx, -0x760(%rbp)
movq %rax, -0x768(%rbp)
movb $0x0, -0x769(%rbp)
movq -0x760(%rbp), %rdx
movq -0x768(%rbp), %rcx
movb -0x769(%rbp), %al
movq %rdx, -0x690(%rbp)
movq %rcx, -0x698(%rbp)
andb $0x1, %al
movb %al, -0x699(%rbp)
movq -0x698(%rbp), %rax
leaq 0x1880c(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x6b0(%rbp)
movq -0x6b0(%rbp), %rax
cmpq -0x698(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x8b8cf
jmp 0x8bb4b
movq -0x698(%rbp), %rax
movq -0x6b0(%rbp), %rcx
subq %rcx, %rax
shrq $0xc, %rax
movq %rax, -0x6b8(%rbp)
movq -0x6b0(%rbp), %rcx
movq -0x6b8(%rbp), %rax
movq %rcx, -0x618(%rbp)
movq %rax, -0x620(%rbp)
movq -0x618(%rbp), %rcx
movq -0x620(%rbp), %rax
movq %rcx, -0x528(%rbp)
movq %rax, -0x530(%rbp)
movq -0x528(%rbp), %rcx
movq -0x530(%rbp), %rax
movq %rcx, -0x4c8(%rbp)
movq %rax, -0x4d0(%rbp)
movq -0x4c8(%rbp), %rcx
movq -0x4d0(%rbp), %rax
movq %rcx, -0x438(%rbp)
movq %rax, -0x440(%rbp)
movq -0x438(%rbp), %rcx
movq -0x440(%rbp), %rax
movq %rcx, -0x408(%rbp)
movq %rax, -0x410(%rbp)
movq -0x408(%rbp), %rax
addq $0x78, %rax
movq -0x410(%rbp), %rcx
leaq 0x18610(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x508(%rbp)
movq -0x508(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x628(%rbp)
movq -0x628(%rbp), %rax
andq $0x1fe0, %rax           # imm = 0x1FE0
shrq $0x5, %rax
movl %eax, -0x62c(%rbp)
movl -0x62c(%rbp), %eax
movl %eax, -0x6bc(%rbp)
movl -0x6bc(%rbp), %eax
movl %eax, %ecx
movb $0x1, %al
cmpq $0xff, %rcx
movb %al, -0xa59(%rbp)
je 0x8b9f8
xorl %eax, %eax
movb %al, -0xa59(%rbp)
jmp 0x8b9f8
movb -0xa59(%rbp), %al
testb $0x1, %al
jne 0x8ba07
jmp 0x8bb09
movq -0x6b0(%rbp), %rcx
movq -0x6b8(%rbp), %rax
movq %rcx, -0x5c8(%rbp)
movq %rax, -0x5d0(%rbp)
movq -0x5c8(%rbp), %rcx
movq -0x5d0(%rbp), %rax
movq %rcx, -0x558(%rbp)
movq %rax, -0x560(%rbp)
movq -0x558(%rbp), %rcx
movq -0x560(%rbp), %rax
movq %rcx, -0x498(%rbp)
movq %rax, -0x4a0(%rbp)
movq -0x498(%rbp), %rcx
movq -0x4a0(%rbp), %rax
movq %rcx, -0x468(%rbp)
movq %rax, -0x470(%rbp)
movq -0x468(%rbp), %rcx
movq -0x470(%rbp), %rax
movq %rcx, -0x3d8(%rbp)
movq %rax, -0x3e0(%rbp)
movq -0x3d8(%rbp), %rax
addq $0x78, %rax
movq -0x3e0(%rbp), %rcx
leaq 0x184f4(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x4f0(%rbp)
movq -0x4f0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x5d8(%rbp)
movq -0x5d8(%rbp), %rax
movq %rax, -0x3a8(%rbp)
movq -0x3a8(%rbp), %rax
andq $-0x2000, %rax          # imm = 0xE000
shrq %rax
movq %rax, -0x3b0(%rbp)
movq -0x3b0(%rbp), %rax
subq $0x1000, %rax           # imm = 0x1000
movq %rax, -0x6a8(%rbp)
jmp 0x8bb49
movl -0x6bc(%rbp), %eax
movl %eax, -0x594(%rbp)
movl -0x594(%rbp), %eax
movl %eax, -0x588(%rbp)
movl -0x588(%rbp), %eax
movl %eax, %ecx
leaq 0x47d0(%rip), %rax      # 0x90300
movq (%rax,%rcx,8), %rax
movq %rax, -0x590(%rbp)
movq -0x590(%rbp), %rax
movq %rax, -0x6a8(%rbp)
jmp 0x8bb65
movq -0x690(%rbp), %rdi
movq -0x698(%rbp), %rsi
callq 0x65c10
movq %rax, -0x6a8(%rbp)
movq -0xa58(%rbp), %rdi
movq -0x6a8(%rbp), %rsi
callq 0x8c5b0
movq -0x928(%rbp), %rsi
movq -0x930(%rbp), %rdx
movq -0x938(%rbp), %rcx
movb -0x93a(%rbp), %al
movq %rsi, -0x250(%rbp)
movq %rdx, -0x258(%rbp)
movq %rcx, -0x260(%rbp)
andb $0x1, %al
movb %al, -0x261(%rbp)
movq -0x258(%rbp), %rax
leaq 0x184f2(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x270(%rbp)
movq -0x270(%rbp), %rax
cmpq -0x258(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x8bbe9
jmp 0x8c21a
movq -0x258(%rbp), %rax
movq -0x270(%rbp), %rcx
subq %rcx, %rax
shrq $0xc, %rax
movq %rax, -0x278(%rbp)
movq -0x270(%rbp), %rcx
movq -0x278(%rbp), %rax
movq %rcx, -0x218(%rbp)
movq %rax, -0x220(%rbp)
movq -0x218(%rbp), %rcx
movq -0x220(%rbp), %rax
movq %rcx, -0x1f8(%rbp)
movq %rax, -0x200(%rbp)
movq -0x1f8(%rbp), %rcx
movq -0x200(%rbp), %rax
movq %rcx, -0x1c8(%rbp)
movq %rax, -0x1d0(%rbp)
movq -0x1c8(%rbp), %rcx
movq -0x1d0(%rbp), %rax
movq %rcx, -0x1b8(%rbp)
movq %rax, -0x1c0(%rbp)
movq -0x1b8(%rbp), %rax
addq $0x78, %rax
movq -0x1c0(%rbp), %rcx
leaq 0x18312(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x210(%rbp)
movq -0x210(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x280(%rbp)
movq -0x280(%rbp), %rax
andq $0x2, %rax
cmpq $0x0, %rax
sete %al
testb $0x1, %al
jne 0x8bccb
jmp 0x8bee0
cmpq $0x0, -0x260(%rbp)
setne %al
testb $0x1, %al
jne 0x8bcdf
jmp 0x8be9d
movq -0x258(%rbp), %rcx
movq -0x280(%rbp), %rax
movq %rcx, -0x180(%rbp)
movq %rax, -0x188(%rbp)
movq -0x188(%rbp), %rax
andq $0x1fe0, %rax           # imm = 0x1FE0
shrq $0x5, %rax
movl %eax, -0x18c(%rbp)
movl -0x18c(%rbp), %eax
movl %eax, -0x284(%rbp)
movq -0x250(%rbp), %rax
movq %rax, -0x100(%rbp)
movq -0x100(%rbp), %rdi
movq -0x260(%rbp), %rsi
movq -0x258(%rbp), %rdx
movl -0x284(%rbp), %ecx
movb -0x261(%rbp), %al
movq %rdi, -0x138(%rbp)
movq %rsi, -0x140(%rbp)
movq %rdx, -0x148(%rbp)
movl %ecx, -0x14c(%rbp)
andb $0x1, %al
movb %al, -0x14d(%rbp)
testb $0x1, -0x14d(%rbp)
je 0x8bda8
leaq 0x17782(%rip), %rax     # 0xa3502
movb (%rax), %al
testb $0x1, %al
jne 0x8bd88
jmp 0x8bda8
movq -0x148(%rbp), %rdi
movl -0x14c(%rbp), %eax
leaq 0x17824(%rip), %rsi     # 0xa35c0
shlq $0x6, %rax
addq %rax, %rsi
callq 0x3cbd0
movq -0x140(%rbp), %rax
addq $0x28, %rax
movl -0x14c(%rbp), %ecx
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0x158(%rbp)
leaq 0x1870a(%rip), %rax     # 0xa44d8
movq (%rax), %rax
movl -0x14c(%rbp), %ecx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x160(%rbp)
movq -0x158(%rbp), %rax
movl 0x10(%rax), %eax
movq -0x160(%rbp), %rcx
cmpl (%rcx), %eax
sete %al
testb $0x1, %al
jne 0x8be01
jmp 0x8be2e
movq -0x138(%rbp), %rdi
movq -0x140(%rbp), %rsi
movq -0x158(%rbp), %rdx
movl -0x14c(%rbp), %ecx
movq -0x160(%rbp), %rax
movl (%rax), %r8d
shrl %r8d
callq 0x7ecb0
movq -0x158(%rbp), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x148(%rbp), %rdx
movq -0x158(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x158(%rbp), %rcx
movl 0x10(%rcx), %ecx
movl %ecx, %esi
xorl %ecx, %ecx
subq %rsi, %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x138(%rbp), %rcx
movq -0x140(%rbp), %rax
movq %rcx, -0x38(%rbp)
movq %rax, -0x40(%rbp)
movq -0x40(%rbp), %rdi
addq $0x18, %rdi
callq 0x8c610
testb $0x1, %al
jne 0x8be8e
jmp 0x8be9b
movq -0x38(%rbp), %rdi
movq -0x40(%rbp), %rsi
callq 0x7eb70
jmp 0x8bedb
movq -0x250(%rbp), %rax
movq %rax, -0xa68(%rbp)
movq -0x270(%rbp), %rdi
callq 0x8c4e0
movq -0xa68(%rbp), %rdi
movq %rax, %rsi
movq -0x270(%rbp), %rdx
movq -0x258(%rbp), %rcx
movq -0x278(%rbp), %r8
callq 0x3f9a0
jmp 0x8c218
movq -0x270(%rbp), %rcx
movq -0x278(%rbp), %rax
movq %rcx, -0x238(%rbp)
movq %rax, -0x240(%rbp)
movq -0x238(%rbp), %rcx
movq -0x240(%rbp), %rax
movq %rcx, -0x228(%rbp)
movq %rax, -0x230(%rbp)
movq -0x228(%rbp), %rcx
movq -0x230(%rbp), %rax
movq %rcx, -0x1e8(%rbp)
movq %rax, -0x1f0(%rbp)
movq -0x1e8(%rbp), %rcx
movq -0x1f0(%rbp), %rax
movq %rcx, -0x1d8(%rbp)
movq %rax, -0x1e0(%rbp)
movq -0x1d8(%rbp), %rcx
movq -0x1e0(%rbp), %rax
movq %rcx, -0x1a8(%rbp)
movq %rax, -0x1b0(%rbp)
movq -0x1a8(%rbp), %rax
addq $0x78, %rax
movq -0x1b0(%rbp), %rcx
leaq 0x1801b(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x208(%rbp)
movq -0x208(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x248(%rbp)
movq -0x248(%rbp), %rax
movq %rax, -0x198(%rbp)
movq -0x198(%rbp), %rax
andq $-0x2000, %rax          # imm = 0xE000
shrq %rax
movq %rax, -0x1a0(%rbp)
movq -0x1a0(%rbp), %rax
movq %rax, -0x290(%rbp)
cmpq $0x0, -0x260(%rbp)
setne %al
testb $0x1, %al
jne 0x8bfee
jmp 0x8c1df
movq -0x290(%rbp), %rax
subq $0x1000, %rax           # imm = 0x1000
leaq 0x184fe(%rip), %rcx     # 0xa4500
cmpq (%rcx), %rax
ja 0x8c1df
movq -0x250(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq -0xf8(%rbp), %rdi
movq -0x260(%rbp), %rsi
movq -0x258(%rbp), %rdx
movq -0x290(%rbp), %rcx
subq $0x1000, %rcx           # imm = 0x1000
movb -0x261(%rbp), %al
movq %rdi, -0xb0(%rbp)
movq %rsi, -0xb8(%rbp)
movq %rdx, -0xc0(%rbp)
movq %rcx, -0xc8(%rbp)
andb $0x1, %al
movb %al, -0xc9(%rbp)
movq -0xc8(%rbp), %rax
movq %rax, -0x18(%rbp)
cmpq $0x1000, -0x18(%rbp)    # imm = 0x1000
setbe %al
testb $0x1, %al
jne 0x8c082
jmp 0x8c0ac
movq -0x18(%rbp), %rax
movq %rax, -0x8(%rbp)
movq -0x8(%rbp), %rcx
subq $0x1, %rcx
shrq $0x3, %rcx
leaq 0x49e3(%rip), %rax      # 0x90a80
movzbl (%rax,%rcx), %eax
movl %eax, -0xc(%rbp)
movl -0xc(%rbp), %eax
movl %eax, -0x10(%rbp)
jmp 0x8c0b8
movq -0x18(%rbp), %rdi
callq 0x8c6a0
movl %eax, -0x10(%rbp)
movl -0x10(%rbp), %eax
movl %eax, -0xd0(%rbp)
testb $0x1, -0xc9(%rbp)
je 0x8c0ec
leaq 0x17431(%rip), %rax     # 0xa3502
movb (%rax), %al
testb $0x1, %al
jne 0x8c0d9
jmp 0x8c0ec
movq -0xc0(%rbp), %rdi
movq -0xc8(%rbp), %rsi
callq 0x3fab0
movq -0xb8(%rbp), %rax
addq $0x28, %rax
movl -0xd0(%rbp), %ecx
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0xd8(%rbp)
leaq 0x183c6(%rip), %rax     # 0xa44d8
movq (%rax), %rax
movl -0xd0(%rbp), %ecx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0xe0(%rbp)
movq -0xd8(%rbp), %rax
movl 0x10(%rax), %eax
movq -0xe0(%rbp), %rcx
cmpl (%rcx), %eax
sete %al
testb $0x1, %al
jne 0x8c145
jmp 0x8c170
movq -0xb0(%rbp), %rdi
movq -0xd8(%rbp), %rsi
movl -0xd0(%rbp), %edx
movq -0xe0(%rbp), %rax
movl (%rax), %ecx
shrl %ecx
movq -0xb8(%rbp), %r8
callq 0x7f140
movq -0xd8(%rbp), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0xc0(%rbp), %rdx
movq -0xd8(%rbp), %rax
movq 0x18(%rax), %rax
movq -0xd8(%rbp), %rcx
movl 0x10(%rcx), %ecx
movl %ecx, %esi
xorl %ecx, %ecx
subq %rsi, %rcx
movq %rdx, (%rax,%rcx,8)
movq -0xb0(%rbp), %rcx
movq -0xb8(%rbp), %rax
movq %rcx, -0x58(%rbp)
movq %rax, -0x60(%rbp)
movq -0x60(%rbp), %rdi
addq $0x18, %rdi
callq 0x8c610
testb $0x1, %al
jne 0x8c1d0
jmp 0x8c1dd
movq -0x58(%rbp), %rdi
movq -0x60(%rbp), %rsi
callq 0x7eb70
jmp 0x8c216
movq -0x250(%rbp), %rax
movq %rax, -0xa70(%rbp)
movq -0x270(%rbp), %rdi
callq 0x8c4e0
movq -0xa70(%rbp), %rdi
movq %rax, %rsi
movq -0x270(%rbp), %rdx
movq -0x258(%rbp), %rcx
callq 0x3fde0
jmp 0x8c218
jmp 0x8c22d
movq -0x250(%rbp), %rdi
movq -0x258(%rbp), %rsi
callq 0x64db0
movq -0x9d0(%rbp), %rcx
movq -0x9c8(%rbp), %rax
movq %rcx, 0x28(%rax)
movl -0x9e4(%rbp), %ecx
movq -0x9c8(%rbp), %rax
movl %ecx, 0x14(%rax)
addq $0xa70, %rsp            # imm = 0xA70
popq %rbp
retq
nopl (%rax,%rax)