Function at 0x18005f510
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 8], rbx
push rdi
sub rsp, 0x20
mov rbx, rdx
mov rdi, rcx
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov rcx, rax
call fcn.1800533f0
mov rdx, rbx
mov rcx, rdi
test eax, eax
je 0x18005c4a7
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x1800618c0
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x18005f510
mov qword [rsp + 0x18], rbx
push rsi
sub rsp, 0x30
cmp dword [rcx], 0x170
mov esi, r8d
mov rbx, rcx
jne 0x18005e92b
cmp edx, 0x170
jb 0x18005e92b
mov rcx, qword [rcx + 8]
mov edx, 0x40
lea r9, [rsp + 0x58]
mov r8d, edx
mov qword [rsp + 0x48], rdi
xor edi, edi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x18005e919
mov rcx, qword [rbx + 0x10]
lea r9, [rsp + 0x20]
lea r8d, [rdi + 0x40]
mov edx, 0x108
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x18005e900
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x18005e831
lea r9, [rsp + 0x24]
lea edx, [rdi + 4]
lea r8d, [rdi + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x18005e8e7
cmp esi, 0xffffffff
jne 0x18005e8a0
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0x24]
lea rdx, [rbx + 0x64]
mov qword [rcx], rax
mov rax, qword [rbx + 0x2c]
mov r8d, 0x108
mov qword [rcx + 8], rax
mov rax, qword [rbx + 0x34]
mov qword [rcx + 0x10], rax
mov rax, qword [rbx + 0x3c]
mov qword [rcx + 0x18], rax
mov rax, qword [rbx + 0x44]
mov qword [rcx + 0x20], rax
mov rax, qword [rbx + 0x4c]
mov qword [rcx + 0x28], rax
mov rax, qword [rbx + 0x54]
mov qword [rcx + 0x30], rax
mov rax, qword [rbx + 0x5c]
mov qword [rcx + 0x38], rax
mov rcx, qword [rbx + 0x10]
call fcn.18002a1e0
mov r11, qword [rbx + 0x18]
test r11, r11
je 0x18005e8c6
mov eax, dword [rbx + 0x16c]
mov dword [r11], eax
jmp 0x18005e8c6
test sil, 1
je 0x18005e8c6
mov rcx, qword [rbx + 0x10]
mov eax, dword [rbx + 0x14c]
mov dword [rcx + 0xe8], eax
mov rcx, qword [rbx + 0x10]
mov eax, dword [rbx + 0x150]
mov dword [rcx + 0xec], eax
mov rcx, qword [rbx + 0x18]
mov edi, 1
test rcx, rcx
je 0x18005e8e7
mov r8d, dword [rsp + 0x58]
lea r9, [rsp + 0x40]
lea edx, [rdi + 3]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rsp + 0x20]
mov rcx, qword [rbx + 0x10]
lea r9, [rsp + 0x40]
mov edx, 0x108
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rsp + 0x58]
mov rcx, qword [rbx + 8]
lea r9, [rsp + 0x40]
mov edx, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, edi
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rsi
ret
mov ecx, 0xc1
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, qword [rsp + 0x50]
xor eax, eax
add rsp, 0x30
pop rsi
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
xor ecx, ecx
mov esi, edx
call fcn.18005e3a0
mov rbx, rax
test rax, rax
je 0x18005e9b4
nop word [rax + rax]
lea r8, [rsp + 0x40]
lea rdx, [0x1800b04d0]
mov r9, rdi
mov rcx, rbx
call fcn.18005e5a0
test rax, rax
je 0x18005e9a4
mov edx, dword [rsp + 0x40]
test edx, edx
jne 0x18005e9d1
mov rcx, rbx
call fcn.18005e3a0
mov rbx, rax
test rax, rax
jne 0x18005e980
mov ecx, 0x7e
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov r8d, esi
mov rcx, rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x18005e7a0
push rdi
sub rsp, 0x20
mov rdi, rdx
test rdx, rdx
jne 0x18005f526
xor eax, eax
add rsp, 0x20
pop rdi
ret
mov rcx, rdx
mov qword [rsp + 0x30], rbx
or ebx, 0xffffffff
call fcn.18005e9f0
mov ecx, 1
test eax, eax
cmove ebx, ecx
mov rcx, rdi
mov edx, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x18005e950
mov qword [rsp + 0x18], rbx
push rsi
sub rsp, 0x30
cmp dword [rcx], 0x170
mov esi, r8d
mov rbx, rcx
jne 0x180060cdb
cmp edx, 0x170
jb 0x180060cdb
mov rcx, qword [rcx + 8]
mov edx, 0x40
lea r9, [rsp + 0x58]
mov r8d, edx
mov qword [rsp + 0x48], rdi
xor edi, edi
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x180060cc9
mov rcx, qword [rbx + 0x10]
lea r9, [rsp + 0x20]
lea r8d, [rdi + 0x40]
mov edx, 0x108
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x180060cb0
mov rcx, qword [rbx + 0x18]
test rcx, rcx
je 0x180060be1
lea r9, [rsp + 0x24]
lea edx, [rdi + 4]
lea r8d, [rdi + 0x40]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x180060c97
cmp esi, 0xffffffff
jne 0x180060c50
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0x24]
lea rdx, [rbx + 0x64]
mov qword [rcx], rax
mov rax, qword [rbx + 0x2c]
mov r8d, 0x108
mov qword [rcx + 8], rax
mov rax, qword [rbx + 0x34]
mov qword [rcx + 0x10], rax
mov rax, qword [rbx + 0x3c]
mov qword [rcx + 0x18], rax
mov rax, qword [rbx + 0x44]
mov qword [rcx + 0x20], rax
mov rax, qword [rbx + 0x4c]
mov qword [rcx + 0x28], rax
mov rax, qword [rbx + 0x54]
mov qword [rcx + 0x30], rax
mov rax, qword [rbx + 0x5c]
mov qword [rcx + 0x38], rax
mov rcx, qword [rbx + 0x10]
call fcn.18002a1e0
mov r11, qword [rbx + 0x18]
test r11, r11
je 0x180060c76
mov eax, dword [rbx + 0x16c]
mov dword [r11], eax
jmp 0x180060c76
test sil, 1
je 0x180060c76
mov rcx, qword [rbx + 0x10]
mov eax, dword [rbx + 0x14c]
mov dword [rcx + 0xe8], eax
mov rcx, qword [rbx + 0x10]
mov eax, dword [rbx + 0x150]
mov dword [rcx + 0xec], eax
mov rcx, qword [rbx + 0x18]
mov edi, 1
test rcx, rcx
je 0x180060c97
mov r8d, dword [rsp + 0x58]
lea r9, [rsp + 0x40]
lea edx, [rdi + 3]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rsp + 0x20]
mov rcx, qword [rbx + 0x10]
lea r9, [rsp + 0x40]
mov edx, 0x108
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov r8d, dword [rsp + 0x58]
mov rcx, qword [rbx + 8]
lea r9, [rsp + 0x40]
mov edx, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov eax, edi
mov rdi, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
add rsp, 0x30
pop rsi
ret
mov ecx, 0xc1
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov rbx, qword [rsp + 0x50]
xor eax, eax
add rsp, 0x30
pop rsi
ret
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
push rdi
sub rsp, 0x20
mov rdi, rcx
xor ecx, ecx
mov esi, edx
call fcn.180060790
mov rbx, rax
test rax, rax
je 0x180060d64
nop word [rax + rax]
lea r8, [rsp + 0x40]
lea rdx, [0x1800b04e8]
mov r9, rdi
mov rcx, rbx
call fcn.180060950
test rax, rax
je 0x180060d54
mov edx, dword [rsp + 0x40]
test edx, edx
jne 0x180060d81
mov rcx, rbx
call fcn.180060790
mov rbx, rax
test rax, rax
jne 0x180060d30
mov ecx, 0x7e
call qword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
ret
mov r8d, esi
mov rcx, rax
mov rbx, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
add rsp, 0x20
pop rdi
jmp 0x180060b50
push rdi
sub rsp, 0x20
mov rdi, rdx
test rdx, rdx
jne 0x1800618d6
xor eax, eax
add rsp, 0x20
pop rdi
ret
mov rcx, rdx
mov qword [rsp + 0x30], rbx
or ebx, 0xffffffff
call fcn.180060da0
mov ecx, 1
test eax, eax
cmove ebx, ecx
mov rcx, rdi
mov edx, ebx
mov rbx, qword [rsp + 0x30]
add rsp, 0x20
pop rdi
jmp 0x180060d00