Function at 0x404760
Capabilities:
Acquire debug privileges
Enumerate process modules
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x406e9e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xae0
push ebx
push ebp
push esi
push edi
mov ebx, ecx
xor esi, esi
push str.SeDebugPrivilege
mov dword [esp + 0xafc], esi
call fcn.00406230
mov eax, dword [esp + 0xb00]
cmp eax, esi
je 0x4049aa
cmp eax, 4
je 0x4049aa
push eax
push esi
push 0x410
call dword [sym.imp.KERNEL32.dll_OpenProcess]
cmp eax, esi
mov dword [ebx + 0x60], eax
jne 0x4047d0
push 0x458b4c
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x4049e4
lea ecx, [esp + 0x14]
lea edx, [esp + 0x320]
push ecx
push 0x7d0
push edx
push eax
call sub.PSAPI.DLL_EnumProcessModules
cmp eax, esi
jne 0x4047fc
push 0x458ccc
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
jmp 0x4049e4
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString
mov eax, dword [esp + 0x14]
mov byte [esp + 0xaf8], 2
test eax, 0xfffffffc
jbe 0x404940
lea edi, [ebx + 0x64]
lea ebp, [esp + 0x320]
mov ecx, dword [ebp]
mov edx, dword [ebx + 0x60]
lea eax, [esp + 0x12c]
push 0x1f4
push eax
push ecx
push edx
call sub.PSAPI.DLL_GetModuleBaseNameA
test eax, eax
jne 0x40484f
push 0x458cbc
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push 0
push 0
push 0
lea eax, [esp + 0x138]
push 0
push eax
push esi
push 1
mov ecx, edi
call sub.MFC42.DLL_CListCtrl::InsertItem
mov ecx, dword [ebp]
lea edx, [esp + 0x10]
push ecx
push str.0x_08X
push edx
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, edi
push eax
push 1
push esi
call sub.MFC42.DLL_CListCtrl::SetItemText
mov edx, dword [ebp]
mov eax, dword [ebx + 0x60]
lea ecx, [esp + 0x1c]
push 0xc
push ecx
push edx
push eax
call sub.PSAPI.DLL_GetModuleInformation
test eax, eax
je 0x404991
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x10]
push ecx
push str.0x_08X
push edx
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, edi
push eax
push 2
push esi
call sub.MFC42.DLL_CListCtrl::SetItemText
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x10]
push ecx
push str.0x_08X
push edx
call sub.MFC42.DLL_CString::Format
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, edi
push eax
push 3
push esi
call sub.MFC42.DLL_CListCtrl::SetItemText
mov edx, dword [ebp]
mov eax, dword [ebx + 0x60]
lea ecx, [esp + 0x28]
push 0x104
push ecx
push edx
push eax
call sub.PSAPI.DLL_GetModuleFileNameExA
test eax, eax
jne 0x40491c
push 0x458ca8
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
lea ecx, [esp + 0x28]
push ecx
push 4
push esi
mov ecx, edi
call sub.MFC42.DLL_CListCtrl::SetItemText
mov eax, dword [esp + 0x14]
inc esi
mov edx, eax
add ebp, 4
shr edx, 2
cmp esi, edx
jb 0x404826
shr eax, 2
push 0x458ca4
push eax
mov eax, dword [esp + 0xb0c]
push 0x458ca0
push 0x458c94
push 0x458c90
push eax
push 0x458c8c
lea ecx, [esp + 0x2c]
push str._s_s_s_s_s_d_s
push ecx
call sub.MFC42.DLL_CString::Format
mov edx, dword [esp + 0x34]
add esp, 0x24
mov ecx, ebx
push edx
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov byte [esp + 0xaf8], 0
lea ecx, [esp + 0x10]
jmp 0x4049df
push 0x458c68
call dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
mov byte [esp + 0xaf8], 0
lea ecx, [esp + 0x10]
jmp 0x4049df
lea eax, [esp + 0xb04]
push 0x458c5c
lea ecx, [esp + 0x1c]
push eax
push ecx
call sub.MFC42.DLL_operator_1
mov eax, dword [eax]
mov ecx, ebx
push eax
mov byte [esp + 0xafc], 1
call sub.MFC42.DLL_CWnd::SetWindowTextA
mov byte [esp + 0xaf8], 0
lea ecx, [esp + 0x18]
call fcn.0040652a
lea ecx, [esp + 0xb04]
mov dword [esp + 0xaf8], 0xffffffff
call fcn.0040652a
mov ecx, dword [esp + 0xaf0]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xaec
ret 8