Function at 0x401000
Capabilities:
Enumerate gui resources

Disassembly:
push 0xffffffffffffffff
push 0x401a16
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x11c
push ebx
push ebp
push esi
push edi
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::CString_1
xor ebx, ebx
lea ecx, [esp + 0x14]
mov dword [esp + 0x134], ebx
call sub.MFC42.DLL_CString::CString_1
mov eax, dword [esp + 0x13c]
lea ecx, [esp + 0x14]
push eax
mov byte [esp + 0x138], 1
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x14]
call sub.MFC42.DLL_CString::MakeLower
mov edi, dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov eax, 0x400
mov dword [esp + 0x18], eax
xor ebp, ebp
cmp ebp, ebx
je 0x40108f
mov esi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push ebp
push ebx
call esi
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [esp + 0x18]
lea eax, [ecx + ecx]
mov dword [esp + 0x18], eax
jmp 0x401095
mov esi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
push ebx
call esi
push eax
call edi
mov ebp, eax
cmp ebp, ebx
je 0x4010d0
mov eax, dword [esp + 0x18]
lea edx, [esp + 0x1c]
push edx
push eax
push ebp
call dword [0x4031b0]
test eax, eax
je 0x4010c5
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
jne 0x4010fc
jmp 0x40106d
push ebp
push ebx
call esi
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea ecx, [esp + 0x14]
mov byte [esp + 0x134], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x134], 0xffffffff
call sub.MFC42.DLL_CString::CString
xor eax, eax
jmp 0x401211
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x20], ebx
shr eax, 2
mov dword [esp + 0x1c], eax
je 0x4011db
mov ebx, dword [sym.imp.KERNEL32.dll_OpenProcess]
mov edi, ebp
mov byte [esp + 0x28], 0
mov ecx, dword [edi]
push ecx
push 0
push 0x410
call ebx
mov esi, eax
test esi, esi
je 0x4011b7
lea edx, [esp + 0x18]
lea eax, [esp + 0x24]
push edx
push 4
push eax
push esi
call dword [0x4031ac]
test eax, eax
je 0x4011b0
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x28]
push 0x104
push ecx
push edx
push esi
call dword [0x4031a8]
test eax, eax
jne 0x401169
mov byte [esp + 0x28], al
lea eax, [esp + 0x28]
lea ecx, [esp + 0x10]
push eax
call sub.MFC42.DLL_CString::operator
lea ecx, [esp + 0x10]
call sub.MFC42.DLL_CString::MakeLower
mov ecx, dword [esp + 0x14]
push 0
push ecx
lea ecx, [esp + 0x18]
call sub.MFC42.DLL_CString::Find
test eax, eax
jl 0x4011b0
mov edx, dword [edi]
push edx
push 0
push 0x1f0fff
call ebx
mov esi, eax
mov eax, dword [edi]
push eax
push 0x4016c0
call dword [sym.imp.USER32.dll_EnumWindows]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
inc eax
add edi, 4
cmp eax, ecx
mov dword [esp + 0x20], eax
jb 0x401119
mov esi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push ebp
push 0
call esi
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
lea ecx, [esp + 0x14]
mov byte [esp + 0x134], 0
call sub.MFC42.DLL_CString::CString
lea ecx, [esp + 0x10]
mov dword [esp + 0x134], 0xffffffff
call sub.MFC42.DLL_CString::CString
mov eax, 1
mov ecx, dword [esp + 0x12c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x128
ret