Function at 0x403620
Capabilities:
Enumerate process modules
Enumerate processes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x406041
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4d0
mov byte [ebp - 0x29], 1
push 0x40d2ec
lea ecx, [ebp - 0x274]
call fcn.00403980
mov dword [ebp - 4], 0
push 0
push 2
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x39c], 0
push 0x124
push 0
lea eax, [ebp - 0x398]
push eax
call sub.MSVCR80.dll_memset
add esp, 0xc
mov dword [ebp - 0x254], 0
push 0x220
push 0
lea ecx, [ebp - 0x250]
push ecx
call sub.MSVCR80.dll_memset
add esp, 0xc
cmp dword [ebp - 0x258], 0xffffffff
jne 0x4036d5
mov byte [ebp - 0x4a9], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x274]
call fcn.00403a00
mov al, byte [ebp - 0x4a9]
jmp 0x4038be
mov dword [ebp - 0x39c], 0x128
mov byte [ebp - 0x4a4], 0
push 0x103
push 0
lea edx, [ebp - 0x4a3]
push edx
call sub.MSVCR80.dll_memset
add esp, 0xc
push 0x103
lea eax, [ebp - 0x4a4]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x4a4]
push ecx
lea ecx, [ebp - 0x28]
call fcn.00403980
mov byte [ebp - 4], 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x4b0], esp
lea edx, [ebp - 0x28]
push edx
call fcn.004039c0
mov dword [ebp - 0x4d4], eax
lea eax, [ebp - 0x4cc]
push eax
call fcn.00403580
add esp, 0x20
mov dword [ebp - 0x4d8], eax
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x4dc], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x4dc]
push edx
lea ecx, [ebp - 0x28]
call fcn.00403a20
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x4cc]
call fcn.00403a00
lea eax, [ebp - 0x39c]
push eax
mov ecx, dword [ebp - 0x258]
push ecx
call sub.KERNEL32.dll_Process32First
test eax, eax
je 0x40388d
lea edx, [ebp - 0x39c]
push edx
mov eax, dword [ebp - 0x258]
push eax
call sub.KERNEL32.dll_Process32Next
test eax, eax
je 0x40388d
lea ecx, [ebp - 0x28]
call fcn.00403a40
push eax
lea ecx, [ebp - 0x378]
push ecx
call sub.MSVCR80.dll_strcmp
add esp, 8
test eax, eax
jne 0x403888
mov edx, dword [ebp - 0x394]
push edx
push 8
call sub.KERNEL32.dll_CreateToolhelp32Snapshot
mov dword [ebp - 0x4a8], eax
cmp dword [ebp - 0x4a8], 0xffffffff
jne 0x4037fc
jmp 0x4037a2
mov dword [ebp - 0x254], 0x224
lea eax, [ebp - 0x254]
push eax
mov ecx, dword [ebp - 0x4a8]
push ecx
call sub.KERNEL32.dll_Module32First
test eax, eax
je 0x403888
lea edx, [ebp - 0x254]
push edx
mov eax, dword [ebp - 0x4a8]
push eax
call sub.KERNEL32.dll_Module32Next
test eax, eax
je 0x403888
lea ecx, [ebp - 0x274]
call fcn.00403a40
push eax
lea ecx, [ebp - 0x234]
push ecx
call sub.MSVCR80.dll_strcmp
add esp, 8
test eax, eax
jne 0x403886
mov byte [ebp - 0x29], 1
mov dl, byte [ebp - 0x29]
mov byte [ebp - 0x4cd], dl
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00403a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x274]
call fcn.00403a00
mov al, byte [ebp - 0x4cd]
jmp 0x4038be
jmp 0x40381d
jmp 0x4037a2
mov byte [ebp - 0x29], 0
mov al, byte [ebp - 0x29]
mov byte [ebp - 0x4ce], al
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x28]
call fcn.00403a00
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x274]
call fcn.00403a00
mov al, byte [ebp - 0x4ce]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret