Function at 0x40f960
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 esi, dword [0x45dbd4]
mov edi, eax
mov ecx, dword [0x45dbcc]
mov eax, 0x4a4dc96f
imul esi
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebx, eax
mov eax, 0x4a4dc96f
imul ecx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, eax
mov eax, dword [0x45dbe8]
mov edx, ecx
imul eax, eax, 0x338
imul edx, edx, 0x365
sub ebp, ebx
add ebp, edx
add ebp, eax
mov eax, 0xa33a575b
imul esi
add edx, esi
sar edx, 9
mov esi, edx
add ebp, edx
mov eax, 0xc152500d
imul ecx
add edx, ecx
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov edx, dword [0x45dbdc]
imul edx, edx, 0x221
shr esi, 0x1f
add esi, ebp
lea eax, [esp + 0xa8]
sub esi, ecx
push eax
add esi, edx
push edi
mov dword [esp + 0x28], edi
mov dword [esp + 0xb0], 0x128
mov dword [str._r_____r____], esi
mov dword [esp + 0x24], 0
call sub.KERNEL32.dll_Process32First
test eax, eax
jne 0x40fa3d
or eax, 0xffffffff
jmp 0x40fef1
mov esi, dword [0x45dbe0]
mov ecx, dword [0x45dbe8]
imul esi, esi, 0x365
imul ecx, ecx, 0x338
sub esi, ecx
mov ecx, dword [0x45dbd4]
mov eax, 0xa33a575b
imul ecx
add edx, ecx
sar edx, 9
add esi, edx
mov edi, edx
mov eax, 0xf07fc3e1
imul ecx
add edx, ecx
mov ecx, dword [0x45dbcc]
sar edx, 9
shr edi, 0x1f
add edi, esi
add edi, edx
mov esi, edx
mov ebp, dword [str._r_____r____]
mov eax, 0x5e6ea9af
imul ecx
shr esi, 0x1f
sar edx, 7
add esi, edi
add esi, edx
mov ecx, edx
mov edx, dword [0x45dbe4]
imul edx, edx, 0x92
shr ecx, 0x1f
add ecx, esi
add ecx, edx
sub ecx, ebp
add ecx, 0x2f4
mov dword [0x45dbcc], ecx
xor eax, eax
jmp 0x40fad0
mov dl, byte [esp + eax + 0xcc]
mov byte [esp + eax + 0x1d0], dl
inc eax
test dl, dl
jne 0x40fad0
mov esi, dword [0x45dbdc]
mov edi, dword [0x45dbd8]
mov eax, ebp
imul eax, eax, 0x323
mov dword [esp + 0x18], eax
lea ebx, [edi + ebp]
imul ebx, ebx, 0x221
mov eax, esi
imul eax, eax, 0x365
add ebx, eax
mov eax, 0xa33a575b
imul esi
add edx, esi
sar edx, 9
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov ebx, eax
mov eax, 0x5e6ea9af
imul esi
sar edx, 7
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe0]
sub ebx, eax
add ebx, dword [esp + 0x18]
lea eax, [ebx + edx - 0x92]
mov edx, dword [esp + 0x9d8]
mov dword [0x45dbd4], eax
mov dword [esp + 0x14], edx
lea eax, [esp + 0x1d0]
mov dl, byte [eax]
mov ebx, dword [esp + 0x14]
mov byte [esp + 0x13], dl
cmp dl, byte [ebx]
jne 0x40fb90
test dl, dl
je 0x40fb8c
mov dl, byte [eax + 1]
mov byte [esp + 0x13], dl
cmp dl, byte [ebx + 1]
jne 0x40fb90
add ebx, 2
add eax, 2
test dl, dl
mov dword [esp + 0x14], ebx
jne 0x40fb60
xor eax, eax
jmp 0x40fb95
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40fc1f
mov eax, dword [0x45dbd0]
imul esi, esi, 0x92
lea ebx, [eax + ecx]
imul ebx, ebx, 0x2a6
mov eax, 0x4a4dc96f
imul dword [0x45dbe4]
sar edx, 8
add ebx, edx
mov eax, edx
shr eax, 0x1f
add eax, ebx
mov dword [esp + 0x14], eax
mov eax, 0xa33a575b
imul dword [0x45dbe4]
add edx, dword [0x45dbe4]
mov eax, dword [esp + 0x14]
sar edx, 9
add eax, edx
mov ebx, edx
shr ebx, 0x1f
add ebx, eax
mov eax, 0xf07fc3e1
imul ecx
mov eax, dword [0x45dbe0]
add edx, ecx
imul eax, eax, 0x175
sar edx, 9
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub ebx, ecx
add ebx, eax
add ebx, esi
mov dword [0x45dbdc], ebx
mov dword [esp + 0x1c], 1
mov edx, dword [0x45dbc8]
mov eax, dword [0x45dbd4]
lea ecx, [edx + eax]
mov eax, 0x4a4dc96f
imul ecx, ecx, 0x15b
imul dword [0x45dbe4]
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0xa33a575b
imul edi
add edx, edi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0xc152500d
imul edi
add edx, edi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub ecx, eax
mov eax, 0xad602b59
imul ebp
add edx, ebp
mov ebp, dword [esp + 0x18]
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [esp + 0x20]
add ecx, ebp
add eax, ecx
lea ecx, [esp + 0xa8]
push ecx
push edx
mov dword [0x45dbe4], eax
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x40fe61
mov eax, dword [esp + 0x1c]
shl eax, 6
lea ecx, [esp + eax + 0x1d0]
lea edx, [esp + 0xcc]
sub eax, edx
lea edi, [esp + eax + 0x1d0]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], edi
jmp 0x40fce0
mov edi, dword [esp + 0x18]
lea ebx, [ebx]
mov eax, dword [0x45dbe0]
mov ecx, dword [0x45dbc8]
mov esi, dword [0x45dbd0]
add ecx, eax
mov ebx, dword [0x45dbe4]
imul ecx, ecx, 0x92
mov eax, 0x96d4b1f
imul esi
sar edx, 5
add ecx, edx
mov ebp, edx
mov eax, 0xf07fc3e1
imul ebx
add edx, ebx
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
shr ebp, 0x1f
add ebp, ecx
sub ebp, eax
mov eax, 0x57d990d1
imul esi
sar edx, 7
add ebp, edx
mov eax, edx
shr eax, 0x1f
add eax, ebp
mov ebp, eax
mov eax, 0xe070381d
imul esi
add edx, esi
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add ebp, edx
add ecx, ebp
mov dword [0x45dbc8], ecx
lea eax, [esp + 0xcc]
mov edi, edi
mov dl, byte [eax]
mov byte [edi + eax], dl
inc eax
test dl, dl
jne 0x40fd60
mov ebp, dword [esp + 0x9d8]
mov edi, dword [esp + 0x14]
mov dl, byte [edi]
mov al, dl
cmp dl, byte [ebp]
jne 0x40fd9a
test al, al
je 0x40fd96
mov dl, byte [edi + 1]
mov al, dl
cmp dl, byte [ebp + 1]
jne 0x40fd9a
add edi, 2
add ebp, 2
test al, al
jne 0x40fd75
xor eax, eax
jmp 0x40fd9f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40fe47
mov edx, dword [0x45dbdc]
imul ecx, ecx, 0x221
mov edi, dword [0x45dbd8]
mov eax, 0x4a4dc96f
imul edx
sar edx, 8
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ebp, edi
imul ebp, ebp, 0x372
sub ebp, eax
mov eax, 0xad602b59
imul esi
add edx, esi
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, dword [0x45dbe8]
imul edx, edx, 0x338
sub ebp, eax
add ebp, edx
mov eax, 0xe070381d
imul edi
add edx, edi
sar edx, 7
add ebp, ecx
mov ecx, dword [esp + 0xb0]
mov eax, edx
shr eax, 0x1f
add ebp, edx
mov edx, dword [esp + 0x14]
add eax, ebp
sub eax, ebx
sub eax, 0x92
mov dword [0x45dbd0], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + eax*4 + 0x28], ecx
mov ecx, dword [esp + 0x18]
inc eax
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 eax, dword [esp + 0x20]
lea edx, [esp + 0xa8]
push edx
push eax
call sub.KERNEL32.dll_Process32Next
test eax, eax
jne 0x40fcd6
mov ecx, dword [0x45dbe8]
mov esi, dword [0x45dbc8]
mov eax, 0x96d4b1f
imul esi, esi, 0x323
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
sub esi, eax
mov eax, 0x13e22cbd
imul ecx
imul ecx, ecx, 0x92
sar edx, 6
add esi, edx
mov edi, edx
shr edi, 0x1f
add edi, esi
mov esi, dword [0x45dbd4]
mov eax, 0xa33a575b
imul esi
add edx, esi
mov esi, dword [0x45dbe0]
sar edx, 9
mov eax, edx
shr eax, 0x1f
add eax, edx
sub edi, eax
mov eax, 0x5e6ea9af
imul esi
imul esi, esi, 0x15b
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edi, edx
add eax, edi
add eax, esi
sub eax, ecx
mov ecx, dword [esp + 0x20]
push ecx
mov dword [0x45dbd8], eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x9d0]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004303dd
add esp, 0x9c4
ret