Function at 0x7d03cc33
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
push eax
mov dword [0x7d04ee0c], eax
push dword [0x7d04ee10]
call dword [sym.imp.GDI32.dll_SelectObject]
mov edi, dword [sym.imp.GDI32.dll_GetObjectW]
lea eax, [ebp - 0x18]
push eax
push 0x18
push dword [0x7d04ee0c]
call edi
mov esi, dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x26
push dword [0x7d04ee14]
call esi
test ah, 1
je 0x7d03ccb3
movzx eax, word [ebp - 6]
movzx ecx, word [ebp - 8]
imul eax, ecx
cmp eax, 8
jle 0x7d03cc98
push dword [0x7d04ee14]
call dword [sym.imp.GDI32.dll_CreateHalftonePalette]
jmp 0x7d03cca5
jne 0x7d03ccac
push dword [0x7d04ee10]
call fcn.7d03c86d
mov dword [0x7d04ee18], eax
jmp 0x7d03ccb3
and dword [0x7d04ee18], 0
lea eax, [ebp - 0x18]
push eax
push 0x18
push dword [0x7d04ee0c]
call edi
test byte [ebp + 0xc], 0x10
je 0x7d03ccd5
mov ebx, 0x98
mov dword [ebp + 8], 0x70
jmp 0x7d03cd07
push 8
push dword [0x7d04ee14]
call esi
mov edi, dword [sym.imp.KERNEL32.dll_MulDiv]
push eax
push 0x98
push dword [ebp - 0x14]
call edi
push 0xa
mov ebx, eax
push dword [0x7d04ee14]
call esi
push eax
push 0x70
push dword [ebp - 0x10]
call edi
mov dword [ebp + 8], eax
push 1
pop esi
cmp ebx, esi
jge 0x7d03cd10
mov ebx, esi
cmp dword [ebp + 8], esi
jge 0x7d03cd18
mov dword [ebp + 8], esi
mov eax, dword [0x7d04ee18]
test eax, eax
je 0x7d03cd3b
push esi
push eax
push dword [0x7d04ee14]
call dword [sym.imp.GDI32.dll_SelectPalette]
push dword [0x7d04ee14]
call dword [sym.imp.GDI32.dll_RealizePalette]
mov edi, 0xa8
push 0x81
push edi
push 0x11
push 0x10
push dword [0x7d04ee14]
call dword [sym.imp.GDI32.dll_IntersectClipRect]
push 3
push dword [0x7d04ee14]
call dword [sym.imp.GDI32.dll_SetStretchBltMode]
test byte [ebp + 0xc], 4
je 0x7d03cdf5
mov esi, 0xcc0020
push esi
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push 0
push 0
push dword [0x7d04ee10]
push dword [ebp + 8]
push ebx
push 0x11
push 0x10
push dword [0x7d04ee14]
call dword [sym.imp.GDI32.dll_StretchBlt]
lea eax, [ebx + 0x10]
cmp eax, edi
mov dword [ebp + 0xc], eax
jge 0x7d03cdc5
mov eax, dword [0x7d04ee14]
push esi
push 0x11
push 0x10
push eax
push dword [ebp + 8]
push ebx
push 0x11
push dword [ebp + 0xc]
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
add dword [ebp + 0xc], ebx
cmp dword [ebp + 0xc], edi
jl 0x7d03cda2
push 0x11
pop edi
mov eax, dword [0x7d04ee14]
push esi
push 0x11
push 0x10
push eax
push dword [ebp + 8]
push 0x98
push edi
push 0x10
push eax
call dword [sym.imp.GDI32.dll_BitBlt]
add edi, dword [ebp + 8]
cmp edi, 0x81
jl 0x7d03cdc8
push 1
pop esi
jmp 0x7d03ce54
test byte [ebp + 0xc], 0x20
je 0x7d03ce10
cmp dword [0x7d04ce40], 0
je 0x7d03ce10
mov ebx, 0x98
mov dword [ebp + 8], 0x70
push 0xcc0020
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push 0
push 0
push dword [0x7d04ee10]
push dword [ebp + 8]
push ebx
push 0x70
pop eax
sub eax, dword [ebp + 8]
cdq
sub eax, edx
sar eax, 1
add eax, 0x11
push eax
mov eax, 0x98
sub eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, 0x10
push eax
push dword [0x7d04ee14]
call dword [sym.imp.GDI32.dll_StretchBlt]
push esi
push 0xf
call dword [sym.imp.GDI32.dll_GetStockObject]
push eax
push dword [0x7d04ee14]
call dword [sym.imp.GDI32.dll_SelectPalette]
push 0
push dword [0x7d04ee14]
call dword [sym.imp.GDI32.dll_SelectClipRgn]
pop edi
pop esi
pop ebx
leave
ret 8