Function at 0x409987
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x20], esp
push dword [ebp + 8]
mov eax, 0x20
call sub.user32.dll_IsWindow
cmp dword [ebp - 0x20], esp
je 0x4099ed
push 0x24
push 0x401ac47
push 6
call fcn.00459b38
add esp, 0xc
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x409dfd
mov eax, 0x500108
test eax, eax
je 0x409a16
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.00459b2c
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x409a27
push ebx
call fcn.00459b32
add esp, 4
pop eax
mov dword [ebp - 4], eax
push 0x80000301
push 0
push dword [ebp + 0x10]
push 1
mov ebx, 0x198
call sub.wmvert.dll_wm_CnvToBin
add esp, 0x10
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], esp
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x409a57
add eax, 8
push eax
mov eax, dword [ebp - 4]
test eax, eax
je 0x409a62
add eax, 8
push eax
mov eax, 0x1e
call sub.kernel32.dll_lstrcatW
cmp dword [ebp - 0x24], esp
je 0x409a89
push 0xb6
push 0x401ac47
push 6
call fcn.00459b38
add esp, 0xc
mov ebx, dword [ebp - 0x20]
test ebx, ebx
je 0x409a99
push ebx
call fcn.00459b32
add esp, 4
mov dword [ebp - 0x20], esp
push 0
push 0
push 0
push dword [ebp + 8]
mov eax, 0x21
call sub.user32.dll_FindWindowExW
cmp dword [ebp - 0x20], esp
je 0x409ad4
push 0xfd
push 0x401ac47
push 6
call fcn.00459b38
add esp, 0xc
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0
je 0x409dfd
push 0x80000301
push 0
push 0x208
push 1
mov ebx, 0x1bc
call sub.wmvert.dll_wm_SpaceBin
add esp, 0x10
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x409b16
push ebx
call fcn.00459b32
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 0x20], esp
push 0x104
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x409b2c
add eax, 8
push eax
push dword [ebp - 8]
mov eax, 0x22
call sub.user32.dll_GetClassNameW
cmp dword [ebp - 0x20], esp
je 0x409b56
push 0x19f
push 0x401ac47
push 6
call fcn.00459b38
add esp, 0xc
mov dword [ebp - 0x20], esp
mov ebx, dword [ebp + 0xc]
mov eax, dword [ebx]
test eax, eax
je 0x409b65
add eax, 8
push eax
mov eax, dword [ebp - 0xc]
test eax, eax
je 0x409b70
add eax, 8
push eax
mov eax, 0x23
call sub.kernel32.dll_lstrcmpiW
cmp dword [ebp - 0x20], esp
je 0x409b97
push 0x1ed
push 0x401ac47
push 6
call fcn.00459b38
add esp, 0xc
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
jne 0x409d9c
mov dword [ebp - 0x20], esp
push dword [ebp - 8]
mov eax, 0x24
call sub.user32.dll_GetWindowTextLengthW
cmp dword [ebp - 0x20], esp
je 0x409bd0
push 0x244
push 0x401ac47
push 6
call fcn.00459b38
add esp, 0xc
mov dword [ebp - 0x2c], eax
fild dword [ebp - 0x2c]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x500087]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.00401ab8
mov dword [ebp - 0x10], eax
fild dword [ebp - 0x10]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fmul qword [0x5000cd]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
call fcn.00401ab8
push 0x80000301
push 0
push eax
push 1
mov ebx, 0x1bc
call sub.wmvert.dll_wm_SpaceBin
add esp, 0x10
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x30]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x409c3b
push ebx
call fcn.00459b32
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], esp
push dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x409c4f
add eax, 8
push eax
push dword [ebp - 8]
mov eax, 0x25
call sub.user32.dll_GetWindowTextW
cmp dword [ebp - 0x20], esp
je 0x409c79
push 0x2b9
push 0x401ac47
push 6
call fcn.00459b38
add esp, 0xc
lea eax, [ebp - 0x14]
push eax
call fcn.004096b1
mov dword [ebp - 0x20], eax
lea eax, [ebp - 4]
push eax
call fcn.004096b1
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], esp
push dword [ebp - 0x24]
push dword [ebp - 0x20]
mov eax, 0x26
call sub.shell32.dll_StrStrIW
cmp dword [ebp - 0x28], esp
je 0x409cc0
push 0x331
push 0x401ac47
push 6
call fcn.00459b38
add esp, 0xc
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x409d9c
mov dword [ebp - 0x20], esp
push dword [ebp - 8]
mov eax, 0x27
call sub.user32.dll_GetParent
cmp dword [ebp - 0x20], esp
je 0x409cf9
push 0x370
push 0x401ac47
push 6
call fcn.00459b38
add esp, 0xc
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x20], esp
push 0xfffffff4
push dword [ebp - 8]
mov eax, 0x28
call sub.user32.dll_GetWindowLongW
cmp dword [ebp - 0x20], esp
je 0x409d2d
push 0x3a4
push 0x401ac47
push 6
call fcn.00459b38
add esp, 0xc
mov dword [ebp - 0x1c], eax
push 0x80000301
push 0
push 0
push 0x80000301
push 0
push dword [ebp - 0x1c]
push 2
mov ebx, 0xa00
call sub.wmvert.dll_wm_MAKELONG
add esp, 0x1c
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x24], esp
push dword [ebp - 8]
push dword [ebp - 0x20]
push 0x111
push dword [ebp - 0x18]
mov eax, 0x29
call sub.user32.dll_SendMessageW
cmp dword [ebp - 0x24], esp
je 0x409d92
push 0x3e2
push 0x401ac47
push 6
call fcn.00459b38
add esp, 0xc
mov eax, 1
jmp 0x409e07
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push dword [ebp - 8]
call fcn.00409987
test eax, eax
je 0x409dbc
mov eax, 1
jmp 0x409e07
mov dword [ebp - 0x20], esp
push 0
push 0
push dword [ebp - 8]
push dword [ebp + 8]
mov eax, 0x21
call sub.user32.dll_FindWindowExW
cmp dword [ebp - 0x20], esp
je 0x409df5
push 0x4b5
push 0x401ac47
push 6
call fcn.00459b38
add esp, 0xc
mov dword [ebp - 8], eax
jmp 0x409ad7
mov eax, 0
jmp 0x409e07
push eax
mov ebx, dword [ebp - 4]
test ebx, ebx
je 0x409e18
push ebx
call fcn.00459b32
add esp, 4
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x409e28
push ebx
call fcn.00459b32
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x409e38
push ebx
call fcn.00459b32
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 0xc