Function at 0x18003ae70
Capabilities:
Allocate or change rwx memory

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
sub rsp, 0x2f8
mov byte [rsp + 0x30], 0
cmp qword [0x1800a51f0], 0
je 0x18003aea8
cmp qword [0x1800a51f8], 0
je 0x18003aea8
cmp qword [0x1800a5200], 0
jne 0x18003af50
mov edx, 1
lea rcx, [0x18007bc30]
call fcn.18004a600
mov qword [0x1800a51f0], rax
mov edx, 1
lea rcx, [0x18007bc70]
call fcn.18004a600
mov qword [0x1800a51f8], rax
mov edx, 1
lea rcx, [0x18007bc20]
call fcn.18004a600
mov qword [0x1800a5200], rax
mov edx, 1
lea rcx, [0x18007bc40]
call fcn.18004a600
mov qword [0x1800a5208], rax
mov edx, 1
lea rcx, [0x18007bc58]
call fcn.18004a600
mov qword [0x1800a5210], rax
mov edx, 1
lea rcx, [0x18007bca0]
call fcn.18004a600
mov qword [0x1800a5218], rax
mov edx, 1
lea rcx, [0x18007bc88]
call fcn.18004a600
mov qword [0x1800a5220], rax
cmp qword [0x1800a51f0], 0
je 0x18003b2dd
cmp qword [0x1800a51f8], 0
je 0x18003b2dd
cmp qword [0x1800a5200], 0
je 0x18003b2dd
mov r8, qword [0x1800a51f0]
mov rdx, qword [rsp + 0x300]
mov ecx, 0x4c3
call fcn.180041270
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x38], 0
je 0x18003b2dd
mov eax, 0xb848
mov word [rsp + 0x60], ax
mov rax, qword [0x1800a51f0]
mov qword [rsp + 0x62], rax
mov byte [rsp + 0x6a], 0x50
mov byte [rsp + 0x6b], 0x51
mov byte [rsp + 0x6c], 0x52
mov eax, 0x5041
mov word [rsp + 0x6d], ax
mov eax, 0x5141
mov word [rsp + 0x6f], ax
mov dword [rsp + 0x71], 0x28ec8348
mov eax, 0xb948
mov word [rsp + 0x75], ax
mov rax, qword [rsp + 0x38]
mov qword [rsp + 0x77], rax
mov eax, 0xba48
mov word [rsp + 0x7f], ax
mov rax, qword [rsp + 0x38]
add rax, 0x28c
mov qword [rsp + 0x81], rax
mov eax, 0xe2ff
mov word [rsp + 0x89], ax
mov dword [rsp + 0x8b], 0
mov qword [rsp + 0x8f], 0
mov rax, qword [rsp + 0x62]
mov qword [rsp + 0x97], rax
mov rcx, qword [rsp + 0x308]
call fcn.18005754c
movzx eax, ax
shl eax, 1
mov word [rsp + 0xa4], ax
movzx eax, word [rsp + 0xa4]
add eax, 2
mov word [rsp + 0xa6], ax
mov eax, 2
imul rax, rax, 0
mov rcx, qword [rsp + 0x38]
lea rax, [rcx + rax + 0x54]
mov qword [rsp + 0xac], rax
mov rdx, qword [rsp + 0x308]
lea rcx, [rsp + 0xb4]
call fcn.180057530
mov rax, qword [0x1800a51f8]
mov qword [rsp + 0x2bc], rax
mov rax, qword [0x1800a5200]
mov qword [rsp + 0x2c4], rax
mov rax, qword [0x1800a5208]
mov qword [rsp + 0x2cc], rax
mov rax, qword [0x1800a5210]
mov qword [rsp + 0x2d4], rax
mov rax, qword [0x1800a5218]
mov qword [rsp + 0x2dc], rax
mov rax, qword [0x1800a5220]
mov qword [rsp + 0x2e4], rax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x28d
lea r8, [rsp + 0x60]
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x300]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x18003b2b4
cmp qword [rsp + 0x40], 0x28d
jne 0x18003b2b4
mov rax, qword [rsp + 0x38]
add rax, 0x28c
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x20], rcx
mov r9d, 0x236
lea r8, [0x18007c3a0]
mov rdx, rax
mov rcx, qword [rsp + 0x300]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x18003b2b4
cmp qword [rsp + 0x40], 0x236
jne 0x18003b2b4
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 5
lea r8, [rsp + 0x48]
mov rdx, qword [rsp + 0x97]
mov rcx, qword [rsp + 0x300]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
test eax, eax
je 0x18003b2b4
cmp qword [rsp + 0x40], 5
jne 0x18003b2b4
mov rax, qword [rsp + 0x38]
add rax, 0x3f
lea rcx, [rsp + 0x40]
mov qword [rsp + 0x20], rcx
mov r9d, 5
lea r8, [rsp + 0x48]
mov rdx, rax
mov rcx, qword [rsp + 0x300]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x18003b2b4
cmp qword [rsp + 0x40], 5
jne 0x18003b2b4
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 0x40
mov r8d, 5
mov rdx, qword [rsp + 0x97]
mov rcx, qword [rsp + 0x300]
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
test eax, eax
je 0x18003b2b4
mov byte [rsp + 0x48], 0xe9
mov rax, qword [rsp + 0x97]
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov rax, rcx
sub rax, 5
mov dword [rsp + 0x49], eax
lea rax, [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 5
lea r8, [rsp + 0x48]
mov rdx, qword [rsp + 0x97]
mov rcx, qword [rsp + 0x300]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
lea rax, [rsp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x50]
mov r8d, 5
mov rdx, qword [rsp + 0x97]
mov rcx, qword [rsp + 0x300]
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
mov byte [rsp + 0x30], 1
lea rax, [rsp + 0x54]
mov qword [rsp + 0x20], rax
mov r9d, 0x20
mov r8d, 0x4c3
mov rdx, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x300]
call qword [sym.imp.KERNEL32.dll_VirtualProtectEx]
movzx eax, byte [rsp + 0x30]
add rsp, 0x2f8
ret