Function at 0x140001ac0
Capabilities:
Create process on windows
Enumerate processes
Query service status
Start service

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x340
mov rax, qword [section..data]
xor rax, rsp
mov qword [rsp + 0x330], rax
mov r12, rdx
mov r15, rcx
xor edx, edx
lea rcx, [rsp + 0xf4]
mov r8d, 0x234
xor r14d, r14d
call sub.VCRUNTIME140.dll_memset
xor edx, edx
mov ecx, 2
mov edi, r14d
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140001d16
lea rdx, [rsp + 0xf0]
mov dword [rsp + 0xf0], 0x238
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x140001b87
nop word [rax + rax]
lea rdx, [rsp + 0x11c]
lea rcx, str.winlogon.exe
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__wcsicmp]
test eax, eax
je 0x140001b80
lea rdx, [rsp + 0xf0]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x140001b50
jmp 0x140001b87
mov edi, dword [rsp + 0xf8]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
je 0x140001d16
mov ecx, edi
call fcn.1400019e0
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140001d16
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_ImpersonateLoggedOnUser]
mov rcx, rdi
mov ebx, eax
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test ebx, ebx
je 0x140001d16
xor edx, edx
xor ecx, ecx
mov r8d, 1
mov ebx, 0x32
mov esi, r14d
call qword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov rbp, rax
test rax, rax
je 0x140001d16
mov r8d, 0x14
lea rdx, str.TrustedInstaller
mov rcx, rax
call qword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov rdi, rax
test rax, rax
je 0x140001c83
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x58], xmm0
mov dword [rsp + 0x78], eax
movups xmmword [rsp + 0x68], xmm0
nop dword [rax]
lea rax, [rsp + 0x50]
mov r9d, 0x24
lea r8, [rsp + 0x58]
mov qword [rsp + 0x20], rax
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_QueryServiceStatusEx]
test eax, eax
je 0x140001c64
mov eax, dword [rsp + 0x5c]
cmp eax, 4
je 0x140001c76
cmp eax, 1
jne 0x140001c64
xor r8d, r8d
xor edx, edx
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
je 0x140001c7a
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
add ebx, 0xffffffff
jne 0x140001c20
jmp 0x140001c7a
mov esi, dword [rsp + 0x74]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov rcx, rbp
call qword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
test esi, esi
je 0x140001d16
mov ecx, esi
call fcn.1400019e0
mov rbx, rax
cmp rax, 0xffffffffffffffff
je 0x140001d08
lea rcx, [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_GetStartupInfoW]
cmp qword [r12 + 0x18], 7
jbe 0x140001cbe
mov r12, qword [r12]
cmp qword [r15 + 0x18], 7
jbe 0x140001cc8
mov r15, qword [r15]
lea rax, [rsp + 0x58]
mov r9, r12
mov qword [rsp + 0x40], rax
mov r8, r15
lea rax, [rsp + 0x80]
mov edx, 1
mov qword [rsp + 0x38], rax
mov rcx, rbx
mov qword [rsp + 0x30], r14
mov qword [rsp + 0x28], r14
mov dword [rsp + 0x20], 0x400
call qword [sym.imp.ADVAPI32.dll_CreateProcessWithTokenW]
mov r14d, eax
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, r14d
jmp 0x140001d18
xor eax, eax
mov rcx, qword [rsp + 0x330]
xor rcx, rsp
call fcn.140002aa0
lea r11, [rsp + 0x340]
mov rbx, qword [r11 + 0x40]
mov rbp, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret