// File: /workspace/github_c_makefile_star2_O1/erikdubbelboer[P]discnt/deps/jemalloc/src/jemalloc.c
// Function: malloc_init_hard
static bool
malloc_init_hard(void)
{

#if defined(_WIN32) && _WIN32_WINNT < 0x0600
	_init_init_lock();
#endif
	malloc_mutex_lock(&init_lock);
	if (!malloc_init_hard_needed()) {
		malloc_mutex_unlock(&init_lock);
		return (false);
	}

	if (malloc_init_state != malloc_init_a0_initialized &&
	    malloc_init_hard_a0_locked()) {
		malloc_mutex_unlock(&init_lock);
		return (true);
	}
	if (malloc_tsd_boot0()) {
		malloc_mutex_unlock(&init_lock);
		return (true);
	}
	if (config_prof && prof_boot2()) {
		malloc_mutex_unlock(&init_lock);
		return (true);
	}

	malloc_init_hard_recursible();

	if (malloc_init_hard_finish()) {
		malloc_mutex_unlock(&init_lock);
		return (true);
	}

	malloc_mutex_unlock(&init_lock);
	malloc_tsd_boot1();
	return (false);
}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
leaq 0x35739(%rip), %rdi     # 0x6eff0
callq 0x12960
movl 0x35726(%rip), %ebp     # 0x6efe8
testl %ebp, %ebp
je 0x39a81
movq 0x49ed7(%rip), %rbx     # 0x837a8
callq 0x12750
cmpq %rax, %rbx
sete %cl
cmpl $0x1, %ebp
sete %dl
testb %cl, %dl
jne 0x39a81
cmpq %rax, %rbx
sete %al
testq %rbx, %rbx
sete %cl
orb %al, %cl
je 0x39a5f
cmpl $0x2, 0x356e3(%rip)     # 0x6efe8
je 0x39914
callq 0x38ca3
testb %al, %al
jne 0x39a96
callq 0x5068b
testb %al, %al
jne 0x39a96
movl $0x1, %ebx
movl %ebx, 0x356bc(%rip)     # 0x6efe8
leaq 0x356bd(%rip), %rdi     # 0x6eff0
callq 0x125c0
movl $0x54, %edi
callq 0x127a0
cmpq $-0x1, %rax
cmovel %ebx, %eax
movl %eax, 0x49e51(%rip)     # 0x837a0
leaq -0xdcd(%rip), %rdi      # 0x38b89
leaq -0xd84(%rip), %rsi      # 0x38bd9
leaq -0xd3b(%rip), %rdx      # 0x38c29
callq 0x51e90
testl %eax, %eax
je 0x39986
leaq 0x201ed(%rip), %rdi     # 0x59b61
callq 0x4f37c
cmpb $0x1, 0x49db0(%rip)     # 0x83730
je 0x39aa6
leaq 0x35663(%rip), %rdi     # 0x6eff0
callq 0x12960
callq 0x48eb7
testb %al, %al
jne 0x39a96
cmpq $0x0, 0x49da1(%rip)     # 0x83748
jne 0x399c8
movl 0x49df1(%rip), %eax     # 0x837a0
leal (,%rax,4), %ecx
cmpl $0x2, %eax
movl $0x1, %eax
cmovael %ecx, %eax
movq %rax, 0x49d80(%rip)     # 0x83748
movq 0x49d79(%rip), %rax     # 0x83748
movl %eax, %ecx
movl %eax, 0x49db9(%rip)     # 0x83790
leaq 0x4acba(%rip), %rax     # 0x84698
movq (%rax), %rsi
shrq $0x3, %rsi
cmpq %rsi, %rcx
jbe 0x399fe
movl %esi, 0x49da0(%rip)     # 0x83790
leaq 0x20191(%rip), %rdi     # 0x59b88
xorl %eax, %eax
callq 0x504e1
movl 0x49d8c(%rip), %edi     # 0x83790
movl %edi, 0x49d76(%rip)     # 0x83780
shlq $0x3, %rdi
callq 0x3fe04
movq %rax, 0x49d6e(%rip)     # 0x83788
testq %rax, %rax
je 0x39a96
movq %rax, %r14
movl 0x49d58(%rip), %edx     # 0x83780
shlq $0x3, %rdx
xorl %ebx, %ebx
movq %rax, %rdi
xorl %esi, %esi
callq 0x12380
movq 0x49d11(%rip), %rax     # 0x83750
movq %rax, (%r14)
movl $0x0, 0x3559c(%rip)     # 0x6efe8
leaq 0x3559d(%rip), %rdi     # 0x6eff0
callq 0x125c0
callq 0x5072d
jmp 0x39a8f
leaq 0x3558a(%rip), %rbx     # 0x6eff0
movq %rbx, %rdi
callq 0x125c0
pause
movq %rbx, %rdi
callq 0x12960
cmpl $0x0, 0x35569(%rip)     # 0x6efe8
jne 0x39a66
leaq 0x35568(%rip), %rdi     # 0x6eff0
callq 0x125c0
xorl %ebx, %ebx
movl %ebx, %eax
popq %rbx
popq %r14
popq %rbp
retq
leaq 0x35553(%rip), %rdi     # 0x6eff0
callq 0x125c0
movb $0x1, %bl
jmp 0x39a8f
callq 0x120c0
nop