Function at 0x40fb30
Capabilities:
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4eb71d
mov eax, dword fs:[0]
push eax
sub esp, 0x150
mov eax, dword [0x51d584]
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 0x40fbc8
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 0x40fbc3
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
jmp 0x40fd73
lea edx, [ebp - 0x13c]
push edx
push eax
call dword [sym.imp.KERNEL32.dll_Process32First]
test eax, eax
je 0x40fd28
mov edi, edi
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x118]
lea esp, [esp]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x40fc10
test dl, dl
je 0x40fc0c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x40fc10
add eax, 2
add ecx, 2
test dl, dl
jne 0x40fbf0
xor eax, eax
jmp 0x40fc15
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40fd0c
lea eax, [ebp - 0x134]
cmp eax, edi
jae 0x40fc9e
mov ecx, eax
cmp esi, ecx
ja 0x40fc9e
mov ecx, dword [ebp - 0x144]
mov ebx, eax
sub ebx, esi
sar ebx, 2
cmp edi, ecx
jne 0x40fc8d
mov eax, edi
sub eax, esi
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x40fd91
sub ecx, esi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x40fc8d
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x40fc6d
xor ecx, ecx
jmp 0x40fc6f
add ecx, edx
cmp ecx, eax
jae 0x40fc75
mov ecx, eax
push ecx
lea esi, [ebp - 0x14c]
call fcn.0041f710
mov edi, dword [ebp - 0x148]
mov esi, dword [ebp - 0x14c]
test edi, edi
je 0x40fc96
mov edx, dword [esi + ebx*4]
mov dword [edi], edx
mov ebx, dword [ebp - 0x158]
jmp 0x40fd03
mov ecx, dword [ebp - 0x144]
cmp edi, ecx
jne 0x40fcf7
mov eax, edi
sub eax, esi
sar eax, 2
cmp eax, 0x3ffffffe
ja 0x40fd91
sub ecx, esi
inc eax
sar ecx, 2
cmp eax, ecx
jbe 0x40fcf7
mov edx, ecx
shr edx, 1
mov esi, 0x3fffffff
sub esi, edx
cmp esi, ecx
jae 0x40fcd7
xor ecx, ecx
jmp 0x40fcd9
add ecx, edx
cmp ecx, eax
jae 0x40fcdf
mov ecx, eax
push ecx
lea esi, [ebp - 0x14c]
call fcn.0041f710
mov edi, dword [ebp - 0x148]
mov esi, dword [ebp - 0x14c]
test edi, edi
je 0x40fd03
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 0x40fbe0
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 0x40fd59
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 0x40fd73
push esi
call fcn.00480d64
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.004809b9
mov esp, ebp
pop ebp
ret
push str.vector_T__too_long
call fcn.004995d5
int3