Function at 0x180002390
Capabilities:
Allocate or change rwx memory
Create thread
Inject thread
Spawn thread to rwx shellcode

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
push r12
push r13
push r14
push r15
mov eax, 0x10a0
call fcn.1800038c0
sub rsp, rax
mov rax, qword [0x180006008]
xor rax, rsp
mov qword [rsp + 0x1090], rax
cmp byte [0x1800140dc], 0
lea r13, [0x180006040]
movsxd rbp, dword [0x18000607c]
mov eax, 0x148
mov r14d, 0x1fa
cmovne r14d, eax
add rbp, r13
lea ecx, [r14 + 0xd800]
add ecx, dword [rbp + 0x50]
mov r15d, ecx
call fcn.180001660
mov rcx, qword [0x1800140e8]
mov r9d, 0x3000
mov r8d, r15d
mov dword [rsp + 0x20], 0x40
mov rdx, rax
mov rsi, rax
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rcx, qword [0x1800140e8]
xor r12d, r12d
mov r9d, 0x1000
mov qword [rsp + 0x20], r12
mov r8, r13
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movzx ebx, word [rbp + 0x14]
mov edi, r12d
movzx eax, word [rbp + 6]
add rbx, rbp
cmp byte [0x1800140dc], r12b
je 0x1800024a8
cmp r12w, ax
jae 0x1800024ec
add rbx, 0x2c
nop word [rax + rax]
mov eax, dword [rbx - 4]
test eax, eax
je 0x180002498
mov r8d, dword [rbx]
mov r9d, eax
mov edx, dword [rbx - 8]
add r8, r13
mov rcx, qword [0x1800140e8]
add rdx, rsi
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movzx eax, word [rbp + 6]
inc edi
add rbx, 0x28
cmp edi, eax
jl 0x180002470
jmp 0x1800024ec
cmp r12w, ax
jae 0x180002541
add rbx, 0x2c
mov eax, dword [rbx - 4]
test eax, eax
je 0x1800024de
mov r8d, dword [rbx]
mov r9d, eax
mov edx, dword [rbx - 8]
add r8, r13
mov rcx, qword [0x1800140e8]
add rdx, rsi
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movzx eax, word [rbp + 6]
inc edi
add rbx, 0x28
cmp edi, eax
jl 0x1800024b6
cmp byte [0x1800140dc], r12b
je 0x180002541
lea rdx, [0x180004528]
lea rcx, str.KERNEL32.DLL
call fcn.180001fc0
lea rdx, [0x180004548]
mov dword [rsp + 0x40], eax
lea rcx, str.KERNELBASE.DLL
call fcn.180001fc0
mov dword [rsp + 0x44], eax
lea r8, [rsp + 0x40]
movsd xmm0, qword [rsp + 0x40]
mov r9d, 0xc
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], r12d
jmp 0x18000257f
mov rax, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
lea r8, [rsp + 0x60]
mov qword [rsp + 0x40], rax
mov r9d, 0x18
mov rax, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rsp + 0x48], rax
movups xmm0, xmmword [rsp + 0x40]
mov qword [rsp + 0x50], r12
movsd xmm1, qword [rsp + 0x50]
movaps xmmword [rsp + 0x60], xmm0
movsd qword [rsp + 0x70], xmm1
mov rcx, qword [0x1800140e8]
mov rdx, rsi
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
cmp byte [0x1800140dc], r12b
lea rax, [0x180004380]
mov rcx, qword [0x1800140e8]
lea rbp, [r15 + rsi]
lea r8, [0x180013840]
mov r9d, r14d
cmovne r8, rax
mov edi, r14d
lea rdx, [rbp - 0x1000]
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword [0x1800140e8]
lea r9, [r15 - 0x1000]
mov qword [rsp + 0x30], r12
add r9, rsi
mov dword [rsp + 0x28], r12d
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rsi
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [0x1800140dc], r12b
lea r8, [rsp + 0x80]
mov ecx, 8
mov qword [rsp + 0x20], r12
mov ebx, 0x10
cmovne ebx, ecx
add rbx, rsi
lea r9d, [rcx - 4]
mov rdx, rbx
mov rcx, qword [0x1800140e8]
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp dword [rsp + 0x80], r12d
jne 0x180002688
nop word [rax + rax]
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rcx, qword [0x1800140e8]
lea r8, [rsp + 0x80]
mov r9d, 4
mov qword [rsp + 0x20], r12
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_ReadProcessMemory]
cmp dword [rsp + 0x80], r12d
je 0x180002650
xor edx, edx
lea rcx, [rsp + 0x90]
mov r8d, 0x1000
call sub.VCRUNTIME140.dll_memset
mov rcx, qword [0x1800140e8]
lea r8, [rsp + 0x90]
mov r9d, 0x1000
mov qword [rsp + 0x20], r12
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword [0x1800140e8]
lea r8, [rsp + 0x90]
mov r9, rdi
mov qword [rsp + 0x20], r12
lea rdx, [rbp - 0x1000]
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, qword [0x1800140e8]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r13
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov edx, 0x64
mov ecx, 0x2bc
call qword [sym.imp.KERNEL32.dll_Beep]
mov al, 1
mov rcx, qword [rsp + 0x1090]
xor rcx, rsp
call fcn.180002a70
lea r11, [rsp + 0x10a0]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret