Function at 0x4ff7d0
Capabilities:
Get graphical window text

Disassembly:
sub esp, 0x43c
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x450]
mov eax, dword [edi]
push eax
mov dword [esp + 0x28], eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov ebp, dword [esp + 0x454]
mov esi, eax
neg esi
sbb esi, esi
push ebp
inc esi
call dword [sym.imp.GDI32.dll_SaveDC]
mov ebx, dword [esp + 0x458]
mov eax, ebx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 8]
mov dword [esp + 0x18], edx
mov edx, dword [eax + 0xc]
mov eax, dword [ebx + 0xc]
push eax
mov eax, dword [ebx]
mov dword [esp + 0x20], ecx
mov ecx, dword [ebx + 8]
push ecx
mov dword [esp + 0x28], edx
mov edx, dword [ebx + 4]
push edx
push eax
push ebp
call dword [sym.imp.GDI32.dll_IntersectClipRect]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x4ff8bc
mov eax, dword [edi + 0x10]
test eax, eax
je 0x4ff8bc
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x30]
push ecx
mov eax, edi
call fcn.004ff5f0
mov eax, dword [edi + 0x14]
test eax, eax
je 0x4ff879
mov edx, dword [edi + 0xc]
push 0
push ebp
push edx
call fcn.005b51da
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
mov ebx, dword [eax]
push 0x1000
push ecx
mov ecx, dword [eax + 0x20]
push edx
push 0
push 0
lea edx, [eax + ecx*4]
mov ecx, dword [esp + 0x44]
add edx, ebx
push edx
mov edx, dword [esp + 0x40]
push eax
mov eax, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x44]
push ecx
mov ecx, dword [edi + 0xc]
push edx
push eax
push ebp
push ecx
call fcn.005b51f2
jmp 0x4ffbc0
mov eax, dword [edi + 4]
test eax, eax
je 0x4ffa3d
push ebp
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov edx, dword [edi + 4]
mov ebx, eax
push edx
push ebx
mov dword [esp + 0x2c], ebx
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [edi + 4]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x34]
push eax
push 0x18
push ecx
call dword [sym.imp.GDI32.dll_GetObjectW]
mov eax, 1
cmp word [esp + 0x44], ax
jne 0x4ff90b
cmp word [esp + 0x46], ax
mov dword [esp + 0x10], eax
je 0x4ff913
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x45c]
test ah, 0x20
jne 0x4ff933
push 0xf
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
lea edx, [esp + 0x38]
push edx
push ebx
call sym.vidcap60.exe__SfBitmapColorTranslate_12
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
sub edi, eax
mov eax, dword [esp + 0x45c]
sub ebx, ecx
mov ecx, eax
and ecx, 0x8000
mov dword [esp + 0x30], ecx
jne 0x4ff9b0
test ah, 0x40
mov ecx, dword [esp + 0x3c]
je 0x4ff96f
cmp dword [esp + 0x38], ebx
jg 0x4ff9b0
cmp ecx, edi
jg 0x4ff9b0
mov edx, dword [esp + 0x38]
mov eax, ebx
mov ebx, dword [esp + 0x14]
sub eax, edx
cdq
sub eax, edx
sar eax, 1
add ebx, eax
mov eax, edi
sub eax, ecx
cdq
sub eax, edx
mov edx, eax
mov eax, dword [esp + 0x18]
sar edx, 1
add eax, edx
mov edx, dword [esp + 0x38]
lea edi, [edx + ebx]
mov dword [esp + 0x18], eax
add eax, ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], eax
mov edi, ecx
mov ebx, edx
mov eax, dword [esp + 0x10]
xor ecx, ecx
test eax, eax
sete cl
lea ecx, [ecx + ecx + 1]
push ecx
push ebp
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
test esi, esi
je 0x4ff9ee
push 0xffffff
push ebp
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push ebp
call dword [sym.imp.GDI32.dll_SetTextColor]
mov edx, dword [0x6a3748]
push edx
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
neg esi
sbb esi, esi
and esi, 0xffdc0389
add esi, 0xcc0020
push esi
mov esi, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x1c]
push ecx
push 0
push 0
push esi
push edi
push ebx
push edx
push eax
push ebp
call dword [sym.imp.GDI32.dll_StretchBlt]
mov ecx, dword [esp + 0x28]
push ecx
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
jmp 0x4ffbc0
mov eax, dword [edi + 8]
test eax, eax
je 0x4ffa4c
push eax
push ebp
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [edi + 0x24]
test eax, eax
je 0x4ffa59
mov edx, dword [edi + 0x28]
push edx
jmp 0x4ffa68
test byte [esp + 0x45c], 0x10
je 0x4ffa6f
push 0xff0000
push ebp
call dword [sym.imp.GDI32.dll_SetTextColor]
mov ecx, dword [esp + 0x24]
push 0x200
lea eax, [esp + 0x50]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowTextW]
lea edx, [esp + 0x4c]
test edx, edx
jne 0x4ffa92
mov dword [esp + 0x10], edx
jmp 0x4ffaa4
lea eax, [esp + 0x4c]
push eax
call dword [0x5d2620]
add esp, 4
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x28]
push ecx
push edx
lea eax, [esp + 0x54]
push eax
push ebp
call dword [sym.imp.GDI32.dll_GetTextExtentPointW]
mov ecx, dword [esp + 0x45c]
test ch, 0x10
je 0x4ffae3
mov ecx, dword [ebx + 8]
sub ecx, dword [ebx]
push ecx
push 0x200
lea edx, [esp + 0x54]
push edx
push ebp
call sym.vidcap60.exe__SfCalcStringEllipsis_16
mov ecx, dword [esp + 0x45c]
mov ebx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
mov eax, 2
sub ebx, eax
add edx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov ebx, dword [esp + 0x2c]
sub eax, ebx
mov dword [esp + 0x14], edx
add eax, dword [esp + 0x20]
cdq
sub eax, edx
sar eax, 1
add ebx, eax
test esi, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ebx
je 0x4ffb45
mov ecx, dword [esp + 0x10]
push 0
push 0
push eax
mov eax, dword [esp + 0x20]
push eax
push ecx
lea edx, [esp + 0x60]
push edx
push 0
push 4
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push ebp
call dword [sym.imp.USER32.dll_GrayStringW]
jmp 0x4ffbc0
xor eax, eax
mov al, cl
and eax, 0xf
dec eax
je 0x4ffb69
dec eax
je 0x4ffb62
sub eax, 0xa
je 0x4ffb5e
mov esi, 0x10
jmp 0x4ffb6e
xor esi, esi
jmp 0x4ffb6e
mov esi, 2
jmp 0x4ffb6e
mov esi, 0x11
test cl, cl
jns 0x4ffb78
or esi, 0x800
test ch, 0xf
je 0x4ffb80
or esi, 0x20
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x4ffb90
push 1
push ebp
call dword [sym.imp.GDI32.dll_SetBkMode]
lea ecx, [esp + 0x4c]
test ecx, ecx
jne 0x4ffb9c
xor eax, eax
jmp 0x4ffbaa
lea edx, [esp + 0x4c]
push edx
call dword [0x5d2620]
add esp, 4
or esi, 0x40
push esi
lea ecx, [esp + 0x18]
push ecx
push eax
lea edx, [esp + 0x58]
push edx
push ebp
call dword [sym.imp.USER32.dll_DrawTextW]
push 0xffffffffffffffff
push ebp
call dword [sym.imp.GDI32.dll_RestoreDC]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x43c
ret 0x10