Function at 0x18005f8c0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call

Disassembly:
push rbp
push r14
push rsi
push rdi
push rbx
sub rsp, 0x70
lea rbp, [rsp + 0x70]
mov qword [rbp - 8], 0xfffffffffffffffe
mov rdi, rcx
mov rcx, qword [rcx + 0xc0]
mov rax, qword [rdi + 0xc8]
mov rbx, qword [rdi + 0xd0]
add rcx, rbx
add rcx, 0x20
cmp rax, rcx
ja 0x18005fb04
mov r14, r9
movaps xmm0, xmmword [0x1801a6de0]
movups xmmword [rax + 0x10], xmm0
movaps xmm0, xmmword [0x1801a6dd0]
movups xmmword [rax], xmm0
lea rsi, [0x1801a60b0]
mov qword [rbp - 0x50], rsi
mov qword [rbp - 0x48], rdx
mov qword [rbp - 0x40], r8
lea rax, [rbp - 0x50]
mov qword [rbp - 0x18], rax
mov ecx, 0x40
call fcn.1800c38b8
movzx ebx, byte [rbp + 0x58]
mov r8, qword [rbp + 0x50]
lea rcx, [rbp - 0x48]
mov qword [rax], rsi
movups xmm0, xmmword [rcx]
movups xmmword [rax + 8], xmm0
mov qword [rax + 0x38], rax
mov rcx, qword [rdi + 0xc8]
mov qword [rcx + 2], rax
mov rax, qword [rdi + 0xc8]
lea rcx, [0x180068dc0]
mov qword [rax + 0x11], rcx
test r8, r8
je 0x18005fa11
test bl, bl
je 0x18005fab3
movsxd rax, dword [r14 + 1]
add rax, r14
add rax, 5
mov qword [r8], rax
mov rdx, qword [rdi + 0xc0]
mov rax, qword [rdi + 0xc8]
lea rcx, [rax + 0x20]
mov qword [rdi + 0xc8], rcx
mov rbx, qword [rdi + 0xd0]
add rdx, rbx
add rdx, 0x10
cmp rcx, rdx
ja 0x18005fb36
movaps xmm0, xmmword [0x1801a5dd0]
movups xmmword [rcx], xmm0
mov rcx, qword [rdi + 0xc8]
mov qword [rcx + 2], rax
mov rsi, qword [rdi + 0xc8]
mov dword [rbp - 0xc], 0
lea r9, [rbp - 0xc]
mov edx, 8
mov rcx, r14
mov r8d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x18005faae
sub esi, r14d
add esi, 0xfffffffb
mov byte [r14], 0xe8
jmp 0x18005fa8c
mov rdx, qword [rdi + 0xc0]
mov rax, qword [rdi + 0xc8]
lea rcx, [rax + 0x20]
mov qword [rdi + 0xc8], rcx
mov rsi, qword [rdi + 0xd0]
add rdx, rsi
add rdx, 0x10
cmp rcx, rdx
ja 0x18005fb1d
movaps xmm0, xmmword [0x1801a5dd0]
movups xmmword [rcx], xmm0
mov rcx, qword [rdi + 0xc8]
mov qword [rcx + 2], rax
mov rsi, qword [rdi + 0xc8]
mov dword [rbp - 0xc], 0
lea r9, [rbp - 0xc]
mov edx, 8
mov rcx, r14
mov r8d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
je 0x18005faae
sub esi, r14d
add esi, 0xfffffffb
xor bl, 0xe9
mov byte [r14], bl
mov dword [r14 + 1], esi
add qword [rdi + 0xc8], 0x10
mov r8d, dword [rbp - 0xc]
lea r9, [rbp - 0xc]
mov edx, 8
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
mov sil, 1
jmp 0x18005fad4
mov rdx, qword [rdi + 0xc8]
mov rcx, r14
call fcn.1800af6c0
test eax, eax
jne 0x18005fad2
mov rcx, r14
call fcn.1800b2350
test eax, eax
je 0x18005fafa
xor esi, esi
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x18005faed
lea rax, [rbp - 0x50]
cmp rcx, rax
setne dl
mov rax, qword [rcx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_32]
mov eax, esi
add rsp, 0x70
pop rbx
pop rdi
pop rsi
pop r14
pop rbp
ret
add qword [rdi + 0xc8], 0x20
jmp 0x18005faae
lea rcx, str.out_of_memory
lea rdx, str.erschookshooks.cpp
mov r8d, 0x3cc
call fcn.18001d370
lea rcx, str.out_of_memory
lea rdx, str.erschookshooks.cpp
mov r8d, 0x43c
call fcn.18001d370
lea rcx, str.out_of_memory
lea rdx, str.erschookshooks.cpp
mov r8d, 0x43c
call fcn.18001d370
int3