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

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rdi
push r14
lea rbp, [rsp - 8]
sub rsp, 0x108
mov rax, qword [0x180043040]
xor rax, rsp
mov qword [rbp - 0x30], rax
mov rbx, qword [rbp + 0x38]
xor r14d, r14d
mov rdi, qword [rbp + 0x30]
mov qword [rsp + 0x30], rdi
test rbx, rbx
jne 0x1800033c0
lea eax, [rbx + 0x57]
jmp 0x180003784
call qword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
cmp dword [0x1800477cc], eax
je 0x1800033d8
mov eax, 0x10dd
jmp 0x180003784
mov eax, dword [0x1800477c8]
test eax, eax
jne 0x180003784
test rdi, rdi
je 0x180003404
mov rcx, qword [rdi]
test rcx, rcx
jne 0x18000340e
mov dword [0x1800477c8], 6
mov qword [0x1800477c0], rdi
mov eax, 6
jmp 0x180003784
mov qword [rsp + 0x100], rsi
mov rdi, r14
mov qword [rsp + 0xf8], r12
mov qword [rsp + 0xf0], r13
mov qword [rsp + 0xe8], r15
mov r15, r14
call fcn.180002cd0
mov rcx, rbx
mov r12, rax
call fcn.180002cd0
mov qword [rsp + 0x28], rax
cmp rax, r12
jne 0x180003460
cmp dword [0x1800477d4], r14d
jne 0x180003755
jmp 0x180003707
mov ecx, 0x30
call fcn.18001e9ac
mov rcx, r12
mov qword [rsp + 0x38], rax
mov r15, rax
call fcn.180002af0
mov rdi, rax
test rax, rax
jne 0x18000348b
lea r14d, [rax + 8]
jmp 0x180003707
xor eax, eax
mov dword [rsp + 0x20], r14d
mov qword [rdi + 0x40], rax
mov r8, r12
mov r13, rdi
movabs r15, 0x8040000403
nop word [rax + rax]
xorps xmm0, xmm0
mov dword [rsp + 0x40], r14d
lea rax, [rbp - 0x78]
test r13, r13
movups xmmword [rsp + 0x70], xmm0
lea rcx, [rbp - 0x70]
mov qword [rsp + 0x70], rax
lea rax, [rsp + 0x40]
cmovne rcx, r13
mov qword [rsp + 0x78], rax
lea r9, [0x18004d170]
mov rbx, r8
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x78], r14
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rbp - 0x70], xmm0
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm0
movups xmmword [rbp - 0x40], xmm0
test r8, r8
jne 0x18000351b
lea ecx, [r8 + 0xd]
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r8, r14
jmp 0x18000353a
movzx edx, byte [r8]
shl rdx, 4
add rdx, r9
mov r9, r8
mov r8, rcx
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, r12d
sub rax, rbx
add rax, r8
add r13, rax
movzx eax, r13b
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 0x1800035d2
movzx ecx, byte [rbx]
cmp cl, 0xeb
je 0x1800035d2
lea eax, [rcx + 0x3e]
cmp al, 0x27
ja 0x180003590
bt r15, rax
jb 0x1800035d2
cmp cl, 0xf3
jne 0x18000363e
cmp byte [rbx + 1], 0xc3
je 0x1800035d2
cmp cl, 0x26
je 0x1800035bd
cmp cl, 0x2e
je 0x1800035bd
cmp cl, 0x36
je 0x1800035bd
cmp cl, 0x3e
je 0x1800035bd
cmp cl, 0x64
je 0x1800035bd
cmp cl, 0x65
jne 0x1800035c9
cmp byte [rbx + 1], 0xff
jne 0x1800035c9
cmp byte [rbx + 2], 0x25
je 0x1800035d2
cmp esi, 5
jb 0x1800034b0
mov r15, qword [rsp + 0x38]
cmp esi, 5
jae 0x180003600
nop dword [rax]
mov rcx, r8
call fcn.1800025b0
test eax, eax
je 0x1800036f8
cdqe
add r8, rax
mov rsi, r8
sub esi, r12d
cmp esi, 5
jb 0x1800035e0
cmp r9d, 8
ja 0x1800036f8
lea rax, [rdi + 0x1e]
cmp r13, rax
jbe 0x180003614
int3
sub r13b, dil
mov r8d, esi
lea rcx, [rdi + 0x20]
mov byte [rdi + 0x1e], r13b
mov rdx, r12
mov byte [rdi + 0x3e], sil
call fcn.18002f8b0
cmp esi, 0x19
jbe 0x180003650
mov r14d, 6
jmp 0x180003707
cmp cl, 0xff
jne 0x18000359f
cmp byte [rbx + 1], 0x25
jmp 0x1800035c7
movzx edx, byte [rdi + 0x1e]
lea rax, [rsi + r12]
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, r14
test r8, r8
je 0x18000369c
mov dl, 0xcc
call fcn.18002f4f0
mov edx, esi
lea r9, [rsp + 0x44]
mov r8d, 0x40
mov dword [rsp + 0x44], r14d
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
test eax, eax
jne 0x1800036c6
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov r14d, eax
jmp 0x180003707
mov rax, qword [rsp + 0x30]
mov qword [r15 + 0x10], rax
mov dword [r15 + 8], r14d
mov qword [r15 + 0x20], rdi
mov qword [r15 + 0x18], r12
mov eax, dword [rsp + 0x44]
mov dword [r15 + 0x28], eax
mov rax, qword [0x1800477b0]
mov qword [r15], rax
xor eax, eax
mov qword [0x1800477b0], r15
jmp 0x180003764
cmp dword [0x1800477d4], 0
mov r14d, 9
jne 0x180003713
mov dword [0x1800477c8], r14d
test rdi, rdi
je 0x180003743
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 r15, r15
je 0x180003755
mov edx, 0x30
mov rcx, r15
call fcn.18001e9f0
mov rax, qword [rsp + 0x30]
mov qword [0x1800477c0], rax
mov eax, r14d
mov r13, qword [rsp + 0xf0]
mov r12, qword [rsp + 0xf8]
mov rsi, qword [rsp + 0x100]
mov r15, qword [rsp + 0xe8]
mov rcx, qword [rbp - 0x30]
xor rcx, rsp
call fcn.18001e5f0
add rsp, 0x108
pop r14
pop rdi
pop rbx
pop rbp
ret