Function at 0x1092a7a0
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 + 0x30], 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 + 0x3c]
movdqa xmmword [esp + 0x68], xmm0
push dword [esp + 0x30]
movdqa 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
mov eax, dword [sym.imp.Core.dll_class_FMalloc__GMalloc]
push 0x10932c5c
push dword [esp + 0x68]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax]
call eax
push 0
lea ecx, [esp + 0x54]
mov dword [esp + 0x40], eax
push ecx
push eax
push edi
push 0
push dword [esp + 0x3c]
push dword [esp + 0x30]
call esi
movzx ecx, word [esp + 0x5e]
mov edx, dword [esp + 0x54]
shr ecx, 3
imul ecx, edx
mov eax, ecx
mov dword [esp + 0x20], ecx
and eax, 0x80000003
jns 0x1092a8e0
dec eax
or eax, 0xfffffffc
inc eax
je 0x1092a8f7
inc ecx
mov eax, ecx
and eax, 0x80000003
jns 0x1092a8f1
dec eax
or eax, 0xfffffffc
inc eax
jne 0x1092a8e2
mov dword [esp + 0x20], ecx
xor esi, esi
mov dword [esp + 0x34], esi
cmp dword [esp + 0x58], esi
jle 0x1092aa3b
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x3c]
movss xmm3, dword [0x1093729c]
mov ecx, dword [esp + 0x24]
shl eax, 2
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], edi
lea esp, [esp]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], 0
test edx, edx
jle 0x1092aa1a
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 + 0x2c]
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 + 0x2c], 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 + 0x30]
mov edx, dword [esp + 0x54]
inc eax
mov dword [esp + 0x30], eax
cmp eax, edx
jl 0x1092a944
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x38]
mov ecx, dword [esp + 0x24]
inc esi
add ecx, dword [esp + 0x44]
add edi, eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x38], edi
cmp esi, dword [esp + 0x58]
jl 0x1092a930
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 [0x109893a0], eax
call esi
mov eax, dword [sym.imp.Core.dll_class_FMalloc__GMalloc]
push edi
mov ecx, dword [eax]
mov eax, dword [ecx]
call dword [eax + 8]
push dword [esp + 0x48]
mov edi, dword [esp + 0x1c]
push edi
call dword [sym.imp.GDI32.dll_SelectObject]
push dword [esp + 0x28]
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