Function at 0x587628
Capabilities:
Get graphical window text

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffa0
mov edi, edx
mov ebx, eax
mov eax, ebx
call fcn.0054cd14
test al, al
je 0x5878a7
mov eax, esp
xor ecx, ecx
mov edx, 0x60
call fcn.00407a54
mov edx, edi
mov eax, dword [ebx + 0x418]
call fcn.00589448
mov esi, eax
mov eax, ebx
call fcn.0054c944
mov ebp, eax
mov edx, edi
mov eax, dword [ebx + 0x418]
call fcn.00589448
mov eax, dword [eax + 0x14]
push 0
push eax
push 0x1096
push ebp
call sub.user32.dll_SendMessageW
mov dword [esp + 4], 0xd
cmp dword [esi + 0x10], 0
je 0x587699
or dword [esp + 4], 2
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp], 0x60
cmp byte [esi + 0x1a], 2
jne 0x5876de
cmp dword [esi + 0x28], 0xffffffff
jle 0x5876de
mov eax, 0x5878b0
mov dword [esp + 8], eax
mov eax, 0x5878b0
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
call fcn.0040ac6c
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x1c]
call fcn.0040ac6c
mov dword [esp + 0x40], eax
jmp 0x587708
mov eax, dword [esi + 0xc]
call fcn.0040ac6c
mov dword [esp + 8], eax
mov eax, dword [esi + 0x1c]
call fcn.0040ac6c
mov dword [esp + 0x28], eax
mov eax, 0x5878b0
mov dword [esp + 0x38], eax
mov eax, 0x5878b0
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x10]
call fcn.0040ac6c
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x20], eax
mov edx, edi
mov eax, dword [ebx + 0x418]
call fcn.00589448
test byte [eax + 0x18], 1
je 0x587738
or dword [esp + 0x20], 0
mov edx, edi
mov eax, dword [ebx + 0x418]
call fcn.00589448
test byte [eax + 0x18], 2
je 0x587750
or dword [esp + 0x20], 2
xor edx, edx
mov eax, 6
call fcn.0042a570
test al, al
je 0x587855
mov edx, edi
mov eax, dword [ebx + 0x418]
call fcn.00589448
test byte [eax + 0x18], 8
je 0x58777c
or dword [esp + 0x20], 4
mov edx, edi
mov eax, dword [ebx + 0x418]
call fcn.00589448
test byte [eax + 0x18], 0x10
je 0x587794
or dword [esp + 0x20], 8
mov edx, edi
mov eax, dword [ebx + 0x418]
call fcn.00589448
test byte [eax + 0x18], 4
je 0x5877ac
or dword [esp + 0x20], 1
mov edx, edi
mov eax, dword [ebx + 0x418]
call fcn.00589448
test byte [eax + 0x18], 0x20
je 0x5877c4
or dword [esp + 0x20], 0x10
mov edx, edi
mov eax, dword [ebx + 0x418]
call fcn.00589448
test byte [eax + 0x18], 0x40
je 0x5877dc
or dword [esp + 0x20], 0x20
mov eax, dword [esi + 0x28]
cmp eax, 0xffffffff
jle 0x5877ec
or dword [esp + 4], 0x1000
mov dword [esp + 0x48], eax
cmp byte [esi + 0x1a], 2
jne 0x587804
cmp dword [esi + 0x28], 0xffffffff
jle 0x587804
or dword [esp + 4], 0x400
cmp dword [esi + 0x1c], 0
je 0x587832
cmp byte [esi + 0x1a], 2
jne 0x58782a
cmp dword [esi + 0x28], 0xffffffff
jle 0x58782a
mov eax, dword [esp + 4]
or eax, 0x800
or eax, 0x100
mov dword [esp + 4], eax
jmp 0x587832
or dword [esp + 4], 0x100
movzx eax, byte [esi + 0x1b]
test al, al
jne 0x587841
or dword [esp + 0x24], 8
jmp 0x587855
cmp al, 1
jne 0x58784c
or dword [esp + 0x24], 0x20
jmp 0x587855
cmp al, 2
jne 0x587855
or dword [esp + 0x24], 0x10
movzx eax, byte [esi + 0x1a]
test al, al
jne 0x587864
or dword [esp + 0x24], 1
jmp 0x587878
cmp al, 1
jne 0x58786f
or dword [esp + 0x24], 4
jmp 0x587878
cmp al, 2
jne 0x587878
or dword [esp + 0x24], 2
or dword [esp + 4], 0x10
mov edx, edi
mov eax, dword [ebx + 0x418]
call fcn.00589448
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], eax
mov eax, ebx
call fcn.0054c944
mov edx, esp
push edx
push edi
push 0x1091
push eax
call sub.user32.dll_SendMessageW
add esp, 0x60
pop ebp
pop edi
pop esi
pop ebx
ret