Function at 0x140009c40
Capabilities:
Create process on windows
Enumerate processes
Resume thread

Disassembly:
push rbx
push rsi
push rdi
push r12
sub rsp, 0x358
movdqa xmmword [rsp + 0x60], xmm6
mov rbx, rcx
mov rsi, rdx
call fcn.140002fd0
test eax, eax
je 0x140009cd6
mov qword [rsp + 0x340], 0
mov qword [rsp + 0x338], 0
lea rdi, [rsp + 0x78]
xor eax, eax
mov ecx, 0x238
rep stosb byte [rdi], al
mov dword [rsp + 0x78], 0x238
mov ecx, 2
xor edx, edx
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov rdi, rax
mov rcx, rdi
lea rdx, [rsp + 0x78]
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
je 0x140009cf8
lea rdx, [rsp + 0xa4]
lea r8, str.smss.exe
xor ecx, ecx
mov ax, word [rdx + rcx]
cmp ax, word [r8 + rcx]
jne 0x140009d24
add rcx, 2
test ax, ax
jne 0x140009cc0
jmp 0x140009d37
mov rcx, rbx
lea rdx, [0x140019dd6]
lea r8, str.Error
mov r9d, 0x10
call qword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x14000a002
xor r12, r12
jmp 0x140009d4f
lea rdx, [rsp + 0xa4]
lea r8, str.smss.exe
xor ecx, ecx
mov ax, word [rdx + rcx]
cmp ax, word [r8 + rcx]
jne 0x140009d24
add rcx, 2
test ax, ax
jne 0x140009d0e
jmp 0x140009d37
mov rcx, rdi
lea rdx, [rsp + 0x78]
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x140009cfd
jmp 0x140009cf8
mov r8d, dword [rsp + 0x80]
mov ecx, 0x1000
xor edx, edx
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r12, rax
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, r12
mov edx, 2
lea r8, [rsp + 0x340]
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140009edd
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rax, [rsp + 0x338]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x340]
mov edx, 0x2000000
xor r8, r8
mov r9d, 2
call qword [sym.imp.ADVAPI32.dll_DuplicateTokenEx]
test eax, eax
je 0x14000a006
mov rcx, qword [rsp + 0x340]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
call qword [sym.imp.KERNEL32.dll_WTSGetActiveConsoleSessionId]
mov dword [rsp + 0x34c], eax
mov rcx, qword [rsp + 0x338]
mov edx, 0xc
lea r8, [rsp + 0x34c]
mov r9d, 4
call qword [sym.imp.ADVAPI32.dll_SetTokenInformation]
test eax, eax
je 0x140009eca
mov qword [rsp + 0x330], 0
lea rdi, [rsp + 0x2b0]
xor eax, eax
mov ecx, 0x68
rep stosb byte [rdi], al
mov dword [rsp + 0x2b0], 0x68
xorps xmm6, xmm6
movups xmmword [rsp + 0x318], xmm6
mov qword [rsp + 0x328], 0
lea rcx, [rsp + 0x330]
mov rdx, qword [rsp + 0x338]
xor r8d, r8d
call qword [sym.imp.USERENV.dll_CreateEnvironmentBlock]
lea rax, [rsp + 0x318]
mov qword [rsp + 0x50], rax
lea rax, [rsp + 0x2b0]
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], 0
mov rax, qword [rsp + 0x330]
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0x404
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x338]
lea rdx, str.SystemResearch.exe
xor r8, r8
xor r9, r9
call qword [sym.imp.ADVAPI32.dll_CreateProcessAsUserW]
test eax, eax
jne 0x140009eeb
mov rcx, qword [rsp + 0x330]
call qword [sym.imp.USERENV.dll_DestroyEnvironmentBlock]
mov rcx, qword [rsp + 0x338]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000a002
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000a002
mov rcx, qword [rsp + 0x330]
call qword [sym.imp.USERENV.dll_DestroyEnvironmentBlock]
mov rcx, qword [rsp + 0x338]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x318]
mov edx, 0x20
lea r8, [rsp + 0x340]
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x140009fe6
movups xmmword [rsp + 0x2a0], xmm6
mov dword [rsp + 0x2a0], 1
mov dword [rsp + 0x2ac], 0
xor ecx, ecx
lea rdx, str.SeCreateTokenPrivilege
lea r8, [rsp + 0x2a4]
call qword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
test eax, eax
je 0x14000a006
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov rcx, qword [rsp + 0x340]
xor edx, edx
lea r8, [rsp + 0x2a0]
mov r9d, 0x10
call qword [sym.imp.ADVAPI32.dll_AdjustTokenPrivileges]
test eax, eax
je 0x14000a006
mov rcx, qword [rsp + 0x340]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x320]
call qword [sym.imp.KERNEL32.dll_ResumeThread]
mov rcx, qword [rsp + 0x320]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x318]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rdx, rsi
mov rcx, rbx
call qword [sym.imp.USER32.dll_EndDialog]
mov eax, 1
jmp 0x14000a016
mov rcx, qword [rsp + 0x320]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rsp + 0x318]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
jmp 0x14000a016
mov rcx, qword [rsp + 0x340]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x14000a002
movdqa xmm6, xmmword [rsp + 0x60]
add rsp, 0x358
pop r12
pop rdi
pop rsi
pop rbx
ret