Function at 0x5dd861
Capabilities:
Get graphical window text

Disassembly:
push 0x58
mov eax, 0x65b134
call fcn.0062863d
mov ebx, ecx
mov dword [ebp - 0x48], ebx
mov edx, dword [ebp + 0xc]
mov edi, dword [edx + 0x18]
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x50], edi
and dword [ebp - 4], 0
and dword [ebp - 0x64], 0
mov al, byte [ebx + 0x39]
mov byte [ebp - 4], 1
test al, 4
je 0x5dd8aa
test byte [edx + 0x10], 1
jne 0x5dd89f
test al, 8
jne 0x5dd89f
xor cl, cl
jmp 0x5dd8a1
mov cl, 4
mov al, byte [ebx + 0x38]
and al, 0xfb
or al, cl
jmp 0x5dd8b8
mov al, byte [edx + 0x10]
shl al, 2
xor al, byte [ebx + 0x38]
and al, 4
xor al, byte [ebx + 0x38]
mov byte [ebx + 0x38], al
mov ecx, dword [edx + 0x10]
shr ecx, 4
shl cl, 3
xor cl, al
and cl, 8
xor cl, al
mov byte [ebx + 0x38], cl
mov eax, dword [edx + 0x10]
shr eax, 2
shl al, 4
xor al, cl
and al, 0x10
xor al, cl
mov byte [ebx + 0x38], al
lea eax, [edx + 0x1c]
push eax
mov dword [ebp - 0x60], eax
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_CopyRect]
push 1
push edi
call dword [sym.imp.GDI32.dll_SetBkMode]
mov al, byte [ebx + 0x38]
test al, 0x40
jne 0x5dd93a
test al, 8
jne 0x5dd90b
test byte [ebx + 0x39], 2
je 0x5dd93a
push 0
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov esi, eax
lea eax, [ebp - 0x20]
push esi
push eax
push edi
call dword [sym.imp.USER32.dll_FrameRect]
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [ebp - 0x20]
push eax
call dword [sym.imp.USER32.dll_InflateRect]
test esi, esi
je 0x5dd93a
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
test byte [ebx + 0x38], 2
je 0x5dd94a
push edi
mov ecx, ebx
call fcn.005de564
jmp 0x5dd956
mov eax, dword [ebx]
lea ecx, [ebp - 0x20]
push ecx
push edi
mov ecx, ebx
call dword [eax + 0x10]
mov cl, byte [ebx + 0x38]
mov eax, dword [sym.imp.USER32.dll_GetSysColor]
test cl, 4
je 0x5dd9af
test cl, 0x40
je 0x5dd982
test cl, 0x20
je 0x5ddb61
mov eax, dword [ebx]
lea ecx, [ebp - 0x20]
push ecx
push edi
mov ecx, ebx
call dword [eax + 0x14]
jmp 0x5ddb61
push 0x10
call eax
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov esi, eax
lea eax, [ebp - 0x20]
push esi
push eax
push edi
call dword [sym.imp.USER32.dll_FrameRect]
test esi, esi
je 0x5ddb61
push esi
call dword [sym.imp.GDI32.dll_DeleteObject]
jmp 0x5ddb61
push 0x14
call eax
mov esi, dword [sym.imp.GDI32.dll_CreatePen]
push eax
push 0
push 0
call esi
push 0x16
mov dword [ebp - 0x5c], eax
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push 0
push 0
call esi
push 0x10
mov dword [ebp - 0x58], eax
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push 0
push 0
call esi
push 0x15
mov dword [ebp - 0x54], eax
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push 0
push 0
call esi
mov esi, eax
mov al, byte [ebx + 0x38]
mov dword [ebp - 0x44], esi
test al, 0x40
je 0x5dda33
and al, 0x21
cmp al, 0x21
jne 0x5ddb2e
mov edi, dword [sym.imp.USER32.dll_GetSysColor]
push 0x10
call edi
push eax
push 0x14
call edi
push eax
lea eax, [ebp - 0x20]
push eax
lea ecx, [ebp - 0x50]
call fcn.005dd822
mov edi, dword [ebp - 0x50]
mov dword [ebp - 0x4c], edi
jmp 0x5ddb2e
push dword [ebp - 0x5c]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov ebx, dword [sym.imp.GDI32.dll_MoveToEx]
mov esi, eax
mov eax, dword [ebp - 0x14]
push 0
dec eax
mov dword [ebp - 0x64], esi
push eax
push dword [ebp - 0x20]
push edi
call ebx
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push edi
call dword [sym.imp.GDI32.dll_LineTo]
push dword [ebp - 0x1c]
push dword [ebp - 0x18]
push edi
call dword [sym.imp.GDI32.dll_LineTo]
push dword [ebp - 0x58]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
dec ecx
push 0
push ecx
inc eax
push eax
push edi
call ebx
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x20]
inc ecx
push ecx
inc eax
push eax
push edi
call dword [sym.imp.GDI32.dll_LineTo]
mov eax, dword [ebp - 0x1c]
inc eax
push eax
push dword [ebp - 0x18]
push edi
call dword [sym.imp.GDI32.dll_LineTo]
push dword [ebp - 0x44]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp - 0x14]
push 0
dec eax
push eax
push dword [ebp - 0x20]
push edi
call ebx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
dec ecx
push ecx
dec eax
push eax
push edi
call dword [sym.imp.GDI32.dll_LineTo]
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x18]
dec ecx
push ecx
dec eax
push eax
push edi
call dword [sym.imp.GDI32.dll_LineTo]
push dword [ebp - 0x54]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x20]
add ecx, 0xfffffffe
inc eax
push 0
push ecx
push eax
push edi
call ebx
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
add ecx, 0xfffffffe
mov ebx, dword [sym.imp.GDI32.dll_LineTo]
add eax, 0xfffffffe
push ecx
push eax
push edi
call ebx
mov eax, dword [ebp - 0x18]
push dword [ebp - 0x1c]
add eax, 0xfffffffe
push eax
push edi
call ebx
push esi
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov esi, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x48]
test esi, esi
je 0x5ddb3d
push esi
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
call esi
jmp 0x5ddb43
mov esi, dword [sym.imp.GDI32.dll_DeleteObject]
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x5ddb4d
push eax
call esi
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x5ddb57
push eax
call esi
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x5ddb61
push eax
call esi
lea ecx, [ebp - 0x44]
call fcn.005dd439
push dword [ebx + 4]
mov byte [ebp - 4], 2
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov ebx, eax
lea ecx, [ebp - 0x44]
push ebx
call fcn.005d2507
push ebx
lea ecx, [ebp - 0x44]
mov esi, eax
call fcn.005d35c6
lea ecx, [ebx + 1]
mov ebx, dword [ebp - 0x48]
push ecx
push esi
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetWindowTextW]
mov esi, dword [ebp - 0x60]
lea eax, [ebp - 0x30]
push esi
push eax
call dword [sym.imp.USER32.dll_CopyRect]
cmp dword [ebx + 0x260], 0
je 0x5ddbe9
mov cl, byte [ebx + 0x38]
mov al, cl
shr cl, 2
shr al, 4
and cl, 1
and al, 1
movzx eax, al
push eax
movzx eax, cl
mov ecx, ebx
push eax
lea eax, [ebp - 0x30]
push eax
push esi
mov esi, dword [ebp - 0x44]
cmp dword [esi - 0xc], 0
setne al
movzx eax, al
push eax
push edi
call fcn.005ddf0d
jmp 0x5ddbec
mov esi, dword [ebp - 0x44]
cmp dword [ebx + 0x278], 0
je 0x5ddc33
push 0xffffff
push edi
call dword [sym.imp.GDI32.dll_SetBkColor]
mov cl, byte [ebx + 0x38]
mov al, cl
shr cl, 2
shr al, 4
and cl, 1
and al, 1
cmp dword [esi - 0xc], 0
movzx eax, al
push eax
movzx eax, cl
mov ecx, ebx
push eax
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x60]
setne al
movzx eax, al
push eax
push edi
call fcn.005dddc1
cmp dword [esi - 0xc], 0
je 0x5ddd4e
test byte [ebx + 0x38], 4
je 0x5ddc57
test byte [ebx + 0x39], 4
jne 0x5ddc57
push 1
push 1
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
lea esi, [ebp - 0x30]
lea edi, [ebp - 0x40]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x30]
push 0x411
push eax
push 0xffffffffffffffff
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, dword [ebp - 0x44]
mov edi, dword [ebp - 0x4c]
push esi
push edi
call dword [sym.imp.USER32.dll_DrawTextW]
mov eax, dword [ebp - 0x34]
sub eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x38]
sub ecx, dword [ebp - 0x28]
sub ecx, dword [ebp - 0x40]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [ebp - 0x30]
add eax, 0xffffffec
add eax, ecx
push eax
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
push 1
push edi
call dword [sym.imp.GDI32.dll_SetBkMode]
mov al, byte [ebx + 0x38]
test al, 0x10
je 0x5ddd17
push 1
push 1
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
push 0x14
call dword [sym.imp.USER32.dll_GetSysColor]
mov ebx, dword [sym.imp.GDI32.dll_SetTextColor]
push eax
push edi
call ebx
push 0x11
lea eax, [ebp - 0x30]
push eax
push 0xffffffffffffffff
push esi
push edi
call dword [sym.imp.USER32.dll_DrawTextW]
push 0xffffffffffffffff
push 0xffffffffffffffff
lea eax, [ebp - 0x30]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
push 0x10
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push edi
call ebx
push 0x11
lea eax, [ebp - 0x30]
push eax
push 0xffffffffffffffff
push esi
push edi
call dword [sym.imp.USER32.dll_DrawTextW]
mov ebx, dword [ebp - 0x48]
jmp 0x5ddd4e
test al, 5
jne 0x5ddd2a
push dword [ebx + 0x54]
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [ebx + 0x50]
jmp 0x5ddd37
push dword [ebx + 0x4c]
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [ebx + 0x48]
push edi
call dword [sym.imp.GDI32.dll_SetBkColor]
push 0x11
lea eax, [ebp - 0x30]
push eax
push 0xffffffffffffffff
push esi
push edi
call dword [sym.imp.USER32.dll_DrawTextW]
mov al, byte [ebx + 0x38]
test al, 0x40
je 0x5ddd59
test al, al
jns 0x5ddd82
test al, 8
je 0x5ddd82
lea esi, [ebp - 0x20]
lea edi, [ebp - 0x40]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x40]
push 0xfffffffffffffffd
push 0xfffffffffffffffd
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.USER32.dll_InflateRect]
lea eax, [ebp - 0x40]
push eax
push dword [ebp - 0x4c]
call dword [sym.imp.USER32.dll_DrawFocusRect]
mov ecx, dword [ebp - 0x44]
lea ecx, [ecx - 0x10]
call fcn.005d316c
call fcn.006285ec
ret 8