Function at 0x4047f0
Capabilities:
Enumerate process modules
Get process image filename

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x444c
call fcn.0045a240
mov eax, dword [0x487b30]
xor eax, ebp
mov dword [ebp - 0x2018], eax
mov dword [ebp - 0x443c], ecx
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
mov dword [ebp - 0x2004], eax
lea eax, [ebp - 0x2008]
push eax
push 0x2000
lea ecx, [ebp - 0x2000]
push ecx
call sub.PSAPI.DLL_EnumProcesses
mov dword [ebp - 0x200c], 0
jmp 0x40484f
mov edx, dword [ebp - 0x200c]
add edx, 1
mov dword [ebp - 0x200c], edx
mov eax, dword [ebp - 0x2008]
shr eax, 2
cmp dword [ebp - 0x200c], eax
jae 0x404acf
mov ecx, dword [ebp - 0x443c]
cmp dword [ecx + 4], 0
jne 0x404acf
mov edx, dword [ebp - 0x200c]
mov eax, dword [ebp - 0x2004]
cmp eax, dword [ebp + edx*4 - 0x2000]
jne 0x40488b
jmp 0x404840
mov ecx, dword [ebp - 0x200c]
mov edx, dword [ebp + ecx*4 - 0x2000]
push edx
push 0
push 0x1fffff
call dword [sym.imp.KERNEL32.dll_OpenProcess]
mov dword [ebp - 0x2010], eax
cmp dword [ebp - 0x2010], 0
je 0x404aca
lea eax, [ebp - 0x2014]
push eax
push 0x2000
lea ecx, [ebp - 0x4220]
push ecx
mov edx, dword [ebp - 0x2010]
push edx
call sub.PSAPI.DLL_EnumProcessModules
test eax, eax
je 0x4049ee
mov dword [ebp - 0x4224], 0
jmp 0x4048fb
mov eax, dword [ebp - 0x4224]
add eax, 1
mov dword [ebp - 0x4224], eax
mov ecx, dword [ebp - 0x2014]
shr ecx, 2
cmp dword [ebp - 0x4224], ecx
jae 0x4049e9
push 0x104
lea edx, [ebp - 0x2220]
push edx
mov eax, dword [ebp - 0x4224]
mov ecx, dword [ebp + eax*4 - 0x4220]
push ecx
mov edx, dword [ebp - 0x2010]
push edx
call sub.PSAPI.DLL_GetModuleFileNameExW
test eax, eax
je 0x4049e4
mov eax, dword [ebp - 0x2010]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x4434], esp
lea edx, [ebp - 0x2220]
push edx
call fcn.004053d0
mov dword [ebp - 0x4440], eax
mov ecx, dword [ebp - 0x443c]
call fcn.00404ae0
mov dword [ebp - 0x4444], eax
cmp dword [ebp - 0x4444], 0
je 0x4049e4
push 0x47c828
mov ecx, dword [ebp - 0x443c]
add ecx, 0x74
call fcn.00443af0
lea eax, [ebp - 0x2220]
push eax
mov ecx, dword [ebp - 0x443c]
add ecx, 0x74
call fcn.00405450
push 0x47c82c
mov ecx, dword [ebp - 0x443c]
add ecx, 0x74
call fcn.00405450
call fcn.004016e0
push 0
push 0
push 0x465
mov ecx, dword [ebp - 0x443c]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 0x2010]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x404acf
jmp 0x4048ec
jmp 0x404abd
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x2014], eax
push 0x104
lea ecx, [ebp - 0x4430]
push ecx
mov edx, dword [ebp - 0x2010]
push edx
call sub.PSAPI.DLL_GetProcessImageFileNameW
test eax, eax
je 0x404abd
mov eax, dword [ebp - 0x2010]
push eax
push ecx
mov ecx, esp
mov dword [ebp - 0x4438], esp
lea edx, [ebp - 0x4430]
push edx
call fcn.004053d0
mov dword [ebp - 0x4448], eax
mov ecx, dword [ebp - 0x443c]
call fcn.00404ae0
mov dword [ebp - 0x444c], eax
cmp dword [ebp - 0x444c], 0
je 0x404abd
call fcn.004016e0
push 0x47c830
mov ecx, dword [ebp - 0x443c]
add ecx, 0x74
call fcn.00443af0
lea eax, [ebp - 0x4430]
push eax
mov ecx, dword [ebp - 0x443c]
add ecx, 0x74
call fcn.00405450
push 0x47c834
mov ecx, dword [ebp - 0x443c]
add ecx, 0x74
call fcn.00405450
push 0
push 0
push 0x465
mov ecx, dword [ebp - 0x443c]
mov edx, dword [ecx]
push edx
call dword [sym.imp.USER32.dll_PostMessageW]
mov eax, dword [ebp - 0x2010]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x404acf
mov ecx, dword [ebp - 0x2010]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x404840
mov ecx, dword [ebp - 0x2018]
xor ecx, ebp
call fcn.004567ae
mov esp, ebp
pop ebp
ret