Function at 0x140004fd0
Capabilities:
Allocate or change rwx memory

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x28
mov rbp, rcx
mov rdi, rcx
shl rbp, 4
mov rcx, rbp
call fcn.1400026c0
mov edx, 1
mov rbx, rax
mov eax, dword [0x140031a78]
test eax, eax
je 0x140004e4b
mov eax, dword [0x140031a60]
xor edx, edx
mov esi, eax
or esi, dword [0x14005c528]
setne dl
test eax, eax
sete al
movzx eax, al
mov rsi, qword [0x140031f50]
mov dword [0x14005c528], eax
mov dword [0x140031f94], 0
test rsi, rsi
je 0x140004ed0
test rbx, rbx
je 0x140004eb8
mov ecx, dword [0x140031e94]
test edx, edx
jne 0x140004ef8
lea rax, [rbx + rbp]
mov qword [0x140031f50], rbx
mov qword [0x140031f88], rdi
mov qword [0x140031f58], rax
test ecx, ecx
jne 0x140004f78
sub rbx, 0x10
mov qword [0x140031f60], rbx
add rsp, 0x28
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov rdx, rdi
lea rcx, str.GC_Warning:_Failed_to_grow_mark_stack_to__ld_frames_n
call fcn.140003590
mov rbx, qword [0x140031f50]
jmp 0x140004e9b
test rbx, rbx
je 0x140004fa6
lea rax, [rbx + rbp]
mov qword [0x140031f50], rbx
mov qword [0x140031f88], rdi
mov qword [0x140031f58], rax
jmp 0x140004e9b
mov rax, qword [0x14005c5b0]
mov r8, qword [0x140031f88]
lea r12, [rax - 1]
mov rdx, rax
shl r8, 4
and r12, rsi
sub rdx, r12
test r12, r12
cmovne r12, rdx
cmp r12, r8
jb 0x140004f48
test ecx, ecx
je 0x140004ed9
lea rcx, str.Recycle__lu__lu_scratch_allocated_bytes_at__p_n
mov r9, rsi
xor edx, edx
call fcn.1400035a0
mov ecx, dword [0x140031e94]
jmp 0x140004e7a
mov r13, r8
neg rax
sub r13, r12
and r13, rax
test ecx, ecx
jne 0x140004f92
test r13, r13
je 0x140004f69
lea rcx, [rsi + r12]
mov rdx, r13
call fcn.140004280
mov ecx, dword [0x140031e94]
jmp 0x140004e7a
mov edx, edi
lea rcx, str.Grew_mark_stack_to__lu_frames_n
call fcn.1400035a0
mov rbx, qword [0x140031f50]
jmp 0x140004e9b
mov r9, rsi
mov edx, r13d
lea rcx, str.Recycle__lu__lu_scratch_allocated_bytes_at__p_n
call fcn.1400035a0
jmp 0x140004f58
lea rcx, str.No_space_for_mark_stack_n
call fcn.1400033d0
xor ecx, ecx
call fcn.140002260
mov ecx, 1
call sub.ucrtbase.dll_exit
nop
nop word cs:[rax + rax]
nop
push rsi
push rbx
sub rsp, 0x28
xor edx, edx
mov rax, qword [rcx]
cmp dword [rax], 0xc0000005
je 0x140004ff0
mov eax, edx
add rsp, 0x28
pop rbx
pop rsi
ret
cmp qword [rax + 0x20], 1
jne 0x140004fe3
mov r9, qword [rax + 0x28]
lea rbx, [0x140031ec0]
mov r10, qword [0x14005c5b0]
mov rdx, r9
shr rdx, 0x16
mov rax, rdx
and eax, 0x7ff
mov rax, qword [rbx + rax*8 + 0x263d0]
cmp qword [rax + 0x2010], rdx
je 0x14000504d
mov r8, qword [0x140031f78]
jmp 0x140005048
mov rax, qword [rax + 0x2018]
cmp rdx, qword [rax + 0x2010]
je 0x14000504d
cmp r8, rax
jne 0x140005038
mov rdx, r9
shr rdx, 0xc
and edx, 0x3ff
cmp qword [rax + rdx*8], 0
jne 0x140005087
mov rax, qword [0x14005c3c0]
cmp rax, 0xffffffffffffffff
je 0x140005080
add rsp, 0x28
pop rbx
pop rsi
jmp rax
xor edx, edx
jmp 0x140004fe3
cmp dword [0x140025264], 1
mov rsi, r10
mov rdx, r10
sbb eax, eax
neg rsi
and rsi, r9
and eax, 0xffffffc4
lea r9, [0x14005c5b8]
lea r8d, [rax + 0x40]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x14000511a
mov rax, qword [0x14005c5b0]
xor edx, edx
mov r8d, 1
shr rax, 0xc
je 0x140005110
nop dword [rax]
mov rcx, rsi
mov r11, r8
shr rcx, 0xc
and ecx, 0x3ffff
mov rax, rcx
shl r11, cl
shr rax, 6
add rax, 0x1c79
lock or qword [rbx + rax*8], r11
mov rax, qword [0x14005c5b0]
shr rax, 0xc
add rdx, 1
add rsi, 0x1000
cmp rdx, rax
jb 0x1400050d0
mov edx, 0xffffffff
jmp 0x140004fe3
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.un_VirtualProtect_failed:_errcode_0x_X_n
mov edx, eax
call fcn.1400035a0
lea rcx, str.un_VirtualProtect_failed
call fcn.140002260
call qword [sym.imp.KERNEL32.dll_DebugBreak]
jmp 0x1400050b7