Function at 0x7ff744ff21c8
Capabilities:
Enumerate processes

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1a0]
sub rsp, 0x2a0
and qword [rsp + 0x48], 0
xor edx, edx
mov rbx, rcx
mov dword [rsp + 0x60], 0x238
xor r13d, r13d
xor r15d, r15d
and dword [rbp + 0x1e8], r13d
lea ecx, [rdx + 2]
call qword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x7ff744ff2454
lea rdx, [rsp + 0x60]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_Process32FirstW]
test eax, eax
je 0x7ff744ff2454
lea rdx, [rsp + 0x60]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
je 0x7ff744ff244b
lea rsi, [rbx + 0x1f8]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_SetLastError]
mov r8d, dword [rsp + 0x68]
xor edx, edx
mov ecx, 0x1fffff
call qword [sym.imp.KERNEL32.dll_OpenProcess]
mov r12, rax
test rax, rax
je 0x7ff744ff242c
movsxd rcx, r15d
lea rdx, [rbp - 0x74]
imul rcx, rcx, 0x1fc
mov r8d, 0x103
add rcx, rbx
call fcn.7ff744ff98f4
mov ecx, dword [rsp + 0x68]
lea r8, [rsp + 0x48]
mov dword [rsi - 4], ecx
mov edx, 0x20008
mov rcx, r12
call qword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x7ff744ff241f
mov rcx, qword [rsp + 0x48]
lea rax, [rbp + 0x1e8]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r13
lea edx, [r9 + 1]
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
mov ebx, dword [rbp + 0x1e8]
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8d, ebx
mov edx, 8
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapAlloc]
mov r9d, dword [rbp + 0x1e8]
mov edx, 1
mov rcx, qword [rsp + 0x48]
mov r13, rax
lea rax, [rbp + 0x1e8]
mov r8, r13
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_GetTokenInformation]
xor ecx, ecx
test eax, eax
je 0x7ff744ff23f9
mov rdx, qword [r13]
lea rax, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea r9, [rbp + 0x1f8]
lea rax, [rbp + 0x1f0]
mov dword [rsp + 0x40], ecx
mov qword [rsp + 0x28], rax
xor r8d, r8d
mov qword [rsp + 0x20], rcx
mov dword [rbp + 0x1f8], ecx
mov dword [rbp + 0x1f0], ecx
call qword [sym.imp.ADVAPI32.dll_LookupAccountSidW]
mov eax, dword [rbp + 0x1f8]
xor ecx, ecx
lea edx, [rax + rax]
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ecx, dword [rbp + 0x1f0]
mov qword [rsp + 0x50], rax
lea edx, [rcx + rcx]
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov r8, qword [rsp + 0x50]
lea r9, [rbp + 0x1f8]
mov rdx, qword [r13]
mov rbx, rax
lea rax, [rsp + 0x40]
xor ecx, ecx
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x1f0]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rbx
call qword [sym.imp.ADVAPI32.dll_LookupAccountSidW]
cmp word [rbx], 0x4e
jne 0x7ff744ff23dd
cmp word [rbx + 2], 0x54
jne 0x7ff744ff23dd
cmp word [rbx + 6], 0x41
jne 0x7ff744ff23dd
mov dword [rsi], 1
jmp 0x7ff744ff23e3
mov dword [rsi], 2
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GlobalFree]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x7ff744ff23ff
mov dword [rsi], 5
call qword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov r8, r13
mov edx, 1
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_HeapFree]
mov rbx, qword [rbp + 0x1e0]
jmp 0x7ff744ff2422
and dword [rsi], 0
inc r15d
add rsi, 0x1fc
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rdx, [rsp + 0x60]
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_Process32NextW]
test eax, eax
jne 0x7ff744ff2250
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, 1
add rsp, 0x2a0
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbx
pop rbp
ret