Function at 0x40dbe0
Capabilities:
Get graphical window text
Inspect load icon resource

Disassembly:
push ebp
mov ebp, esp
push ebx
push esi
push edi
mov ebx, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
push 0xc0c0c0
call sub.GDI32.dll_CreateSolidBrush
mov dword [0x5f4b30], eax
mov eax, dword [0x5f4b30]
push eax
push esi
call sub.GDI32.dll_SelectObject
mov dword [0x5f4b34], eax
mov edx, dword [0x5f4b34]
push edx
push esi
call sub.GDI32.dll_SelectObject
mov ecx, dword [0x5f4b30]
push ecx
call sub.GDI32.dll_DeleteObject
push 0xffffff
push 1
push 0
call sub.GDI32.dll_CreatePen
mov dword [0x5f4b30], eax
mov eax, dword [0x5f4b30]
push eax
push esi
call sub.GDI32.dll_SelectObject
mov dword [0x5f4adc], eax
push 0
mov edx, dword [0x5f4b24]
mov ecx, dword [0x5f4b20]
add edx, ebx
add ecx, ebx
add edx, 2
add ecx, 2
push edx
push ecx
push esi
call sub.GDI32.dll_MoveToEx
mov eax, dword [0x5f4b24]
mov edx, dword [0x5f4b28]
add eax, ebx
add edx, ebx
add eax, 2
add edx, 0xfffffffe
push eax
push edx
push esi
call sub.GDI32.dll_LineTo
mov ecx, dword [0x5f4b24]
mov eax, dword [0x5f4b20]
add ecx, ebx
add eax, ebx
add ecx, 2
push 0
push ecx
add eax, 2
push eax
push esi
call sub.GDI32.dll_MoveToEx
mov edx, dword [0x5f4b2c]
mov ecx, dword [0x5f4b20]
add edx, ebx
add ecx, ebx
add edx, 0xfffffffe
add ecx, 2
push edx
push ecx
push esi
call sub.GDI32.dll_LineTo
mov eax, dword [0x5f4adc]
push eax
push esi
call sub.GDI32.dll_SelectObject
mov edx, dword [0x5f4b30]
push edx
call sub.GDI32.dll_DeleteObject
push 0x41
push 0x5f4b38
push edi
call sub.USER32.dll_GetWindowTextA
xor ecx, ecx
push 0x5f4b38
mov dword [0x5f4b7c], ecx
call fcn.00401260
push eax
call sub.USER32.dll_LoadIconA
mov dword [0x5eaa10], eax
mov eax, dword [0x5eaa10]
test eax, eax
jne 0x40dd32
push 0
push 0x5f4b38
call fcn.00401260
push eax
call sub.SHELL32.dll_ExtractIconA
mov dword [0x5eaa10], eax
mov dword [0x5f4b7c], 1
mov edx, dword [0x5eaa10]
test edx, edx
jne 0x40dd51
push 0x5cafdc
call fcn.00401260
push eax
call sub.USER32.dll_LoadIconA
mov dword [0x5eaa10], eax
mov ecx, dword [0x5eaa10]
test ecx, ecx
jne 0x40dd7a
push edi
push 0
push 0xfffffe50
push 8
push 9
push 1
push 8
push 0x5f4b38
call fcn.0040c504
add esp, 0x20
jmp 0x40ddbf
mov eax, dword [0x5f4b2c]
mov edx, dword [0x5f4b24]
sub eax, edx
cmp eax, 0x2b
jle 0x40dda4
mov eax, ebx
mov ecx, dword [0x5eaa10]
add eax, eax
push ecx
add eax, 0xb
push eax
push eax
push esi
call sub.USER32.dll_DrawIcon
jmp 0x40ddbf
mov edx, dword [0x5f4b7c]
dec edx
jne 0x40ddb0
add ebx, 4
mov ecx, dword [0x5eaa10]
push ecx
push ebx
push ebx
push esi
call sub.USER32.dll_DrawIcon
mov eax, dword [0x5eaa10]
push eax
call sub.USER32.dll_DestroyIcon
push 4
push edi
call sub.USER32.dll_GetWindowWord
cmp ax, 1
jne 0x40de56
push 0xf
call sub.USER32.dll_GetSysColor
push eax
call sub.GDI32.dll_CreateSolidBrush
mov edi, eax
mov dword [0x5f4b30], edi
push edi
push esi
call sub.GDI32.dll_SelectObject
mov dword [0x5f4b34], eax
mov eax, ebx
neg eax
neg ebx
lea eax, [eax + eax*2]
push eax
push eax
push 0x5f4b20
call sub.USER32.dll_InflateRect
push 0xa000c9
push 0
mov edx, dword [0x5f4b24]
mov ecx, dword [0x5f4b2c]
push 0
sub ecx, edx
push 0
push ecx
mov eax, dword [0x5f4b20]
mov ecx, dword [0x5f4b28]
sub ecx, eax
push ecx
push edx
push eax
push esi
call sub.GDI32.dll_BitBlt
mov edx, dword [0x5f4b34]
push edx
push esi
call sub.GDI32.dll_SelectObject
mov eax, dword [0x5f4b30]
push eax
call sub.GDI32.dll_DeleteObject
mov eax, 1
pop edi
pop esi
pop ebx
pop ebp
ret