Function at 0x40fac0
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ec39d
mov eax, dword fs:[0]
push eax
sub esp, 0x150
mov eax, dword [0x51e584]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor esi, esi
mov dword [ebp - 0x154], esi
mov ebx, ecx
xor edi, edi
mov dword [ebp - 0x158], ebx
mov dword [ebp - 0x14c], esi
mov dword [ebp - 0x148], edi
mov dword [ebp - 0x144], esi
push esi
mov dword [ebp - 4], 1
push 2
mov dword [ebp - 0x13c], 0x128
call dword [sym.imp.KERNEL32.dll_CreateToolhelp32Snapshot]
mov dword [ebp - 0x150], eax
cmp eax, 0xffffffff
jne 0x40fb58
xor eax, eax
lea ecx, [ebp - 0x14c]
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
cmp ebx, ecx
je 0x40fb53
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
jmp 0x40fd03
lea edx, [ebp - 0x13c]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x40fcb8
mov edi, edi
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x118]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40fba0
test dl, dl
je 0x40fb9c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40fba0
add eax, 2
add ecx, 2
test dl, dl
jne 0x40fb80
xor eax, eax
jmp 0x40fba5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40fc9c
lea eax, [ebp - 0x134]
cmp eax, edi
jae 0x40fc2e
mov ecx, eax
cmp esi, ecx
ja 0x40fc2e
mov ecx, dword [ebp - 0x144]
mov ebx, eax
sub ebx, esi
sar ebx, 2
cmp edi, ecx
jne 0x40fc1d
mov eax, edi
sub eax, esi
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x40fd21
sub ecx, esi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x40fc1d
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x40fbfd
xor ecx, ecx
jmp 0x40fbff
add ecx, edx
cmp ecx, eax
jae 0x40fc05
mov ecx, eax
push ecx
lea esi, [ebp - 0x14c]
call fcn.0041fda0
mov edi, dword [ebp - 0x148]
mov esi, dword [ebp - 0x14c]
test edi, edi
je 0x40fc26
mov edx, dword [esi + ebx*4]
mov dword [edi], edx
mov ebx, dword [ebp - 0x158]
jmp 0x40fc93
mov ecx, dword [ebp - 0x144]
cmp edi, ecx
jne 0x40fc87
mov eax, edi
sub eax, esi
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x40fd21
sub ecx, esi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x40fc87
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x40fc67
xor ecx, ecx
jmp 0x40fc69
add ecx, edx
cmp ecx, eax
jae 0x40fc6f
mov ecx, eax
push ecx
lea esi, [ebp - 0x14c]
call fcn.0041fda0
mov edi, dword [ebp - 0x148]
mov esi, dword [ebp - 0x14c]
test edi, edi
je 0x40fc93
mov eax, dword [ebp - 0x134]
mov dword [edi], eax
add edi, 4
mov dword [ebp - 0x148], edi
mov edx, dword [ebp - 0x150]
lea ecx, [ebp - 0x13c]
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_Process32Next]
test eax, eax
jne 0x40fb70
mov eax, dword [ebp - 0x150]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
xor eax, eax
lea ecx, [ebp - 0x14c]
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
cmp ebx, ecx
je 0x40fce9
mov edx, dword [ebp - 0x144]
mov dword [ebx], esi
mov dword [ebx + 4], edi
mov dword [ebx + 8], edx
xor esi, esi
mov dword [ebp - 0x154], 1
mov byte [ebp - 4], al
cmp esi, eax
je 0x40fd03
push esi
call fcn.00481974
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004815c9
mov esp, ebp
pop ebp
ret
push str.vector_T__too_long
call fcn.0049a295
int3