Function at 0x421fac
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff88
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
lea eax, [ebp - 0x68]
push eax
push ebx
call sub.USER32.DLL_BeginPaint
mov esi, eax
push ebx
call sub.USER32.DLL_GetParent
push eax
call sub.USER32.DLL_GetDC
mov dword [ebp - 4], eax
call fcn.00421a78
lea eax, [ebp - 0x78]
push eax
push ebx
call sub.USER32.DLL_GetClientRect
push 0x658af0
push ebx
call dword [0x6589c8]
mov edi, eax
mov eax, dword [ebp - 0x78]
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0xc], edx
lea ecx, [ebp - 0xc]
push ecx
push ebx
call sub.USER32.DLL_ClientToScreen
lea eax, [ebp - 0xc]
push eax
push ebx
call sub.USER32.DLL_GetParent
push eax
call sub.USER32.DLL_ScreenToClient
push 0xcc0020
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 4]
mov edx, dword [ebp - 0x6c]
sub edx, dword [ebp - 0x74]
push edx
mov ecx, dword [ebp - 0x70]
sub ecx, dword [ebp - 0x78]
push ecx
push 0
push 0
push esi
call sub.GDI32.DLL_BitBlt
mov eax, dword [ebp - 0x70]
mov dword [ebp - 8], eax
mov dword [ebp - 0x70], 0x10
lea edx, [ebp - 0x14]
push edx
call sub.USER32.DLL_GetCursorPos
push 0
push 0
push 0xf0
push ebx
call sub.USER32.DLL_SendMessageA
dec eax
jne 0x42209b
push dword [ebp - 0x10]
push dword [ebp - 0x14]
call sub.USER32.DLL_WindowFromPoint
cmp ebx, eax
jne 0x422087
push 0
lea eax, [ebp - 0x78]
push eax
push 6
push 3
push esi
push edi
call dword [0x6589cc]
jmp 0x4220d0
push 0
lea edx, [ebp - 0x78]
push edx
push 5
push 3
push esi
push edi
call dword [0x6589cc]
jmp 0x4220d0
push dword [ebp - 0x10]
push dword [ebp - 0x14]
call sub.USER32.DLL_WindowFromPoint
cmp ebx, eax
jne 0x4220be
push 0
lea eax, [ebp - 0x78]
push eax
push 2
push 3
push esi
push edi
call dword [0x6589cc]
jmp 0x4220d0
push 0
lea edx, [ebp - 0x78]
push edx
push 1
push 3
push esi
push edi
call dword [0x6589cc]
mov ecx, dword [ebp - 8]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x78], 0xf
push ebx
call sub.USER32.DLL_GetWindowTextLengthA
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
inc eax
push eax
call sym.SISCOM.EXE__hb_xgrab
pop ecx
mov dword [ebp - 0x1c], eax
mov edx, dword [ebp - 0x18]
inc edx
push edx
push dword [ebp - 0x1c]
push ebx
call sub.USER32.DLL_GetWindowTextA
push 0
push 0
push 0xffffffffffffffff
push dword [ebp - 0x1c]
push 1
push 1
call sub.KERNEL32.DLL_MultiByteToWideChar
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
add ecx, ecx
push ecx
call sym.SISCOM.EXE__hb_xgrab
pop ecx
mov dword [ebp - 0x24], eax
push 0
push 0
push 0x31
push ebx
call sub.USER32.DLL_GetParent
push eax
call sub.USER32.DLL_GetParent
push eax
call sub.USER32.DLL_SendMessageA
push eax
push esi
call sub.GDI32.DLL_SelectObject
mov dword [ebp - 0x28], eax
push dword [ebp - 0x20]
push dword [ebp - 0x24]
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
push 1
push 1
call sub.KERNEL32.DLL_MultiByteToWideChar
add dword [ebp - 0x78], 2
add dword [ebp - 0x74], 2
add dword [ebp - 0x6c], 2
lea eax, [ebp - 0x78]
push eax
push 0
push 0
mov edx, dword [ebp - 0x20]
dec edx
push edx
push dword [ebp - 0x24]
push 0
push 3
push esi
push edi
call dword [0x6589d8]
push dword [ebp - 0x28]
push esi
call sub.GDI32.DLL_SelectObject
push dword [ebp - 0x24]
call sym.SISCOM.EXE__hb_xfree
pop ecx
push dword [ebp - 0x1c]
call sym.SISCOM.EXE__hb_xfree
pop ecx
push edi
call dword [0x6589d4]
push dword [ebp - 4]
push ebx
call sub.USER32.DLL_GetParent
push eax
call sub.USER32.DLL_ReleaseDC
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret