Function at 0x403a10
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xb8
mov eax, dword [0x4b7108]
xor eax, ebp
mov dword [ebp - 8], eax
push ebx
push esi
push edi
mov ebx, ecx
push str.maind::OnPaint_n
mov dword [ebp - 0xa8], ebx
call fcn.00407ef0
add esp, 4
lea eax, [ebp - 0xa4]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_BeginPaint]
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
lea eax, [ebp - 0x18]
push eax
push dword [ebx + 4]
mov dword [ebp - 0xb4], edi
call dword [sym.imp.USER32.dll_GetClientRect]
cmp dword [ebx + 0xc0], 0
jne 0x403b31
push 0x30
call fcn.0044ee60
mov esi, dword [sym.imp.USER32.dll_CopyRect]
lea ecx, [ebp - 0x18]
mov ebx, eax
add esp, 4
lea eax, [ebx + 0x18]
mov dword [ebx + 4], edi
lea edi, [ebx + 8]
mov dword [ebx], 0
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov dword [edi + 0xc], 0
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
push ecx
mov dword [ebx + 0x28], 0
push eax
mov dword [ebx + 0x2c], 0
call esi
lea eax, [ebp - 0x9c]
push eax
push edi
call esi
push dword [ebx + 4]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
mov dword [ebx], eax
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x10]
sub eax, dword [ebp - 0x18]
push ecx
push eax
push dword [ebx + 4]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
mov dword [ebx + 0x28], eax
push dword [ebx]
call dword [sym.imp.GDI32.dll_SelectObject]
mov edi, dword [ebp - 0xb4]
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp - 0xa8]
mov dword [eax + 0xc0], ebx
mov ebx, eax
mov ecx, dword [ebx + 0xc0]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x9c]
push eax
push edi
call fcn.00403630
mov eax, dword [ebx + 0xc0]
lea ecx, [ebp - 0xa8]
push ecx
mov dword [ebp - 0xa8], 0
push dword [eax]
call dword [sym.imp.gdiplus.dll_GdipCreateFromHDC]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xa8]
push 4
push eax
mov dword [ebp - 0xb0], eax
call dword [sym.imp.gdiplus.dll_GdipSetSmoothingMode]
mov ecx, dword [ebp - 0xac]
test eax, eax
cmovne ecx, eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0xb0]
mov dword [ebp - 0xac], ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.00418aa0
cmp byte [ebx + 0x58], 0
lea ecx, [ebx + 0x2c]
je 0x403bcb
mov eax, dword [ecx + 0x24]
sub eax, dword [ecx + 0x1c]
je 0x403bcb
mov eax, dword [ecx + 0x28]
sub eax, dword [ecx + 0x20]
je 0x403bcb
mov eax, dword [ebp - 0x64]
push ecx
lea ecx, [ebp - 0x64]
call dword [eax]
mov eax, dword [ebx + 0xc0]
push dword [eax]
push dword [ebp - 0xb0]
call dword [sym.imp.gdiplus.dll_GdipReleaseDC]
mov ecx, dword [ebp - 0xac]
test eax, eax
mov esi, dword [ebx + 0xc0]
cmovne ecx, eax
mov dword [ebp - 0xac], ecx
push dword [esi + 0x28]
push dword [esi]
call dword [sym.imp.GDI32.dll_SelectObject]
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 8]
push 0xcc0020
push ecx
push edx
push dword [esi]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 0x14]
sub eax, ecx
push eax
mov eax, dword [esi + 0x10]
sub eax, edx
push eax
push ecx
push edx
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_BitBlt]
push dword [esi + 0x2c]
push dword [esi]
call dword [sym.imp.GDI32.dll_SelectObject]
lea ecx, [ebp - 0x30]
call fcn.00404460
push dword [ebp - 0x30]
call fcn.0044ee3c
add esp, 4
mov dword [ebp - 0x30], 0
lea ecx, [ebp - 0x44]
call fcn.00404460
push dword [ebp - 0x44]
call fcn.0044ee3c
add esp, 4
mov dword [ebp - 0x44], 0
push dword [ebp - 0xb0]
call dword [sym.imp.gdiplus.dll_GdipDeleteGraphics]
push edi
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_ReleaseDC]
lea eax, [ebp - 0xa4]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_EndPaint]
mov ecx, dword [ebp - 8]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0044ee41
mov esp, ebp
pop ebp
ret 4