Function at 0x4198c8
Capabilities:
Get graphical window text

Disassembly:
mov eax, 0x4391a3
call fcn.00434408
sub esp, 0xdc
push esi
push edi
push dword [ebp + 8]
xor esi, esi
mov dword [ebp - 4], esi
call dword [sym.imp.GDI32.dll_SaveDC]
push 0xfffffffffffffff0
push dword [ebx + 4]
mov dword [ebp - 0x58], eax
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x54], esi
lea edi, [ebp - 0x50]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x54]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetClientRect]
push dword [ebp - 0x48]
mov edi, dword [ebp + 8]
push dword [ebp - 0x4c]
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push edi
call dword [sym.imp.GDI32.dll_IntersectClipRect]
push esi
push esi
push 0x31
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push 0x60
lea eax, [ebp - 0xc0]
push esi
push eax
call fcn.00425a80
mov eax, dword [ebx + 4]
add esp, 0xc
push eax
mov dword [ebp - 0xc4], eax
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebx + 0x40]
mov dword [ebp - 0x94], eax
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0x90], eax
mov eax, dword [ebx + 0xb0]
mov dword [ebp - 0xb4], edi
mov edi, dword [sym.imp.USER32.dll_GetSysColor]
push 0x12
mov dword [ebp - 0xbc], 0xfffffff4
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0x8c], eax
call edi
mov dword [ebp - 0x84], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0x88], eax
mov eax, dword [ebx + 0xb8]
push 0xf
mov dword [ebp - 0x80], eax
call edi
push 0x10
mov dword [ebp - 0x7c], eax
call edi
push 0x14
mov dword [ebp - 0x78], eax
call edi
push 0x12
mov dword [ebp - 0x74], eax
call edi
push 0xd
mov dword [ebp - 0x70], eax
call edi
mov dword [ebp - 0x6c], eax
push 0x1a
call edi
push 0xe
mov dword [ebp - 0x68], eax
call edi
push dword [ebx + 4]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0xb8], 1
call dword [sym.imp.USER32.dll_GetParent]
lea ecx, [ebp - 0xc4]
push ecx
push dword [ebp - 0xc0]
push 0x4e
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
mov dword [ebp - 0x28], eax
and dword [ebp - 0x28], 4
mov dword [ebp - 0x1c], eax
jne 0x419a3d
sub esp, 0x10
mov edi, esp
lea esi, [ebp - 0x54]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
lea eax, [ebp - 0xc4]
movsd dword es:[edi], dword [esi]
call fcn.00419fbe
xor esi, esi
cmp dword [ebp - 0x1c], esi
je 0x419a50
mov eax, dword [ebp - 0x1c]
and eax, 0x20
cmp al, 0x20
jne 0x419ccb
mov ecx, dword [ebp - 0x18]
xor eax, eax
lea edi, [ebp - 0x30]
mov dword [ebp - 0x34], esi
stosd dword es:[edi], eax
mov eax, dword [ebp - 0x18]
and eax, 1
dec al
neg al
sbb al, al
inc al
and ecx, 0x40
cmp cl, 0x40
sete byte [ebp - 0x11]
test al, al
mov dword [ebp - 0x24], esi
mov byte [ebp - 0x12], al
je 0x419abe
push esi
push esi
push esi
push esi
call dword [sym.imp.GDI32.dll_CreateRectRgn]
push eax
push dword [ebp + 8]
mov dword [ebp - 0x24], eax
call dword [sym.imp.GDI32.dll_GetClipRgn]
push dword [ebx + 0x5c]
push dword [ebx + 0x58]
push dword [ebx + 0x54]
push dword [ebx + 0x50]
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_IntersectClipRect]
lea eax, [ebp - 0x34]
push eax
push esi
push dword [ebx + 0xa8]
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
mov ecx, dword [ebx + 0x34]
xor eax, eax
mov dword [ebp - 0xe4], esi
lea edi, [ebp - 0xe0]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
cmp ecx, esi
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x18], eax
jbe 0x419bbc
cmp eax, dword [ebx + 0x24]
je 0x419bac
lea ecx, [ebx + 0x30]
call fcn.0041b64e
mov ecx, dword [eax]
cmp ecx, esi
mov dword [ebp - 0x20], ecx
je 0x419bac
mov dword [ebp - 0x44], esi
xor eax, eax
lea edi, [ebp - 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea esi, [ecx + 4]
lea edi, [ebp - 0xd4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xd4]
movsd dword es:[edi], dword [esi]
push eax
lea eax, [ebp - 0x44]
push eax
movsd dword es:[edi], dword [esi]
call dword [sym.imp.USER32.dll_CopyRect]
push 0
push dword [ebx + 0xa8]
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
push dword [ebp + 0xc]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0xe4]
push eax
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x419baa
mov eax, dword [ebp - 0x18]
and dword [ebp - 0x9c], 0
cmp byte [ebp - 0x11], 0
mov dword [ebp - 0xa0], eax
je 0x419b78
cmp dword [ebx + 0x28], eax
jne 0x419b78
mov dword [ebp - 0x9c], 0x40
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x20], 0
je 0x419b8b
or dword [ebp - 0x9c], 0x80
push dword [ebp - 0x1c]
lea esi, [ebp - 0xd4]
lea edi, [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
lea esi, [ebp - 0xc4]
call fcn.00419e73
xor esi, esi
mov eax, dword [ebp - 0x18]
inc eax
cmp eax, dword [ebp - 0x2c]
mov dword [ebp - 0x18], eax
jb 0x419ae2
mov eax, dword [ebx + 0x24]
cmp eax, esi
jl 0x419c94
cmp eax, dword [ebp - 0x2c]
jae 0x419c94
lea ecx, [ebx + 0x30]
call fcn.0041b64e
mov ecx, dword [eax]
cmp ecx, esi
mov dword [ebp - 0x20], ecx
je 0x419c94
mov dword [ebp - 0x44], esi
xor eax, eax
lea edi, [ebp - 0x40]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea esi, [ecx + 4]
lea edi, [ebp - 0xd4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xd4]
movsd dword es:[edi], dword [esi]
push eax
lea eax, [ebp - 0x44]
push eax
movsd dword es:[edi], dword [esi]
call dword [sym.imp.USER32.dll_CopyRect]
push 0
push dword [ebx + 0xa8]
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_OffsetRect]
push dword [ebp + 0xc]
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0xe4]
push eax
call dword [sym.imp.USER32.dll_IntersectRect]
test eax, eax
je 0x419c92
cmp byte [ebp - 0x11], 0
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0xa0], eax
mov dword [ebp - 0x9c], 1
je 0x419c60
cmp dword [ebx + 0x28], eax
jne 0x419c60
mov dword [ebp - 0x9c], 0x41
mov eax, dword [ebp - 0x20]
cmp byte [eax + 0x20], 0
je 0x419c73
or dword [ebp - 0x9c], 0x80
push dword [ebp - 0x1c]
lea esi, [ebp - 0xd4]
lea edi, [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push ebx
lea esi, [ebp - 0xc4]
call fcn.00419e73
xor esi, esi
cmp byte [ebp - 0x12], 0
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0xa0], esi
je 0x419ccb
push esi
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_SetViewportOrgEx]
push dword [ebp - 0x24]
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_SelectClipRgn]
push dword [ebp - 0x24]
call dword [sym.imp.GDI32.dll_DeleteObject]
cmp dword [ebp - 0x28], 4
je 0x419d2f
push 0xfffffffffffffff0
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetWindowLongW]
mov edi, eax
test edi, 9
je 0x419d2f
and eax, 8
cmp al, 8
jne 0x419d19
mov eax, dword [ebx + 0x24]
cmp eax, esi
jl 0x419d19
cmp eax, dword [ebx + 0x34]
jae 0x419d19
lea ecx, [ebx + 0x30]
call fcn.0041b64e
mov eax, dword [eax]
cmp eax, esi
je 0x419d19
cmp byte [eax + 0x21], 0
je 0x419d19
push ebx
lea eax, [ebp - 0xc4]
call fcn.0041a283
mov eax, edi
and eax, 1
cmp al, 1
jne 0x419d2f
lea eax, [ebp - 0xc4]
mov ecx, ebx
call fcn.0041a41e
mov eax, dword [ebp - 0x1c]
and eax, 0x10
cmp al, 0x10
jne 0x419d7b
push dword [ebx + 4]
mov dword [ebp - 0xa0], esi
mov dword [ebp - 0x9c], esi
mov dword [ebp - 0xb8], 2
lea esi, [ebp - 0x54]
lea edi, [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call dword [sym.imp.USER32.dll_GetParent]
lea ecx, [ebp - 0xc4]
push ecx
push dword [ebp - 0xc0]
push 0x4e
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [ebp - 0x58]
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_RestoreDC]
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
leave
ret 8