Function at 0x40d2b3
Capabilities:
Get graphical window text

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14c
cmp dword [ebp + 0xc], 0x2b
push esi
je 0x40d310
cmp dword [ebp + 0xc], 0x111
jne 0x40d6a0
mov eax, dword [ebp + 0x10]
shr eax, 0x10
cmp ax, 5
jne 0x40d6a0
push 0xfffffffffffffff0
push dword [ebp + 0x14]
call dword [sym.imp.USER32.dll_GetWindowLongA]
and eax, 0xb
cmp al, 0xb
jne 0x40d6a0
push 0
push 0
push 0x201
push dword [ebp + 0x14]
call dword [sym.imp.USER32.dll_SendMessageA]
push 1
pop eax
jmp 0x40d6a2
mov esi, dword [ebp + 0x14]
cmp dword [esi], 4
jne 0x40d6a0
mov eax, dword [esi + 0x14]
push ebx
mov ebx, dword [esi + 0x18]
mov dword [ebp - 0x48], eax
lea eax, [esi + 0x1c]
push edi
mov edi, dword [sym.imp.USER32.dll_CopyRect]
push eax
lea eax, [ebp - 0x24]
mov dword [ebp + 0xc], ebx
push eax
call edi
mov edx, dword [esi + 0x10]
xor esi, esi
mov eax, edx
mov ecx, edx
shr eax, 2
and ecx, 1
and eax, 1
test ecx, ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x2c], eax
je 0x40d35a
push 1
jmp 0x40d369
test dl, 0x10
je 0x40d363
push 3
jmp 0x40d369
test eax, eax
je 0x40d36a
push 2
pop esi
push ebx
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
test eax, eax
mov dword [ebp + 0x10], eax
je 0x40d699
push dword [0x44227c]
mov ebx, dword [sym.imp.GDI32.dll_SelectObject]
push eax
call ebx
test eax, eax
mov dword [ebp - 0x44], eax
je 0x40d690
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
mov dword [ebp - 0x28], eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x40]
push eax
call edi
mov eax, dword [0x433978]
add dword [ebp - 0x40], eax
mov eax, dword [0x43397c]
sub dword [ebp - 0x38], eax
mov eax, dword [0x433980]
add dword [ebp - 0x3c], eax
mov eax, dword [0x433984]
sub dword [ebp - 0x34], eax
mov eax, dword [0x442288]
shr eax, 1
push eax
mov eax, dword [0x442294]
shr eax, 1
push eax
push dword [ebp + 0x10]
call dword [sym.imp.GDI32.dll_GetPixel]
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
mov edi, eax
test edi, edi
je 0x40d422
push edi
push dword [ebp + 0xc]
call ebx
test eax, eax
mov dword [ebp + 0x14], eax
je 0x40d41b
lea eax, [ebp - 0x40]
push edi
push eax
push dword [ebp + 0xc]
call dword [sym.imp.USER32.dll_FillRect]
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call ebx
push edi
call dword [sym.imp.GDI32.dll_DeleteObject]
mov edi, dword [0x442294]
mov eax, dword [0x433980]
imul edi, esi
mov ecx, dword [0x433978]
mov esi, 0xcc0020
mov ebx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x24]
push esi
push 0
push edi
mov dword [ebp + 0x14], edx
push dword [ebp + 0x10]
mov dword [ebp - 4], ecx
mov dword [ebp - 8], eax
mov dword [ebp - 0xc], eax
push eax
push ecx
push ebx
push edx
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_BitBlt]
mov edx, dword [0x43397c]
mov ecx, dword [0x442294]
mov eax, dword [ebp - 4]
sub ecx, edx
sub ecx, dword [0x433978]
add dword [ebp + 0x14], eax
push esi
add edi, eax
push dword [ebp - 8]
mov eax, dword [ebp - 0x30]
sub eax, edx
mov dword [ebp - 0x14], ecx
sub eax, dword [0x433978]
push ecx
push 0
push edi
push dword [ebp + 0x10]
mov dword [ebp - 4], eax
push dword [ebp - 8]
push eax
push ebx
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call fcn.0040c1fb
add edi, dword [ebp - 0x14]
add esp, 0x2c
mov eax, dword [ebp + 0x14]
mov ecx, dword [0x43397c]
push esi
add eax, dword [ebp - 4]
push 0
push edi
push dword [ebp + 0x10]
mov dword [ebp + 0x14], eax
mov dword [ebp - 4], ecx
push dword [ebp - 8]
push ecx
push ebx
push eax
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x28]
mov edx, dword [0x433984]
add ebx, dword [ebp - 8]
mov dword [ebp - 0x10], ecx
mov ecx, dword [0x442288]
sub eax, edx
sub ecx, edx
sub eax, dword [0x433980]
sub ecx, dword [0x433980]
push esi
push ecx
mov dword [ebp - 8], eax
push dword [ebp - 4]
mov dword [ebp - 0xc], ecx
push dword [ebp - 0x10]
push edi
push dword [ebp + 0x10]
push eax
push dword [ebp - 4]
push ebx
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call fcn.0040c1fb
mov eax, dword [ebp - 0x10]
add esp, 0x2c
add eax, dword [ebp - 0xc]
mov ecx, dword [0x433984]
push esi
add ebx, dword [ebp - 8]
push eax
push edi
push dword [ebp + 0x10]
mov dword [ebp - 0x10], eax
mov dword [ebp - 0xc], ecx
push ecx
push dword [ebp - 4]
push ebx
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [0x43397c]
mov eax, dword [ebp - 0x30]
mov edx, dword [0x433978]
sub eax, ecx
sub eax, edx
push esi
push dword [ebp - 0xc]
mov dword [ebp - 4], eax
mov eax, dword [0x442294]
sub eax, ecx
mov ecx, dword [ebp - 4]
sub eax, edx
sub dword [ebp + 0x14], ecx
push eax
sub edi, eax
push dword [ebp - 0x10]
push edi
push dword [ebp + 0x10]
push dword [ebp - 0xc]
push ecx
push ebx
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call fcn.0040c1fb
mov eax, dword [0x433978]
add esp, 0x2c
sub edi, eax
sub dword [ebp + 0x14], eax
push esi
mov dword [ebp - 0x14], eax
push dword [ebp - 0x10]
push edi
push dword [ebp + 0x10]
push dword [ebp - 0xc]
push eax
push ebx
push dword [ebp + 0x14]
push dword [ebp + 0xc]
call dword [sym.imp.GDI32.dll_BitBlt]
mov ecx, dword [0x433984]
mov eax, dword [ebp - 0x28]
mov edx, dword [0x433980]
sub eax, ecx
sub eax, edx
push esi
mov dword [ebp - 8], eax
mov eax, dword [0x442288]
sub eax, ecx
mov ecx, dword [ebp - 0x10]
sub eax, edx
push eax
sub ecx, eax
push dword [ebp - 0x14]
sub ebx, dword [ebp - 8]
push ecx
push edi
push dword [ebp + 0x10]
push dword [ebp - 8]
push dword [ebp - 0x14]
mov edi, dword [ebp + 0xc]
push ebx
push dword [ebp + 0x14]
push edi
call fcn.0040c1fb
add esp, 0x2c
lea eax, [ebp - 0x14c]
push 0xff
push eax
push dword [ebp - 0x48]
call dword [sym.imp.USER32.dll_GetWindowTextA]
mov esi, eax
and byte [ebp + esi - 0x14c], 0
cmp dword [ebp - 0x4c], 0
je 0x40d62e
inc dword [ebp - 0x20]
inc dword [ebp - 0x24]
mov ebx, dword [sym.imp.GDI32.dll_SetBkMode]
push 1
push edi
call ebx
and dword [ebp + 0x14], 0
cmp dword [ebp - 0x2c], 0
mov dword [ebp + 0xc], eax
je 0x40d659
push 0x14
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
mov dword [ebp + 0x14], eax
lea eax, [ebp - 0x24]
push 0x25
push eax
lea eax, [ebp - 0x14c]
push esi
push eax
push edi
call dword [sym.imp.USER32.dll_DrawTextA]
cmp dword [ebp - 0x2c], 0
je 0x40d67e
push dword [ebp + 0x14]
push edi
call dword [sym.imp.GDI32.dll_SetTextColor]
push dword [ebp + 0xc]
push edi
call ebx
push dword [ebp - 0x44]
push dword [ebp + 0x10]
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp + 0x10]
call dword [sym.imp.GDI32.dll_DeleteDC]
push 1
pop eax
pop edi
pop ebx
jmp 0x40d6a2
xor eax, eax
pop esi
leave
ret