Function at 0x519db8
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffee8
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x110], edx
mov dword [ebp - 0x114], edx
mov dword [ebp - 0x118], edx
mov dword [ebp - 4], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x51a87b
push dword fs:[eax]
mov dword fs:[eax], esp
mov dl, 1
mov eax, dword [0x54c1ac]
call fcn.00466138
xor eax, eax
push ebp
push 0x51a84e
push dword fs:[eax]
mov dword fs:[eax], esp
cmp byte [0x54c5a9], 1
jne 0x51a06e
lea edx, [ebp - 0x110]
mov eax, 0x65
call fcn.00408ef8
mov eax, dword [ebp - 0x110]
push eax
lea eax, [ebp - 4]
push eax
mov ecx, 0x51a894
mov edx, 0x51a8a4
mov eax, dword [0x54c1ac]
call fcn.00466e3c
mov eax, dword [ebp - 4]
call fcn.00403e90
cmp eax, 2
jne 0x519e69
lea edx, [ebp - 0x110]
xor eax, eax
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
lea eax, [ebp - 4]
call fcn.00403e98
lea eax, [ebp - 0x110]
mov edx, dword [ebp - 4]
mov dl, byte [edx + 2]
call fcn.00403db8
mov eax, dword [ebp - 0x110]
push eax
lea edx, [ebp - 0x114]
xor eax, eax
call fcn.00408ef8
mov edx, dword [ebp - 0x114]
pop eax
call fcn.00403fa0
jne 0x519eb4
mov eax, dword [0x54c5ac]
call fcn.004649f8
test al, al
je 0x519eb4
mov eax, dword [0x54c5ac]
call fcn.00409378
mov edx, 0x51a8b4
mov eax, dword [0x54c1ac]
call fcn.004678a4
test al, al
je 0x51a06e
mov dl, 1
mov eax, dword [0x40f53c]
call fcn.00402f00
mov esi, eax
mov ecx, esi
mov edx, 0x51a8b4
mov eax, dword [0x54c1ac]
call fcn.00466c10
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x51a03c
inc eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 8], 0
lea ecx, [ebp - 0x110]
mov edx, dword [ebp - 8]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x110]
xor edx, edx
call fcn.004090d0
push eax
call sub.user32.dll_IsWindow
test eax, eax
je 0x519fb1
lea ecx, [ebp - 0x110]
mov edx, dword [ebp - 8]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x110]
xor edx, edx
call fcn.004090d0
mov edi, eax
mov eax, dword [0x54c150]
call fcn.00446fc4
cmp edi, eax
je 0x519fb1
push 0xff
lea eax, [ebp - 0x10c]
push eax
lea ecx, [ebp - 0x110]
mov edx, dword [ebp - 8]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov eax, dword [ebp - 0x110]
xor edx, edx
call fcn.004090d0
push eax
call sub.user32.dll_GetWindowTextA
lea edx, [ebp - 0x110]
lea eax, [ebp - 0x10c]
call fcn.00409b14
mov edx, dword [ebp - 0x110]
mov eax, 0x51a8c4
call fcn.00404178
test eax, eax
jg 0x51a030
mov eax, dword [0x54988c]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x118]
mov edx, dword [ebp - 8]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x118]
mov edx, 0x51a8b4
mov eax, dword [0x54c1ac]
call fcn.00466e3c
mov ecx, dword [ebp - 0x114]
lea eax, [ebp - 0x110]
mov edx, dword [0x54c1f0]
call fcn.00403edc
mov eax, dword [ebp - 0x110]
call fcn.004649f8
test al, al
jne 0x51a030
lea ecx, [ebp - 0x110]
mov edx, dword [ebp - 8]
mov eax, esi
mov edi, dword [eax]
call dword [edi + 0xc]
mov ecx, dword [ebp - 0x110]
mov edx, 0x51a8b4
mov eax, dword [0x54c1ac]
call fcn.004676e4
inc dword [ebp - 8]
dec dword [ebp - 0xc]
jne 0x519f05
mov ecx, esi
mov edx, 0x51a8b4
mov eax, dword [0x54c1ac]
call fcn.00466c10
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
jne 0x51a067
mov edx, 0x51a8b4
mov eax, dword [0x54c1ac]
call fcn.004677fc
mov eax, esi
call fcn.00402f30
push 1
mov edx, 0x51a8a4
mov ecx, 0x51a8d8
mov eax, dword [0x54c1ac]
call fcn.00467110
test al, al
je 0x51a0a6
mov eax, dword [ebx + 0x6b4]
mov al, byte [eax + 0x2c]
push eax
mov edx, 0x51a8a4
mov ecx, 0x51a8f0
mov eax, dword [0x54c1ac]
call fcn.004676c8
push 0x54c5d0
push 3
mov ecx, dword [0x54c150]
mov edx, 0x51a900
mov eax, dword [0x54c1ac]
call fcn.00467d74
mov eax, dword [ebx + 0x874]
mov al, byte [eax + 0x2c]
push eax
mov edx, 0x51a8a4
mov ecx, 0x51a910
mov eax, dword [0x54c1ac]
call fcn.004676c8
mov esi, dword [ebx + 0x2c8]
cmp byte [esi + 0x388], 0
jne 0x51a117
lea edx, [ebp - 0x110]
mov eax, esi
call fcn.004a60e8
mov eax, dword [ebp - 0x110]
push eax
mov edx, 0x51a900
mov ecx, 0x51a91c
mov eax, dword [0x54c1ac]
call fcn.00467298
mov esi, dword [ebx + 0x2cc]
cmp byte [esi + 0x388], 0
jne 0x51a14e
lea edx, [ebp - 0x110]
mov eax, esi
call fcn.004a60e8
mov eax, dword [ebp - 0x110]
push eax
mov edx, 0x51a900
mov ecx, 0x51a92c
mov eax, dword [0x54c1ac]
call fcn.00467298
mov esi, dword [ebx + 0x648]
cmp byte [esi + 0x358], 0
jne 0x51a185
lea edx, [ebp - 0x110]
mov eax, esi
call fcn.004a60e8
mov eax, dword [ebp - 0x110]
push eax
mov edx, 0x51a900
mov ecx, 0x51a93c
mov eax, dword [0x54c1ac]
call fcn.00467298
mov eax, dword [0x54988c]
mov eax, dword [eax]
push eax
lea eax, [ebp - 0x110]
push eax
mov edx, 0x51a900
mov ecx, 0x51a93c
mov eax, dword [0x54c1ac]
call fcn.00466e3c
mov edx, dword [ebp - 0x110]
mov eax, dword [ebx + 0x648]
call fcn.004a5fe0
mov eax, dword [ebx + 0x584]
cmp byte [eax + 0x2c], 0
jne 0x51a1d3
mov eax, dword [ebx + 0x3b8]
or edx, 0xffffffff
call fcn.004bc96c
mov eax, dword [ebx + 0x584]
mov al, byte [eax + 0x2c]
xor al, 1
push eax
mov edx, 0x51a900
mov ecx, 0x51a948
mov eax, dword [0x54c1ac]
call fcn.004676c8
mov eax, dword [ebx + 0x40c]
mov al, byte [eax + 0x2c]
push eax
mov edx, 0x51a900
mov ecx, 0x51a894
mov eax, dword [0x54c1ac]
call fcn.004676c8
mov eax, dword [ebx + 0x408]
mov al, byte [eax + 0x2c]
push eax
mov edx, 0x51a900
mov ecx, 0x51a958
mov eax, dword [0x54c1ac]
call fcn.004676c8
mov eax, dword [ebx + 0x3bc]
fld dword [eax + 0x228]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov edx, 0x51a900
mov ecx, 0x51a968
mov eax, dword [0x54c1ac]
call fcn.00467610
mov eax, dword [ebx + 0x3c0]
fld dword [eax + 0x228]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov edx, 0x51a900
mov ecx, 0x51a974
mov eax, dword [0x54c1ac]
call fcn.00467610
mov eax, dword [ebx + 0x3b8]
fld dword [eax + 0x228]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov edx, 0x51a900
mov ecx, 0x51a980
mov eax, dword [0x54c1ac]
call fcn.00467610
mov eax, dword [ebx + 0x414]
fld dword [eax + 0x228]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov edx, 0x51a900
mov ecx, 0x51a98c
mov eax, dword [0x54c1ac]
call fcn.00467610
mov eax, dword [ebx + 0x41c]
fld dword [eax + 0x228]
add esp, 0xfffffff8
fstp qword [esp]
wait
mov edx, 0x51a900
mov ecx, 0x51a998
mov eax, dword [0x54c1ac]
call fcn.00467610
mov eax, dword [ebx + 0x7c0]
cmp dword [eax + 0xc], 1
sete al
push eax
mov edx, 0x51a8a4
mov ecx, 0x51a9a4
mov eax, dword [0x54c1ac]
call fcn.004676c8
mov eax, dword [ebx + 0x810]
cmp dword [eax + 0xc], 1
sete al
push eax
mov edx, 0x51a8a4
mov ecx, 0x51a9b4
mov eax, dword [0x54c1ac]
call fcn.004676c8
mov eax, dword [ebx + 0x6ac]
cmp byte [eax + 0x2c], 0
je 0x51a365
mov eax, dword [ebx + 0x3bc]
mov eax, dword [eax + 0x200]
push eax
mov edx, 0x51a900
mov ecx, 0x51a9c4
mov eax, dword [0x54c1ac]
call fcn.004675b4
jmp 0x51a386
mov eax, dword [ebx + 0x3bc]
mov eax, dword [eax + 0x200]
push eax
mov edx, 0x51a900
mov ecx, 0x51a9d0
mov eax, dword [0x54c1ac]
call fcn.004675b4
lea edx, [ebp - 4]
xor eax, eax
call fcn.00408ef8
lea edx, [ebp - 0x110]
mov eax, dword [ebx + 0x634]
movzx eax, byte [eax + 0x2c]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
lea eax, [ebp - 4]
call fcn.00403e98
lea edx, [ebp - 0x110]
mov eax, dword [ebx + 0x638]
movzx eax, byte [eax + 0x2c]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
lea eax, [ebp - 4]
call fcn.00403e98
lea edx, [ebp - 0x110]
mov eax, dword [ebx + 0x8a8]
movzx eax, byte [eax + 0x2c]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
lea eax, [ebp - 4]
call fcn.00403e98
lea edx, [ebp - 0x110]
mov eax, dword [ebx + 0x8ac]
movzx eax, byte [eax + 0x2c]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
lea eax, [ebp - 4]
call fcn.00403e98
lea edx, [ebp - 0x110]
mov eax, dword [ebx + 0x8b0]
movzx eax, byte [eax + 0x2c]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
lea eax, [ebp - 4]
call fcn.00403e98
lea edx, [ebp - 0x110]
mov eax, dword [ebx + 0x8b4]
movzx eax, byte [eax + 0x2c]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
lea eax, [ebp - 4]
call fcn.00403e98
mov eax, dword [ebp - 4]
push eax
mov edx, 0x51a8a4
mov ecx, 0x51a9dc
mov eax, dword [0x54c1ac]
call fcn.00467298
mov eax, dword [0x54c1d8]
cmp eax, dword [0x54c1dc]
jge 0x51a4b7
lea ecx, [ebp - 0x110]
mov edx, 4
mov eax, dword [0x54c1d8]
call fcn.00408f5c
mov eax, dword [ebp - 0x110]
push eax
mov edx, 0x51a8a4
mov ecx, 0x51a9ec
mov eax, dword [0x54c1ac]
call fcn.00467298
mov eax, dword [ebx + 0x640]
mov al, byte [eax + 0x2c]
push eax
mov edx, 0x51a8a4
mov ecx, 0x51a9f8
mov eax, dword [0x54c1ac]
call fcn.004676c8
mov al, byte [0x54c5eb]
sub al, 1
jb 0x51a4e6
je 0x51a4ed
dec al
je 0x51a4f6
jmp 0x51a4ff
xor eax, eax
mov dword [ebp - 8], eax
jmp 0x51a506
mov dword [ebp - 8], 1
jmp 0x51a506
mov dword [ebp - 8], 2
jmp 0x51a506
mov dword [ebp - 8], 3
mov eax, dword [ebp - 8]
push eax
mov edx, 0x51a8a4
mov ecx, 0x51aa08
mov eax, dword [0x54c1ac]
call fcn.004675b4
mov eax, dword [ebx + 0x5e8]
cmp byte [eax + 0x2c], 0
jne 0x51a7f8
mov dl, 1
mov eax, dword [0x40f53c]
call fcn.00402f00
mov esi, eax
mov eax, dword [ebx + 0x418]
mov eax, dword [eax + 0x21c]
xor edx, edx
call fcn.0047d638
call fcn.0047d488
lea edx, [ebp - 0x110]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x418]
mov eax, dword [eax + 0x21c]
mov edx, 1
call fcn.0047d638
call fcn.0047d488
lea edx, [ebp - 0x110]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x418]
mov eax, dword [eax + 0x21c]
mov edx, 2
call fcn.0047d638
call fcn.0047d488
lea edx, [ebp - 0x110]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x418]
mov eax, dword [eax + 0x21c]
mov edx, 3
call fcn.0047d638
call fcn.0047d488
lea edx, [ebp - 0x110]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x418]
mov eax, dword [eax + 0x21c]
mov edx, 4
call fcn.0047d638
call fcn.0047d488
lea edx, [ebp - 0x110]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x418]
mov eax, dword [eax + 0x21c]
mov edx, 5
call fcn.0047d638
call fcn.0047d488
lea edx, [ebp - 0x110]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea edx, [ebp - 0x110]
mov eax, esi
call fcn.00412210
mov eax, dword [ebp - 0x110]
push eax
mov edx, 0x51a8a4
mov ecx, 0x51aa1c
mov eax, dword [0x54c1ac]
call fcn.00467298
mov eax, esi
mov edx, dword [eax]
call dword [edx + 0x40]
mov eax, dword [ebx + 0x420]
mov eax, dword [eax + 0x21c]
xor edx, edx
call fcn.0047d638
call fcn.0047d488
lea edx, [ebp - 0x110]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x420]
mov eax, dword [eax + 0x21c]
mov edx, 1
call fcn.0047d638
call fcn.0047d488
lea edx, [ebp - 0x110]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x420]
mov eax, dword [eax + 0x21c]
mov edx, 2
call fcn.0047d638
call fcn.0047d488
lea edx, [ebp - 0x110]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x420]
mov eax, dword [eax + 0x21c]
mov edx, 3
call fcn.0047d638
call fcn.0047d488
lea edx, [ebp - 0x110]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x420]
mov eax, dword [eax + 0x21c]
mov edx, 4
call fcn.0047d638
call fcn.0047d488
lea edx, [ebp - 0x110]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
mov eax, dword [ebx + 0x420]
mov eax, dword [eax + 0x21c]
mov edx, 5
call fcn.0047d638
call fcn.0047d488
lea edx, [ebp - 0x110]
call fcn.00408ef8
mov edx, dword [ebp - 0x110]
mov eax, esi
mov ecx, dword [eax]
call dword [ecx + 0x34]
lea edx, [ebp - 0x110]
mov eax, esi
call fcn.00412210
mov eax, dword [ebp - 0x110]
push eax
mov edx, 0x51a8a4
mov ecx, 0x51aa30
mov eax, dword [0x54c1ac]
call fcn.00467298
mov eax, esi
call fcn.00402f30
mov eax, dword [ebx + 0x680]
mov al, byte [eax + 0x2c]
push eax
mov edx, 0x51a8a4
mov ecx, 0x51aa44
mov eax, dword [0x54c1ac]
call fcn.004676c8
mov eax, dword [ebx + 0x678]
mov al, byte [eax + 0x2c]
push eax
mov edx, 0x51a8a4
mov ecx, 0x51aa50
mov eax, dword [0x54c1ac]
call fcn.004676c8
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x51a855
xor edx, edx
mov eax, dword [0x54c1ac]
call fcn.00466138
ret