Function at 0x586ef0
Capabilities:
Get graphical window text

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x3f8
test eax, eax
push esi
mov esi, dword [esp + 0x400]
je 0x586f0f
push esi
call fcn.00585e10
add esp, 4
mov ecx, dword [esi]
push 0
lea eax, [esp + 8]
push eax
push ecx
call fcn.00584d10
mov eax, dword [esi + 0x880]
add esp, 0xc
test eax, eax
je 0x586f36
push 0
push esi
call fcn.00585000
add esp, 8
mov eax, dword [0x638310]
test eax, eax
je 0x586f4c
mov edx, dword [esi]
push 0
push edx
call fcn.004e0e30
add esp, 8
mov eax, dword [esi + 0x71c]
cmp eax, 1
je 0x586f61
cmp eax, 2
je 0x586f61
cmp eax, 7
jne 0x586f6c
push 1
push esi
call fcn.004812b0
add esp, 8
cmp dword [0x60a6b0], 0xffffffff
jne 0x587270
push ebx
push edi
push 1
push esi
call fcn.0041f5e0
lea eax, [esp + 0x24]
push 0x3e7
push eax
call fcn.00423a00
mov edx, dword [esi]
add esp, 0x10
push 0x3b5
lea ecx, [esp + 0x20]
push ecx
push edx
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov ecx, dword [esi]
lea eax, [esp + 0x1c]
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
push 0
call fcn.00425170
mov edi, dword [esi]
add esp, 4
test edi, edi
mov ebx, eax
je 0x5871e0
push edi
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x5871e0
push edi
call dword [sym.imp.USER32.dll_GetParent]
mov ecx, dword [0x645328]
cmp eax, ecx
jne 0x5871e0
mov al, byte [0x645364]
test al, 1
je 0x587196
test al, 2
je 0x587148
mov ecx, dword [0x60a0fc]
test ecx, ecx
jne 0x5870aa
mov ecx, dword [0x60a270]
test ecx, ecx
jne 0x5870aa
test al, 8
je 0x58702c
mov edx, dword [esi]
push 8
push edx
jmp 0x587031
mov eax, dword [esi]
push 7
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [esi + 0x730]
test eax, eax
jne 0x587069
mov ecx, dword [0x645328]
push ecx
call dword [sym.imp.USER32.dll_GetTopWindow]
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
jne 0x587069
mov edx, dword [esi]
push 0x33
push eax
push eax
push eax
push eax
push eax
push edx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, dword [0x64535c]
test ecx, ecx
je 0x58725c
mov eax, dword [0x64532c]
test eax, eax
je 0x58725c
mov eax, dword [0x64536c]
test eax, eax
jne 0x58725c
mov eax, dword [0x645360]
test eax, eax
jne 0x58713c
push ecx
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x58725c
test al, 8
je 0x5870e3
mov eax, dword [esi]
push 8
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0x645328]
push ecx
call dword [sym.imp.USER32.dll_GetTopWindow]
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
jne 0x587107
mov edx, dword [esi]
push 0x33
push eax
push eax
push eax
push eax
push eax
push edx
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp 0x587107
mov eax, dword [esi + 0xa68]
test eax, eax
jne 0x5870fc
mov eax, dword [esi]
push 0
push eax
call fcn.004a5ab0
add esp, 8
jmp 0x587107
mov ecx, dword [esi]
push 7
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0x64535c]
test ecx, ecx
je 0x58725c
mov eax, dword [0x64532c]
test eax, eax
je 0x58725c
mov eax, dword [0x64536c]
test eax, eax
jne 0x58725c
mov eax, dword [0x645360]
test eax, eax
je 0x58709e
push eax
call dword [sym.imp.USER32.dll_SetFocus]
jmp 0x58725c
mov eax, dword [0x60a0fc]
test eax, eax
jne 0x58716a
mov eax, dword [0x60a270]
test eax, eax
jne 0x58716a
mov edx, dword [esi]
push 6
push edx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x58725c
mov eax, dword [esi + 0xa68]
test eax, eax
jne 0x587186
mov eax, dword [esi]
push 0
push eax
call fcn.004a5ab0
add esp, 8
jmp 0x58725c
mov ecx, dword [esi]
push 8
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x58725c
mov edx, dword [esi + 0xe14]
test edx, edx
je 0x58725c
test al, 4
je 0x5871af
mov edx, dword [esi]
push 3
push edx
jmp 0x5871cd
push ecx
call dword [sym.imp.USER32.dll_GetTopWindow]
push eax
call dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
je 0x5871c8
mov eax, dword [esi]
push 5
push eax
jmp 0x5871cd
mov ecx, dword [esi]
push 8
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [esi]
push edx
call fcn.00584b90
add esp, 4
jmp 0x58725c
test byte [0x645364], 1
mov eax, dword [esi + 0xe14]
je 0x587210
test eax, eax
je 0x58725c
mov eax, dword [esi]
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push 7
push eax
call edi
mov eax, dword [0x645340]
test eax, eax
je 0x58725c
mov ecx, dword [esi]
push 0
push ecx
jmp 0x58725a
test eax, eax
je 0x58723f
test dword [0x64516c], 0x1000000
je 0x587227
mov edx, dword [esi]
push 3
push edx
jmp 0x58722c
mov eax, dword [esi]
push 8
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [esi]
push ecx
call fcn.00584b90
add esp, 4
jmp 0x58725c
mov edx, dword [esi]
mov edi, dword [sym.imp.USER32.dll_ShowWindow]
push 7
push edx
call edi
mov eax, dword [0x645340]
test eax, eax
je 0x58725c
mov eax, dword [esi]
push 0
push eax
call edi
mov ecx, dword [esi]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
push ebx
call fcn.00425170
add esp, 4
pop edi
pop ebx
pop esi
add esp, 0x3f8
ret