Function at 0x451d84
Capabilities:
Enumerate gui resources
Get graphical window text
Print debug messages

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff88
push ebx
push esi
push edi
xor ecx, ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x6c], ecx
mov ebx, eax
xor eax, eax
push ebp
push 0x451fd0
push dword fs:[eax]
mov dword fs:[eax], esp
xor eax, eax
push ebp
push 0x451fae
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x40ed4c]
call fcn.00402f2c
mov dword [0x4659b8], eax
push 0
push 0x451d68
call sub.user32.dll_EnumWindows
mov eax, dword [0x4659b8]
mov eax, dword [eax + 8]
sub eax, 1
jno 0x451de8
call fcn.00402e9c
test eax, eax
jl 0x451f96
inc eax
mov dword [ebp - 4], eax
xor esi, esi
mov edx, esi
mov eax, dword [0x4659b8]
call fcn.00410650
mov edi, eax
mov eax, ebx
call fcn.0042b87c
cmp edi, eax
je 0x451f8c
mov edx, esi
mov eax, dword [0x4659b8]
call fcn.00410650
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x451f8c
lea eax, [ebp - 0x68]
push eax
mov edx, esi
mov eax, dword [0x4659b8]
call fcn.00410650
push eax
call sub.user32.dll_GetWindowRect
push 0x50
lea eax, [ebp - 0x55]
push eax
mov edx, esi
mov eax, dword [0x4659b8]
call fcn.00410650
push eax
call sub.user32.dll_GetWindowTextA
lea eax, [ebp - 0x6c]
lea edx, [ebp - 0x55]
mov ecx, 0x51
call fcn.00403eb4
mov eax, dword [ebp - 0x6c]
mov edx, 0x451fe8
call fcn.00404014
je 0x451f8c
cmp byte [ebp - 0x55], 0
je 0x451f8c
mov edi, dword [ebx + 0x34]
cmp edi, dword [ebp - 0x64]
jle 0x451e95
cmp edi, dword [ebp - 0x5c]
jle 0x451ed1
mov eax, dword [ebx + 0x34]
cmp eax, dword [ebp - 0x64]
jg 0x451eaf
mov eax, dword [ebx + 0x34]
add eax, dword [ebx + 0x3c]
jno 0x451eaa
call fcn.00402e9c
cmp eax, dword [ebp - 0x64]
jge 0x451ed1
mov eax, dword [ebx + 0x34]
cmp eax, dword [ebp - 0x5c]
jg 0x451f8c
mov eax, dword [ebx + 0x34]
add eax, dword [ebx + 0x3c]
jno 0x451ec8
call fcn.00402e9c
cmp eax, dword [ebp - 0x5c]
jl 0x451f8c
mov eax, dword [ebx + 0x30]
cmp eax, dword [ebp - 0x68]
jle 0x451ee1
mov eax, dword [ebx + 0x30]
cmp eax, dword [ebp - 0x60]
jle 0x451f19
mov eax, dword [ebx + 0x30]
cmp eax, dword [ebp - 0x68]
jg 0x451efb
mov eax, dword [ebx + 0x30]
add eax, dword [ebx + 0x38]
jno 0x451ef6
call fcn.00402e9c
cmp eax, dword [ebp - 0x68]
jge 0x451f19
mov eax, dword [ebx + 0x30]
cmp eax, dword [ebp - 0x60]
jg 0x451f8c
mov eax, dword [ebx + 0x30]
add eax, dword [ebx + 0x38]
jno 0x451f14
call fcn.00402e9c
cmp eax, dword [ebp - 0x60]
jl 0x451f8c
mov edx, esi
mov eax, dword [0x4659b8]
call fcn.00410650
mov edi, eax
jmp 0x451f31
push edi
call sub.user32.dll_GetParent
mov edi, eax
push edi
call sub.user32.dll_GetParent
test eax, eax
ja 0x451f29
push 6
push edi
call sub.user32.dll_ShowWindow
lea eax, [ebp - 0x74]
lea edx, [ebp - 0x55]
mov ecx, 0x51
call fcn.00403eb4
push dword [ebp - 0x74]
push 0x452000
mov eax, edi
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x78]
call fcn.0040935c
push dword [ebp - 0x78]
push 0x45200c
lea eax, [ebp - 0x70]
mov edx, 4
call fcn.00403fc4
mov eax, dword [ebp - 0x70]
call fcn.004040c8
push eax
call sub.kernel32.dll_OutputDebugStringA
inc esi
dec dword [ebp - 4]
jne 0x451df6
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x451fb5
mov eax, dword [0x4659b8]
call fcn.00402f5c
ret