Function at 0x14003d1b0
Capabilities:
Allocate or change rwx memory
Create thread
Execute shellcode via indirect call
Spawn thread to rwx shellcode

Disassembly:
mov r11, rsp
mov qword [r11 + 8], rbx
mov qword [r11 + 0x10], rbp
mov qword [r11 + 0x18], rsi
mov qword [r11 + 0x20], rdi
push r15
sub rsp, 0xa0
mov rax, qword [0x14004e010]
xor rax, rsp
mov qword [rsp + 0x90], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
lea r15, [rsp + 0xa8]
movabs rbp, 0xff00ff00ff00ff00
mov qword [r11 - 0x40], rbp
mov qword [r11 - 0x38], r15
mov rbx, qword [r15]
xor rbx, rbp
mov qword [r11 - 0x48], rbx
mov dword [rsp + 0x30], 0x1f4
mov dword [rsp + 0x40], 0x1f4
xor eax, eax
movups xmmword [rsp + 0x78], xmm0
mov qword [r11 - 0x28], rbp
mov qword [r11 - 0x20], r15
mov qword [r11 - 0x30], rbp
mov qword [r15], rax
xor ecx, ecx
lea rsi, [0x14003f090]
lea rdi, [0x140000000]
mov rax, qword [0x14004f3a0]
test rax, rax
je 0x14003d277
nop dword [rax]
cmp rax, rsi
je 0x14003d266
inc ecx
mov rax, qword [rdi + rcx*8 + 0x4f3a0]
test rax, rax
jne 0x14003d250
jmp 0x14003d277
mov r9, qword [rdi + rcx*8 + 0x4f080]
test r9, r9
jne 0x14003d35f
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r9, rax
test rax, rax
je 0x14003d33e
mov rax, rsi
mov rcx, r9
mov edx, 3
nop word [rax + rax]
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
lea rax, [rax + 0x80]
sub rdx, 1
jne 0x14003d2b0
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14004f6c8]
mov qword [rdi + rax*8 + 0x4f3a0], rsi
mov qword [rdi + rax*8 + 0x4f080], r9
inc rax
mov qword [0x14004f6c8], rax
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x40]
mov rcx, qword [sym.imp.KERNEL32.dll_Beep]
call r9
nop
mov rax, rbp
xor rax, rbp
mov qword [r15], rax
mov ecx, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 8
call fcn.14003fc4c
lea rcx, [0x14003c790]
mov qword [rax], rcx
mov qword [rsp + 0x40], rax
lea rcx, [rsp + 0x58]
mov qword [rsp + 0x28], rcx
mov dword [rsp + 0x20], 0
mov r9, rax
lea r8, [0x14003f290]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__beginthreadex]
mov qword [rsp + 0x50], rax
test rax, rax
je 0x14003d43b
cmp dword [rsp + 0x58], 0
jne 0x14003d3e4
mov ecx, 1
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3
movaps xmm0, xmmword [rsp + 0x50]
movdqa xmmword [rsp + 0x40], xmm0
lea rcx, [rsp + 0x40]
call qword [sym.imp.MSVCP140.dll__Thrd_detach]
test eax, eax
je 0x14003d407
mov ecx, eax
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_C_error_int_]
nop
xor rbx, rbp
mov qword [r15], rbx
mov rcx, qword [rsp + 0x90]
xor rcx, rsp
call fcn.14003f4b0
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x10]
mov rbp, qword [r11 + 0x18]
mov rsi, qword [r11 + 0x20]
mov rdi, qword [r11 + 0x28]
mov rsp, r11
pop r15
ret
mov dword [rsp + 0x58], 0
mov ecx, 6
call qword [sym.imp.MSVCP140.dll_void___cdecl_std::_Throw_Cpp_error_int_]
int3