Function at 0x45c570
Capabilities:
Enumerate processes
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x528bf1
mov eax, dword fs:[0]
push eax
sub esp, 0x698
mov eax, dword [0x576644]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
call fcn.004185b0
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 0x678], eax
cmp eax, 0xffffffff
je 0x45c7bd
lea eax, [ebp - 0x678]
mov dword [ebp - fcn.0045e900], vtable.std::_Func_impl_no_alloc_class__lambda_bd4f1454de7d123ef5d3d4a7413359f8___void___.0
mov dword [ebp - 0x6a0], eax
lea eax, [ebp - 0x6a4]
mov dword [ebp - 0x680], eax
lea eax, [ebp - 0x448]
mov dword [ebp - 4], 0
mov dword [ebp - 0x67c], eax
mov dword [ebp - 0x424], 0
push eax
lea ecx, [ebp - 0x6a4]
mov byte [ebp - 4], 1
call fcn.0045e900
mov ecx, dword [ebp - 0x680]
mov dword [ebp - 0x424], eax
test ecx, ecx
je 0x45c63a
mov edx, dword [ecx]
lea eax, [ebp - 0x6a4]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov dword [ebp - 0x680], 0
push 0x228
lea eax, [ebp - 0x670]
mov dword [ebp - 4], 2
push 0
push eax
mov dword [ebp - 0x674], 0x22c
call fcn.004ca680
add esp, 0xc
lea eax, [ebp - 0x674]
push eax
push dword [ebp - 0x678]
call sub.KERNEL32.dll_Process32FirstW
test eax, eax
je 0x45c789
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.004ca680
push 0x208
lea eax, [ebp - 0x420]
push 0
push eax
call fcn.004ca680
mov esi, dword [esi + 8]
lea ecx, [ebp - 0x218]
mov eax, ecx
add esp, 0x18
mov edx, 0x104
sub esi, eax
lea eax, [edx + 0x7ffffefa]
test eax, eax
je 0x45c6d4
movzx eax, word [esi + ecx]
test ax, ax
je 0x45c6d4
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x45c6b6
lea eax, [ecx - 2]
test edx, edx
push str..UtilsHaloHp.dll
cmovne eax, ecx
xor ecx, ecx
mov word [eax], cx
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
push 0x104
lea eax, [ebp - 0x420]
push eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_GetShortPathNameW]
mov edi, dword [sym.imp.KERNEL32.dll_TerminateProcess]
mov ebx, dword [sym.imp.KERNEL32.dll_CloseHandle]
nop dword [eax + eax]
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x66c]
call fcn.00419590
add esp, 8
test eax, eax
jne 0x45c752
lea eax, [ebp - 0x420]
push eax
push dword [ebp - 0x66c]
call fcn.00419590
add esp, 8
test eax, eax
je 0x45c773
push dword [ebp - 0x66c]
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov esi, eax
test esi, esi
je 0x45c773
push 0xffffffffffffffff
push esi
call edi
push esi
call ebx
lea eax, [ebp - 0x674]
push eax
push dword [ebp - 0x678]
call sub.KERNEL32.dll_Process32NextW
test eax, eax
jne 0x45c720
mov ecx, dword [ebp - 0x424]
mov dword [ebp - 4], 3
test ecx, ecx
je 0x45c7d9
mov eax, dword [ecx]
call dword [eax + 8]
mov ecx, dword [ebp - 0x424]
test ecx, ecx
je 0x45c7bd
mov edx, dword [ecx]
lea eax, [ebp - 0x448]
cmp ecx, eax
setne al
movzx eax, al
push eax
call dword [edx + 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004a7695
mov esp, ebp
pop ebp
ret
call fcn.0046a02d
int3