Function at 0x4395e0
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd88
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov word [ebp - 0xa], dx
mov dword [ebp - 8], eax
mov esi, dword [ebp + 0x10]
xor edi, edi
mov eax, dword [esi]
cmp eax, 0x7b
jg 0x43961b
je 0x43997a
sub eax, 0x20
je 0x439b14
sub eax, 0xb
je 0x439636
jmp 0x439c88
sub eax, 0x111
je 0x439a4a
sub eax, 0x192
je 0x439b14
jmp 0x439c88
movzx eax, word [ebp - 0xa]
cmp eax, dword [ebp + 0xc]
jne 0x439c88
mov ebx, dword [ebp + 8]
mov eax, dword [ebx + 0x10]
test al, 0x10
je 0x439652
test ah, 2
je 0x439656
xor eax, eax
jmp 0x439658
mov al, 1
mov byte [ebp - 0x225], al
lea edx, [ebp - 0x240]
mov eax, dword [ebp + 0x14]
call fcn.0041fbac
test al, al
jne 0x439679
xor eax, eax
mov dword [esi], eax
jmp 0x439c88
push esi
push edi
lea esi, [ebp - 0x240]
lea edi, [ebp - 0x250]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
lea edx, [ebp - 0x230]
lea eax, [ebp - 0x22c]
call fcn.0041fc04
mov eax, dword [ebp - 0x24c]
add eax, dword [ebp - 0x230]
cmp eax, dword [ebp - 0x244]
jge 0x4396b8
mov dword [ebp - 0x244], eax
mov eax, dword [ebp - 0x244]
push eax
mov eax, dword [ebp - 0x248]
push eax
mov eax, dword [ebp - 0x24c]
push eax
mov eax, dword [ebp - 0x250]
push eax
mov eax, dword [ebx + 0x18]
push eax
call sub.gdi32.dll_IntersectClipRect
xor ecx, ecx
mov edx, dword [ebx + 0x18]
mov eax, dword [ebp + 0x14]
call fcn.0041afc4
cmp dword [ebx + 0xc], 1
push 1
mov eax, dword [ebx + 0x18]
push eax
call sub.gdi32.dll_SetBkMode
mov dword [ebp - 0x21c], eax
test byte [ebx + 0x10], 6
je 0x439717
mov eax, 0x11
call fcn.0041a1d0
mov dword [ebp - 0x224], eax
jmp 0x439754
cmp dword [ebp - 4], 0
je 0x43972c
mov eax, dword [ebp - 4]
test eax, 0xffff0000
sete al
xor al, 1
jmp 0x43972e
xor eax, eax
test al, al
je 0x439744
mov eax, 0x1a
call fcn.0041a1d0
mov dword [ebp - 0x224], eax
jmp 0x439754
mov eax, 0x12
call fcn.0041a1d0
mov dword [ebp - 0x224], eax
mov eax, dword [ebp - 0x224]
push eax
mov eax, dword [ebx + 0x18]
push eax
call sub.gdi32.dll_SetTextColor
mov dword [ebp - 0x220], 0x24
cmp byte [ebp + 0x1c], 0
jne 0x439780
or dword [ebp - 0x220], 0x800
jmp 0x4397a7
test byte [ebx + 0x11], 2
setne al
or al, byte [ebp - 0x225]
jne 0x43979d
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
jne 0x43979d
cmp byte [ebp + 0x18], 0
je 0x4397a7
or dword [ebp - 0x220], 0x100000
push esi
push edi
lea esi, [ebp - 0x250]
lea edi, [ebp - 0x240]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop edi
pop esi
add dword [ebp - 0x240], 2
mov eax, dword [0x66d818]
cmp byte [eax], 0
je 0x439826
push 0xff
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [ebp + 0x14]
push eax
call sub.user32.dll_GetWindowTextW
test eax, eax
jle 0x439884
mov edx, dword [0x66d1d8]
cmp byte [edx], 0
je 0x439805
cmp eax, 1
jle 0x439805
cmp word [ebp + eax*2 - 0x20e], 0x2f
jne 0x439805
dec eax
mov edx, dword [ebp - 0x220]
push edx
lea edx, [ebp - 0x240]
push edx
push eax
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [ebx + 0x18]
push eax
call sub.user32.dll_DrawTextW
jmp 0x439884
push 0xff
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [ebp + 0x14]
push eax
call sub.user32.dll_GetWindowTextA
lea eax, [ebp - 0x20c]
call fcn.00408154
test eax, eax
jle 0x439884
mov edx, dword [0x66d1d8]
cmp byte [edx], 0
je 0x439865
cmp eax, 1
jle 0x439865
cmp byte [ebp + eax - 0x20d], 0x2f
jne 0x439865
dec eax
mov edx, dword [ebp - 0x220]
push edx
lea edx, [ebp - 0x240]
push edx
push eax
lea eax, [ebp - 0x20c]
push eax
mov eax, dword [ebx + 0x18]
push eax
call sub.user32.dll_DrawTextA
mov eax, dword [ebp - 0x21c]
push eax
mov eax, dword [ebx + 0x18]
push eax
call sub.gdi32.dll_SetBkMode
mov eax, dword [ebp + 0x24]
movzx eax, byte [eax]
or al, byte [ebp + 0x18]
je 0x43991b
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x278], eax
mov eax, dword [ebp - 0x234]
dec eax
mov dword [ebp - 0x274], eax
mov eax, dword [ebp - 0x238]
sub eax, 2
mov dword [ebp - 0x270], eax
mov eax, dword [ebp - 0x274]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp - 0x224]
push eax
push 1
push 0
call sub.gdi32.dll_CreatePen
push eax
mov eax, dword [ebx + 0x18]
push eax
call sub.gdi32.dll_SelectObject
mov dword [ebp - 0x218], eax
push 2
lea eax, [ebp - 0x278]
push eax
mov eax, dword [ebx + 0x18]
push eax
call sub.gdi32.dll_Polyline
mov eax, dword [ebp - 0x218]
push eax
mov eax, dword [ebx + 0x18]
push eax
call sub.gdi32.dll_SelectObject
push eax
call sub.gdi32.dll_DeleteObject
sub dword [ebp - 0x240], 2
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
jne 0x439971
cmp byte [ebp - 0x225], 0
je 0x439971
cmp dword [ebp - 4], 0
je 0x43994a
mov eax, dword [ebp - 4]
test eax, 0xffff0000
jne 0x43994a
add dword [ebp - 0x250], 9
lea eax, [ebp - 0x250]
push eax
mov eax, dword [ebx + 0x18]
push eax
call sub.user32.dll_DrawFocusRect
cmp dword [ebp - 4], 0
je 0x439971
mov eax, dword [ebp - 4]
test eax, 0xffff0000
jne 0x439971
sub dword [ebp - 0x250], 9
xor eax, eax
mov dword [esi], eax
jmp 0x439c88
mov eax, dword [ebp - 8]
call fcn.0041d1bc
test al, al
je 0x439c88
mov eax, dword [ebp + 0x20]
cmp byte [eax], 0
jne 0x439c88
lea eax, [ebp - 0x240]
push eax
mov eax, dword [ebp + 0x14]
push eax
call sub.user32.dll_GetWindowRect
test eax, eax
je 0x439c88
mov eax, dword [ebp + 8]
call fcn.0041acbc
mov dword [ebp - 0x214], eax
mov eax, dword [ebp + 8]
call fcn.0041acc0
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x214], 0xffffffff
jne 0x439a14
cmp dword [ebp - 0x210], 0xffffffff
jne 0x439a14
call sub.user32.dll_GetFocus
cmp eax, dword [ebp + 0x14]
jne 0x439a14
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x234]
mov dword [ebp - 0x210], eax
push ebp
lea eax, [ebp - 0x214]
call fcn.00439484
pop ecx
xor eax, eax
mov dword [esi], eax
jmp 0x439c88
push dword [ebp - 0x210]
push dword [ebp - 0x214]
lea eax, [ebp - 0x240]
push eax
call sub.user32.dll_PtInRect
test eax, eax
je 0x439c88
push ebp
lea eax, [ebp - 0x214]
call fcn.00439484
pop ecx
xor eax, eax
mov dword [esi], eax
jmp 0x439c88
mov eax, dword [ebp + 0xc]
shr eax, 0x10
cmp ax, 6
jne 0x439a5a
mov al, 1
jmp 0x439a61
cmp ax, 7
sete al
test al, al
je 0x439a87
movzx eax, word [ebp + 0xc]
cmp ax, word [ebp - 0xa]
jne 0x439c88
push 5
push 0
push 0
mov eax, dword [ebp + 0x14]
push eax
call sub.user32.dll_RedrawWindow
jmp 0x439c88
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0x14]
jne 0x439ab8
movzx eax, word [ebp - 0xa]
cmp eax, dword [ebp + 0xc]
jne 0x439ab8
mov eax, dword [ebp - 8]
call fcn.0041d1bc
test al, al
je 0x439c88
push ebp
call fcn.004393f8
pop ecx
xor eax, eax
mov dword [esi], eax
jmp 0x439c88
cmp dword [ebp + 0xc], 0x50
jne 0x439c88
mov eax, dword [ebp + 8]
cmp eax, dword [ebp + 0x14]
je 0x439c88
cmp word [0x6676e0], 0
jne 0x439aee
push 0x7f00
push 0
call sub.user32.dll_LoadCursorA
mov edx, eax
mov eax, dword [ebp + 0x14]
call fcn.0041ad9c
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x439c88
mov eax, dword [ebp + 0x24]
mov byte [eax], 0
push 5
push 0
push 0
mov eax, dword [ebp + 0x14]
push eax
call sub.user32.dll_RedrawWindow
jmp 0x439c88
mov eax, dword [ebp - 8]
call fcn.0041d1bc
test al, al
je 0x439c88
mov eax, dword [ebp - 8]
cmp dword [eax + 0xc], 0
je 0x439c88
cmp dword [esi], 0x2a3
jne 0x439b3d
xor eax, eax
jmp 0x439b99
call sub.user32.dll_GetMessagePos
mov ebx, eax
mov eax, ebx
call fcn.0041acbc
mov dword [ebp - 0x214], eax
mov eax, ebx
call fcn.0041acc0
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x250]
push eax
mov eax, dword [ebp + 0x14]
push eax
call sub.user32.dll_GetWindowRect
test eax, eax
jne 0x439b7b
xor eax, eax
mov dword [esi], eax
jmp 0x439c88
push dword [ebp - 0x210]
push dword [ebp - 0x214]
lea eax, [ebp - 0x250]
push eax
call sub.user32.dll_PtInRect
cmp eax, 1
sbb eax, eax
inc eax
test al, al
je 0x439c4b
cmp dword [0x6676e8], 0
je 0x439bc2
cmp word [0x6676e0], 0
jne 0x439bc2
mov edx, dword [0x6676e8]
mov eax, dword [ebp + 0x14]
call fcn.0041ad9c
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
jne 0x439c45
mov eax, dword [ebp - 8]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x439be7
mov edx, dword [ebp + 0x14]
push edx
push 0x50
push 0x111
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
mov eax, dword [ebp + 0x24]
mov byte [eax], 1
cmp word [0x6676e0], 0
jne 0x439c36
mov dword [ebp - 0x260], 0x10
mov dword [ebp - 0x25c], 2
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x258], eax
xor eax, eax
mov dword [ebp - 0x254], eax
mov eax, dword [0x66d628]
cmp dword [eax], 0
je 0x439c36
lea eax, [ebp - 0x260]
push eax
mov eax, dword [0x66d628]
mov eax, dword [eax]
call eax
push 5
push 0
push 0
mov eax, dword [ebp + 0x14]
push eax
call sub.user32.dll_RedrawWindow
xor eax, eax
mov dword [esi], eax
jmp 0x439c88
cmp word [0x6676e0], 0
jne 0x439c6b
push 0x7f00
push 0
call sub.user32.dll_LoadCursorA
mov edx, eax
mov eax, dword [ebp + 0x14]
call fcn.0041ad9c
mov eax, dword [ebp + 0x24]
cmp byte [eax], 0
je 0x439c88
mov eax, dword [ebp + 0x24]
mov byte [eax], 0
push 5
push 0
push 0
mov eax, dword [ebp + 0x14]
push eax
call sub.user32.dll_RedrawWindow
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x24