Function at 0x40895a
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x20
fldz
push ebx
push esi
fstp dword [ebp - 8]
push edi
mov edi, dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
lea eax, [ebp - 0xc]
push eax
xor ebx, ebx
mov esi, str.SoftwareIntelDisplayigfxcuiMedia
push esi
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0xc], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], 4
mov dword [ebp - 0x1c], ebx
call edi
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x10]
push eax
push esi
push SysReAllocString
call edi
cmp dword [ebp - 0x20], ebx
je 0x4089b3
cmp eax, ebx
jne 0x408dc9
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
mov esi, str.EnableFMD
push esi
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x4089dd
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
jmp 0x4089e4
mov dword [ebp - 0x14], 1
push 4
lea eax, [ebp - 0x14]
push eax
push 4
push ebx
push esi
push dword [ebp - 0x10]
mov esi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
call esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push str.NoiseReductionEnabledAlways
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x408a1c
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
jmp 0x408a23
mov dword [ebp - 0x14], 1
push 4
lea eax, [ebp - 0x14]
push eax
push 4
push ebx
push str.NoiseReductionEnabledAlways
push dword [ebp - 0x10]
call esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push str.NoiseReductionAutoDetectEnabledAlways
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x408a59
mov eax, dword [ebp - 4]
mov dword [ebp - 0x14], eax
jmp 0x408a60
mov dword [ebp - 0x14], 1
push 4
lea eax, [ebp - 0x14]
push eax
push 4
push ebx
push str.NoiseReductionAutoDetectEnabledAlways
push dword [ebp - 0x10]
call esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push 0x421f04
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x408aa0
mov eax, dword [ebp - 4]
fild dword [ebp - 4]
test eax, eax
jge 0x408aa2
fadd dword [0x421f00]
jmp 0x408aa2
fldz
push 4
fstp dword [ebp - 8]
lea eax, [ebp - 8]
push eax
push 4
push ebx
push 0x421f04
push dword [ebp - 0x10]
call esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push str.SharpnessEnabledAlways
push dword [ebp - 0xc]
call edi
neg eax
sbb eax, eax
not eax
and eax, dword [ebp - 4]
push 4
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
push 4
push ebx
push str.SharpnessEnabledAlways
push dword [ebp - 0x10]
call esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push 0x421ed8
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x408b1b
mov eax, dword [ebp - 4]
fild dword [ebp - 4]
test eax, eax
jge 0x408b21
fadd dword [0x421f00]
jmp 0x408b21
fld dword [0x421ed4]
push 4
fstp dword [ebp - 8]
lea eax, [ebp - 8]
push eax
push 4
push ebx
push 0x421ed8
push dword [ebp - 0x10]
call esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push str.ProcAmpApplyAlways
push dword [ebp - 0xc]
call edi
neg eax
sbb eax, eax
not eax
and eax, dword [ebp - 4]
push 4
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
push 4
push ebx
push str.ProcAmpApplyAlways
push dword [ebp - 0x10]
call esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push str.ProcAmpHue
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x408b9a
mov eax, dword [ebp - 4]
fild dword [ebp - 4]
test eax, eax
jge 0x408b9c
fadd dword [0x421f00]
jmp 0x408b9c
fldz
push 4
fstp dword [ebp - 8]
lea eax, [ebp - 8]
push eax
push 4
push ebx
push str.ProcAmpHue
push dword [ebp - 0x10]
call esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push str.ProcAmpSaturation
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x408bdf
mov eax, dword [ebp - 4]
fild dword [ebp - 4]
test eax, eax
jge 0x408be1
fadd dword [0x421f00]
jmp 0x408be1
fld1
push 4
fstp dword [ebp - 8]
lea eax, [ebp - 8]
push eax
push 4
push ebx
push str.ProcAmpSaturation
push dword [ebp - 0x10]
call esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push str.ProcAmpContrast
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x408c24
mov eax, dword [ebp - 4]
fild dword [ebp - 4]
test eax, eax
jge 0x408c26
fadd dword [0x421f00]
jmp 0x408c26
fld1
push 4
fstp dword [ebp - 8]
lea eax, [ebp - 8]
push eax
push 4
push ebx
push str.ProcAmpContrast
push dword [ebp - 0x10]
call esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push str.ProcAmpBrightness
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x408c69
mov eax, dword [ebp - 4]
fild dword [ebp - 4]
test eax, eax
jge 0x408c6b
fadd dword [0x421f00]
jmp 0x408c6b
fldz
push 4
fstp dword [ebp - 8]
lea eax, [ebp - 8]
push eax
push 4
push ebx
push str.ProcAmpBrightness
push dword [ebp - 0x10]
call esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push str.EnableNLAS
push dword [ebp - 0xc]
call edi
neg eax
sbb eax, eax
not eax
and eax, dword [ebp - 4]
push 4
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x14]
push eax
push 4
push ebx
push str.EnableNLAS
push dword [ebp - 0x10]
call esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push 0x421ea0
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x408cea
mov eax, dword [ebp - 4]
fild dword [ebp - 4]
test eax, eax
jge 0x408ce2
fadd qword [0x421e98]
fdiv qword [0x421e90]
jmp 0x408cec
fldz
push 4
fstp dword [ebp - 8]
lea eax, [ebp - 8]
push eax
push 4
push ebx
push 0x421ea0
push dword [ebp - 0x10]
call esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push 0x421e78
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x408d41
mov eax, dword [ebp - 4]
fild dword [ebp - 4]
test eax, eax
jge 0x408d2d
fadd qword [0x421e98]
fmul qword [0x421e70]
fdiv qword [0x421e90]
fadd qword [0x421e68]
jmp 0x408d47
fld dword [0x421e64]
push 4
fstp dword [ebp - 8]
lea eax, [ebp - 8]
push eax
push 4
push ebx
push 0x421e78
push dword [ebp - 0x10]
call esi
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 4]
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push 0x421e50
push dword [ebp - 0xc]
call edi
test eax, eax
jne 0x408d9c
mov eax, dword [ebp - 4]
fild dword [ebp - 4]
test eax, eax
jge 0x408d88
fadd qword [0x421e98]
fmul qword [0x421e48]
fdiv qword [0x421e90]
fadd qword [0x421e40]
jmp 0x408d9e
fldz
push 4
fstp dword [ebp - 8]
lea eax, [ebp - 8]
push eax
push 4
push ebx
push 0x421e50
push dword [ebp - 0x10]
call esi
push dword [ebp - 0x10]
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call esi
cmp dword [ebp - 0xc], ebx
je 0x408dc9
push dword [ebp - 0xc]
call esi
pop edi
pop esi
pop ebx
leave
ret