Function at 0x51ea3f
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff80
push ebx
push esi
push edi
mov edi, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [0x56d050], 0xffffffff
push esi
call fcn.0051dd0a
mov ebx, eax
test ebx, ebx
jne 0x51ea6b
mov eax, esi
jmp 0x51f21d
cmp edi, 0xffffffff
jne 0x51ea91
push dword [ebx]
call fcn.0051e0ad
test eax, eax
je 0x51ea85
xor edx, edx
mov dword [0x56d050], edx
jmp 0x51eab8
mov dword [0x56d050], 1
jmp 0x51eab8
push dword [ebx]
call fcn.0051e0ad
test eax, eax
je 0x51eaa7
test edi, edi
je 0x51eab2
mov eax, dword [ebx]
jmp 0x51f21d
test edi, edi
jne 0x51eab2
mov eax, dword [ebx]
jmp 0x51f21d
mov dword [0x56d050], edi
mov edx, 0x80000000
mov dword [0x587dfc], edx
mov dword [0x587e00], edx
mov dword [0x587df4], edx
mov dword [0x587df8], edx
push esi
call sub.USER32.dll_IsIconic
test eax, eax
jne 0x51eae9
push esi
call sub.USER32.dll_IsWindowVisible
test eax, eax
jne 0x51eaf5
mov dword [0x56d04c], 0x20000000
jmp 0x51eafc
xor eax, eax
mov dword [0x56d04c], eax
mov dword [ebp - 0x60], 0x2c
lea ecx, [ebp - 0x60]
push ecx
push esi
call sub.USER32.dll_GetWindowPlacement
mov eax, dword [ebp - 0x40]
mov dword [0x587df8], eax
mov edx, dword [ebp - 0x44]
mov dword [0x587df4], edx
mov ecx, dword [ebp - 0x38]
sub ecx, eax
mov dword [0x587e00], ecx
mov eax, dword [ebp - 0x3c]
sub eax, edx
mov dword [0x587dfc], eax
push esi
call fcn.0051e0ad
test eax, eax
jne 0x51eb95
mov edx, dword [0x587df4]
mov dword [ebp - 0x24], edx
mov ecx, dword [0x587df8]
mov dword [ebp - 0x20], ecx
push 0
lea eax, [ebp - 0x70]
push eax
lea edx, [ebp - 0x24]
push edx
push 0
call fcn.004d48ac
push 1
lea ecx, [ebp - 0x80]
push ecx
lea eax, [ebp - 0x24]
push eax
push 0
call fcn.004d48ac
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x70]
cmp edx, eax
je 0x51eb83
sub eax, edx
add dword [0x587df4], eax
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
cmp edx, eax
je 0x51eb95
sub eax, edx
add dword [0x587df8], eax
mov edx, dword [0x587df4]
mov dword [ebp - 0x18], edx
mov ecx, dword [0x587df8]
mov dword [ebp - 0x14], ecx
cmp dword [0x56d050], 1
jne 0x51ebc1
lea eax, [ebp - 0x18]
push eax
push dword [0x56ceec]
call sub.USER32.dll_ScreenToClient
jmp 0x51ebd0
lea edx, [ebp - 0x18]
push edx
push dword [0x56ceec]
call sub.USER32.dll_ClientToScreen
mov ecx, dword [ebp - 0x18]
mov dword [0x587df4], ecx
mov eax, dword [ebp - 0x14]
mov dword [0x587df8], eax
mov edx, dword [0x55d2cc]
mov dword [ebp - 0x1c], edx
xor ecx, ecx
mov dword [0x55d2cc], ecx
push dword [ebx + 0xb6c]
push 0
push dword [ebx + 0x6c0]
push dword [ebx + 0x6bc]
lea eax, [ebx + 8]
push eax
call fcn.00524566
mov edi, eax
push edi
call fcn.0051dd0a
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x51ec39
mov dword [0x56d050], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [0x55d2cc], eax
mov eax, esi
jmp 0x51f21d
mov dword [ebx], edi
mov edx, dword [ebp - 4]
mov dword [edx + 0x6bc], 0xffffffff
mov ecx, dword [ebp - 4]
xor eax, eax
mov dword [ecx], eax
mov edx, dword [ebp - 4]
xor ecx, ecx
mov dword [edx + 0xb6c], ecx
push edi
push esi
call fcn.004131bd
push dword [ebx + 0x924]
call sub.GDI32.dll_DeleteObject
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x924]
mov dword [ebx + 0x924], edx
mov ecx, dword [ebp - 4]
xor eax, eax
mov dword [ecx + 0x924], eax
lea edx, [ebx + 0x928]
mov ecx, dword [ebp - 4]
add ecx, 0x928
push esi
push edi
mov esi, edx
mov edi, ecx
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
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x98c]
mov dword [ebx + 0x98c], edx
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x990]
mov dword [ebx + 0x990], eax
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x998]
mov dword [ebx + 0x998], ecx
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x99c]
mov dword [ebx + 0x99c], edx
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x70c]
mov dword [ebx + 0x70c], eax
mov eax, dword [ebx + 0x820]
test eax, eax
je 0x51ed26
cmp dword [ebx + 0x838], 0
je 0x51ed26
push dword [ebx + 0x838]
push 0xfffffffffffffffc
push eax
call sub.USER32.dll_SetWindowLongA
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x838]
mov dword [ebx + 0x838], ecx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x838], edx
mov eax, dword [ebx + 0x818]
test eax, eax
je 0x51ed61
cmp dword [ebx + 0x830], 0
je 0x51ed61
push dword [ebx + 0x830]
push 0xfffffffffffffffc
push eax
call sub.USER32.dll_SetWindowLongA
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x830]
mov dword [ebx + 0x830], ecx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x830], edx
mov eax, dword [ebx + 0x81c]
test eax, eax
je 0x51ed9c
cmp dword [ebx + 0x834], 0
je 0x51ed9c
push dword [ebx + 0x834]
push 0xfffffffffffffffc
push eax
call sub.USER32.dll_SetWindowLongA
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x834]
mov dword [ebx + 0x834], ecx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x834], edx
mov eax, dword [ebx + 0x810]
test eax, eax
je 0x51edd7
cmp dword [ebx + 0x82c], 0
je 0x51edd7
push dword [ebx + 0x82c]
push 0xfffffffffffffffc
push eax
call sub.USER32.dll_SetWindowLongA
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x82c]
mov dword [ebx + 0x82c], ecx
mov eax, dword [ebp - 4]
xor edx, edx
mov dword [eax + 0x82c], edx
mov ecx, dword [ebx + 0x820]
mov dword [ebp - 8], ecx
mov eax, dword [ebx + 0x818]
mov dword [ebp - 0xc], eax
mov edx, dword [ebx + 0x81c]
mov dword [ebp - 0x10], edx
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x810]
mov dword [ebx + 0x810], eax
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x814]
mov dword [ebx + 0x814], ecx
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x818]
mov dword [ebx + 0x818], edx
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x81c]
mov dword [ebx + 0x81c], eax
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x820]
mov dword [ebx + 0x820], ecx
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x824]
mov dword [ebx + 0x824], edx
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x844]
mov dword [ebx + 0x844], eax
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x848]
mov dword [ebx + 0x848], ecx
mov eax, dword [ebp - 4]
mov edx, dword [eax + 0x84c]
mov dword [ebx + 0x84c], edx
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0x850]
mov dword [ebx + 0x850], eax
push dword [ebp - 4]
call fcn.0051da70
push 0x3b5
push 0x577e2a
push esi
call sub.USER32.dll_GetWindowTextA
push 0x577e2a
push edi
call sub.USER32.dll_SetWindowTextA
push ebx
call fcn.00523067
cmp dword [ebx + 0x6bc], 0
jne 0x51eee5
mov edx, dword [0x56d050]
mov dword [0x56cf04], edx
jmp 0x51ef72
mov eax, dword [ebx + 0x6bc]
cmp eax, 2
jne 0x51ef07
cmp dword [ebx + 0x6c0], 2
jne 0x51ef07
mov edx, dword [0x56d050]
mov dword [0x56cf0c], edx
jmp 0x51ef72
cmp eax, 4
jne 0x51ef1a
mov ecx, dword [0x56d050]
mov dword [0x56cf24], ecx
jmp 0x51ef72
cmp eax, 5
jne 0x51ef31
mov dword [0x56cf00], edi
mov eax, dword [0x56d050]
mov dword [0x56cf18], eax
jmp 0x51ef72
cmp eax, 6
jne 0x51ef4a
mov dword [0x56cef8], edi
mov edx, dword [0x56d050]
mov dword [0x56cf20], edx
jmp 0x51ef72
cmp eax, 7
jne 0x51ef63
mov dword [0x56cefc], edi
mov ecx, dword [0x56d050]
mov dword [0x56cf1c], ecx
jmp 0x51ef72
cmp eax, 8
jne 0x51ef72
mov eax, dword [0x56d050]
mov dword [0x56cf28], eax
cmp dword [ebx + 0x6bc], 3
jne 0x51efb2
push 0x577e2a
push 0x3e7
push 0xd
push 0x76
push esi
call sub.USER32.dll_SendDlgItemMessageA
cmp byte [0x577e2a], 0
je 0x51efac
push 0x577e2a
push 0x3e7
push 0xc
push 0x76
push edi
call sub.USER32.dll_SendDlgItemMessageA
push edi
call fcn.00516b10
cmp dword [ebp - 0xc], 0
je 0x51f011
push 0x577e2a
push 0x3e7
push 0xd
push dword [ebp - 0xc]
call sub.USER32.dll_SendMessageA
cmp byte [0x577e2a], 0
je 0x51f011
push 0x577e2a
push 0x3e7
push 0xc
push dword [ebx + 0x818]
call sub.USER32.dll_SendMessageA
lea edx, [ebp - 0x2c]
push edx
lea ecx, [ebp - 0x28]
push ecx
push 1
push dword [ebp - 0xc]
call fcn.00478d41
push dword [ebp - 0x2c]
push dword [ebp - 0x28]
push 1
push dword [ebx + 0x818]
call fcn.00478c58
cmp dword [ebp - 0x10], 0
je 0x51f070
push 0x577e2a
push 0x3e7
push 0xd
push dword [ebp - 0x10]
call sub.USER32.dll_SendMessageA
cmp byte [0x577e2a], 0
je 0x51f070
push 0x577e2a
push 0x3e7
push 0xc
push dword [ebx + 0x81c]
call sub.USER32.dll_SendMessageA
lea eax, [ebp - 0x34]
push eax
lea edx, [ebp - 0x30]
push edx
push 1
push dword [ebp - 0x10]
call fcn.00478d41
push dword [ebp - 0x34]
push dword [ebp - 0x30]
push 1
push dword [ebx + 0x81c]
call fcn.00478c58
cmp dword [ebp - 8], 0
je 0x51f07f
push dword [ebp - 8]
push ebx
call fcn.0051e81c
mov edx, dword [0x55d264]
test edx, edx
je 0x51f0cf
mov eax, dword [edx + 0x12b4]
test eax, eax
je 0x51f0ab
cmp esi, dword [eax + 0x310]
jne 0x51f0a1
mov dword [eax + 0x310], edi
mov eax, dword [eax + 0x428]
test eax, eax
jne 0x51f093
mov eax, dword [edx + 0x1c90]
test eax, eax
je 0x51f0c5
cmp esi, dword [eax]
jne 0x51f0bb
mov dword [eax], edi
mov eax, dword [eax + 0x200]
test eax, eax
jne 0x51f0b5
mov edx, dword [edx + 0x1db0]
test edx, edx
jne 0x51f089
mov eax, dword [0x56c840]
test eax, eax
je 0x51f0f0
cmp esi, dword [eax + 0x90]
jne 0x51f0e6
mov dword [eax + 0x90], edi
mov eax, dword [eax + 0x494]
test eax, eax
jne 0x51f0d8
mov eax, dword [0x5642cc]
test eax, eax
je 0x51f10b
cmp esi, dword [eax]
jne 0x51f101
mov dword [eax], edi
jmp 0x51f10b
mov eax, dword [eax + 0x3b4]
test eax, eax
jne 0x51f0f9
mov eax, dword [0x56b89c]
test eax, eax
je 0x51f126
cmp esi, dword [eax]
jne 0x51f11c
mov dword [eax], edi
jmp 0x51f126
mov eax, dword [eax + 0x3cc]
test eax, eax
jne 0x51f114
mov eax, dword [0x55f1e0]
test eax, eax
je 0x51f141
cmp esi, dword [eax]
jne 0x51f137
mov dword [eax], edi
jmp 0x51f141
mov eax, dword [eax + 0x88c]
test eax, eax
jne 0x51f12f
mov eax, dword [0x5625a4]
test eax, eax
je 0x51f162
cmp esi, dword [eax + 0x134]
jne 0x51f158
mov dword [eax + 0x134], edi
mov eax, dword [eax + 0x544]
test eax, eax
jne 0x51f14a
mov eax, dword [0x563fcc]
test eax, eax
je 0x51f17b
cmp esi, dword [eax]
jne 0x51f171
mov dword [eax], edi
mov eax, dword [eax + 0x218]
test eax, eax
jne 0x51f16b
push 0
push 0
push 0x10
push esi
call sub.USER32.dll_SendMessageA
cmp dword [ebx + 0x818], 0
je 0x51f198
push 2
push ebx
call fcn.0052286a
cmp dword [ebx + 0x6bc], 3
jne 0x51f1c6
cmp dword [ebx + 0x6c0], 1
jne 0x51f1b9
push dword [ebx]
call fcn.00501b23
push eax
call fcn.00514c52
jmp 0x51f1c6
push dword [ebx]
call fcn.0048bf7c
push eax
call fcn.00514d25
push 0x80b8
push edi
call fcn.005207d2
push 1
push ebx
call fcn.0051e069
mov edx, dword [ebp - 0x1c]
mov dword [0x55d2cc], edx
mov edi, dword [0x56d050]
mov dword [0x56d050], 0xffffffff
test edi, edi
je 0x51f20c
push dword [0x56cee8]
call sub.USER32.dll_BringWindowToTop
push dword [0x56cee8]
call sub.USER32.dll_SetForegroundWindow
push 0
push ebx
call fcn.00522365
push 0
call fcn.00417312
mov eax, dword [ebx]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8