Function at 0x40839e
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x150
mov eax, dword [0x5095c0]
xor eax, ebp
mov dword [ebp - 4], eax
push esi
push edi
mov edi, ecx
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov esi, eax
test esi, esi
je 0x40856d
push esi
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
push eax
lea eax, [ebp - 0x108]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x130]
call fcn.00401e4c
push ecx
push ecx
lea ecx, [ebp - 0x130]
call fcn.0040969a
test eax, eax
jne 0x408525
lea eax, [ebp - 0x118]
push eax
push esi
call dword [sym.imp.USER32.dll_GetWindowRect]
cmp byte [0x519b94], 0
mov esi, dword [0x519b8c]
movd xmm3, esi
cvtdq2pd xmm3, xmm3
movaps xmm0, xmm3
mulsd xmm3, qword [0x501568]
mulsd xmm0, qword [0x501590]
movaps xmm4, xmm0
movsd qword [ebp - 0x140], xmm0
mulsd xmm4, qword [0x5015b8]
divsd xmm4, qword [0x5015a8]
movsd qword [ebp - 0x150], xmm4
jne 0x4084a3
mov eax, dword [ebp - 0x110]
sub eax, dword [ebp - 0x118]
movd xmm0, dword [ebp - 0x118]
cvtdq2pd xmm0, xmm0
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm1, xmm4
mulsd xmm1, qword [0x501570]
addsd xmm1, xmm0
movd xmm0, dword [ebp - 0x114]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x138], xmm1
jmp 0x408517
mov ecx, dword [0x519fa0]
mov edx, dword [0x519b88]
sub ecx, edx
mov eax, dword [0x519b84]
add eax, 0x64
imul ecx, eax
mov eax, dword [0x519b80]
movd xmm2, edx
add eax, 0x64
cvtdq2pd xmm2, xmm2
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
mov ecx, dword [0x519b90]
sub ecx, esi
imul ecx, eax
divsd xmm0, qword [0x501640]
addsd xmm2, xmm0
subsd xmm2, xmm0
subsd xmm2, xmm4
mulsd xmm2, qword [0x501570]
addsd xmm2, xmm0
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x138], xmm2
divsd xmm0, qword [0x501640]
addsd xmm3, xmm0
movsd qword [ebp - 0x110], xmm3
jmp 0x408560
movd xmm0, dword [0x519fa0]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x150], xmm0
movd xmm0, dword [0x519b90]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x140], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x138], xmm0
movsd qword [ebp - 0x110], xmm0
lea ecx, [ebp - 0x130]
call fcn.00401e83
jmp 0x4085a8
movd xmm0, dword [0x519fa0]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x150], xmm0
movd xmm0, dword [0x519b90]
cvtdq2pd xmm0, xmm0
movsd qword [ebp - 0x140], xmm0
xorps xmm0, xmm0
movsd qword [ebp - 0x138], xmm0
movsd qword [ebp - 0x110], xmm0
lea eax, [ebp - 0x148]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
test eax, eax
je 0x408707
cmp byte [0x519b94], 0
jne 0x408654
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsi2sd xmm1, dword [ebp - 0x148]
push ecx
push ecx
cvtsi2sd xmm0, dword [0x519b88]
divsd xmm1, xmm0
movsd qword [esp], xmm1
call fcn.004afb70
xorps xmm0, xmm0
xorps xmm1, xmm1
cvtsi2sd xmm0, dword [0x519b88]
cvtsi2sd xmm1, dword [ebp - 0x144]
movsd qword [ebp - 0x110], xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [0x519b8c]
fmul qword [ebp - 0x110]
divsd xmm1, xmm0
fstp qword [ebp - 0x138]
movsd qword [esp], xmm1
call fcn.004afb70
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [0x519b8c]
pop ecx
pop ecx
movsd qword [ebp - 0x110], xmm0
fmul qword [ebp - 0x110]
fstp qword [ebp - 0x110]
cmp byte [0x519b95], 0
movd xmm2, dword [ebp - 0x148]
movsd xmm0, qword [ebp - 0x138]
movsd xmm1, qword [ebp - 0x110]
movsd xmm4, qword [0x501598]
cvtdq2pd xmm2, xmm2
subsd xmm2, xmm0
divsd xmm2, qword [ebp - 0x150]
je 0x408697
movaps xmm0, xmm4
subsd xmm0, xmm2
movaps xmm2, xmm0
movaps xmm0, xmm4
xorps xmm3, xmm3
minsd xmm0, xmm2
xorps xmm2, xmm2
maxsd xmm3, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, dword [ebp - 0x144]
subsd xmm0, xmm1
divsd xmm0, qword [ebp - 0x140]
minsd xmm4, xmm0
movaps xmm0, xmm3
mulsd xmm3, qword [0x501670]
mulsd xmm0, qword [0x501630]
maxsd xmm2, xmm4
movaps xmm1, xmm2
mulsd xmm2, qword [0x501608]
mulsd xmm1, qword [0x501610]
subsd xmm3, xmm2
subsd xmm1, xmm0
addsd xmm3, qword [0x501648]
addsd xmm1, qword [0x501638]
jmp 0x408717
movsd xmm1, qword [ebp - 0x140]
movsd xmm3, qword [ebp - 0x140]
mov ecx, dword [ebp - 4]
mov eax, edi
movsd qword [edi], xmm1
xor ecx, ebp
movsd qword [edi + 8], xmm3
pop edi
pop esi
call fcn.004a818a
leave
ret