Function at 0x4208e0
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x447150]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
push ebx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x2c], ebx
call dword [sym.imp.USER32.dll_GetDC]
mov esi, dword [0x4538f0]
mov edi, eax
mov edx, dword fs:[0x2c]
mov ecx, dword [0x4534d4]
mov edx, dword [edx + esi*4]
cmp ecx, dword [edx + 4]
jg 0x420aac
lea eax, [ebp - 0x14]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetClientRect]
push edi
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push dword [ebp - 8]
mov ebx, eax
push dword [ebp - 0xc]
push edi
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
push ebx
mov dword [ebp - 0x28], eax
call dword [sym.imp.GDI32.dll_SelectObject]
push 8
mov dword [ebp - 0x24], eax
call sub.gdiplus.dll_GdipAlloc
mov esi, eax
mov dword [ebp - 0x20], esi
test esi, esi
je 0x420981
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push eax
push ebx
call sub.gdiplus.dll_GdipCreateFromHDC
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [esi], eax
jmp 0x420983
xor esi, esi
push dword [ebp - 8]
push dword [ebp - 0xc]
push 0
push 0
push dword [0x447138]
push dword [esi]
call sub.gdiplus.dll_GdipFillRectangleI
test eax, eax
je 0x4209a1
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x1c]
add eax, 0x18
mov ecx, eax
mov dword [ebp - 0x20], eax
call fcn.00405830
cdq
sub eax, edx
sar eax, 1
push 5
movd xmm1, eax
mov eax, dword [ebp - 0x1c]
cvtdq2ps xmm1, xmm1
movd xmm0, dword [eax]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x10]
addss xmm0, xmm1
cvttss2si eax, xmm0
push eax
push 6
push 0
push dword [0x447120]
mov dword [ebp - 0x18], eax
push dword [esi]
call sub.gdiplus.dll_GdipFillRectangleI
test eax, eax
je 0x4209f2
mov dword [esi + 4], eax
push 5
push dword [ebp - 0xc]
push 6
push dword [ebp - 0x18]
push dword [0x44712c]
push dword [esi]
call sub.gdiplus.dll_GdipFillRectangleI
test eax, eax
je 0x420a10
mov dword [esi + 4], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x20]
movd xmm0, dword [eax]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [eax + 0x10]
cvttss2si eax, xmm0
mov dword [ebp - 0x18], eax
call fcn.004158b0
test eax, eax
je 0x420a37
mov eax, dword [eax + 4]
jmp 0x420a39
xor eax, eax
push 1
push dword [ebp - 0x18]
push eax
push dword [esi]
call sub.gdiplus.dll_GdipDrawImageI
test eax, eax
je 0x420a4d
mov dword [esi + 4], eax
push 0xcc0020
push 0
push 0
push ebx
push dword [ebp - 8]
push dword [ebp - 0xc]
push 0
push 0
push edi
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [ebp - 0x24]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [ebp - 0x28]
call dword [sym.imp.GDI32.dll_DeleteObject]
push ebx
call dword [sym.imp.GDI32.dll_DeleteDC]
push edi
push dword [ebp - 0x2c]
call dword [sym.imp.USER32.dll_ReleaseDC]
push dword [esi]
call sub.gdiplus.dll_GdipDeleteGraphics
push esi
call sub.gdiplus.dll_GdipFree
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.004271bb
mov esp, ebp
pop ebp
ret 4
push 0x4534d4
call fcn.004277cf
add esp, 4
cmp dword [0x4534d4], 0xffffffff
jne 0x420927
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push eax
push 0xff15e6ff
call sub.gdiplus.dll_GdipCreateSolidFill
mov dword [0x447124], eax
mov eax, dword [ebp - 0x18]
push 0x43be50
mov dword [0x447120], eax
call fcn.00427682
add esp, 4
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x18]
push eax
push 0xff585d61
call sub.gdiplus.dll_GdipCreateSolidFill
mov dword [0x447130], eax
mov eax, dword [ebp - 0x18]
push 0x43be70
mov dword [0x44712c], eax
call fcn.00427682
add esp, 4
mov dword [ebp - 0x18], 0
lea eax, [ebp - 0x18]
push eax
push 0xff2e3439
call sub.gdiplus.dll_GdipCreateSolidFill
mov dword [0x44713c], eax
mov eax, dword [ebp - 0x18]
push 0x43be30
mov dword [0x447138], eax
call fcn.00427682
push 0x4534d4
call fcn.00427790
add esp, 8
jmp 0x420927