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

Disassembly:
push rbx
push rbp
push r13
sub rsp, 0x100
mov rax, qword [0x180058040]
xor rax, rsp
mov qword [rsp + 0xd0], rax
xor ebp, ebp
mov qword [rsp + 0x38], rcx
mov rbx, rdx
mov r13, rcx
test rdx, rdx
jne 0x18000f238
lea eax, [rdx + 0x57]
jmp 0x18000f61c
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x18005888c], eax
je 0x18000f250
mov eax, 0x10dd
jmp 0x18000f61c
mov eax, dword [0x180058888]
test eax, eax
jne 0x18000f61c
test r13, r13
je 0x18000f27d
mov rcx, qword [r13]
test rcx, rcx
jne 0x18000f287
mov dword [0x180058888], 6
mov qword [0x180058898], r13
mov eax, 6
jmp 0x18000f61c
mov qword [rsp + 0x130], rsi
mov qword [rsp + 0xf8], rdi
mov rdi, rbp
mov qword [rsp + 0xf0], r12
mov qword [rsp + 0xe8], r14
mov r14, rbp
mov qword [rsp + 0xe0], r15
call fcn.18000ea40
mov rcx, rbx
mov r15, rax
call fcn.18000ea40
mov qword [rsp + 0x28], rax
cmp rax, r15
jne 0x18000f2e0
cmp dword [0x180058848], ebp
jne 0x18000f5eb
jmp 0x18000f59e
mov ecx, 0x30
call fcn.180047fa0
mov rcx, r15
mov qword [rsp + 0x30], rax
mov r14, rax
call fcn.18000e860
mov rdi, rax
test rax, rax
jne 0x18000f30a
lea ebp, [rax + 8]
jmp 0x18000f59e
xor eax, eax
mov dword [rsp + 0x20], ebp
mov qword [rdi + 0x40], rax
lea r14, [0x18005c150]
mov r8, r15
mov r12, rdi
movabs r13, 0x8040000403
nop dword [rax + rax]
xorps xmm0, xmm0
mov dword [rsp + 0x40], ebp
lea rax, [rsp + 0x88]
test r12, r12
movups xmmword [rsp + 0x70], xmm0
lea rcx, [rsp + 0x90]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x40]
cmovne rcx, r12
mov qword [rsp + 0x78], rax
mov rbx, r8
movups xmmword [rsp + 0x80], xmm0
mov qword [rsp + 0x88], rbp
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x90], xmm0
movups xmmword [rsp + 0xa0], xmm0
movups xmmword [rsp + 0xb0], xmm0
movups xmmword [rsp + 0xc0], xmm0
test r8, r8
jne 0x18000f3b3
lea ecx, [r8 + 0xd]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r8, rbp
jmp 0x18000f3d2
movzx edx, byte [r8]
mov r9, r8
shl rdx, 4
mov r8, rcx
add rdx, r14
lea rcx, [rsp + 0x50]
mov rax, qword [rdx + 8]
call rax
mov r8, rax
mov r9d, dword [rsp + 0x20]
mov esi, r8d
movsxd rax, dword [rsp + 0x40]
sub esi, r15d
sub rax, rbx
add rax, r8
add r12, rax
movzx eax, r12b
sub al, dil
shl al, 3
movzx ecx, al
xor cl, sil
and cl, 7
xor cl, al
mov byte [r9 + rdi + 0x40], cl
inc r9d
mov dword [rsp + 0x20], r9d
cmp r9d, 8
jae 0x18000f46a
movzx ecx, byte [rbx]
cmp cl, 0xeb
je 0x18000f46a
lea eax, [rcx + 0x3e]
cmp al, 0x27
ja 0x18000f428
bt r13, rax
jb 0x18000f46a
cmp cl, 0xf3
jne 0x18000f4dd
cmp byte [rbx + 1], 0xc3
je 0x18000f46a
cmp cl, 0x26
je 0x18000f455
cmp cl, 0x2e
je 0x18000f455
cmp cl, 0x36
je 0x18000f455
cmp cl, 0x3e
je 0x18000f455
cmp cl, 0x64
je 0x18000f455
cmp cl, 0x65
jne 0x18000f461
cmp byte [rbx + 1], 0xff
jne 0x18000f461
cmp byte [rbx + 2], 0x25
je 0x18000f46a
cmp esi, 5
jb 0x18000f330
mov r14, qword [rsp + 0x30]
mov r13, qword [rsp + 0x38]
cmp esi, 5
jae 0x18000f4a0
nop dword [rax]
mov rcx, r8
call fcn.18000e2e0
test eax, eax
je 0x18000f590
cdqe
add r8, rax
mov rsi, r8
sub esi, r15d
cmp esi, 5
jb 0x18000f480
cmp r9d, 8
ja 0x18000f590
lea rax, [rdi + 0x1e]
cmp r12, rax
jbe 0x18000f4b4
int3
sub r12b, dil
mov r8d, esi
lea rcx, [rdi + 0x20]
mov byte [rdi + 0x1e], r12b
mov rdx, r15
mov byte [rdi + 0x3e], sil
call sub.VCRUNTIME140.dll_memcpy
cmp esi, 0x19
jbe 0x18000f4ef
mov ebp, 6
jmp 0x18000f59e
cmp cl, 0xff
jne 0x18000f437
cmp byte [rbx + 1], 0x25
jmp 0x18000f45f
movzx edx, byte [rdi + 0x1e]
lea rax, [rsi + r15]
mov qword [rdi + 0x48], rax
add rdx, rdi
mov rax, qword [rsp + 0x28]
mov qword [rdi + 0x50], rax
mov eax, edi
lea rcx, [rdx + 6]
mov word [rdx], 0x25ff
sub eax, ecx
lea rcx, [rdx + 6]
add eax, 0x48
mov dword [rdx + 2], eax
lea rax, [rdi + 0x1e]
mov r8, rax
sub r8, rcx
cmp rcx, rax
cmova r8, rbp
test r8, r8
je 0x18000f53b
mov dl, 0xcc
call sub.VCRUNTIME140.dll_memset
mov edx, esi
lea r9, [rsp + 0x44]
mov r8d, 0x40
mov dword [rsp + 0x44], ebp
mov rcx, r15
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x18000f563
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov ebp, eax
jmp 0x18000f59e
mov dword [r14 + 8], ebp
mov qword [r14 + 0x10], r13
mov qword [r14 + 0x20], rdi
mov qword [r14 + 0x18], r15
mov eax, dword [rsp + 0x44]
mov dword [r14 + 0x28], eax
mov rax, qword [0x1800588b0]
mov qword [r14], rax
xor eax, eax
mov qword [0x1800588b0], r14
jmp 0x18000f5f4
cmp dword [0x180058848], 0
mov ebp, 9
jne 0x18000f5a9
mov dword [0x180058888], ebp
test rdi, rdi
je 0x18000f5d9
xorps xmm0, xmm0
mov r8, rdi
movups xmmword [rdi], xmm0
and r8, 0xffffffffffff0000
movups xmmword [rdi + 0x10], xmm0
movups xmmword [rdi + 0x20], xmm0
movups xmmword [rdi + 0x30], xmm0
movups xmmword [rdi + 0x40], xmm0
movups xmmword [rdi + 0x50], xmm0
mov rax, qword [r8 + 0x10]
mov qword [rdi + 0x48], rax
mov qword [r8 + 0x10], rdi
test r14, r14
je 0x18000f5eb
mov edx, 0x30
mov rcx, r14
call fcn.180047fdc
mov qword [0x180058898], r13
mov eax, ebp
mov r14, qword [rsp + 0xe8]
mov r12, qword [rsp + 0xf0]
mov rdi, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x130]
mov r15, qword [rsp + 0xe0]
mov rcx, qword [rsp + 0xd0]
xor rcx, rsp
call fcn.180047f80
add rsp, 0x100
pop r13
pop rbp
pop rbx
ret