Function at 0x10079ae0
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102f8b2c
mov eax, dword fs:[0]
push eax
sub esp, 0x27c
mov eax, dword [case.0x100be6e1.80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x288], ebx
movd xmm2, dword [ebp + 0xc]
movss xmm3, dword [ebp + 0x38]
movd xmm1, dword [0x103c915c]
movd xmm0, dword [ebp + 0x14]
cvtdq2ps xmm2, xmm2
mov eax, dword [ebp + 8]
mov dword [ebp - 0x284], eax
movd xmm5, dword [ebp + 0x28]
mulss xmm2, xmm3
movss xmm6, dword [ebp + 0x34]
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0x22c], xmm2
mulss xmm1, xmm2
movd xmm2, dword [ebp + 0x18]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
mulss xmm2, xmm1
movss dword [ebp - 0x278], xmm0
cvtdq2ps xmm5, xmm5
movss dword [ebp - 0x274], xmm2
movaps xmm4, xmm2
mulss xmm5, xmm1
addss xmm4, xmm0
movd xmm0, dword [ebp + 0x10]
movd xmm2, dword [ebp + 0x1c]
movss dword [ebp - 0x27c], xmm5
movaps xmm1, xmm5
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
mulss xmm4, xmm0
movd xmm0, dword [ebp + 0x24]
mulss xmm2, xmm3
movss dword [ebp - 0x224], xmm4
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x234], xmm2
mulss xmm0, xmm3
movss dword [ebp - 0x280], xmm0
addss xmm1, xmm0
movd xmm0, dword [ebp + 0x20]
cvtdq2ps xmm0, xmm0
mulss xmm1, xmm0
movd xmm0, dword [ebp + 0x2c]
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x248], xmm1
mulss xmm0, xmm3
movss dword [ebp - 0x238], xmm0
movd xmm0, dword [ebp + 0x30]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss dword [ebp - 0x24c], xmm0
movaps xmm0, xmm1
maxss xmm0, xmm6
movaps xmm1, xmm2
addss xmm1, xmm4
addss xmm1, xmm0
movss dword [ebp - 0x228], xmm1
test eax, eax
jne 0x10079f06
push 0x1091
call fcn.100ccf47
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
mov esi, eax
push 0
push 0
push 0x18e
push dword [esi + 0x20]
call edi
push 0
push 0
push 0x184
push dword [esi + 0x20]
mov dword [ebp - 0x23c], eax
call edi
movss xmm0, dword [ebp + 0x38]
lea eax, [ebp - 0x210]
cvtps2pd xmm0, xmm0
sub esp, 8
mulsd xmm0, qword [0x10326020]
movsd qword [esp], xmm0
push str.clk_g_ns_
push eax
call fcn.100029e0
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
push 0
push 0x180
push dword [esi + 0x20]
call edi
movss xmm0, dword [ebp - 0x22c]
lea eax, [ebp - 0x210]
cvtps2pd xmm0, xmm0
sub esp, 8
mulsd xmm0, qword [0x10326018]
movsd qword [esp], xmm0
push str.Gate_High_g_ms_
push eax
call fcn.100029e0
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
push 0
push 0x180
push dword [esi + 0x20]
call edi
movss xmm0, dword [ebp - 0x228]
lea eax, [ebp - 0x210]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Total_g_s_
push eax
movsd qword [ebp - 0x230], xmm0
call fcn.100029e0
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
push 0
push 0x180
push dword [esi + 0x20]
call edi
movss xmm0, dword [ebp - 0x224]
lea eax, [ebp - 0x210]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Init_g_s_
push eax
call fcn.100029e0
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
push 0
push 0x180
push dword [esi + 0x20]
call edi
movss xmm0, dword [ebp - 0x234]
sub esp, 8
cvtps2pd xmm0, xmm0
movsd qword [esp], xmm0
lea eax, [ebp - 0x210]
push str.Exposure_g_s_
push eax
movsd qword [ebp - 0x260], xmm0
call fcn.100029e0
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
push 0
push 0x180
push dword [esi + 0x20]
call edi
movss xmm0, dword [ebp - 0x248]
lea eax, [ebp - 0x210]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.Saturation_g_s_
push eax
call fcn.100029e0
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
push 0
push 0x180
push dword [esi + 0x20]
call edi
movss xmm0, dword [ebp + 0x34]
lea eax, [ebp - 0x210]
cvtps2pd xmm0, xmm0
sub esp, 8
movsd qword [esp], xmm0
push str.ReadOut_g_s_
push eax
movsd qword [ebp - 0x244], xmm0
call fcn.100029e0
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
push 0
push 0x180
push dword [esi + 0x20]
call edi
movss xmm0, dword [ebp - 0x238]
lea eax, [ebp - 0x210]
cvtps2pd xmm0, xmm0
sub esp, 8
mulsd xmm0, qword [0x10326018]
movsd qword [esp], xmm0
push str.Sample0_g_ms_
push eax
call fcn.100029e0
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
push 0
push 0x180
push dword [esi + 0x20]
call edi
movss xmm0, dword [ebp - 0x24c]
lea eax, [ebp - 0x210]
cvtps2pd xmm0, xmm0
sub esp, 8
mulsd xmm0, qword [0x10326018]
movsd qword [esp], xmm0
push str.Sample1_g_ms_
push eax
call fcn.100029e0
add esp, 0x10
lea eax, [ebp - 0x210]
push eax
push 0
push 0x180
push dword [esi + 0x20]
call edi
push dword [esi + 0x20]
call fcn.100bea30
mov eax, dword [ebp - 0x23c]
add esp, 4
test eax, eax
jle 0x10079ef5
push 0
push eax
push 0x197
push dword [esi + 0x20]
call edi
movsd xmm0, qword [ebp - 0x230]
movsd qword [ebp - 0x230], xmm0
movss xmm0, dword [ebp - 0x234]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x260], xmm0
movsd xmm0, qword [ebp - 0x244]
movsd qword [ebp - 0x244], xmm0
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_GetDC]
push eax
call fcn.100d0f72
jmp 0x10079f27
cvtps2pd xmm0, xmm1
movsd qword [ebp - 0x230], xmm0
cvtps2pd xmm0, xmm2
movsd qword [ebp - 0x260], xmm0
cvtps2pd xmm0, xmm6
movsd qword [ebp - 0x244], xmm0
mov esi, eax
mov ecx, ebx
push 0x10cd
mov dword [ebp - 0x238], esi
call fcn.100ccf47
lea ecx, [ebp - 0x220]
push ecx
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x220]
mov ecx, ebx
push eax
call fcn.100d157f
mov edi, dword [ebp - 0x218]
lea ecx, [ebp - 0x270]
sub edi, dword [ebp - 0x220]
mov ebx, dword [ebp - 0x214]
sub ebx, dword [ebp - 0x21c]
mov dword [ebp - 0x23c], edi
call fcn.100cf972
mov dword [ebp - 4], 0
mov dword [ebp - method.CGdiObject.virtual_0], vtable.CGdiObject.0
mov dword [ebp - 0x254], 0
mov byte [ebp - 4], 1
mov dword [ebp - method.CBitmap.virtual_0], vtable.CBitmap.0
mov byte [ebp - 4], 2
push ebx
push edi
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_CreateCompatibleBitmap]
push eax
lea ecx, [ebp - 0x258]
call fcn.100d0bdf
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [ebp - 0x270]
call fcn.100d0b9d
push dword [ebp - 0x254]
push dword [ebp - 0x26c]
call fcn.100d16bd
push 0xffffff
push ebx
push edi
push 0
push 0
lea ecx, [ebp - 0x270]
mov dword [ebp - 0x248], eax
call fcn.100d3730
movsd xmm0, qword [ebp - 0x230]
comisd xmm0, xmmword [0x10326010]
jbe 0x1007a23d
lea eax, [edi - 4]
mov dword [ebp - 0x224], 2
movd xmm0, eax
lea ecx, [ebx*4]
cvtdq2ps xmm0, xmm0
mov eax, 0x66666667
imul ecx
divss xmm0, dword [ebp - 0x228]
lea eax, [ebp - 0x250]
mov dword [ebp - 0x228], 0
sar edx, 1
lea ecx, [ebp - 0x270]
mov esi, edx
shr esi, 0x1f
add esi, edx
push esi
push 2
push eax
movss dword [ebp - 0x22c], xmm0
call fcn.100d11e7
movss xmm0, dword [ebp - 0x274]
lea eax, [ebp - 0x228]
push 0x10322dc8
push 0xff
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x278]
movss dword [esp], xmm0
push dword [ebp + 0x10]
movss xmm0, dword [ebp - 0x22c]
push ecx
movss dword [esp], xmm0
push eax
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x270]
push eax
push esi
call fcn.10079740
movsd xmm1, qword [0x10326008]
add esp, 0x28
movsd xmm0, qword [ebp - 0x260]
comisd xmm0, xmm1
jbe 0x1007a18a
movss xmm0, dword [ebp - 0x22c]
mulss xmm0, dword [ebp - 0x234]
cvttss2si eax, xmm0
mov dword [ebp - 0x24c], eax
cmp eax, 3
jge 0x1007a123
movsd xmm0, qword [ebp - 0x244]
mov eax, 3
mov dword [ebp - 0x24c], eax
movsd qword [ebp - 0x244], xmm0
mov edi, dword [ebp - 0x224]
push 0
push 0
push 0
push 0x960096
push esi
push eax
push 2
lea eax, [ebp - 0x270]
push edi
push eax
call fcn.10079940
movss xmm0, dword [ebp - 0x228]
lea eax, [ebp - 0x260]
addss xmm0, dword [ebp - 0x234]
add edi, dword [ebp - 0x24c]
lea ecx, [ebp - 0x270]
add esp, 0x24
mov dword [ebp - 0x224], edi
movss dword [ebp - 0x228], xmm0
push esi
push edi
push eax
call fcn.100d11e7
movsd xmm1, qword [0x10326008]
jmp 0x1007a190
mov edi, dword [ebp - 0x224]
movsd xmm0, qword [ebp - 0x244]
comisd xmm0, xmm1
jbe 0x1007a1da
movss xmm0, dword [ebp - 0x22c]
mov eax, ebx
mulss xmm0, dword [ebp + 0x34]
sub eax, esi
push str.Read_Out
push 5
push 2
push 0x960000
sub eax, 4
push eax
cvttss2si eax, xmm0
push eax
lea eax, [esi + 2]
push eax
lea eax, [ebp - 0x270]
push edi
push eax
call fcn.10079940
add esp, 0x24
movss xmm0, dword [ebp - 0x27c]
lea eax, [ebp - 0x228]
push 0x10325fe4
push 0x6400
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x280]
movss dword [esp], xmm0
push dword [ebp + 0x20]
movss xmm0, dword [ebp - 0x22c]
push ecx
movss dword [esp], xmm0
push eax
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x270]
push eax
push esi
call fcn.10079740
mov esi, dword [ebp - 0x238]
add esp, 0x28
mov edi, dword [ebp - 0x23c]
push 0xcc0020
push 0
push 0
push dword [ebp - 0x26c]
push ebx
push edi
push dword [ebp - 0x21c]
push dword [ebp - 0x220]
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_BitBlt]
mov eax, dword [ebp - 0x248]
test eax, eax
je 0x1007a270
mov eax, dword [eax + 4]
push eax
push dword [ebp - 0x26c]
call fcn.100d16bd
lea ecx, [ebp - 0x270]
call fcn.100d0de8
cmp dword [ebp - 0x284], 0
jne 0x1007a2a2
mov eax, dword [ebp - 0x288]
push dword [esi + 4]
push dword [eax + 0x20]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov byte [ebp - 4], 0
mov dword [ebp - method.CBitmap.virtual_0], vtable.CBitmap.0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x258]
call fcn.100034a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x270]
call fcn.100cfbb4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10291e04
mov esp, ebp
pop ebp
ret 0x34