Function at 0x10077db0
Capabilities:
Capture screenshot

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102f88fc
mov eax, dword fs:[0]
push eax
sub esp, 0x278
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 - 0x284], 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 - 0x280], eax
movd xmm5, dword [ebp + 0x28]
mulss xmm2, xmm3
movss xmm6, dword [ebp + 0x34]
cvtdq2ps xmm1, xmm1
movss dword [ebp - 0x230], xmm2
mulss xmm1, xmm2
movd xmm2, dword [ebp + 0x18]
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
mulss xmm0, xmm3
mulss xmm2, xmm1
movss dword [ebp - 0x274], xmm0
cvtdq2ps xmm5, xmm5
movss dword [ebp - 0x270], xmm2
movaps xmm4, xmm2
mulss xmm5, xmm1
addss xmm4, xmm0
movd xmm0, dword [ebp + 0x10]
movd xmm2, dword [ebp + 0x1c]
movss dword [ebp - 0x278], xmm5
movaps xmm1, xmm5
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm2, xmm2
mulss xmm4, xmm0
movd xmm0, dword [ebp + 0x24]
mulss xmm2, xmm3
movss dword [ebp - 0x238], xmm4
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x234], xmm2
mulss xmm0, xmm3
movss dword [ebp - 0x27c], 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 - 0x22c], xmm1
mulss xmm0, xmm3
movss dword [ebp - 0x224], xmm0
movd xmm0, dword [ebp + 0x30]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm3
movss dword [ebp - 0x240], 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 0x100781a3
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 - 0x244], 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 - 0x230]
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 - 0x26c], 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
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]
cvtps2pd xmm0, xmm0
movsd qword [ebp - 0x23c], xmm0
sub esp, 8
lea eax, [ebp - 0x210]
movsd qword [esp], xmm0
push str.Exposure_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 - 0x22c]
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 - 0x264], 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
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 - 0x240]
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 - 0x244]
add esp, 4
test eax, eax
jle 0x10078192
push 0
push eax
push 0x197
push dword [esi + 0x20]
call edi
push dword [ebx + 0x20]
call dword [sym.imp.USER32.dll_GetDC]
push eax
call fcn.100d0f72
jmp 0x100781c4
cvtps2pd xmm0, xmm1
movsd qword [ebp - 0x26c], xmm0
cvtps2pd xmm0, xmm2
movsd qword [ebp - 0x23c], xmm0
cvtps2pd xmm0, xmm6
movsd qword [ebp - 0x264], xmm0
mov esi, eax
mov ecx, ebx
push 0x10cd
mov dword [ebp - 0x230], 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 - 0x25c]
sub edi, dword [ebp - 0x220]
mov ebx, dword [ebp - 0x214]
sub ebx, dword [ebp - 0x21c]
mov dword [ebp - 0x244], edi
call fcn.100cf972
mov dword [ebp - 4], 0
mov dword [ebp - method.CGdiObject.virtual_0], vtable.CGdiObject.0
mov dword [ebp - 0x248], 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 - 0x24c]
call fcn.100d0bdf
push dword [esi + 4]
call dword [sym.imp.GDI32.dll_CreateCompatibleDC]
push eax
lea ecx, [ebp - 0x25c]
call fcn.100d0b9d
push dword [ebp - 0x248]
push dword [ebp - 0x258]
call fcn.100d16bd
push 0xffffff
push ebx
push edi
push 0
push 0
lea ecx, [ebp - 0x25c]
mov dword [ebp - 0x240], eax
call fcn.100d3730
movsd xmm0, qword [ebp - 0x26c]
comisd xmm0, xmmword [0x10326010]
jbe 0x100784d2
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 - 0x26c]
mov dword [ebp - 0x228], 0
sar edx, 1
lea ecx, [ebp - 0x25c]
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 - 0x270]
lea eax, [ebp - 0x228]
push 0x10322dc8
push 0xff
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x274]
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 - 0x25c]
push eax
push esi
call fcn.10077a10
movsd xmm0, qword [ebp - 0x23c]
add esp, 0x28
comisd xmm0, xmmword [0x10326008]
jbe 0x1007841b
movss xmm0, dword [ebp - 0x22c]
mulss xmm0, dword [ebp - 0x234]
cvttss2si eax, xmm0
mov dword [ebp - 0x238], eax
cmp eax, 3
jge 0x100783bc
movsd xmm0, qword [ebp - 0x264]
mov eax, 3
mov dword [ebp - 0x238], eax
movsd qword [ebp - 0x264], xmm0
mov edi, dword [ebp - 0x224]
push 0
push 0
push 0
push 0x960096
push esi
push eax
push 2
lea eax, [ebp - 0x25c]
push edi
push eax
call fcn.10077c10
movss xmm0, dword [ebp - 0x228]
lea eax, [ebp - 0x26c]
addss xmm0, dword [ebp - 0x234]
add edi, dword [ebp - 0x238]
lea ecx, [ebp - 0x25c]
add esp, 0x24
mov dword [ebp - 0x224], edi
movss dword [ebp - 0x228], xmm0
push esi
push edi
push eax
call fcn.100d11e7
jmp 0x10078421
mov edi, dword [ebp - 0x224]
movsd xmm0, qword [ebp - 0x264]
comisd xmm0, xmmword [0x10326008]
jbe 0x1007846f
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 - 0x25c]
push edi
push eax
call fcn.10077c10
add esp, 0x24
movss xmm0, dword [ebp - 0x278]
lea eax, [ebp - 0x228]
push 0x10325fe4
push 0x6400
sub esp, 8
movss dword [esp + 4], xmm0
movss xmm0, dword [ebp - 0x27c]
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 - 0x25c]
push eax
push esi
call fcn.10077a10
mov esi, dword [ebp - 0x230]
add esp, 0x28
mov edi, dword [ebp - 0x244]
push 0xcc0020
push 0
push 0
push dword [ebp - 0x258]
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 - 0x240]
test eax, eax
je 0x10078505
mov eax, dword [eax + 4]
push eax
push dword [ebp - 0x258]
call fcn.100d16bd
lea ecx, [ebp - 0x25c]
call fcn.100d0de8
cmp dword [ebp - 0x280], 0
jne 0x10078537
mov eax, dword [ebp - 0x284]
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 - 0x24c]
call fcn.100034a0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x25c]
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