Function at 0x414480
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x268
mov eax, dword [0x4be0f0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
mov esi, ecx
push edi
mov edi, dword [esi + 0x2c]
test edi, edi
jg 0x4144a1
mov edi, dword [esi + 0x3c]
cmp edi, 1
jl 0x41482c
mov ecx, dword [esi + 0xc]
lea eax, [ebp - 0x248]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x244]
mov ecx, dword [ebp - 0x240]
mov edx, dword [ebp - 0x248]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x20c], eax
lea eax, [esi + 0xd0]
mov dword [ebp - 0x218], edx
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x20c], edi
cmp dword [eax], ecx
jge 0x41482c
cmp dword [eax + 4], edi
jge 0x41482c
cmp dword [eax + 8], edx
jle 0x41482c
mov ecx, dword [ebp - 0x214]
cmp dword [eax + 0xc], ecx
jle 0x41482c
lea edx, [ebp - 0x218]
push edx
xor ecx, ecx
push eax
lea eax, [ebp - 0x238]
push eax
mov dword [ebp - 0x238], ecx
mov dword [ebp - 0x234], ecx
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x22c], ecx
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x41482c
mov edx, dword [ebp - 0x230]
mov ecx, dword [ebp - 0x22c]
mov edi, dword [ebp - 0x238]
sub ecx, dword [ebp - 0x234]
mov eax, edx
sub eax, edi
cmp dword [esi + 0x124], 0
mov dword [ebp - 0x254], eax
mov dword [ebp - 0x250], ecx
je 0x4146a5
push ecx
push eax
call fcn.00436640
add esp, 8
push 0
mov dword [ebp - 0x24c], eax
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov ecx, dword [ebp - 0x24c]
mov edi, eax
push ecx
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov edx, dword [ebp - 0x254]
mov ecx, dword [ebp - 0x250]
xor eax, eax
mov dword [ebp - 0x228], eax
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x21c], ecx
cmp edi, eax
je 0x414606
mov edx, dword [esi + 0xe4]
push edx
push edi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0
push 0
push 0
lea eax, [ebp - 0x228]
push eax
push 2
push 0
push 0
push edi
call dword [sym.imp.GDI32.dll_ExtTextOutW]
mov eax, dword [ebp - 0x234]
mov edx, dword [ebp - 0x210]
mov ecx, dword [ebp - 0x238]
sub edx, dword [ebp - 0x218]
neg eax
mov dword [ebp - 0x260], eax
sub eax, dword [ebp - 0x214]
neg ecx
add eax, dword [ebp - 0x20c]
add edx, ecx
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x25c], edx
mov edx, dword [esi + 0x124]
mov dword [ebp - 0x258], eax
lea eax, [ebp - 0x264]
mov ecx, edi
call fcn.00436c40
mov eax, dword [ebp - 0x250]
mov edx, dword [ebx + 0x10]
mov ecx, dword [ebp - 0x254]
add edx, dword [ebp - 0x234]
push 0xcc0020
push 0
push 0
push edi
push eax
mov eax, dword [ebx + 0xc]
add eax, dword [ebp - 0x238]
push ecx
mov ecx, dword [ebx + 8]
push edx
push eax
push ecx
call dword [sym.imp.GDI32.dll_BitBlt]
push edi
mov edi, dword [sym.imp.GDI32.dll_DeleteObject]
call edi
mov edx, dword [ebp - 0x24c]
push edx
call edi
jmp 0x41471a
cmp dword [esi + 0x120], 0
jne 0x41471a
mov eax, dword [ebp - 0x218]
mov ecx, dword [ebp - 0x214]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x210]
mov dword [ebp - 0x224], ecx
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x220], eax
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x228], edi
mov dword [ebp - 0x220], edx
call dword [sym.imp.USER32.dll_GetActiveWindow]
cmp dword [esi + 0xc], eax
push 1
mov ecx, ebx
lea eax, [ebp - 0x228]
jne 0x41470b
push 0xc28727
push 0xdba448
jmp 0x414715
push 0xdba54a
push 0xe6be7b
call fcn.00437ae0
mov eax, dword [ebp - 0x20c]
cdq
sub eax, edx
mov edx, dword [esi + 0xc]
push 0xffffffffffffffde
mov edi, eax
push edx
sar edi, 1
call dword [sym.imp.USER32.dll_GetClassLongW]
test eax, eax
je 0x414760
test dword [esi + 0x7c], 0x200
je 0x414760
mov ecx, dword [esi + 0x50]
push eax
mov eax, ecx
cdq
sub eax, edx
mov edx, dword [esi + 0x4c]
sar eax, 1
sub edi, eax
push edi
mov eax, ebx
call fcn.00437d50
mov eax, dword [esi + 0x4c]
add eax, 0xd
jmp 0x414765
mov eax, 8
test dword [esi + 0x7c], 0x400
mov dword [ebp - 0x218], eax
je 0x41482c
mov ecx, dword [ebp - 0x210]
sub ecx, eax
cmp ecx, 0x14
jle 0x41482c
xor edx, edx
push 0x1fe
push edx
lea eax, [ebp - 0x206]
push eax
mov word [ebp - 0x208], dx
call fcn.00458dc0
mov edx, dword [esi + 0xc]
add esp, 0xc
push 0x100
lea ecx, [ebp - 0x208]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov dword [ebp - 0x24c], eax
test eax, eax
jle 0x41482c
mov edx, dword [ebp - 0x218]
mov ecx, dword [ebx + 0xc]
mov edi, dword [ebp - 0x210]
mov eax, dword [ebp - 0x20c]
mov esi, dword [ebp - 0x214]
mov dword [ebp - 0x228], edx
add edx, ecx
add edi, ecx
mov ecx, dword [ebx + 0x10]
add eax, ecx
push 0x24
mov dword [ebp - 0x21c], eax
add esi, ecx
mov ecx, dword [ebp - 0x24c]
lea eax, [ebp - 0x228]
push eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x228], edx
push ecx
lea edx, [ebp - 0x208]
push edx
push eax
mov dword [ebp - 0x220], edi
mov dword [ebp - 0x224], esi
call dword [sym.imp.USER32.dll_DrawTextW]
mov ecx, dword [ebp - 4]
pop edi
xor ecx, ebp
pop esi
call fcn.0044de17
mov esp, ebp
pop ebp
ret