// File: /workspace/github_c_makefile_star2_O1/nilyang[P]redis-tdd-annotation/deps/jemalloc/src/ctl.c
// Function: arenas_extend_ctl
static int
arenas_extend_ctl(const size_t *mib, size_t miblen, void *oldp, size_t *oldlenp,
    void *newp, size_t newlen)
{
	int ret;

	malloc_mutex_lock(&ctl_mtx);
	READONLY();
	if (ctl_grow()) {
		ret = EAGAIN;
		goto label_return;
	}
	READ(ctl_stats.narenas - 1, unsigned);

	ret = 0;
label_return:
	malloc_mutex_unlock(&ctl_mtx);
	return (ret);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x888, %rsp            # imm = 0x888
movq %r9, %rbx
movq %r8, %r12
movq %rcx, %r15
movq %rdx, %r14
leaq 0x57ca0(%rip), %rdi     # 0xdf980
callq 0x1faa0
movl $0x1, %ebp
orq %rbx, %r12
je 0x87d0f
leaq 0x57c8a(%rip), %rdi     # 0xdf980
callq 0x1fbb0
movl %ebp, %eax
addq $0x888, %rsp            # imm = 0x888
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl 0x57cdb(%rip), %eax     # 0xdf9f0
leal 0x2(%rax), %ecx
imulq $0x870, %rcx, %rbx      # imm = 0x870
leaq 0x56e5a(%rip), %rcx     # 0xdeb80
cmpl (%rcx), %eax
jne 0x87d98
movq %rbx, %rdi
callq 0x884c7
movl $0xb, %ebp
testq %rax, %rax
je 0x87cef
movq %rax, %rbx
movq 0x57cb2(%rip), %rsi     # 0xdf9f8
movl 0x57ca3(%rip), %r12d    # 0xdf9f0
incl %r12d
imulq $0x870, %r12, %rdx      # imm = 0x870
movq %rax, %rdi
callq 0x1fbd0
shlq $0x3, %r12
movq %r12, %rdi
callq 0x884c7
testq %rax, %rax
je 0x87ecf
movq %rax, %r12
leaq 0x56dfa(%rip), %rax     # 0xdeb78
movq (%rax), %rsi
movl 0x57c69(%rip), %edx     # 0xdf9f0
shlq $0x3, %rdx
movq %r12, %rdi
callq 0x1fbd0
jmp 0x87fad
movq 0x57c59(%rip), %r12     # 0xdf9f8
leaq 0x57ada(%rip), %r13     # 0xdf880
movq (%r13), %rax
notq %rax
andq %r12, %rax
movq %r12, %rcx
subq %rax, %rcx
movq %r14, 0x8(%rsp)
je 0x87ded
shrq $0xc, %rcx
leaq 0x57b60(%rip), %rdx     # 0xdf928
subq (%rdx), %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x40(%rax,%rcx,8), %rdx
movl %edx, %eax
shrl $0x4, %eax
movl $0xff, %ecx
andl %ecx, %eax
cmpl %ecx, %eax
jne 0x87dfa
andq $-0x1000, %rdx          # imm = 0xF000
jmp 0x87e09
movq %r12, %rdi
callq 0x8bc15
movq %rax, %rdx
jmp 0x87e09
imulq $0x68, %rax, %rax
leaq 0x56dfb(%rip), %rcx     # 0xdec00
movq (%rcx,%rax), %rdx
leaq 0x57b20(%rip), %r14     # 0xdf930
cmpq %rbx, (%r14)
jae 0x87e37
subq $0x8, %rsp
movq %r12, %rdi
movq %rdx, %rsi
movq %rbx, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq $0x1
callq 0x8b829
addq $0x10, %rsp
jmp 0x87e5b
subq $0x8, %rsp
movl $0x1, %eax
xorl %edi, %edi
movq %r12, %rsi
movq %rbx, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %rax
pushq %rax
pushq $0x0
callq 0x81cd4
addq $0x20, %rsp
movq %rax, %rbx
movl $0xb, %ebp
testq %rax, %rax
je 0x87cef
leaq 0x56d05(%rip), %rax     # 0xdeb78
movq %r13, %rcx
movq (%rax), %r13
movl 0x57b70(%rip), %r12d    # 0xdf9f0
incl %r12d
shlq $0x3, %r12
movq (%rcx), %rax
notq %rax
andq %r13, %rax
movq %r13, %rcx
subq %rax, %rcx
je 0x87f35
shrq $0xc, %rcx
leaq 0x57a81(%rip), %rdx     # 0xdf928
subq (%rdx), %rcx
leaq (%rcx,%rcx,2), %rcx
movq 0x40(%rax,%rcx,8), %rdx
movl %edx, %eax
shrl $0x4, %eax
movl $0xff, %ecx
andl %ecx, %eax
cmpl %ecx, %eax
jne 0x87f42
andq $-0x1000, %rdx          # imm = 0xF000
jmp 0x87f51
leaq 0x579aa(%rip), %rax     # 0xdf880
movq (%rax), %r14
notq %r14
andq %rbx, %r14
movq %rbx, %r13
subq %r14, %r13
je 0x880dc
shrq $0xc, %r13
leaq 0x57a32(%rip), %rax     # 0xdf928
movq %r13, %rcx
subq (%rax), %rcx
movq (%r14), %rdi
leaq (%rcx,%rcx,2), %rax
movq 0x40(%r14,%rax,8), %r15
testb $0x2, %r15b
jne 0x880ee
movq 0x3e03f(%rip), %rax     # 0xc5f58
movq %fs:(%rax), %r12
cmpq $0x3, %r12
ja 0x8817c
jae 0x8812b
xorl %r12d, %r12d
jmp 0x8817c
movq %r13, %rdi
callq 0x8bc15
movq %rax, %rdx
jmp 0x87f51
imulq $0x68, %rax, %rax
leaq 0x56cb3(%rip), %rcx     # 0xdec00
movq (%rcx,%rax), %rdx
cmpq %r12, (%r14)
jae 0x87f78
subq $0x8, %rsp
movq %r13, %rdi
movq %rdx, %rsi
movq %r12, %rdx
xorl %ecx, %ecx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq $0x1
callq 0x8b829
addq $0x10, %rsp
jmp 0x87f9c
subq $0x8, %rsp
movl $0x1, %eax
xorl %edi, %edi
movq %r13, %rsi
movq %r12, %rcx
xorl %r8d, %r8d
xorl %r9d, %r9d
pushq %rax
pushq %rax
pushq $0x0
callq 0x81cd4
addq $0x20, %rsp
movq %rax, %r12
movq 0x8(%rsp), %r14
testq %rax, %rax
je 0x87cef
movl 0x57a3d(%rip), %eax     # 0xdf9f0
incl %eax
imulq $0x870, %rax, %r13      # imm = 0x870
addq %rbx, %r13
movl $0x870, %edx            # imm = 0x870
movq %r13, %rdi
xorl %esi, %esi
callq 0x1f110
movq %r13, %rdi
callq 0x8619c
movl $0xb, %ebp
testb %al, %al
jne 0x87cef
movq %r15, 0x10(%rsp)
movq %r14, %r15
movl 0x579fe(%rip), %r14d    # 0xdf9f0
movq $0x0, (%r12,%r14,8)
imulq $0x870, %r14, %r13      # imm = 0x870
addq %rbx, %r13
leaq 0x18(%rsp), %rdi
movl $0x870, %edx            # imm = 0x870
movq %r13, %rsi
callq 0x1fbd0
leal 0x1(%r14), %ebp
imulq $0x870, %rbp, %r14      # imm = 0x870
addq %rbx, %r14
movl $0x870, %edx            # imm = 0x870
movq %r13, %rdi
movq %r14, %rsi
callq 0x1fbd0
movl $0x870, %edx            # imm = 0x870
movq %r14, %rdi
movq %r15, %r14
movq 0x10(%rsp), %r15
leaq 0x18(%rsp), %rsi
callq 0x1fbd0
movq %rbx, 0x579a3(%rip)     # 0xdf9f8
movl %ebp, 0x57995(%rip)     # 0xdf9f0
leaq 0x56b26(%rip), %rbx     # 0xdeb88
movq %rbx, %rdi
callq 0x1faa0
leaq 0x56b07(%rip), %rax     # 0xdeb78
movq %r12, (%rax)
leaq 0x56b35(%rip), %rax     # 0xdebb0
movl (%rax), %edi
leal 0x1(%rdi), %ecx
movl %ecx, (%rax)
callq 0x7c2d0
movq %rbx, %rdi
callq 0x1fbb0
testq %r14, %r14
sete %al
testq %r15, %r15
sete %cl
orb %al, %cl
jne 0x880b3
movq (%r15), %rax
cmpq $0x4, %rax
jne 0x880ba
movl 0x57942(%rip), %eax     # 0xdf9f0
decl %eax
movl %eax, (%r14)
xorl %ebp, %ebp
jmp 0x87cef
movl $0x4, %edx
cmovbq %rax, %rdx
leaq 0x57925(%rip), %rsi     # 0xdf9ef
movq %r14, %rdi
callq 0x1fbd0
movl $0x16, %ebp
jmp 0x87cef
movq %rbx, %rdi
movl $0x1, %esi
callq 0x8bb7e
jmp 0x87cef
movq %r15, %r13
andq $-0x1000, %r13          # imm = 0xF000
leaq 0x68aa9(%rip), %rax     # 0xf0ba8
cmpq (%rax), %r13
ja 0x882ee
movq 0x3de49(%rip), %rax     # 0xc5f58
movq %fs:(%rax), %r12
cmpq $0x3, %r12
ja 0x88256
jae 0x88205
xorl %r12d, %r12d
jmp 0x88256
jne 0x8817c
movq %rdi, 0x8(%rsp)
movq %fs:0x0, %rsi
addq %rax, %rsi
movq $0x2, %fs:(%rax)
leaq 0x68a63(%rip), %rax     # 0xf0bb0
movl (%rax), %edi
callq 0x1f1c0
testl %eax, %eax
je 0x88174
leaq 0x1af37(%rip), %rdi     # 0xa3096
callq 0x9124c
leaq 0x569ef(%rip), %rax     # 0xdeb5a
cmpb $0x1, (%rax)
je 0x882fe
xorl %r12d, %r12d
movq 0x8(%rsp), %rdi
testq %r12, %r12
je 0x881f2
shrl $0x4, %r15d
movzbl %r15b, %r14d
leaq 0x569cb(%rip), %rax     # 0xdeb5b
cmpb $0x1, (%rax)
jne 0x881a8
imulq $0x68, %r14, %rsi
addq 0x3de30(%rip), %rsi     # 0xc5fd0
movq %rbx, %rdi
callq 0x8085a
movl %r14d, %eax
shll $0x5, %eax
leaq (%r12,%rax), %r15
addq $0x28, %r15
leaq 0x689d3(%rip), %rax     # 0xf0b90
movq (%rax), %rax
movl (%rax,%r14,4), %edx
cmpl %edx, 0x10(%r15)
jne 0x881da
shrl %edx
movq %r15, %rdi
movq %r14, %rsi
movq %r12, %rcx
callq 0x908bd
movq 0x18(%r15), %rax
movl 0x10(%r15), %ecx
movq %rbx, (%rax,%rcx,8)
leal 0x1(%rcx), %eax
movl %eax, 0x10(%r15)
jmp 0x882ca
movq %r14, %rsi
movq %rbx, %rdx
movq %r13, %rcx
callq 0x8147f
jmp 0x87cef
jne 0x88256
movq %rdi, 0x8(%rsp)
movq %fs:0x0, %rsi
addq %rax, %rsi
movq $0x2, %fs:(%rax)
leaq 0x68989(%rip), %rax     # 0xf0bb0
movl (%rax), %edi
callq 0x1f1c0
testl %eax, %eax
je 0x8824e
leaq 0x1ae5d(%rip), %rdi     # 0xa3096
callq 0x9124c
leaq 0x56915(%rip), %rax     # 0xdeb5a
cmpb $0x1, (%rax)
je 0x882fe
xorl %r12d, %r12d
movq 0x8(%rsp), %rdi
testq %r12, %r12
je 0x882ee
shrq $0xc, %r15
leaq 0x1b(%r15), %r14
leaq 0x568ed(%rip), %rax     # 0xdeb5b
cmpb $0x1, (%rax)
jne 0x88283
movq %rbx, %rdi
movl $0x5a, %esi
movq %r13, %rdx
callq 0x1f110
movq %r14, %rax
shlq $0x5, %rax
leaq (%r12,%rax), %r13
addq $0x28, %r13
leaq 0x688f7(%rip), %rax     # 0xf0b90
movq (%rax), %rax
movl 0x6c(%rax,%r15,4), %edx
cmpl %edx, 0x10(%r13)
jne 0x882b7
shrl %edx
movq %r13, %rdi
movq %r14, %rsi
movq %r12, %rcx
callq 0x90ac1
movq 0x18(%r13), %rax
movl 0x10(%r13), %ecx
movq %rbx, (%rax,%rcx,8)
leal 0x1(%rcx), %eax
movl %eax, 0x10(%r13)
movl 0x20(%r12), %eax
incl %eax
movl %eax, 0x20(%r12)
cmpl $0x125, %eax            # imm = 0x125
jne 0x87cef
movq %r12, %rdi
callq 0x90815
jmp 0x87cef
movq %r14, %rsi
movq %rbx, %rdx
callq 0x81920
jmp 0x87cef
callq 0x1f1b0