// File: /workspace/github_c_makefile_star2_O0/zhou-yuxin[P]redis-aof-no-cow/deps/jemalloc/src/jemalloc.c
// Function: ifree
JEMALLOC_INLINE_C void
ifree(tsd_t *tsd, void *ptr, tcache_t *tcache, bool slow_path)
{
	size_t usize;
	UNUSED size_t rzsize JEMALLOC_CC_SILENCE_INIT(0);

	witness_assert_lockless(tsd_tsdn(tsd));

	assert(ptr != NULL);
	assert(malloc_initialized() || IS_INITIALIZER);

	if (config_prof && opt_prof) {
		usize = isalloc(tsd_tsdn(tsd), ptr, config_prof);
		prof_free(tsd, ptr, usize);
	} else if (config_stats || config_valgrind)
		usize = isalloc(tsd_tsdn(tsd), ptr, config_prof);
	if (config_stats)
		*tsd_thread_deallocatedp_get(tsd) += usize;

	if (likely(!slow_path))
		iqalloc(tsd, ptr, tcache, false);
	else {
		if (config_valgrind && unlikely(in_valgrind))
			rzsize = p2rz(tsd_tsdn(tsd), ptr);
		iqalloc(tsd, ptr, tcache, true);
		JEMALLOC_VALGRIND_FREE(ptr, rzsize);
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x8d0, %rsp            # imm = 0x8D0
movb %cl, %al
movq %rdi, -0x858(%rbp)
movq %rsi, -0x860(%rbp)
movq %rdx, -0x868(%rbp)
andb $0x1, %al
movb %al, -0x869(%rbp)
movq $0x0, -0x880(%rbp)
movq -0x858(%rbp), %rax
movq %rax, -0x840(%rbp)
movq -0x840(%rbp), %rdi
callq 0x28580
jmp 0x26b11
jmp 0x26b13
jmp 0x26b15
movq -0x858(%rbp), %rax
movq %rax, -0x848(%rbp)
movq -0x848(%rbp), %rcx
movq -0x860(%rbp), %rax
movq %rcx, -0x828(%rbp)
movq %rax, -0x830(%rbp)
movb $0x0, -0x831(%rbp)
movq -0x828(%rbp), %rdx
movq -0x830(%rbp), %rcx
movb -0x831(%rbp), %al
movq %rdx, -0x318(%rbp)
movq %rcx, -0x320(%rbp)
andb $0x1, %al
movb %al, -0x321(%rbp)
movq -0x320(%rbp), %rax
leaq 0x7d532(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x338(%rbp)
movq -0x338(%rbp), %rax
cmpq -0x320(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x26ba9
jmp 0x26e0d
movq -0x320(%rbp), %rax
movq -0x338(%rbp), %rcx
subq %rcx, %rax
shrq $0xc, %rax
movq %rax, -0x340(%rbp)
movq -0x338(%rbp), %rcx
movq -0x340(%rbp), %rax
movq %rcx, -0x2a8(%rbp)
movq %rax, -0x2b0(%rbp)
movq -0x2a8(%rbp), %rcx
movq -0x2b0(%rbp), %rax
movq %rcx, -0x298(%rbp)
movq %rax, -0x2a0(%rbp)
movq -0x298(%rbp), %rcx
movq -0x2a0(%rbp), %rax
movq %rcx, -0x1b8(%rbp)
movq %rax, -0x1c0(%rbp)
movq -0x1b8(%rbp), %rcx
movq -0x1c0(%rbp), %rax
movq %rcx, -0xc8(%rbp)
movq %rax, -0xd0(%rbp)
movq -0xc8(%rbp), %rcx
movq -0xd0(%rbp), %rax
movq %rcx, -0x78(%rbp)
movq %rax, -0x80(%rbp)
movq -0x78(%rbp), %rax
addq $0x78, %rax
movq -0x80(%rbp), %rcx
leaq 0x7d342(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x220(%rbp)
movq -0x220(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x2b8(%rbp)
movq -0x2b8(%rbp), %rax
andq $0x1fe0, %rax           # imm = 0x1FE0
shrq $0x5, %rax
movl %eax, -0x2bc(%rbp)
movl -0x2bc(%rbp), %eax
movl %eax, -0x344(%rbp)
movl -0x344(%rbp), %eax
movl %eax, %ecx
movb $0x1, %al
cmpq $0xff, %rcx
movb %al, -0x881(%rbp)
je 0x26cc6
xorl %eax, %eax
movb %al, -0x881(%rbp)
jmp 0x26cc6
movb -0x881(%rbp), %al
testb $0x1, %al
jne 0x26cd5
jmp 0x26dcb
movq -0x338(%rbp), %rcx
movq -0x340(%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, -0x1a8(%rbp)
movq %rax, -0x1b0(%rbp)
movq -0x1a8(%rbp), %rcx
movq -0x1b0(%rbp), %rax
movq %rcx, -0xd8(%rbp)
movq %rax, -0xe0(%rbp)
movq -0xd8(%rbp), %rcx
movq -0xe0(%rbp), %rax
movq %rcx, -0x68(%rbp)
movq %rax, -0x70(%rbp)
movq -0x68(%rbp), %rax
addq $0x78, %rax
movq -0x70(%rbp), %rcx
leaq 0x7d232(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x218(%rbp)
movq -0x218(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x2f8(%rbp)
movq -0x2f8(%rbp), %rax
movq %rax, -0x2c8(%rbp)
movq -0x2c8(%rbp), %rax
andq $-0x2000, %rax          # imm = 0xE000
shrq %rax
movq %rax, -0x2d0(%rbp)
movq -0x2d0(%rbp), %rax
subq $0x1000, %rax           # imm = 0x1000
movq %rax, -0x330(%rbp)
jmp 0x26e0b
movl -0x344(%rbp), %eax
movl %eax, -0x30c(%rbp)
movl -0x30c(%rbp), %eax
movl %eax, -0x2fc(%rbp)
movl -0x2fc(%rbp), %eax
movl %eax, %ecx
leaq 0x6950e(%rip), %rax     # 0x90300
movq (%rax,%rcx,8), %rax
movq %rax, -0x308(%rbp)
movq -0x308(%rbp), %rax
movq %rax, -0x330(%rbp)
jmp 0x26e27
movq -0x318(%rbp), %rdi
movq -0x320(%rbp), %rsi
callq 0x65c10
movq %rax, -0x330(%rbp)
movq -0x330(%rbp), %rax
movq %rax, -0x878(%rbp)
movq -0x878(%rbp), %rcx
movq -0x858(%rbp), %rax
movq %rax, -0x820(%rbp)
movq -0x820(%rbp), %rax
addq 0x18(%rax), %rcx
movq %rcx, 0x18(%rax)
movb -0x869(%rbp), %al
xorb $-0x1, %al
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x279bb
movq -0x858(%rbp), %rdx
movq -0x860(%rbp), %rcx
movq -0x868(%rbp), %rax
movq %rdx, -0x620(%rbp)
movq %rcx, -0x628(%rbp)
movq %rax, -0x630(%rbp)
movb $0x0, -0x631(%rbp)
testb $0x1, -0x631(%rbp)
je 0x26ed9
cmpq $0x0, 0x7c650(%rip)     # 0xa3508
setne %al
testb $0x1, %al
jne 0x26ec1
jmp 0x26ed9
movq -0x620(%rbp), %rdi
movq -0x628(%rbp), %rsi
callq 0x73f90
jmp 0x279b6
movq -0x620(%rbp), %rax
movq %rax, -0x618(%rbp)
movq -0x618(%rbp), %rsi
movq -0x628(%rbp), %rdx
movq -0x630(%rbp), %rcx
movb -0x631(%rbp), %al
movq %rsi, -0x5f8(%rbp)
movq %rdx, -0x600(%rbp)
movq %rcx, -0x608(%rbp)
movb $0x0, -0x609(%rbp)
andb $0x1, %al
movb %al, -0x60a(%rbp)
testb $0x1, -0x609(%rbp)
je 0x272de
movq -0x600(%rbp), %rax
movq %rax, -0x5d8(%rbp)
movq -0x5d8(%rbp), %rax
movq %rax, -0x5c8(%rbp)
movq -0x5c8(%rbp), %rax
leaq 0x7d153(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x5d0(%rbp)
movq -0x5d0(%rbp), %rax
cmpq -0x5c8(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x26f85
jmp 0x26f9a
movq -0x5d0(%rbp), %rdi
callq 0x38110
movq %rax, -0x5c0(%rbp)
jmp 0x26fad
movq -0x5c8(%rbp), %rdi
callq 0x63ec0
movq %rax, -0x5c0(%rbp)
movq -0x5c0(%rbp), %rax
movq %rax, -0x890(%rbp)
movq -0x5f8(%rbp), %rcx
movq -0x600(%rbp), %rax
movq %rcx, -0x5e0(%rbp)
movq %rax, -0x5e8(%rbp)
movb $0x0, -0x5e9(%rbp)
movq -0x5e0(%rbp), %rdx
movq -0x5e8(%rbp), %rcx
movb -0x5e9(%rbp), %al
movq %rdx, -0x428(%rbp)
movq %rcx, -0x430(%rbp)
andb $0x1, %al
movb %al, -0x431(%rbp)
movq -0x430(%rbp), %rax
leaq 0x7d09a(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x448(%rbp)
movq -0x448(%rbp), %rax
cmpq -0x430(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x27041
jmp 0x272b1
movq -0x430(%rbp), %rax
movq -0x448(%rbp), %rcx
subq %rcx, %rax
shrq $0xc, %rax
movq %rax, -0x450(%rbp)
movq -0x448(%rbp), %rcx
movq -0x450(%rbp), %rax
movq %rcx, -0x248(%rbp)
movq %rax, -0x250(%rbp)
movq -0x248(%rbp), %rcx
movq -0x250(%rbp), %rax
movq %rcx, -0x238(%rbp)
movq %rax, -0x240(%rbp)
movq -0x238(%rbp), %rcx
movq -0x240(%rbp), %rax
movq %rcx, -0x1d8(%rbp)
movq %rax, -0x1e0(%rbp)
movq -0x1d8(%rbp), %rcx
movq -0x1e0(%rbp), %rax
movq %rcx, -0xa8(%rbp)
movq %rax, -0xb0(%rbp)
movq -0xa8(%rbp), %rcx
movq -0xb0(%rbp), %rax
movq %rcx, -0x98(%rbp)
movq %rax, -0xa0(%rbp)
movq -0x98(%rbp), %rax
addq $0x78, %rax
movq -0xa0(%rbp), %rcx
leaq 0x7ce9e(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x230(%rbp)
movq -0x230(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x258(%rbp)
movq -0x258(%rbp), %rax
andq $0x1fe0, %rax           # imm = 0x1FE0
shrq $0x5, %rax
movl %eax, -0x25c(%rbp)
movl -0x25c(%rbp), %eax
movl %eax, -0x454(%rbp)
movl -0x454(%rbp), %eax
movl %eax, %ecx
movb $0x1, %al
cmpq $0xff, %rcx
movb %al, -0x891(%rbp)
je 0x2716a
xorl %eax, %eax
movb %al, -0x891(%rbp)
jmp 0x2716a
movb -0x891(%rbp), %al
testb $0x1, %al
jne 0x27179
jmp 0x2726f
movq -0x448(%rbp), %rcx
movq -0x450(%rbp), %rax
movq %rcx, -0x3f8(%rbp)
movq %rax, -0x400(%rbp)
movq -0x3f8(%rbp), %rcx
movq -0x400(%rbp), %rax
movq %rcx, -0x3e8(%rbp)
movq %rax, -0x3f0(%rbp)
movq -0x3e8(%rbp), %rcx
movq -0x3f0(%rbp), %rax
movq %rcx, -0x188(%rbp)
movq %rax, -0x190(%rbp)
movq -0x188(%rbp), %rcx
movq -0x190(%rbp), %rax
movq %rcx, -0xf8(%rbp)
movq %rax, -0x100(%rbp)
movq -0xf8(%rbp), %rcx
movq -0x100(%rbp), %rax
movq %rcx, -0x48(%rbp)
movq %rax, -0x50(%rbp)
movq -0x48(%rbp), %rax
addq $0x78, %rax
movq -0x50(%rbp), %rcx
leaq 0x7cd8e(%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, -0x408(%rbp)
movq -0x408(%rbp), %rax
movq %rax, -0x3d8(%rbp)
movq -0x3d8(%rbp), %rax
andq $-0x2000, %rax          # imm = 0xE000
shrq %rax
movq %rax, -0x3e0(%rbp)
movq -0x3e0(%rbp), %rax
subq $0x1000, %rax           # imm = 0x1000
movq %rax, -0x440(%rbp)
jmp 0x272af
movl -0x454(%rbp), %eax
movl %eax, -0x41c(%rbp)
movl -0x41c(%rbp), %eax
movl %eax, -0x40c(%rbp)
movl -0x40c(%rbp), %eax
movl %eax, %ecx
leaq 0x6906a(%rip), %rax     # 0x90300
movq (%rax,%rcx,8), %rax
movq %rax, -0x418(%rbp)
movq -0x418(%rbp), %rax
movq %rax, -0x440(%rbp)
jmp 0x272cb
movq -0x428(%rbp), %rdi
movq -0x430(%rbp), %rsi
callq 0x65c10
movq %rax, -0x440(%rbp)
movq -0x890(%rbp), %rdi
movq -0x440(%rbp), %rsi
callq 0x39bf0
movq -0x5f8(%rbp), %rsi
movq -0x600(%rbp), %rdx
movq -0x608(%rbp), %rcx
movb -0x60a(%rbp), %al
movq %rsi, -0x578(%rbp)
movq %rdx, -0x580(%rbp)
movq %rcx, -0x588(%rbp)
andb $0x1, %al
movb %al, -0x589(%rbp)
movq -0x580(%rbp), %rax
leaq 0x7cd8c(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x598(%rbp)
movq -0x598(%rbp), %rax
cmpq -0x580(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x2734f
jmp 0x279a1
movq -0x580(%rbp), %rax
movq -0x598(%rbp), %rcx
subq %rcx, %rax
shrq $0xc, %rax
movq %rax, -0x5a0(%rbp)
movq -0x598(%rbp), %rcx
movq -0x5a0(%rbp), %rax
movq %rcx, -0x558(%rbp)
movq %rax, -0x560(%rbp)
movq -0x558(%rbp), %rcx
movq -0x560(%rbp), %rax
movq %rcx, -0x168(%rbp)
movq %rax, -0x170(%rbp)
movq -0x168(%rbp), %rcx
movq -0x170(%rbp), %rax
movq %rcx, -0x118(%rbp)
movq %rax, -0x120(%rbp)
movq -0x118(%rbp), %rcx
movq -0x120(%rbp), %rax
movq %rcx, -0x28(%rbp)
movq %rax, -0x30(%rbp)
movq -0x28(%rbp), %rax
addq $0x78, %rax
movq -0x30(%rbp), %rcx
leaq 0x7cbb8(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x1f8(%rbp)
movq -0x1f8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x5a8(%rbp)
movq -0x5a8(%rbp), %rax
andq $0x2, %rax
cmpq $0x0, %rax
sete %al
testb $0x1, %al
jne 0x27425
jmp 0x27646
cmpq $0x0, -0x588(%rbp)
setne %al
testb $0x1, %al
jne 0x27439
jmp 0x27603
movq -0x580(%rbp), %rcx
movq -0x5a8(%rbp), %rax
movq %rcx, -0x540(%rbp)
movq %rax, -0x548(%rbp)
movq -0x548(%rbp), %rax
andq $0x1fe0, %rax           # imm = 0x1FE0
shrq $0x5, %rax
movl %eax, -0x54c(%rbp)
movl -0x54c(%rbp), %eax
movl %eax, -0x5ac(%rbp)
movq -0x578(%rbp), %rax
movq %rax, -0x568(%rbp)
movq -0x568(%rbp), %rdi
movq -0x588(%rbp), %rsi
movq -0x580(%rbp), %rdx
movl -0x5ac(%rbp), %ecx
movb -0x589(%rbp), %al
movq %rdi, -0x510(%rbp)
movq %rsi, -0x518(%rbp)
movq %rdx, -0x520(%rbp)
movl %ecx, -0x524(%rbp)
andb $0x1, %al
movb %al, -0x525(%rbp)
testb $0x1, -0x525(%rbp)
je 0x274ff
movb 0x7c029(%rip), %al      # 0xa3502
testb $0x1, %al
jne 0x274df
jmp 0x274ff
movq -0x520(%rbp), %rdi
movl -0x524(%rbp), %eax
leaq 0x7c0cd(%rip), %rsi     # 0xa35c0
shlq $0x6, %rax
addq %rax, %rsi
callq 0x3cbd0
movq -0x518(%rbp), %rax
addq $0x28, %rax
movl -0x524(%rbp), %ecx
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0x530(%rbp)
leaq 0x7cfb3(%rip), %rax     # 0xa44d8
movq (%rax), %rax
movl -0x524(%rbp), %ecx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x538(%rbp)
movq -0x530(%rbp), %rax
movl 0x10(%rax), %eax
movq -0x538(%rbp), %rcx
cmpl (%rcx), %eax
sete %al
testb $0x1, %al
jne 0x27558
jmp 0x27585
movq -0x510(%rbp), %rdi
movq -0x518(%rbp), %rsi
movq -0x530(%rbp), %rdx
movl -0x524(%rbp), %ecx
movq -0x538(%rbp), %rax
movl (%rax), %r8d
shrl %r8d
callq 0x7ecb0
movq -0x530(%rbp), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x520(%rbp), %rdx
movq -0x530(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x530(%rbp), %rcx
movl 0x10(%rcx), %ecx
movl %ecx, %esi
xorl %ecx, %ecx
subq %rsi, %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x510(%rbp), %rcx
movq -0x518(%rbp), %rax
movq %rcx, -0x500(%rbp)
movq %rax, -0x508(%rbp)
movq -0x508(%rbp), %rdi
addq $0x18, %rdi
callq 0x399f0
testb $0x1, %al
jne 0x275ee
jmp 0x27601
movq -0x500(%rbp), %rdi
movq -0x508(%rbp), %rsi
callq 0x7eb70
jmp 0x27641
movq -0x578(%rbp), %rax
movq %rax, -0x8a0(%rbp)
movq -0x598(%rbp), %rdi
callq 0x38110
movq -0x8a0(%rbp), %rdi
movq %rax, %rsi
movq -0x598(%rbp), %rdx
movq -0x580(%rbp), %rcx
movq -0x5a0(%rbp), %r8
callq 0x3f9a0
jmp 0x2799f
movq -0x598(%rbp), %rcx
movq -0x5a0(%rbp), %rax
movq %rcx, -0x4e8(%rbp)
movq %rax, -0x4f0(%rbp)
movq -0x4e8(%rbp), %rcx
movq -0x4f0(%rbp), %rax
movq %rcx, -0x4d8(%rbp)
movq %rax, -0x4e0(%rbp)
movq -0x4d8(%rbp), %rcx
movq -0x4e0(%rbp), %rax
movq %rcx, -0x178(%rbp)
movq %rax, -0x180(%rbp)
movq -0x178(%rbp), %rcx
movq -0x180(%rbp), %rax
movq %rcx, -0x108(%rbp)
movq %rax, -0x110(%rbp)
movq -0x108(%rbp), %rcx
movq -0x110(%rbp), %rax
movq %rcx, -0x38(%rbp)
movq %rax, -0x40(%rbp)
movq -0x38(%rbp), %rax
addq $0x78, %rax
movq -0x40(%rbp), %rcx
leaq 0x7c8c1(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x200(%rbp)
movq -0x200(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x4f8(%rbp)
movq -0x4f8(%rbp), %rax
movq %rax, -0x460(%rbp)
movq -0x460(%rbp), %rax
andq $-0x2000, %rax          # imm = 0xE000
shrq %rax
movq %rax, -0x468(%rbp)
movq -0x468(%rbp), %rax
movq %rax, -0x5b8(%rbp)
cmpq $0x0, -0x588(%rbp)
setne %al
testb $0x1, %al
jne 0x27748
jmp 0x27966
movq -0x5b8(%rbp), %rax
subq $0x1000, %rax           # imm = 0x1000
leaq 0x7cda4(%rip), %rcx     # 0xa4500
cmpq (%rcx), %rax
ja 0x27966
movq -0x578(%rbp), %rax
movq %rax, -0x570(%rbp)
movq -0x570(%rbp), %rdi
movq -0x588(%rbp), %rsi
movq -0x580(%rbp), %rdx
movq -0x5b8(%rbp), %rcx
subq $0x1000, %rcx           # imm = 0x1000
movb -0x589(%rbp), %al
movq %rdi, -0x4a0(%rbp)
movq %rsi, -0x4a8(%rbp)
movq %rdx, -0x4b0(%rbp)
movq %rcx, -0x4b8(%rbp)
andb $0x1, %al
movb %al, -0x4b9(%rbp)
movq -0x4b8(%rbp), %rax
movq %rax, -0x498(%rbp)
cmpq $0x1000, -0x498(%rbp) # imm = 0x1000
setbe %al
testb $0x1, %al
jne 0x277e2
jmp 0x2781e
movq -0x498(%rbp), %rax
movq %rax, -0x470(%rbp)
movq -0x470(%rbp), %rcx
subq $0x1, %rcx
shrq $0x3, %rcx
leaq 0x6927a(%rip), %rax     # 0x90a80
movzbl (%rax,%rcx), %eax
movl %eax, -0x474(%rbp)
movl -0x474(%rbp), %eax
movl %eax, -0x48c(%rbp)
jmp 0x27830
movq -0x498(%rbp), %rdi
callq 0x39af0
movl %eax, -0x48c(%rbp)
movl -0x48c(%rbp), %eax
movl %eax, -0x4c0(%rbp)
testb $0x1, -0x4b9(%rbp)
je 0x27864
movb 0x7bcb7(%rip), %al      # 0xa3502
testb $0x1, %al
jne 0x27851
jmp 0x27864
movq -0x4b0(%rbp), %rdi
movq -0x4b8(%rbp), %rsi
callq 0x3fab0
movq -0x4a8(%rbp), %rax
addq $0x28, %rax
movl -0x4c0(%rbp), %ecx
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0x4c8(%rbp)
leaq 0x7cc4e(%rip), %rax     # 0xa44d8
movq (%rax), %rax
movl -0x4c0(%rbp), %ecx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x4d0(%rbp)
movq -0x4c8(%rbp), %rax
movl 0x10(%rax), %eax
movq -0x4d0(%rbp), %rcx
cmpl (%rcx), %eax
sete %al
testb $0x1, %al
jne 0x278bd
jmp 0x278e8
movq -0x4a0(%rbp), %rdi
movq -0x4c8(%rbp), %rsi
movl -0x4c0(%rbp), %edx
movq -0x4d0(%rbp), %rax
movl (%rax), %ecx
shrl %ecx
movq -0x4a8(%rbp), %r8
callq 0x7f140
movq -0x4c8(%rbp), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x4b0(%rbp), %rdx
movq -0x4c8(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x4c8(%rbp), %rcx
movl 0x10(%rcx), %ecx
movl %ecx, %esi
xorl %ecx, %ecx
subq %rsi, %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x4a0(%rbp), %rcx
movq -0x4a8(%rbp), %rax
movq %rcx, -0x480(%rbp)
movq %rax, -0x488(%rbp)
movq -0x488(%rbp), %rdi
addq $0x18, %rdi
callq 0x399f0
testb $0x1, %al
jne 0x27951
jmp 0x27964
movq -0x480(%rbp), %rdi
movq -0x488(%rbp), %rsi
callq 0x7eb70
jmp 0x2799d
movq -0x578(%rbp), %rax
movq %rax, -0x8a8(%rbp)
movq -0x598(%rbp), %rdi
callq 0x38110
movq -0x8a8(%rbp), %rdi
movq %rax, %rsi
movq -0x598(%rbp), %rdx
movq -0x580(%rbp), %rcx
callq 0x3fde0
jmp 0x2799f
jmp 0x279b4
movq -0x578(%rbp), %rdi
movq -0x580(%rbp), %rsi
callq 0x64db0
jmp 0x279b6
jmp 0x2856a
movb 0x7bbbb(%rip), %al      # 0xa357c
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x279fa
movq -0x858(%rbp), %rax
movq %rax, -0x850(%rbp)
movq -0x850(%rbp), %rdi
movq -0x860(%rbp), %rsi
callq 0x1d2a0
movq %rax, -0x880(%rbp)
movq -0x858(%rbp), %rdx
movq -0x860(%rbp), %rcx
movq -0x868(%rbp), %rax
movq %rdx, -0x800(%rbp)
movq %rcx, -0x808(%rbp)
movq %rax, -0x810(%rbp)
movb $0x1, -0x811(%rbp)
testb $0x1, -0x811(%rbp)
je 0x27a5d
cmpq $0x0, 0x7bacc(%rip)     # 0xa3508
setne %al
testb $0x1, %al
jne 0x27a45
jmp 0x27a5d
movq -0x800(%rbp), %rdi
movq -0x808(%rbp), %rsi
callq 0x73f90
jmp 0x2853a
movq -0x800(%rbp), %rax
movq %rax, -0x7f8(%rbp)
movq -0x7f8(%rbp), %rsi
movq -0x808(%rbp), %rdx
movq -0x810(%rbp), %rcx
movb -0x811(%rbp), %al
movq %rsi, -0x7d8(%rbp)
movq %rdx, -0x7e0(%rbp)
movq %rcx, -0x7e8(%rbp)
movb $0x0, -0x7e9(%rbp)
andb $0x1, %al
movb %al, -0x7ea(%rbp)
testb $0x1, -0x7e9(%rbp)
je 0x27e62
movq -0x7e0(%rbp), %rax
movq %rax, -0x7b8(%rbp)
movq -0x7b8(%rbp), %rax
movq %rax, -0x7a8(%rbp)
movq -0x7a8(%rbp), %rax
leaq 0x7c5cf(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x7b0(%rbp)
movq -0x7b0(%rbp), %rax
cmpq -0x7a8(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x27b09
jmp 0x27b1e
movq -0x7b0(%rbp), %rdi
callq 0x38110
movq %rax, -0x7a0(%rbp)
jmp 0x27b31
movq -0x7a8(%rbp), %rdi
callq 0x63ec0
movq %rax, -0x7a0(%rbp)
movq -0x7a0(%rbp), %rax
movq %rax, -0x8b0(%rbp)
movq -0x7d8(%rbp), %rcx
movq -0x7e0(%rbp), %rax
movq %rcx, -0x7c0(%rbp)
movq %rax, -0x7c8(%rbp)
movb $0x0, -0x7c9(%rbp)
movq -0x7c0(%rbp), %rdx
movq -0x7c8(%rbp), %rcx
movb -0x7c9(%rbp), %al
movq %rdx, -0x3a0(%rbp)
movq %rcx, -0x3a8(%rbp)
andb $0x1, %al
movb %al, -0x3a9(%rbp)
movq -0x3a8(%rbp), %rax
leaq 0x7c516(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x3c0(%rbp)
movq -0x3c0(%rbp), %rax
cmpq -0x3a8(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x27bc5
jmp 0x27e35
movq -0x3a8(%rbp), %rax
movq -0x3c0(%rbp), %rcx
subq %rcx, %rax
shrq $0xc, %rax
movq %rax, -0x3c8(%rbp)
movq -0x3c0(%rbp), %rcx
movq -0x3c8(%rbp), %rax
movq %rcx, -0x278(%rbp)
movq %rax, -0x280(%rbp)
movq -0x278(%rbp), %rcx
movq -0x280(%rbp), %rax
movq %rcx, -0x268(%rbp)
movq %rax, -0x270(%rbp)
movq -0x268(%rbp), %rcx
movq -0x270(%rbp), %rax
movq %rcx, -0x1c8(%rbp)
movq %rax, -0x1d0(%rbp)
movq -0x1c8(%rbp), %rcx
movq -0x1d0(%rbp), %rax
movq %rcx, -0xb8(%rbp)
movq %rax, -0xc0(%rbp)
movq -0xb8(%rbp), %rcx
movq -0xc0(%rbp), %rax
movq %rcx, -0x88(%rbp)
movq %rax, -0x90(%rbp)
movq -0x88(%rbp), %rax
addq $0x78, %rax
movq -0x90(%rbp), %rcx
leaq 0x7c31a(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x228(%rbp)
movq -0x228(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x288(%rbp)
movq -0x288(%rbp), %rax
andq $0x1fe0, %rax           # imm = 0x1FE0
shrq $0x5, %rax
movl %eax, -0x28c(%rbp)
movl -0x28c(%rbp), %eax
movl %eax, -0x3cc(%rbp)
movl -0x3cc(%rbp), %eax
movl %eax, %ecx
movb $0x1, %al
cmpq $0xff, %rcx
movb %al, -0x8b1(%rbp)
je 0x27cee
xorl %eax, %eax
movb %al, -0x8b1(%rbp)
jmp 0x27cee
movb -0x8b1(%rbp), %al
testb $0x1, %al
jne 0x27cfd
jmp 0x27df3
movq -0x3c0(%rbp), %rcx
movq -0x3c8(%rbp), %rax
movq %rcx, -0x370(%rbp)
movq %rax, -0x378(%rbp)
movq -0x370(%rbp), %rcx
movq -0x378(%rbp), %rax
movq %rcx, -0x360(%rbp)
movq %rax, -0x368(%rbp)
movq -0x360(%rbp), %rcx
movq -0x368(%rbp), %rax
movq %rcx, -0x198(%rbp)
movq %rax, -0x1a0(%rbp)
movq -0x198(%rbp), %rcx
movq -0x1a0(%rbp), %rax
movq %rcx, -0xe8(%rbp)
movq %rax, -0xf0(%rbp)
movq -0xe8(%rbp), %rcx
movq -0xf0(%rbp), %rax
movq %rcx, -0x58(%rbp)
movq %rax, -0x60(%rbp)
movq -0x58(%rbp), %rax
addq $0x78, %rax
movq -0x60(%rbp), %rcx
leaq 0x7c20a(%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, -0x380(%rbp)
movq -0x380(%rbp), %rax
movq %rax, -0x350(%rbp)
movq -0x350(%rbp), %rax
andq $-0x2000, %rax          # imm = 0xE000
shrq %rax
movq %rax, -0x358(%rbp)
movq -0x358(%rbp), %rax
subq $0x1000, %rax           # imm = 0x1000
movq %rax, -0x3b8(%rbp)
jmp 0x27e33
movl -0x3cc(%rbp), %eax
movl %eax, -0x394(%rbp)
movl -0x394(%rbp), %eax
movl %eax, -0x384(%rbp)
movl -0x384(%rbp), %eax
movl %eax, %ecx
leaq 0x684e6(%rip), %rax     # 0x90300
movq (%rax,%rcx,8), %rax
movq %rax, -0x390(%rbp)
movq -0x390(%rbp), %rax
movq %rax, -0x3b8(%rbp)
jmp 0x27e4f
movq -0x3a0(%rbp), %rdi
movq -0x3a8(%rbp), %rsi
callq 0x65c10
movq %rax, -0x3b8(%rbp)
movq -0x8b0(%rbp), %rdi
movq -0x3b8(%rbp), %rsi
callq 0x39bf0
movq -0x7d8(%rbp), %rsi
movq -0x7e0(%rbp), %rdx
movq -0x7e8(%rbp), %rcx
movb -0x7ea(%rbp), %al
movq %rsi, -0x758(%rbp)
movq %rdx, -0x760(%rbp)
movq %rcx, -0x768(%rbp)
andb $0x1, %al
movb %al, -0x769(%rbp)
movq -0x760(%rbp), %rax
leaq 0x7c208(%rip), %rcx     # 0xa40b0
movq (%rcx), %rcx
xorq $-0x1, %rcx
andq %rcx, %rax
movq %rax, -0x778(%rbp)
movq -0x778(%rbp), %rax
cmpq -0x760(%rbp), %rax
setne %al
testb $0x1, %al
jne 0x27ed3
jmp 0x28525
movq -0x760(%rbp), %rax
movq -0x778(%rbp), %rcx
subq %rcx, %rax
shrq $0xc, %rax
movq %rax, -0x780(%rbp)
movq -0x778(%rbp), %rcx
movq -0x780(%rbp), %rax
movq %rcx, -0x738(%rbp)
movq %rax, -0x740(%rbp)
movq -0x738(%rbp), %rcx
movq -0x740(%rbp), %rax
movq %rcx, -0x148(%rbp)
movq %rax, -0x150(%rbp)
movq -0x148(%rbp), %rcx
movq -0x150(%rbp), %rax
movq %rcx, -0x138(%rbp)
movq %rax, -0x140(%rbp)
movq -0x138(%rbp), %rcx
movq -0x140(%rbp), %rax
movq %rcx, -0x8(%rbp)
movq %rax, -0x10(%rbp)
movq -0x8(%rbp), %rax
addq $0x78, %rax
movq -0x10(%rbp), %rcx
leaq 0x7c034(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x1e8(%rbp)
movq -0x1e8(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x788(%rbp)
movq -0x788(%rbp), %rax
andq $0x2, %rax
cmpq $0x0, %rax
sete %al
testb $0x1, %al
jne 0x27fa9
jmp 0x281ca
cmpq $0x0, -0x768(%rbp)
setne %al
testb $0x1, %al
jne 0x27fbd
jmp 0x28187
movq -0x760(%rbp), %rcx
movq -0x788(%rbp), %rax
movq %rcx, -0x720(%rbp)
movq %rax, -0x728(%rbp)
movq -0x728(%rbp), %rax
andq $0x1fe0, %rax           # imm = 0x1FE0
shrq $0x5, %rax
movl %eax, -0x72c(%rbp)
movl -0x72c(%rbp), %eax
movl %eax, -0x78c(%rbp)
movq -0x758(%rbp), %rax
movq %rax, -0x748(%rbp)
movq -0x748(%rbp), %rdi
movq -0x768(%rbp), %rsi
movq -0x760(%rbp), %rdx
movl -0x78c(%rbp), %ecx
movb -0x769(%rbp), %al
movq %rdi, -0x6f0(%rbp)
movq %rsi, -0x6f8(%rbp)
movq %rdx, -0x700(%rbp)
movl %ecx, -0x704(%rbp)
andb $0x1, %al
movb %al, -0x705(%rbp)
testb $0x1, -0x705(%rbp)
je 0x28083
movb 0x7b4a5(%rip), %al      # 0xa3502
testb $0x1, %al
jne 0x28063
jmp 0x28083
movq -0x700(%rbp), %rdi
movl -0x704(%rbp), %eax
leaq 0x7b549(%rip), %rsi     # 0xa35c0
shlq $0x6, %rax
addq %rax, %rsi
callq 0x3cbd0
movq -0x6f8(%rbp), %rax
addq $0x28, %rax
movl -0x704(%rbp), %ecx
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0x710(%rbp)
leaq 0x7c42f(%rip), %rax     # 0xa44d8
movq (%rax), %rax
movl -0x704(%rbp), %ecx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x718(%rbp)
movq -0x710(%rbp), %rax
movl 0x10(%rax), %eax
movq -0x718(%rbp), %rcx
cmpl (%rcx), %eax
sete %al
testb $0x1, %al
jne 0x280dc
jmp 0x28109
movq -0x6f0(%rbp), %rdi
movq -0x6f8(%rbp), %rsi
movq -0x710(%rbp), %rdx
movl -0x704(%rbp), %ecx
movq -0x718(%rbp), %rax
movl (%rax), %r8d
shrl %r8d
callq 0x7ecb0
movq -0x710(%rbp), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x700(%rbp), %rdx
movq -0x710(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x710(%rbp), %rcx
movl 0x10(%rcx), %ecx
movl %ecx, %esi
xorl %ecx, %ecx
subq %rsi, %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x6f0(%rbp), %rcx
movq -0x6f8(%rbp), %rax
movq %rcx, -0x6e0(%rbp)
movq %rax, -0x6e8(%rbp)
movq -0x6e8(%rbp), %rdi
addq $0x18, %rdi
callq 0x399f0
testb $0x1, %al
jne 0x28172
jmp 0x28185
movq -0x6e0(%rbp), %rdi
movq -0x6e8(%rbp), %rsi
callq 0x7eb70
jmp 0x281c5
movq -0x758(%rbp), %rax
movq %rax, -0x8c0(%rbp)
movq -0x778(%rbp), %rdi
callq 0x38110
movq -0x8c0(%rbp), %rdi
movq %rax, %rsi
movq -0x778(%rbp), %rdx
movq -0x760(%rbp), %rcx
movq -0x780(%rbp), %r8
callq 0x3f9a0
jmp 0x28523
movq -0x778(%rbp), %rcx
movq -0x780(%rbp), %rax
movq %rcx, -0x6c8(%rbp)
movq %rax, -0x6d0(%rbp)
movq -0x6c8(%rbp), %rcx
movq -0x6d0(%rbp), %rax
movq %rcx, -0x6b8(%rbp)
movq %rax, -0x6c0(%rbp)
movq -0x6b8(%rbp), %rcx
movq -0x6c0(%rbp), %rax
movq %rcx, -0x158(%rbp)
movq %rax, -0x160(%rbp)
movq -0x158(%rbp), %rcx
movq -0x160(%rbp), %rax
movq %rcx, -0x128(%rbp)
movq %rax, -0x130(%rbp)
movq -0x128(%rbp), %rcx
movq -0x130(%rbp), %rax
movq %rcx, -0x18(%rbp)
movq %rax, -0x20(%rbp)
movq -0x18(%rbp), %rax
addq $0x78, %rax
movq -0x20(%rbp), %rcx
leaq 0x7bd3d(%rip), %rdx     # 0xa3fa0
subq (%rdx), %rcx
shlq $0x3, %rcx
addq %rcx, %rax
movq %rax, -0x1f0(%rbp)
movq -0x1f0(%rbp), %rax
movq (%rax), %rax
movq %rax, -0x6d8(%rbp)
movq -0x6d8(%rbp), %rax
movq %rax, -0x640(%rbp)
movq -0x640(%rbp), %rax
andq $-0x2000, %rax          # imm = 0xE000
shrq %rax
movq %rax, -0x648(%rbp)
movq -0x648(%rbp), %rax
movq %rax, -0x798(%rbp)
cmpq $0x0, -0x768(%rbp)
setne %al
testb $0x1, %al
jne 0x282cc
jmp 0x284ea
movq -0x798(%rbp), %rax
subq $0x1000, %rax           # imm = 0x1000
leaq 0x7c220(%rip), %rcx     # 0xa4500
cmpq (%rcx), %rax
ja 0x284ea
movq -0x758(%rbp), %rax
movq %rax, -0x750(%rbp)
movq -0x750(%rbp), %rdi
movq -0x768(%rbp), %rsi
movq -0x760(%rbp), %rdx
movq -0x798(%rbp), %rcx
subq $0x1000, %rcx           # imm = 0x1000
movb -0x769(%rbp), %al
movq %rdi, -0x680(%rbp)
movq %rsi, -0x688(%rbp)
movq %rdx, -0x690(%rbp)
movq %rcx, -0x698(%rbp)
andb $0x1, %al
movb %al, -0x699(%rbp)
movq -0x698(%rbp), %rax
movq %rax, -0x678(%rbp)
cmpq $0x1000, -0x678(%rbp) # imm = 0x1000
setbe %al
testb $0x1, %al
jne 0x28366
jmp 0x283a2
movq -0x678(%rbp), %rax
movq %rax, -0x650(%rbp)
movq -0x650(%rbp), %rcx
subq $0x1, %rcx
shrq $0x3, %rcx
leaq 0x686f6(%rip), %rax     # 0x90a80
movzbl (%rax,%rcx), %eax
movl %eax, -0x654(%rbp)
movl -0x654(%rbp), %eax
movl %eax, -0x66c(%rbp)
jmp 0x283b4
movq -0x678(%rbp), %rdi
callq 0x39af0
movl %eax, -0x66c(%rbp)
movl -0x66c(%rbp), %eax
movl %eax, -0x6a0(%rbp)
testb $0x1, -0x699(%rbp)
je 0x283e8
movb 0x7b133(%rip), %al      # 0xa3502
testb $0x1, %al
jne 0x283d5
jmp 0x283e8
movq -0x690(%rbp), %rdi
movq -0x698(%rbp), %rsi
callq 0x3fab0
movq -0x688(%rbp), %rax
addq $0x28, %rax
movl -0x6a0(%rbp), %ecx
shlq $0x5, %rcx
addq %rcx, %rax
movq %rax, -0x6a8(%rbp)
leaq 0x7c0ca(%rip), %rax     # 0xa44d8
movq (%rax), %rax
movl -0x6a0(%rbp), %ecx
shlq $0x2, %rcx
addq %rcx, %rax
movq %rax, -0x6b0(%rbp)
movq -0x6a8(%rbp), %rax
movl 0x10(%rax), %eax
movq -0x6b0(%rbp), %rcx
cmpl (%rcx), %eax
sete %al
testb $0x1, %al
jne 0x28441
jmp 0x2846c
movq -0x680(%rbp), %rdi
movq -0x6a8(%rbp), %rsi
movl -0x6a0(%rbp), %edx
movq -0x6b0(%rbp), %rax
movl (%rax), %ecx
shrl %ecx
movq -0x688(%rbp), %r8
callq 0x7f140
movq -0x6a8(%rbp), %rax
movl 0x10(%rax), %ecx
addl $0x1, %ecx
movl %ecx, 0x10(%rax)
movq -0x690(%rbp), %rdx
movq -0x6a8(%rbp), %rax
movq 0x18(%rax), %rax
movq -0x6a8(%rbp), %rcx
movl 0x10(%rcx), %ecx
movl %ecx, %esi
xorl %ecx, %ecx
subq %rsi, %rcx
movq %rdx, (%rax,%rcx,8)
movq -0x680(%rbp), %rcx
movq -0x688(%rbp), %rax
movq %rcx, -0x660(%rbp)
movq %rax, -0x668(%rbp)
movq -0x668(%rbp), %rdi
addq $0x18, %rdi
callq 0x399f0
testb $0x1, %al
jne 0x284d5
jmp 0x284e8
movq -0x660(%rbp), %rdi
movq -0x668(%rbp), %rsi
callq 0x7eb70
jmp 0x28521
movq -0x758(%rbp), %rax
movq %rax, -0x8c8(%rbp)
movq -0x778(%rbp), %rdi
callq 0x38110
movq -0x8c8(%rbp), %rdi
movq %rax, %rsi
movq -0x778(%rbp), %rdx
movq -0x760(%rbp), %rcx
callq 0x3fde0
jmp 0x28523
jmp 0x28538
movq -0x758(%rbp), %rdi
movq -0x760(%rbp), %rsi
callq 0x64db0
jmp 0x2853a
jmp 0x2853c
movb 0x7b03a(%rip), %al      # 0xa357c
xorb $-0x1, %al
xorb $-0x1, %al
andb $0x1, %al
movzbl %al, %eax
cltq
cmpq $0x0, %rax
je 0x28566
movq -0x860(%rbp), %rdi
movq -0x880(%rbp), %rsi
callq 0x860e0
jmp 0x28568
jmp 0x2856a
addq $0x8d0, %rsp            # imm = 0x8D0
popq %rbp
retq
nopw %cs:(%rax,%rax)