Function at 0x40e890
Capabilities:
Enumerate processes

Disassembly:
sub esp, 0x9c4
mov eax, dword [0x45d320]
push ebx
push ebp
push esi
push edi
push 0
push 2
mov dword [esp + 0x9d8], eax
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov ecx, dword [0x45b9b4]
mov ebx, dword [0x45b9c8]
mov edi, eax
imul ebx, ebx, 0xde7fc
mov esi, dword [0x45b9ac]
mov eax, 0x92ea28a3
imul ecx
add edx, ecx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0x6352a551
imul esi
sar edx, 0x12
mov ebp, edx
add ebx, edx
mov eax, 0x6352a551
imul ecx
sar edx, 0x12
shr ebp, 0x1f
mov ecx, edx
add ebp, ebx
add ebp, edx
mov edx, dword [0x45b9c0]
imul edx, edx, 0x6a5ba
shr ecx, 0x1f
add ecx, ebp
add ecx, edx
mov eax, 0x9dbc161
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov dword [str._r_____r____], ecx
lea ecx, [esp + 0xa8]
push ecx
push edi
mov dword [esp + 0x28], edi
mov dword [esp + 0xb0], 0x128
mov dword [esp + 0x24], 0
call sub.KERNEL32.dll_Process32First
test eax, eax
jne 0x40e96e
pop edi
pop esi
pop ebp
or eax, 0xffffffff
pop ebx
mov ecx, dword [esp + 0x9c0]
call fcn.0042ec21
add esp, 0x9c4
ret
mov ecx, dword [0x45b9ac]
mov edi, dword [0x45b9c8]
mov eax, 0x93a3ffdd
imul ecx
add edx, ecx
sar edx, 0x12
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0x6352a551
imul edi
sar edx, 0x12
mov esi, edx
add ecx, edx
shr esi, 0x1f
add esi, ecx
mov ecx, dword [str._r_____r____]
mov eax, 0x6352a551
imul ecx
sar edx, 0x12
add esi, edx
mov ebp, edx
mov edx, dword [0x45b9c0]
imul edx, edx, 0x6a5ba
shr ebp, 0x1f
add ebp, esi
add ebp, edx
sub ebp, ecx
add ebp, 0x3e2f3
mov dword [0x45b9ac], ebp
xor eax, eax
jmp 0x40e9e0
mov dl, byte [esp + eax + 0xcc]
mov byte [esp + eax + 0x1d0], dl
inc eax
test dl, dl
jne 0x40e9e0
mov esi, dword [0x45b9bc]
imul ecx, ecx, 0xa4f50
imul edi, edi, 0x6f3fe
mov eax, 0x93a3ffdd
imul esi
add edx, esi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov esi, eax
mov ebx, dword [0x45b9b8]
mov eax, 0x6352a551
imul dword [0x45b9c4]
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub eax, esi
add eax, ecx
mov ecx, dword [0x45b9a8]
mov edx, ecx
imul edx, edx, 0x6a5ba
mov esi, ebx
imul esi, esi, 0xc0c12
add edx, edi
add edx, eax
mov eax, dword [0x45b9c0]
add esi, edx
lea edx, [esi + eax - 0x53d95]
mov eax, dword [esp + 0x9d8]
mov dword [0x45b9b4], edx
mov dword [esp + 0x14], eax
lea esi, [esp + 0x1d0]
lea esp, [esp]
mov dl, byte [esi]
mov eax, dword [esp + 0x14]
mov byte [esp + 0x13], dl
cmp dl, byte [eax]
jne 0x40eabc
mov al, dl
test al, al
je 0x40eab8
mov dl, byte [esi + 1]
mov eax, dword [esp + 0x14]
mov byte [esp + 0x13], dl
cmp dl, byte [eax + 1]
jne 0x40eabc
mov edx, eax
mov al, byte [esp + 0x13]
add edx, 2
add esi, 2
test al, al
mov dword [esp + 0x14], edx
jne 0x40ea80
xor eax, eax
jmp 0x40eac1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40eb4a
mov esi, dword [0x45b9b0]
mov eax, 0x92ea28a3
imul esi
add edx, esi
imul esi, esi, 0x67dee
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
mov eax, dword [0x45b9c0]
imul eax, eax, 0x85399
add edx, eax
mov dword [esp + 0x18], edx
mov eax, 0x6352a551
imul ebx
mov eax, dword [esp + 0x18]
sar edx, 0x12
add eax, edx
mov ebx, edx
shr ebx, 0x1f
add ebx, eax
mov eax, dword [0x45b9bc]
imul eax, eax, 0x53d95
add ebx, eax
mov eax, 0x2a7feb
imul ebp
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
add ebx, edi
add esi, ebx
mov ebx, dword [0x45b9b8]
mov dword [0x45b9bc], esi
mov dword [esp + 0x1c], 1
mov esi, dword [0x45b9c4]
imul ecx, ecx, 0x6ef8e
mov eax, 0x92ea28a3
imul esi
add edx, esi
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov edx, ebx
imul edx, edx, 0xa4f50
add ecx, edx
mov eax, 0x6352a551
imul ebx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x6352a551
imul dword [0x45b9b4]
sar edx, 0x12
add ecx, edx
mov esi, edx
mov eax, 0x9dbc161
imul ebx
mov eax, dword [esp + 0x20]
shr esi, 0x1f
add esi, ecx
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea edx, [esp + 0xa8]
sub esi, ecx
push edx
add esi, edi
push eax
mov dword [0x45b9c4], esi
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x40ed97
mov eax, dword [esp + 0x1c]
shl eax, 6
lea ecx, [esp + eax + 0x1d0]
lea edx, [esp + 0xcc]
sub eax, edx
lea eax, [esp + eax + 0x1d0]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
lea ebx, [ebx]
mov ebx, dword [0x45b9b0]
mov esi, dword [0x45b9a8]
mov eax, 0xf5f5c9f5
imul ebx
add edx, ebx
sar edx, 0x13
mov ecx, edx
mov ebp, dword [0x45b9c4]
shr ecx, 0x1f
add ecx, edx
mov eax, 0x6352a551
imul esi
imul esi, esi, 0x53d95
sar edx, 0x12
add ecx, edx
mov eax, edx
shr eax, 0x1f
add eax, ecx
mov dword [esp + 0x24], eax
mov eax, 0x61b317a1
imul ebp
mov eax, dword [esp + 0x24]
sar edx, 0x11
add eax, edx
mov edi, dword [0x45b9c8]
mov ecx, edx
imul edi, edi, 0x6f3fe
shr ecx, 0x1f
add ecx, eax
mov eax, 0x2a7feb
imul ebp
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45b9c0]
imul edx, edx, 0x67dee
add ecx, esi
sub ecx, eax
sub ecx, edx
add ecx, edi
mov dword [0x45b9a8], ecx
lea eax, [esp + 0xcc]
mov dl, byte [eax]
mov esi, dword [esp + 0x18]
mov byte [esi + eax], dl
inc eax
test dl, dl
jne 0x40ec97
mov ebp, dword [esp + 0x9d8]
mov esi, dword [esp + 0x14]
mov dl, byte [esi]
mov al, dl
cmp dl, byte [ebp]
jne 0x40ecd5
test al, al
je 0x40ecd1
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [ebp + 1]
jne 0x40ecd5
add esi, 2
add ebp, 2
test al, al
jne 0x40ecb0
xor eax, eax
jmp 0x40ecda
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40ed7d
mov esi, dword [0x45b9bc]
imul ecx, ecx, 0xc0c12
mov eax, 0x92ea28a3
imul esi
add edx, esi
mov esi, dword [str._r_____r____]
sar edx, 0x12
imul esi, esi, 0x6f854
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x10779897
imul ebx
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov ebx, dword [0x45b9c4]
mov eax, 0x6352a551
imul dword [0x45b9c8]
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add esi, edx
mov edx, dword [esp + 0xb0]
add eax, esi
add eax, ecx
sub eax, ebx
lea ecx, [eax + edi - 0x53d95]
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x28], edx
mov edx, dword [esp + 0x14]
inc eax
mov dword [0x45b9b0], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
mov eax, 0x40
add edx, eax
add ecx, eax
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0xa8]
push eax
push ecx
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x40ec00
mov ecx, dword [0x45b9c8]
mov eax, 0x24d17191
imul ecx
sar edx, 0x10
mov esi, edx
shr esi, 0x1f
add esi, edx
mov edx, dword [0x45b9ac]
imul edx, edx, 0x6ef8e
add esi, edx
mov edx, dword [0x45b9c0]
mov eax, 0x6352a551
imul edx
sar edx, 0x12
mov edi, edx
add esi, edx
mov edx, dword [0x45b9b4]
mov eax, 0x6352a551
imul edx
sar edx, 0x12
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, ecx
imul edx, edx, 0x1b669
shr edi, 0x1f
add edi, esi
sub edi, eax
add edi, edx
mov eax, 0x2682f007
imul ecx
mov ecx, dword [esp + 0x20]
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
push ecx
mov dword [0x45b9b8], edi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x9d0]
mov eax, dword [esp + 0x1c]
pop edi
pop esi
pop ebp
pop ebx
call fcn.0042ec21
add esp, 0x9c4
ret