Function at 0x1095f110
Capabilities:
Capture screenshot
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x78
push esi
push edi
mov dword [esp + 0x24], edx
call dword [sym.imp.user32.dll_GetDesktopWindow]
push eax
mov dword [esp + 0x50], eax
call dword [sym.imp.user32.dll_GetWindowDC]
mov esi, dword [sym.imp.gdi32.dll_GetDeviceCaps]
push 8
push eax
mov dword [esp + 0x24], eax
call esi
push 0xa
push dword [esp + 0x20]
mov edi, eax
call esi
push dword [esp + 0x1c]
mov esi, eax
call dword [sym.imp.gdi32.dll_CreateCompatibleDC]
push esi
push edi
push dword [esp + 0x24]
mov dword [esp + 0x24], eax
call dword [sym.imp.gdi32.dll_CreateCompatibleBitmap]
push eax
push dword [esp + 0x1c]
mov dword [esp + 0x34], eax
call dword [sym.imp.gdi32.dll_SelectObject]
sub esi, dword [ebp + 0xc]
mov dword [esp + 0x48], eax
mov eax, esi
mov esi, dword [ebp + 8]
sub edi, esi
cdq
push 0xcc0020
sub eax, edx
sar eax, 1
push eax
mov eax, edi
mov edi, dword [ebp + 0xc]
cdq
sub eax, edx
sar eax, 1
push eax
push dword [esp + 0x28]
push edi
push esi
push 0
push 0
push dword [esp + 0x38]
call dword [sym.imp.gdi32.dll_BitBlt]
push 0
lea eax, [esp + 0x54]
xorps xmm0, xmm0
push eax
push 0
push edi
push 0
push dword [esp + 0x40]
movaps xmmword [esp + 0x68], xmm0
push dword [esp + 0x30]
movaps xmmword [esp + 0x7c], xmm0
mov dword [esp + 0x70], esi
mov esi, dword [sym.imp.gdi32.dll_GetDIBits]
movq qword [esp + 0x8c], xmm0
mov dword [esp + 0x6c], 0x28
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], 0x180001
mov dword [esp + 0x7c], 0
call esi
push dword [esp + 0x64]
call fcn.1090b13e
add esp, 4
mov dword [esp + 0x3c], eax
lea ecx, [esp + 0x50]
push 0
push ecx
push eax
push edi
push 0
push dword [esp + 0x40]
push dword [esp + 0x30]
call esi
movzx ecx, word [esp + 0x5e]
shr ecx, 3
imul ecx, dword [esp + 0x54]
mov eax, ecx
mov dword [esp + 0x20], ecx
and eax, 0x80000003
jns 0x1095f242
dec eax
or eax, 0xfffffffc
inc eax
je 0x1095f259
inc ecx
mov eax, ecx
and eax, 0x80000003
jns 0x1095f253
dec eax
or eax, 0xfffffffc
inc eax
jne 0x1095f244
mov dword [esp + 0x20], ecx
mov esi, dword [esp + 0x58]
xor edi, edi
mov dword [esp + 0x38], edi
test esi, esi
jle 0x1095f3a1
mov eax, dword [esp + 0x3c]
movss xmm3, dword [0x10970010]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 8]
shl eax, 2
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
nop dword [eax]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0x34], 0
test edx, edx
jle 0x1095f384
nop dword [eax]
mov al, byte [ecx]
mov byte [esp + 0x15], al
mov al, byte [ecx + 1]
mov byte [esp + 0x16], al
mov al, byte [ecx + 2]
mov byte [esp + 0x17], al
mov al, byte [ecx + 3]
add ecx, 4
movzx eax, al
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x30]
mov edx, ecx
lea esi, [ecx + 1]
movd xmm2, eax
lea edi, [ecx + 2]
movzx eax, byte [esp + 0x15]
add ecx, 3
cvtdq2ps xmm2, xmm2
mov dword [esp + 0x30], ecx
movzx ecx, byte [edx]
sub eax, ecx
divss xmm2, xmm3
movd xmm1, eax
cvtdq2ps xmm1, xmm1
movd xmm0, ecx
mulss xmm1, xmm2
cvtdq2ps xmm0, xmm0
addss xmm1, xmm0
cvttss2si eax, xmm1
mov byte [edx], al
movzx ecx, byte [esi]
movzx eax, byte [esp + 0x16]
sub eax, ecx
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
movd xmm1, eax
cvtdq2ps xmm1, xmm1
mulss xmm1, xmm2
addss xmm1, xmm0
cvttss2si eax, xmm1
mov byte [esi], al
movzx ecx, byte [edi]
movzx eax, byte [esp + 0x17]
sub eax, ecx
movd xmm0, ecx
mov ecx, dword [esp + 0x40]
movd xmm1, eax
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm2
addss xmm1, xmm0
cvttss2si eax, xmm1
mov byte [edi], al
mov eax, dword [esp + 0x34]
inc eax
mov dword [esp + 0x34], eax
cmp eax, dword [esp + 0x54]
jl 0x1095f2b0
mov esi, dword [esp + 0x58]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
inc edi
add ecx, dword [esp + 0x44]
add dword [esp + 0x28], eax
mov dword [esp + 0x38], edi
mov dword [esp + 0x24], ecx
cmp edi, esi
jl 0x1095f290
push 0
call dword [sym.imp.user32.dll_GetDC]
mov edi, dword [esp + 0x3c]
mov esi, eax
push 0
lea eax, [esp + 0x54]
push eax
push edi
push 4
push eax
push esi
call dword [sym.imp.gdi32.dll_CreateDIBitmap]
push esi
mov esi, dword [sym.imp.user32.dll_ReleaseDC]
push 0
mov dword [0x109bef94], eax
call esi
push edi
call fcn.1090aa78
mov edi, dword [esp + 0x1c]
add esp, 4
push dword [esp + 0x48]
push edi
call dword [sym.imp.gdi32.dll_SelectObject]
push dword [esp + 0x2c]
call dword [sym.imp.gdi32.dll_DeleteObject]
push edi
call dword [sym.imp.gdi32.dll_DeleteDC]
push dword [esp + 0x1c]
push dword [esp + 0x50]
call esi
pop edi
pop esi
mov esp, ebp
pop ebp
ret