Function at 0x40da50
Capabilities:
Capture screenshot

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffd8
mov dword [esp], eax
xor ebx, ebx
cmp dword [0x4191b8], 0
je 0x40da86
call sub.user32.dll_GetCursor
cmp eax, dword [0x4191b8]
jne 0x40da7b
push 0
call sub.user32.dll_SetCursor
mov bl, 1
mov eax, dword [0x4191b8]
push eax
call sub.user32.dll_DestroyIcon
xor eax, eax
mov dword [esp + 0x1c], eax
xor eax, eax
mov dword [esp + 0x18], eax
push 0xd
call sub.user32.dll_GetSystemMetrics
mov dword [esp + 0x20], eax
push 0xe
call sub.user32.dll_GetSystemMetrics
mov edi, eax
mov dword [esp + 0x24], edi
mov eax, dword [0x4191a0]
push eax
call sub.user32.dll_GetDC
mov esi, eax
push esi
call sub.gdi32.dll_CreateCompatibleDC
mov ebp, eax
push 0
push 1
push 1
push edi
mov eax, dword [esp + 0x30]
push eax
call sub.gdi32.dll_CreateBitmap
mov dword [esp + 0x10], eax
push edi
mov eax, dword [esp + 0x24]
push eax
push esi
call sub.gdi32.dll_CreateCompatibleBitmap
mov dword [esp + 0x14], eax
push esi
mov eax, dword [0x4191a0]
push eax
call sub.user32.dll_ReleaseDC
mov eax, dword [esp + 0x10]
push eax
push ebp
call sub.gdi32.dll_SelectObject
push 0
call sub.gdi32.dll_GetStockObject
push eax
lea eax, [esp + 0x1c]
push eax
push ebp
call sub.user32.dll_FillRect
cmp dword [esp], 3
jge 0x40db72
push 4
call sub.gdi32.dll_GetStockObject
push eax
push ebp
call sub.gdi32.dll_SelectObject
push 0x10
push 0x10
push 0
push 0
push ebp
call sub.gdi32.dll_Ellipse
mov eax, dword [esp + 0x14]
push eax
push ebp
call sub.gdi32.dll_SelectObject
push 4
call sub.gdi32.dll_GetStockObject
push eax
lea eax, [esp + 0x1c]
push eax
push ebp
call sub.user32.dll_FillRect
mov eax, dword [esp]
mov eax, dword [eax*4 + 0x419218]
push eax
push ebp
call sub.gdi32.dll_SelectObject
push 0x10
push 0x10
push 0
push 0
push ebp
call sub.gdi32.dll_Ellipse
jmp 0x40dc0b
push 0
call sub.gdi32.dll_CreateCompatibleDC
mov esi, eax
push 0x103
mov eax, dword [0x4174d8]
push eax
call sub.user32.dll_LoadBitmapA
push eax
push esi
call sub.gdi32.dll_SelectObject
push 0xcc0020
push 0
push 0
push esi
push 0x10
push 0x10
push 0
push 0
push ebp
call sub.gdi32.dll_BitBlt
push 0x102
mov eax, dword [0x4174d8]
push eax
call sub.user32.dll_LoadBitmapA
mov edi, eax
push edi
push esi
call sub.gdi32.dll_SelectObject
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [esp + 0x14]
push eax
push ebp
call sub.gdi32.dll_SelectObject
push 4
call sub.gdi32.dll_GetStockObject
push eax
lea eax, [esp + 0x1c]
push eax
push ebp
call sub.user32.dll_FillRect
push 0xcc0020
push 0
push 0
push esi
push 0x10
push 0x10
push 0
push 0
push ebp
call sub.gdi32.dll_BitBlt
push esi
call sub.gdi32.dll_DeleteDC
push edi
call sub.gdi32.dll_DeleteObject
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp + 8], 8
mov dword [esp + 0xc], 8
lea eax, [esp + 4]
push eax
call sub.user32.dll_CreateIconIndirect
mov dword [0x4191b8], eax
push ebp
call sub.gdi32.dll_DeleteDC
mov eax, dword [esp + 0x10]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [esp + 0x14]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [0x4191b8]
push eax
push 0xfffffffffffffff4
mov eax, dword [0x4191a0]
push eax
call sub.user32.dll_SetClassLongA
test bl, bl
je 0x40dc6c
mov eax, dword [0x4191b8]
push eax
call sub.user32.dll_SetCursor
add esp, 0x28
pop ebp
pop edi
pop esi
pop ebx
ret