Function at 0x404cee
Capabilities:
Capture screenshot

Disassembly:
push ecx
push esi
push edi
push ebp
sub esp, 0x34
mov edi, eax
mov dword [esp + 0x2c], edx
mov dword [esp + 0x1c], ebx
push 6
call dword cs:[sym.imp.USER32.dll_GetSystemMetrics]
mov edx, eax
mov eax, edi
call fcn.004049b4
sub eax, edx
mov dword [esp + 0x30], eax
push 0xfffffffffffffff0
push edi
call dword cs:[sym.imp.USER32.dll_GetWindowLongA]
push edi
call dword cs:[sym.imp.USER32.dll_GetWindowDC]
mov ebp, eax
mov dword [esp + 0x28], eax
mov edx, esp
mov eax, edi
call fcn.004049d4
mov eax, dword [esp]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 4]
mov dword [esp + 0x10], eax
neg eax
push eax
mov eax, dword [esp + 4]
neg eax
push eax
lea eax, [esp + 8]
push eax
call dword cs:[sym.imp.USER32.dll_OffsetRect]
push ebp
call dword cs:[sym.imp.GDI32.dll_CreateCompatibleDC]
mov ebx, eax
mov esi, eax
test eax, eax
je 0x404f06
mov eax, esp
call fcn.0040451c
mov dword [esp + 0x20], eax
mov edx, dword [esp + 0x30]
push edx
push eax
push ebp
call dword cs:[sym.imp.GDI32.dll_CreateCompatibleBitmap]
mov dword [esp + 0x18], eax
push eax
push ebx
call dword cs:[sym.imp.GDI32.dll_SelectObject]
mov dword [esp + 0x14], eax
mov eax, esp
call fcn.0040451c
mov edx, eax
sar edx, 0x1f
shl edx, 2
sbb eax, edx
sar eax, 2
mov ebx, eax
xor ebp, ebp
cmp dword [esp + 0x1c], 0
je 0x404dbe
push 2
jmp 0x404dc0
push 3
call dword cs:[sym.imp.USER32.dll_GetSysColor]
mov ecx, eax
push ebx
push 2
mov ebx, ebp
lea edx, [esp + 8]
mov eax, esi
call fcn.00404527
push 0xfffffffffffffff2
push edi
call dword cs:[sym.imp.USER32.dll_GetClassLongA]
mov ebx, eax
test eax, eax
je 0x404e4f
push 3
push 0
push 0
push 0x32
call dword cs:[sym.imp.USER32.dll_GetSystemMetrics]
push eax
push 0x31
call dword cs:[sym.imp.USER32.dll_GetSystemMetrics]
push eax
push ebx
mov ebp, dword [esp + 0x24]
add ebp, dword [esp + 0x1c]
push 0x32
call dword cs:[sym.imp.USER32.dll_GetSystemMetrics]
mov edx, ebp
sub edx, eax
mov eax, edx
sar edx, 0x1f
sub eax, edx
sar eax, 1
push eax
mov eax, dword [esp + 0x1c]
add eax, 2
push eax
push esi
call dword cs:[sym.imp.USER32.dll_DrawIconEx]
test ebx, ebx
je 0x404e3f
push ebx
call dword cs:[sym.imp.USER32.dll_DestroyIcon]
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 4]
add eax, 2
add dword [esp], eax
jmp 0x404e53
add dword [esp], 2
mov ebx, esp
mov edx, esi
mov eax, edi
call fcn.00404b85
call fcn.00404c6f
mov ebx, eax
push eax
push esi
call dword cs:[sym.imp.GDI32.dll_SelectObject]
mov ebp, eax
push 1
push esi
call dword cs:[sym.imp.GDI32.dll_SetBkMode]
push 9
call dword cs:[sym.imp.USER32.dll_GetSysColor]
push eax
push esi
call dword cs:[sym.imp.GDI32.dll_SetTextColor]
push 0x24
lea eax, [esp + 4]
push eax
mov eax, dword [esp + 0x34]
call fcn.004010a8
push eax
mov eax, dword [esp + 0x38]
push eax
push esi
call dword cs:[sym.imp.USER32.dll_DrawTextA]
push ebp
push esi
call dword cs:[sym.imp.GDI32.dll_SelectObject]
push ebx
call dword cs:[sym.imp.GDI32.dll_DeleteObject]
push 0xcc0020
push 0
push 0
push esi
mov edx, dword [esp + 0x40]
push edx
mov ecx, dword [esp + 0x34]
push ecx
mov ebx, dword [esp + 0x28]
push ebx
mov ebp, dword [esp + 0x40]
push ebp
mov eax, dword [esp + 0x48]
push eax
call dword cs:[sym.imp.GDI32.dll_BitBlt]
mov edx, dword [esp + 0x14]
push edx
push esi
call dword cs:[sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esp + 0x18]
push ecx
call dword cs:[sym.imp.GDI32.dll_DeleteObject]
push esi
call dword cs:[sym.imp.GDI32.dll_DeleteDC]
mov ebx, dword [esp + 0x28]
push ebx
push edi
call dword cs:[sym.imp.USER32.dll_ReleaseDC]
add esp, 0x34
pop ebp
pop edi
pop esi
pop ecx
ret