Function at 0x1400093f0
Capabilities:
Allocate or change rwx memory
Attach user process memory
Execute shellcode via indirect call

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x20], r9
mov qword [r11 + 8], rcx
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x80
mov qword [r11 - 0x48], r8
mov esi, edx
and qword [r9], 0
mov rax, qword [rsp + 0xd0]
and qword [rax], 0
and qword [r11 - 0x58], 0
and qword [r11 + 0x18], 0
xor r14d, r14d
mov r15d, dword [r8 + 0xec]
add r15d, 0xf0
lea r12, [0x1400016f1]
lea rax, [0x140001630]
sub r12d, eax
mov edi, 0xc0000023
test edx, edx
je 0x140009466
lea eax, [r12 + r15]
cmp esi, eax
jb 0x140009603
lea rax, [rsp + 0x50]
mov qword [rsp + 0x30], rax
mov byte [rsp + 0x28], r14b
and qword [rsp + 0x20], r14
mov r9d, 0x1fffff
xor r8d, r8d
mov edx, 0x200
call qword [sym.imp.ntoskrnl.exe_ObOpenObjectByPointer]
mov edi, eax
test eax, eax
js 0x140009603
lea ecx, [r12 + r15]
cmp rcx, rsi
cmovb rcx, rsi
mov qword [rsp + 0x48], rcx
mov dword [rsp + 0x28], 0x40
mov dword [rsp + 0x20], 0x1000
lea r9, [rsp + 0x48]
xor r8d, r8d
lea rdx, [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ntoskrnl.exe_ZwAllocateVirtualMemory]
mov edi, eax
test eax, eax
js 0x140009603
test esi, esi
je 0x1400094fc
mov eax, r12d
mov rsi, qword [rsp + 0x48]
sub rsi, rax
mov eax, r15d
sub rsi, rax
add rsi, qword [rsp + 0xc0]
jmp 0x140009504
mov rsi, qword [rsp + 0xc0]
mov qword [rsp + 0x58], rsi
mov r13d, r15d
add r13, rsi
mov qword [rsp + 0x70], r13
mov edi, 0xc0000001
mov edx, 0x30
mov qword [rsp + 0x48], rdx
xor ecx, ecx
mov r8d, 0x4d415043
call qword [sym.imp.ntoskrnl.exe_ExAllocatePoolWithTag]
mov r14, rax
mov qword [rsp + 0x68], rax
test rax, rax
je 0x140009603
mov rdx, rax
mov rcx, qword [rsp + 0xb0]
call qword [sym.imp.ntoskrnl.exe_KeStackAttachProcess]
nop
mov r8d, r15d
mov rdx, qword [rsp + 0x60]
mov rcx, rsi
call fcn.140001010
lea r8, [rsi + 0x80]
lea rcx, [rsi + 0xc0]
mov dword [rsp + 0x20], r15d
mov r9, rsi
xor edx, edx
call fcn.14000867c
mov edi, eax
mov dword [rsp + 0x40], eax
test eax, eax
js 0x140009603
mov r8d, r12d
lea rdx, [0x140001630]
mov rcx, r13
call fcn.140001010
jmp 0x1400095b5
test edi, edi
js 0x140009603
mov rcx, r14
call qword [sym.imp.ntoskrnl.exe_KeUnstackDetachProcess]
mov edx, 0x4d415043
mov rcx, r14
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
xor r14d, r14d
mov rax, qword [rsp + 0xc8]
mov qword [rax], rsi
mov rax, qword [rsp + 0xd0]
mov qword [rax], r13
mov rcx, qword [rsp + 0xd8]
test rcx, rcx
je 0x140009601
mov rax, qword [rsp + 0xc0]
mov qword [rcx], rax
xor edi, edi
test r14, r14
je 0x14000961f
mov rcx, r14
call qword [sym.imp.ntoskrnl.exe_KeUnstackDetachProcess]
mov edx, 0x4d415043
mov rcx, r14
call qword [sym.imp.ntoskrnl.exe_ExFreePoolWithTag]
test edi, edi
jns 0x140009652
cmp qword [rsp + 0xc0], 0
je 0x140009652
and qword [rsp + 0x48], 0
mov r9d, 0x8000
lea r8, [rsp + 0x48]
lea rdx, [rsp + 0xc0]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ntoskrnl.exe_ZwFreeVirtualMemory]
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x140009662
call qword [sym.imp.ntoskrnl.exe_ZwClose]
mov eax, edi
mov rsi, qword [rsp + 0xb8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
ret