Function at 0x4099a8
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0x444
mov dword [ebp - 0x438], 0
mov dword [0x45f1e0], 0
sub esp, 8
push 0
push 0
call sub.USER32.dll_FindWindowA
add esp, 8
mov dword [ebp - 0x420], eax
sub esp, 0xc
push dword [ebp - 0x420]
call sub.USER32.dll_GetParent
add esp, 0xc
test eax, eax
jne 0x409e79
sub esp, 8
push 0xfffffffffffffff0
push dword [ebp - 0x420]
call sub.USER32.dll_GetWindowLongA
add esp, 8
mov dword [ebp - 0x43c], eax
mov eax, dword [ebp - 0x43c]
shr eax, 0x1c
xor eax, 1
and eax, 1
test al, al
je 0x409a85
cmp dword [0x45f100], 0
je 0x409a85
sub esp, 8
push 0x440540
sub esp, 0xc
push dword [ebp - 0x43c]
sub esp, 0xc
push str._style:
sub esp, 0xc
push dword [ebp - 0x420]
sub esp, 0xc
push str._twould_skip_invisible_handle:
push dword [0x45f10c]
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430b30
add esp, 0x14
push eax
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00431900
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
sub esp, 8
lea eax, [ebp - 0x41c]
push eax
push dword [ebp - 0x420]
call sub.USER32.dll_GetWindowThreadProcessId
add esp, 8
sub esp, 4
push 0x402
push 0
lea eax, [ebp - 0x418]
push eax
call sub.msvcrt.dll_memset
add esp, 0x10
sub esp, 4
push 0x200
lea eax, [ebp - 0x418]
push eax
push dword [ebp - 0x420]
call sub.USER32.dll_GetWindowTextW
add esp, 4
mov dword [ebp - 0x424], eax
sub esp, 8
mov eax, dword [ebp - 0x424]
add eax, eax
push eax
lea eax, [ebp - 0x418]
push eax
call fcn.00406b30
add esp, 0x10
mov dword [ebp - 0x42c], eax
sub esp, 4
push 0x200
lea eax, [ebp - 0x418]
push eax
push dword [ebp - 0x420]
call sub.USER32.dll_GetWindowTextA
add esp, 4
mov dword [ebp - 0x424], eax
cmp dword [0x45f100], 0
je 0x409b72
sub esp, 8
push 0x440540
sub esp, 0xc
lea eax, [ebp - 0x418]
push eax
sub esp, 0xc
push 0x446d6b
sub esp, 0xc
push dword [ebp - 0x41c]
push dword [0x45f10c]
call fcn.00431ca0
add esp, 0x14
push eax
call fcn.004417d8
add esp, 0x14
push eax
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
push dword [ebp - 0x41c]
call fcn.00409924
add esp, 4
mov dword [ebp - 0x428], eax
cmp dword [ebp - 0x428], 0xffffffff
je 0x409db0
cmp dword [0x45f100], 0
je 0x409bc3
sub esp, 8
push 0x440540
sub esp, 0xc
push str._t_thave_PID
push dword [0x45f10c]
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
sub esp, 8
push dword [ebp - 0x42c]
push 0x446d78
call sub.msvcrt.dll_strcmp
add esp, 0x10
test eax, eax
jne 0x409c23
cmp dword [0x45f100], 0
je 0x409c0d
sub esp, 8
push 0x440540
sub esp, 0xc
push str._t_t_tempty_title
push dword [0x45f10c]
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
sub esp, 0xc
push dword [ebp - 0x42c]
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x409e79
mov eax, dword [ebp - 0x428]
sub esp, 8
push dword [eax*4 + 0x461200]
push 0x446d78
call sub.msvcrt.dll_strcmp
add esp, 0x10
test eax, eax
jne 0x409ca4
cmp dword [0x45f100], 0
je 0x409c74
sub esp, 8
push 0x440540
sub esp, 0xc
push str._t_t_treplacing_title
push dword [0x45f10c]
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
sub esp, 0xc
mov eax, dword [ebp - 0x428]
push dword [eax*4 + 0x461200]
call sub.msvcrt.dll_free
add esp, 0x10
mov edx, dword [ebp - 0x428]
mov eax, dword [ebp - 0x42c]
mov dword [edx*4 + 0x461200], eax
jmp 0x409e79
mov dword [ebp - 0x430], 0
mov eax, dword [ebp - 0x428]
sub esp, 8
push dword [eax*4 + 0x461200]
push dword [ebp - 0x42c]
call sub.msvcrt.dll_strcmp
add esp, 0x10
test eax, eax
je 0x409d61
cmp dword [0x45f100], 0
je 0x409d04
sub esp, 8
push 0x440540
sub esp, 0xc
push str._t_t_tnot_match
push dword [0x45f10c]
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
push dword [ebp - 0x428]
push dword [ebp - 0x41c]
call fcn.00409966
add esp, 8
mov dword [ebp - 0x428], eax
cmp dword [ebp - 0x428], 0xffffffff
jne 0x409cae
cmp dword [0x45f100], 0
je 0x409d57
sub esp, 8
push 0x440540
sub esp, 0xc
push str._t_t_tend_of_list
push dword [0x45f10c]
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
mov dword [ebp - 0x430], 1
cmp dword [ebp - 0x430], 0
jne 0x409db0
cmp dword [0x45f100], 0
je 0x409d9a
sub esp, 8
push 0x440540
sub esp, 0xc
push str._t_t_tsame_title
push dword [0x45f10c]
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
sub esp, 0xc
push dword [ebp - 0x42c]
call sub.msvcrt.dll_free
add esp, 0x10
jmp 0x409e79
mov edx, dword [0x45f1e0]
mov eax, dword [ebp - 0x41c]
mov dword [edx*4 + 0x45f200], eax
mov edx, dword [0x45f1e0]
mov eax, dword [ebp - 0x42c]
mov dword [edx*4 + 0x461200], eax
inc dword [0x45f1e0]
cmp dword [0x45f100], 0
je 0x409e79
sub esp, 8
push 0x440540
sub esp, 0xc
push 0x440540
sub esp, 0xc
push dword [ebp - 0x42c]
sub esp, 0xc
push str.__title:
sub esp, 0xc
push dword [ebp - 0x41c]
sub esp, 0xc
push str.__pid:
sub esp, 0xc
push dword [ebp - 0x420]
sub esp, 0xc
push str.STORING_hwnd:
push dword [0x45f10c]
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430b30
add esp, 0x14
push eax
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00431ca0
add esp, 0x14
push eax
call fcn.004417d8
add esp, 0x14
push eax
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
sub esp, 8
push 2
push dword [ebp - 0x420]
call sub.USER32.dll_GetWindow
add esp, 8
mov dword [ebp - 0x420], eax
cmp dword [ebp - 0x420], 0
je 0x409ea0
jmp 0x4099db
cmp dword [0x45f100], 0
je 0x409ed0
sub esp, 8
push 0x440540
sub esp, 0xc
push str.__MATCHING_
push dword [0x45f10c]
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
mov dword [ebp - 0x434], 0
mov eax, dword [ebp - 0x434]
cmp eax, dword [0x45f1e0]
jge 0x40a025
mov ebx, dword [ebp - 0x434]
sub esp, 0xc
mov eax, dword [ebp - 0x434]
push dword [eax*4 + 0x45f200]
call fcn.00406a76
add esp, 0x10
mov dword [ebx*4 + 0x463200], eax
mov eax, dword [ebp - 0x434]
cmp dword [eax*4 + 0x463200], 0
jne 0x409fab
cmp dword [0x45f0f4], 0
je 0x409fab
cmp dword [ebp - 0x438], 0
jne 0x409f46
call fcn.00405c3e
mov dword [ebp - 0x438], 1
sub esp, 8
push 0x440540
sub esp, 0xc
mov eax, dword [ebp - 0x434]
push dword [eax*4 + 0x45f200]
sub esp, 0xc
push str.looking_up:
push dword [0x45f10c]
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00431ca0
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
mov ebx, dword [ebp - 0x434]
sub esp, 0xc
mov eax, dword [ebp - 0x434]
push dword [eax*4 + 0x45f200]
call fcn.00405bea
add esp, 0x10
mov dword [ebx*4 + 0x463200], eax
mov eax, dword [ebp - 0x434]
cmp dword [eax*4 + 0x463200], 0
jne 0x409fd8
mov ebx, dword [ebp - 0x434]
sub esp, 0xc
push 0x446d78
call sub.msvcrt.dll__strdup
add esp, 0x10
mov dword [ebx*4 + 0x463200], eax
sub esp, 8
push 0x440540
sub esp, 0xc
mov eax, dword [ebp - 0x434]
push dword [eax*4 + 0x463200]
sub esp, 0xc
push str.found:
push dword [0x45f10c]
call fcn.004417d8
add esp, 0x14
push eax
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
lea eax, [ebp - 0x434]
inc dword [eax]
jmp 0x409eda
cmp dword [0x45f100], 0
je 0x40a172
sub esp, 8
push 0x440540
sub esp, 0xc
push str.__RESULTS_
push dword [0x45f10c]
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
mov dword [ebp - 0x434], 0
mov eax, dword [ebp - 0x434]
cmp eax, dword [0x45f1e0]
jge 0x40a139
sub esp, 8
push 0x440540
sub esp, 0xc
mov eax, dword [ebp - 0x434]
push dword [eax*4 + 0x461200]
sub esp, 0xc
push 0x446d6b
sub esp, 0xc
push 0x440540
sub esp, 0xc
mov eax, dword [ebp - 0x434]
push dword [eax*4 + 0x463200]
sub esp, 0xc
push 0x446d6b
sub esp, 0xc
mov eax, dword [ebp - 0x434]
push dword [eax*4 + 0x45f200]
sub esp, 0xc
push 0x446e20
sub esp, 0xc
push dword [ebp - 0x434]
push dword [0x45f10c]
call fcn.004318b0
add esp, 0x14
push eax
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00431ca0
add esp, 0x14
push eax
call fcn.004417d8
add esp, 0x14
push eax
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x14
push eax
call fcn.004417d8
add esp, 0x14
push eax
call fcn.004417d8
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
lea eax, [ebp - 0x434]
inc dword [eax]
jmp 0x40a063
sub esp, 8
push 0x440540
sub esp, 0xc
push dword [0x45f1e0]
sub esp, 0xc
push str.total_windows:
push dword [0x45f10c]
call fcn.004417d8
add esp, 0x14
push eax
call fcn.004318b0
add esp, 0x14
push eax
call fcn.00430ae0
add esp, 0x10
mov eax, dword [0x45f1e0]
mov ebx, dword [ebp - 4]
leave
ret