Function at 0x40fc10
Capabilities:
Enumerate processes

Disassembly:
sub esp, 0x9c4
mov eax, dword [0x45f540]
xor eax, esp
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 [0x45dbd4]
mov ebx, dword [0x45dbdc]
mov edi, eax
imul ebx, ebx, 0xdbb5
mov esi, dword [0x45dbcc]
mov eax, 0xbf1fa759
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ebx, eax
mov eax, 0xbf1fa759
imul esi
add edx, esi
sar edx, 0x10
mov ebp, edx
add ebx, edx
mov edx, dword [0x45dbe8]
imul edx, edx, 0x156ac
shr ebp, 0x1f
add ebp, ebx
add ebp, edx
mov eax, 0xca9db4d5
imul ecx
add edx, ecx
sar edx, 0x10
mov ecx, edx
add ebp, edx
mov edx, esi
imul edx, edx, 0x14289
shr ecx, 0x1f
add ecx, ebp
add ecx, edx
mov eax, 0x7f55e343
imul esi
sar edx, 0xf
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 + 0x20], 0
call sub.KERNEL32.dll_Process32First
test eax, eax
jne 0x40fcec
or eax, 0xffffffff
jmp 0x41019d
mov ecx, dword [0x45dbd4]
mov eax, 0x9524e185
imul ecx
add edx, ecx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe8]
mov edi, dword [0x45dbe4]
imul edx, edx, 0x156ac
mov esi, eax
sub esi, edx
mov eax, 0xca9db4d5
imul ecx
mov eax, dword [0x45dbe0]
add edx, ecx
imul eax, eax, 0x14289
sar edx, 0x10
mov ecx, edi
imul ecx, ecx, 0x3f76
mov ebx, edx
shr ebx, 0x1f
add esi, edx
add ebx, esi
add ebx, eax
add ebx, ecx
mov ecx, dword [0x45dbcc]
mov eax, 0x72c3c0b5
imul ecx
mov eax, dword [str._r_____r____]
sar edx, 0xe
mov ecx, edx
shr ecx, 0x1f
add ebx, edx
add ecx, ebx
sub ecx, eax
add ecx, 0x11aa4
mov dword [0x45dbcc], ecx
xor esi, esi
jmp 0x40fd80
mov dl, byte [esp + esi + 0xcc]
mov byte [esp + esi + 0x1d0], dl
inc esi
test dl, dl
jne 0x40fd80
mov edx, dword [0x45dbd8]
mov esi, dword [0x45dbdc]
lea ebx, [edx + eax]
mov ebp, eax
imul ebx, ebx, 0xdbb5
mov eax, 0xca9db4d5
imul ebp, ebp, 0x14373
imul esi
add edx, esi
sar edx, 0x10
add ebx, edx
mov eax, edx
shr eax, 0x1f
mov edx, esi
imul edx, edx, 0x14289
add eax, ebx
add eax, edx
mov ebx, eax
mov eax, 0x72c3c0b5
imul esi
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe0]
sub ebx, eax
add ebx, ebp
lea eax, [ebx + edx - 0x3f76]
mov edx, dword [esp + 0x9d8]
mov dword [0x45dbd4], eax
mov dword [esp + 0x14], edx
lea eax, [esp + 0x1d0]
lea ebx, [ebx]
mov dl, byte [eax]
mov ebx, dword [esp + 0x14]
mov byte [esp + 0x13], dl
cmp dl, byte [ebx]
jne 0x40fe40
test dl, dl
je 0x40fe3c
mov dl, byte [eax + 1]
mov byte [esp + 0x13], dl
cmp dl, byte [ebx + 1]
jne 0x40fe40
add ebx, 2
add eax, 2
test dl, dl
mov dword [esp + 0x14], ebx
jne 0x40fe10
xor eax, eax
jmp 0x40fe45
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40feb9
mov eax, dword [0x45dbd0]
imul esi, esi, 0x3f76
lea ebx, [eax + ecx]
mov eax, 0x9524e185
imul ebx, ebx, 0x10156
imul ecx
add edx, ecx
sar edx, 0xf
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov eax, 0xbf1fa759
imul edi
sub ebx, ecx
add edx, edi
sar edx, 0x10
add ebx, edx
mov ecx, edx
mov eax, 0xca9db4d5
imul edi
mov eax, dword [0x45dbe0]
shr ecx, 0x1f
imul eax, eax, 0x8af5
add ecx, ebx
add edx, edi
sar edx, 0x10
mov ebx, edx
shr ebx, 0x1f
add ecx, edx
add ebx, ecx
add ebx, esi
add ebx, eax
mov dword [0x45dbdc], ebx
mov dword [esp + 0x18], 1
mov edx, dword [0x45dbc8]
mov eax, dword [0x45dbd4]
lea esi, [edx + eax]
mov eax, 0xbf1fa759
imul esi, esi, 0x8ec3
imul edi
add edx, edi
sar edx, 0x10
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub esi, ecx
mov ecx, dword [0x45dbd8]
mov eax, 0xca9db4d5
imul ecx
add edx, ecx
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x39f7b4f
imul dword [str._r_____r____]
sar edx, 0xa
mov edi, edx
add esi, edx
mov eax, 0x7f55e343
imul ecx
mov eax, dword [esp + 0x20]
sar edx, 0xf
mov ecx, edx
shr edi, 0x1f
shr ecx, 0x1f
add ecx, edx
add edi, esi
lea edx, [esp + 0xa8]
sub edi, ecx
push edx
add edi, ebp
push eax
mov dword [0x45dbe4], edi
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x41010d
mov eax, dword [esp + 0x18]
shl eax, 6
lea ecx, [esp + eax + 0x1d0]
lea edx, [esp + 0xcc]
sub eax, edx
lea esi, [esp + eax + 0x1d0]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], esi
jmp 0x40ff80
mov esi, dword [esp + 0x1c]
jmp 0x40ff80
mov ebx, dword [0x45dbe4]
mov ecx, dword [0x45dbe0]
mov ebp, dword [0x45dbd0]
imul ecx, ecx, 0x5556
mov eax, 0x9524e185
imul ebx
add edx, ebx
sar edx, 0xf
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0x32cc2d1b
imul ebp
sar edx, 0xe
add ecx, edx
mov edi, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x3f76
shr edi, 0x1f
add edi, ecx
add edi, edx
mov eax, 0x8116582f
imul ebp
add edx, ebp
sar edx, 0xd
add edi, edx
mov eax, edx
shr eax, 0x1f
add eax, edi
mov edi, eax
mov eax, 0x3af417
imul ebp
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add edi, edx
add ecx, edi
mov dword [0x45dbc8], ecx
lea eax, [esp + 0xcc]
mov dl, byte [eax]
mov byte [esi + eax], dl
inc eax
test dl, dl
jne 0x410005
mov edi, dword [esp + 0x9d8]
mov esi, dword [esp + 0x14]
lea ebx, [ebx]
mov dl, byte [esi]
mov al, dl
cmp dl, byte [edi]
jne 0x410044
test al, al
je 0x410040
mov dl, byte [esi + 1]
mov al, dl
cmp dl, byte [edi + 1]
jne 0x410044
add esi, 2
add edi, 2
test al, al
jne 0x410020
xor eax, eax
jmp 0x410049
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4100f3
mov esi, dword [0x45dbd8]
imul ecx, ecx, 0xdbb5
mov edi, dword [0x45dbdc]
mov eax, esi
imul eax, eax, 0x156e6
add ecx, eax
mov eax, 0xbf1fa759
imul edi
add edx, edi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe8]
imul edx, edx, 0x156ac
sub ecx, eax
add ecx, edx
mov eax, 0x8116582f
imul esi
add edx, esi
sar edx, 0xd
add ecx, edx
mov esi, edx
mov eax, 0x39f7b4f
imul ebp
sar edx, 0xa
shr esi, 0x1f
add esi, ecx
mov ecx, dword [esp + 0xb0]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x14]
sub esi, eax
mov eax, dword [esp + 0x18]
sub esi, ebx
mov dword [esp + eax*4 + 0x28], ecx
mov ecx, dword [esp + 0x1c]
sub esi, 0x3f76
inc eax
mov dword [esp + 0x18], eax
mov eax, 0x40
add edx, eax
add ecx, eax
mov dword [0x45dbd0], esi
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x20]
lea edx, [esp + 0xa8]
push edx
push eax
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x40ff71
mov ecx, dword [0x45dbe8]
mov esi, dword [0x45dbd4]
mov eax, 0x2fd0003
imul ecx
sar edx, 0xa
mov edi, edx
shr edi, 0x1f
add edi, edx
mov edx, dword [0x45dbc8]
imul edx, edx, 0x14373
add edi, edx
mov eax, 0xca9db4d5
imul esi
add edx, esi
sar edx, 0x10
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x32cc2d1b
imul ecx
imul ecx, ecx, 0x3f76
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
sub edi, ecx
mov ecx, dword [0x45dbe0]
mov eax, 0x72c3c0b5
imul ecx
imul ecx, ecx, 0x8ec3
sar edx, 0xe
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
add eax, ecx
mov ecx, dword [esp + 0x20]
push ecx
mov dword [0x45dbd8], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x9d0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0043065d
add esp, 0x9c4
ret