Function at 0x517489
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffbc8
push ebx
push esi
push edi
mov ebx, dword [ebp + 8]
push dword [ebx]
call fcn.0051dd0a
mov edi, eax
test edi, edi
je 0x517bf7
cmp dword [ebp + 0xc], 2
jne 0x5174c9
push 0x76
push dword [ebx]
call sub.USER32.dll_GetDlgItem
mov esi, eax
push 0x56ca77
push 0
push 0xc
push esi
call sub.USER32.dll_SendMessageA
cmp dword [ebp + 0x1c], 0
je 0x517570
push 0x76
push dword [ebx]
call sub.USER32.dll_GetDlgItem
mov esi, eax
push 0x7d000
push 0x7d000
push 1
push esi
call fcn.00478c58
push 0x3e7
lea eax, [ebp - 0x418]
push eax
push esi
call sub.USER32.dll_GetWindowTextA
push dword [ebp + 0x1c]
lea edx, [ebp - 0x418]
push edx
call fcn.0054c5e4
add esp, 8
test eax, eax
jne 0x517570
mov byte [ebp - 0x418], 0
push esi
call sub.USER32.dll_GetWindowTextLengthA
test eax, eax
jle 0x51753d
push 0x56ca7b
lea ecx, [ebp - 0x418]
push ecx
call fcn.0054c1f4
add esp, 8
push dword [ebp + 0x1c]
lea eax, [ebp - 0x418]
push eax
call fcn.0054c1f4
add esp, 8
lea edx, [ebp - 0x418]
push edx
push 0
push 0xc2
push esi
call sub.USER32.dll_SendMessageA
push esi
call sub.USER32.dll_UpdateWindow
push dword [ebx]
call fcn.00516b10
push dword [ebx]
call sub.USER32.dll_GetDC
mov esi, eax
test esi, esi
je 0x517bf7
push dword [edi + 0x924]
push esi
call sub.GDI32.dll_SelectObject
mov dword [ebp - 0xc], eax
push dword [0x55f8ec]
push esi
call sub.GDI32.dll_SetTextColor
mov dword [ebp - 4], eax
push dword [0x55f8d8]
push esi
call sub.GDI32.dll_SetBkColor
mov dword [ebp - 8], eax
cmp dword [ebp + 0xc], 0
je 0x517754
push 0x67
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowTextLengthA
push eax
lea edi, [ebx + 0x234]
push edi
call fcn.0054c2d0
pop ecx
pop edx
cmp edx, eax
je 0x5175e8
push edi
push 0
push 0xc
push 0x67
push dword [ebx]
call sub.USER32.dll_SendDlgItemMessageA
mov eax, dword [ebx + 0x35c]
test eax, eax
jbe 0x517626
push 1
push 0
push 1
push 1
push 0
push 0
lea ecx, [ebp - 0x418]
push ecx
mov dword [ebp - 0x430], eax
xor eax, eax
mov dword [ebp - 0x42c], eax
fild qword [ebp - 0x430]
add esp, 0xfffffff4
fstp xword [esp]
call fcn.004e5ac5
jmp 0x517636
push esi
mov esi, 0x56ca7f
lea edi, [ebp - 0x418]
mov eax, edi
movsd dword es:[edi], dword [esi]
pop esi
push 0x69
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowTextLengthA
mov edi, eax
lea eax, [ebp - 0x418]
push eax
call fcn.0054c2d0
pop ecx
cmp edi, eax
je 0x51766c
lea edx, [ebp - 0x418]
push edx
push 0
push 0xc
push 0x69
push dword [ebx]
call sub.USER32.dll_SendDlgItemMessageA
lea ecx, [ebx + 4]
push esi
mov edi, ecx
lea esi, [ebp - 0x418]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop esi
cmp dword [ebx + 0x374], 0
je 0x5176ee
lea eax, [ebx + 0x68]
push eax
lea edx, [ebx + 4]
push edx
call fcn.0054c494
add esp, 8
test eax, eax
je 0x5176ee
push 0x56ca84
lea ecx, [ebp - 0x418]
push ecx
call fcn.0054c1f4
add esp, 8
lea eax, [ebx + 0x68]
push eax
lea edx, [ebp - 0x418]
push edx
call fcn.0054c1f4
add esp, 8
push 0x56ca88
lea ecx, [ebp - 0x418]
push ecx
call fcn.0054c1f4
add esp, 8
push 0x6b
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowTextLengthA
mov edi, eax
lea eax, [ebp - 0x418]
push eax
call fcn.0054c2d0
pop ecx
cmp edi, eax
je 0x517724
lea edx, [ebp - 0x418]
push edx
push 0
push 0xc
push 0x6b
push dword [ebx]
call sub.USER32.dll_SendDlgItemMessageA
push 0x6d
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowTextLengthA
push eax
lea edi, [ebx + 0x130]
push edi
call fcn.0054c2d0
pop ecx
pop edx
cmp edx, eax
je 0x517754
push edi
push 0
push 0xc
push 0x6d
push dword [ebx]
call sub.USER32.dll_SendDlgItemMessageA
cmp dword [ebp + 0x18], 0
jne 0x517764
cmp dword [ebp + 0xc], 0
je 0x517a8a
xor eax, eax
mov dword [ebp - 0x10], eax
xor edi, edi
mov eax, dword [ebx + 0x388]
test eax, eax
jle 0x51777d
mov edi, dword [ebx + 0x38c]
sub edi, eax
mov byte [ebp - 0x418], 0
test edi, edi
jbe 0x517923
cmp dword [ebx + 0x350], 0
jbe 0x517923
cmp dword [ebx + 0x33c], 4
jne 0x5178ce
call fcn.0042e52c
sub eax, dword [ebx + 0x390]
sbb edx, dword [ebx + 0x394]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x2c], 0
jne 0x5177d1
cmp dword [ebp - 0x30], 0x7d0
ja 0x5177d7
jmp 0x5178ce
jle 0x5178ce
fild qword [ebp - 0x30]
fld xword [0x517c01]
fmulp st(1)
fstp xword [ebp - 0x1c]
wait
fld xword [ebp - 0x1c]
fcomp dword [0x517c0d]
fnstsw ax
sahf
jae 0x517806
xor edx, edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x18], 0x80000000
mov word [ebp - 0x14], 0x3fff
mov ecx, dword [ebx + 0x350]
mov dword [ebp - 0x430], ecx
xor eax, eax
mov dword [ebp - 0x42c], eax
fild qword [ebp - 0x430]
mov edx, dword [ebx + 0x398]
mov dword [ebp - 0x438], edx
xor ecx, ecx
mov dword [ebp - 0x434], ecx
fild qword [ebp - 0x438]
fsubp st(1)
fstp xword [ebp - 0x28]
wait
fld xword [ebp - 0x28]
fcomp dword [0x517c11]
fnstsw ax
sahf
jae 0x51785a
xor edx, edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], edx
mov word [ebp - 0x20], dx
fld xword [ebp - 0x28]
fld xword [ebp - 0x1c]
fdivp st(1)
call fcn.00554a2c
test eax, eax
ja 0x51787c
cmp dword [ebx + 0x39c], 2
jae 0x51787c
inc dword [ebx + 0x39c]
jmp 0x5178aa
xor edx, edx
mov dword [ebx + 0x39c], edx
mov edx, dword [ebx + 0x364]
cmp eax, edx
jb 0x51789a
sub eax, edx
shr eax, 1
add dword [ebx + 0x364], eax
jmp 0x5178aa
mov ecx, dword [ebx + 0x364]
sub ecx, eax
shr ecx, 1
sub dword [ebx + 0x364], ecx
call fcn.0042e52c
mov dword [ebx + 0x390], eax
mov dword [ebx + 0x394], edx
mov eax, dword [ebx + 0x350]
mov dword [ebx + 0x398], eax
mov dword [ebp - 0x10], 1
mov eax, dword [ebx + 0x364]
push 1
push 0
push 1
push 1
push 0
push 0
lea edx, [ebp - 0x418]
push edx
mov dword [ebp - 0x430], eax
xor ecx, ecx
mov dword [ebp - 0x42c], ecx
fild qword [ebp - 0x430]
add esp, 0xfffffff4
fstp xword [esp]
call fcn.004e5ac5
cmp byte [ebp - 0x418], 0
je 0x517923
push str._Sec
lea eax, [ebp - 0x418]
push eax
call fcn.0054c1f4
add esp, 8
lea edx, [ebp - 0x428]
push edx
push 0x74
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
lea ecx, [ebp - 0x428]
push ecx
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push 0
lea eax, [ebp - 0x418]
push eax
call fcn.0054c2d0
pop ecx
push eax
lea edx, [ebp - 0x418]
push edx
lea ecx, [ebp - 0x428]
push ecx
push 6
push dword [ebp - 0x424]
push dword [ebp - 0x428]
push esi
call sub.GDI32.dll_ExtTextOutA
mov byte [ebp - 0x418], 0
test edi, edi
jbe 0x517a30
cmp dword [ebx + 0x35c], 0
jbe 0x517a30
cmp dword [ebx + 0x364], 0
jbe 0x517a30
cmp dword [ebx + 0x344], 0
je 0x5179b3
xor edi, edi
jmp 0x5179fa
cmp dword [ebp - 0x10], 0
je 0x5179eb
mov edi, dword [ebx + 0x35c]
sub edi, dword [ebx + 0x350]
mov eax, edi
xor edx, edx
div dword [ebx + 0x364]
mov edi, eax
test edi, edi
ja 0x5179da
mov edi, 1
mov dword [ebx + 0x3a0], edi
test edi, edi
ja 0x5179fa
mov edi, 1
jmp 0x5179fa
mov edi, dword [ebx + 0x3a0]
test edi, edi
ja 0x5179fa
mov edi, 1
push 3
push edi
push 0x56ca91
call fcn.00511048
push esi
push edi
mov edi, eax
lea esi, [ebp - 0x418]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
lea eax, [ebp - 0x428]
push eax
push 0x72
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
lea edx, [ebp - 0x428]
push edx
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push 0
lea ecx, [ebp - 0x418]
push ecx
call fcn.0054c2d0
pop ecx
push eax
lea eax, [ebp - 0x418]
push eax
lea edx, [ebp - 0x428]
push edx
push 6
push dword [ebp - 0x424]
push dword [ebp - 0x428]
push esi
call sub.GDI32.dll_ExtTextOutA
cmp dword [ebp + 0x10], 0
jne 0x517a9a
cmp dword [ebp + 0xc], 0
je 0x517b7a
mov byte [ebp - 0x418], 0
push 1
push 0
push 1
push 1
push 0
push 0
lea ecx, [ebp - 0x418]
push ecx
mov eax, dword [ebx + 0x350]
mov dword [ebp - 0x430], eax
xor edx, edx
mov dword [ebp - 0x42c], edx
fild qword [ebp - 0x430]
add esp, 0xfffffff4
fstp xword [esp]
call fcn.004e5ac5
mov eax, dword [ebx + 0x388]
test eax, eax
jle 0x517b20
mov edi, dword [ebx + 0x38c]
sub edi, eax
test edi, edi
jbe 0x517b20
push str._in
lea eax, [ebp - 0x418]
push eax
call fcn.0054c1f4
add esp, 8
push 3
push edi
push 0x56ca9b
call fcn.00511048
push eax
lea edx, [ebp - 0x418]
push edx
call fcn.0054c1f4
add esp, 8
lea ecx, [ebp - 0x428]
push ecx
push 0x70
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
lea eax, [ebp - 0x428]
push eax
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push 0
lea edx, [ebp - 0x418]
push edx
call fcn.0054c2d0
pop ecx
push eax
lea ecx, [ebp - 0x418]
push ecx
lea eax, [ebp - 0x428]
push eax
push 6
push dword [ebp - 0x424]
push dword [ebp - 0x428]
push esi
call sub.GDI32.dll_ExtTextOutA
cmp dword [ebp + 0x14], 0
jne 0x517b86
cmp dword [ebp + 0xc], 0
je 0x517bd4
lea edx, [ebp - 0x428]
push edx
push 0x6e
push dword [ebx]
call sub.USER32.dll_GetDlgItem
push eax
call sub.USER32.dll_GetWindowRect
push 2
lea ecx, [ebp - 0x428]
push ecx
push dword [ebx]
push 0
call sub.USER32.dll_MapWindowPoints
push 0
push dword [ebx + 0x358]
push dword [ebp - 0x41c]
push dword [ebp - 0x420]
push dword [ebp - 0x424]
push dword [ebp - 0x428]
push esi
call fcn.00516b79
push dword [ebp - 4]
push esi
call sub.GDI32.dll_SetTextColor
push dword [ebp - 8]
push esi
call sub.GDI32.dll_SetBkColor
push dword [ebp - 0xc]
push esi
call sub.GDI32.dll_SelectObject
push esi
push dword [ebx]
call sub.USER32.dll_ReleaseDC
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x18