Function at 0x416040
Capabilities:
Enumerate process modules

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x587fd6
mov eax, dword fs:[0]
push eax
mov eax, 0x1680
call fcn.0056b140
mov eax, dword [0x61b000]
xor eax, ebp
mov dword [ebp - 0x14], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x1678], 0
mov eax, dword [ebp + 0xc]
push eax
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x640], 0x104
mov byte [ebp - 0x63c], 0
push 0x3ff
push 0
lea ecx, [ebp - 0x63b]
push ecx
call fcn.00568440
add esp, 0xc
push 0x59ae57
lea ecx, [ebp - 0x238]
call fcn.00406050
mov dword [ebp - 4], 0
mov edx, dword [0x5fe874]
mov dword [ebp - 0x21c], edx
mov eax, dword [0x5fe878]
mov dword [ebp - 0x218], eax
mov ecx, dword [0x5fe87c]
mov dword [ebp - 0x214], ecx
mov edx, dword [0x5fe880]
mov dword [ebp - 0x210], edx
mov eax, dword [0x5fe884]
mov dword [ebp - 0x20c], eax
push 0x1f4
push 0
lea ecx, [ebp - 0x208]
push ecx
call fcn.00568440
add esp, 0xc
cmp dword [ebp - 0x10], 0
je 0x4162d5
mov dword [ebp - 0x1644], 0
push 0xffc
push 0
lea edx, [ebp - 0x1640]
push edx
call fcn.00568440
add esp, 0xc
mov dword [ebp - 0x644], 0
lea eax, [ebp - 0x644]
push eax
push 0x1000
lea ecx, [ebp - 0x1644]
push ecx
mov edx, dword [ebp - 0x10]
push edx
call sub.PSAPI.DLL_EnumProcessModules
test eax, eax
jne 0x4161b1
mov eax, dword [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [ebp - 0x238]
push ecx
mov ecx, dword [ebp + 8]
call fcn.00406090
mov edx, dword [ebp - 0x1678]
or edx, 1
mov dword [ebp - 0x1678], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x238]
call fcn.004060d0
mov eax, dword [ebp + 8]
jmp 0x416308
mov eax, dword [ebp - 0x640]
push eax
lea ecx, [ebp - 0x21c]
push ecx
mov edx, dword [ebp - 0x1644]
push edx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
je 0x4162cb
call fcn.00402270
mov dword [ebp - 0x1654], eax
lea eax, [ebp - 0x21c]
mov dword [ebp - 0x1650], eax
cmp dword [ebp - 0x1650], 0
jne 0x416200
mov dword [ebp - 0x167c], 0
jmp 0x416276
mov ecx, dword [ebp - 0x1650]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
add eax, 1
mov dword [ebp - 0x164c], eax
cmp dword [ebp - 0x164c], 0x3fffffff
jle 0x41622e
mov dword [ebp - 0x1680], 0
jmp 0x41626a
mov eax, dword [ebp - 0x164c]
shl eax, 1
call fcn.00570840
mov dword [ebp - 0x1684], esp
mov edx, dword [ebp - 0x1654]
push edx
mov eax, dword [ebp - 0x164c]
shl eax, 1
push eax
mov ecx, dword [ebp - 0x1650]
push ecx
mov edx, dword [ebp - 0x1684]
push edx
call fcn.004022d0
mov dword [ebp - 0x1680], eax
mov eax, dword [ebp - 0x1680]
mov dword [ebp - 0x167c], eax
mov ecx, dword [ebp - 0x167c]
mov dword [ebp - 0x1648], ecx
mov edx, dword [ebp - 0x1648]
push edx
lea ecx, [ebp - 0x1674]
call fcn.00406050
mov dword [ebp - 0x1688], eax
mov eax, dword [ebp - 0x1688]
mov dword [ebp - 0x168c], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x168c]
push ecx
lea ecx, [ebp - 0x238]
call fcn.004060f0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x1674]
call fcn.004060d0
mov edx, dword [ebp - 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x238]
push eax
mov ecx, dword [ebp + 8]
call fcn.00406090
mov ecx, dword [ebp - 0x1678]
or ecx, 1
mov dword [ebp - 0x1678], ecx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x238]
call fcn.004060d0
mov eax, dword [ebp + 8]
lea esp, [ebp - 0x1690]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00560c61
mov esp, ebp
pop ebp
ret