Function at 0x487c40
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov eax, dword [0x5ac004]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x20]
sub eax, dword [ebp + 0x18]
push ebx
mov ebx, ecx
mov dword [ebp - 0xc], eax
mov eax, dword [ebp + 0x24]
sub eax, dword [ebp + 0x1c]
push esi
push edi
push dword [ebx + 0x14]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 8], eax
call dword [sym.imp.USER32.dll_GetWindowDC]
mov edi, eax
mov dword [ebp - 0x1c], edi
test edi, edi
je 0x488073
push edi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [ebp - 8]
mov esi, eax
push dword [ebp - 0xc]
push edi
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
push esi
mov dword [ebp - 0x24], eax
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [ebx]
mov dword [ebp - 0x18], eax
test cl, 4
je 0x487d0e
mov edi, edi
test cl, 1
je 0x487d09
shr ecx, 3
movzx eax, cl
sub eax, 0
je 0x487d09
sub eax, 1
jne 0x487d86
push 0xe
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0x636363
push esi
call dword [sym.imp.GDI32.dll_SetDCBrushColor]
push 0x12
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
jmp 0x487d7b
push dword [ebx + 0x28]
jmp 0x487d7b
mov eax, ecx
and eax, 1
test cl, 2
je 0x487d48
test eax, eax
je 0x487d43
shr ecx, 3
movzx eax, cl
sub eax, 0
je 0x487d43
sub eax, 1
jne 0x487d86
push 0xe
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0x4e4e4e
jmp 0x487cf3
push dword [ebx + 0x2c]
jmp 0x487d7b
test eax, eax
je 0x487d78
shr ecx, 3
movzx eax, cl
sub eax, 0
je 0x487d78
sub eax, 1
jne 0x487d86
push 0xe
call dword [sym.imp.USER32.dll_GetSysColor]
push eax
push esi
call dword [sym.imp.GDI32.dll_SetTextColor]
push 0x3c3c3c
jmp 0x487cf3
push dword [ebx + 0x24]
lea eax, [ebp - 0x14]
push eax
push esi
call dword [sym.imp.USER32.dll_FillRect]
push dword [ebx + 0x14]
call dword [sym.imp.USER32.dll_GetWindowTextLengthW]
mov ecx, dword [ebx + 0x20]
push 1
test eax, eax
jle 0x487da5
push dword [ebp - 0x10]
mov eax, dword [ebp - 0x14]
inc eax
push eax
push esi
push 0
jmp 0x487db4
mov eax, dword [ebp - 0x10]
inc eax
push eax
mov eax, dword [ebp - 0x14]
add eax, 2
push eax
push esi
push 1
push ecx
call dword [sym.imp.COMCTL32.dll_ImageList_Draw]
push 0xcc0020
push 0
push 0
push esi
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
push edi
call dword [sym.imp.GDI32.dll_BitBlt]
push dword ds:[ebp - 0x18]
push esi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x24]
call dword [sym.imp.GDI32.dll_DeleteObject]
push esi
call dword [sym.imp.GDI32.dll_DeleteDC]
test byte [ebx], 1
je 0x488069
nop
call dword [sym.imp.USER32.dll_GetFocus]
mov ecx, dword [ebx]
shr ecx, 3
movzx ecx, cl
cmp eax, dword [ebx + 0x14]
jne 0x487f2e
sub ecx, 0
je 0x487e2c
lea esp, [esp]
sub ecx, 1
jne 0x487e35
push 0x414141
jmp 0x487e2e
push 0
push edi
call dword [sym.imp.GDI32.dll_SetDCBrushColor]
push 0x12
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword ds:[ebp + 0xc]
mov esi, dword [ebp + 0x14]
push 0xf00021
sub esi, eax
push esi
push 1
push eax
push dword [ebp + 8]
push edi
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword [ebp + 0x10]
push 0xf00021
push esi
push 1
push dword [ebp + 0xc]
dec eax
push eax
push edi
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
push 0xf00021
push 1
sub ecx, eax
push ecx
push dword [ebp + 0xc]
mov dword [ebp - 0x18], ecx
push eax
push edi
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword [ebp + 0x14]
push 0xf00021
push 1
push dword [ebp - 0x18]
dec eax
push eax
push dword [ebp + 8]
push edi
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword ds:[ebx]
shr eax, 3
movzx eax, al
sub eax, 0
je 0x487ed1
sub eax, 1
jne 0x487edd
push 0x3c3c3c
jmp 0x487ed6
push 0xffffff
push edi
call dword [sym.imp.GDI32.dll_SetDCBrushColor]
push 0x12
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov edi, dword [ebp + 0xc]
add esi, 0xfffffffe
mov ebx, dword [ebp + 8]
inc edi
push 0xf00021
push esi
push 1
push edi
inc ebx
push ebx
push dword [ebp - 0x1c]
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword ds:[ebp + 0x10]
push 0xf00021
push esi
push 1
push edi
add eax, 0xfffffffe
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.GDI32.dll_PatBlt]
mov esi, dword [ebp - 0x18]
jmp 0x488035
sub ecx, 0
je 0x487f3f
sub ecx, 1
jne 0x487f48
push 0x414141
jmp 0x487f41
push 0
push edi
call dword [sym.imp.GDI32.dll_SetDCBrushColor]
push 0x12
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov eax, dword [ebp + 0xc]
mov esi, dword [ebp + 0x14]
push 0xf00021
sub esi, eax
push esi
push 1
push eax
push dword [ebp + 8]
push edi
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword [ebp + 0x10]
push 0xf00021
push esi
push 1
push dword [ebp + 0xc]
dec eax
push eax
push edi
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0x10]
push 0xf00021
push 1
sub ecx, eax
push ecx
push dword [ebp + 0xc]
mov dword [ebp - 0x18], ecx
push eax
push edi
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword ds:[ebp + 0x14]
push 0xf00021
push 1
push dword [ebp - 0x18]
dec eax
push eax
push dword [ebp + 8]
push edi
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword [ebx]
shr eax, 3
movzx eax, al
sub eax, 0
je 0x487fdf
sub eax, 1
jne 0x487feb
push 0x3c3c3c
jmp 0x487fe4
push 0xffffff
push edi
call dword [sym.imp.GDI32.dll_SetDCBrushColor]
push 0x12
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
mov edi, dword [ebp + 0xc]
add esi, 0xfffffffe
mov ebx, dword [ebp + 8]
inc edi
push 0xf00021
push esi
push 1
push edi
inc ebx
push ebx
push dword [ebp - 0x1c]
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword [ebp + 0x10]
push 0xf00021
push esi
push 1
push edi
add eax, 0xfffffffe
push eax
push dword [ebp - 0x1c]
call dword [sym.imp.GDI32.dll_PatBlt]
mov esi, dword [ebp - 0x18]
push 0xf00021
push 1
add esi, 0xfffffffe
push esi
push edi
mov edi, dword [ebp - 0x1c]
push ebx
push edi
call dword [sym.imp.GDI32.dll_PatBlt]
mov eax, dword ds:[ebp + 0x14]
push 0xf00021
push 1
push esi
add eax, 0xfffffffe
push eax
push ebx
push edi
call dword [sym.imp.GDI32.dll_PatBlt]
mov ebx, dword [ebp - 0x20]
push edi
push dword [ebx + 0x14]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov ecx, dword ds:[ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0051e068
mov esp, ebp
pop ebp
ret 0x20