Function at 0x40a130
Capabilities:
Query or enumerate registry value

Disassembly:
sub esp, 0x14
push ebp
push esi
push edi
push 5
push str.ShootingMode
mov esi, ecx
push str.General
call fcn.00445920
mov ecx, eax
call fcn.00445b20
push 1
push 0x4a0f48
push str.General
call fcn.00445920
mov ecx, eax
call fcn.00445b20
push 2
push 0x4a0f54
push str.General
call fcn.00445920
mov ecx, eax
call fcn.00445b20
push 4
push str.ContShoot
push str.General
call fcn.00445920
mov ecx, eax
call fcn.00445b20
lea edi, [esi + 0x93c]
mov ecx, esi
push edi
push 0x103
call fcn.004089f0
test eax, eax
jne 0x40a1b5
mov dword [edi], 0xffffffff
lea edi, [esi + 0x948]
mov ecx, esi
push edi
push 0x104
call fcn.004089f0
test eax, eax
jne 0x40a1d2
mov dword [edi], 0xffffffff
lea eax, [esi + 0x954]
mov ecx, esi
push eax
push 0x105
call fcn.004089f0
xor ebp, ebp
test eax, eax
jne 0x40a1f8
push ebp
push 0x105
mov ecx, esi
call fcn.004088a0
lea ecx, [esi + 0x958]
push ecx
push 0x106
mov ecx, esi
call fcn.004089f0
test eax, eax
jne 0x40a21d
push 1
push 0x106
mov ecx, esi
call fcn.004088a0
lea edx, [esi + 0x95c]
mov ecx, esi
push edx
push 0x107
call fcn.004089f0
test eax, eax
jne 0x40a242
push 1
push 0x107
mov ecx, esi
call fcn.004088a0
lea eax, [esi + 0x960]
mov ecx, esi
push eax
push 0x108
call fcn.004089f0
test eax, eax
jne 0x40a267
push 1
push 0x108
mov ecx, esi
call fcn.004088a0
push 1
push str.ImageFileType
push str.General
call fcn.00445920
mov ecx, eax
call fcn.00445b20
lea ecx, [esi + 0x964]
push ecx
push 0x109
mov ecx, esi
call fcn.004089f0
test eax, eax
jne 0x40a2a4
push 1
push 0x109
mov ecx, esi
call fcn.004088a0
lea edi, [esi + 0x968]
mov ecx, esi
push edi
push 0x10a
call fcn.004089f0
test eax, eax
jne 0x40a2c8
push ebp
push 0x10a
mov ecx, esi
call fcn.004088a0
cmp dword [edi], 2
jne 0x40a2df
push 0x48ad10
mov ecx, esi
call fcn.00412230
test eax, eax
jne 0x40a2df
mov dword [edi], ebp
lea edx, [esi + 0x96c]
mov ecx, esi
push edx
push 0x200
call fcn.004089f0
test eax, eax
jne 0x40a304
push 0x32
push 0x200
mov ecx, esi
call fcn.004088a0
lea eax, [esi + 0x970]
mov ecx, esi
push eax
push 0x201
call fcn.004089f0
test eax, eax
jne 0x40a329
push 0x32
push 0x201
mov ecx, esi
call fcn.004088a0
lea ecx, [esi + 0x974]
push ecx
push 0x202
mov ecx, esi
call fcn.004089f0
test eax, eax
jne 0x40a34e
push 4
push 0x202
mov ecx, esi
call fcn.004088a0
lea edx, [esi + 0x980]
mov ecx, esi
push edx
push 0x1000
call fcn.004089f0
test eax, eax
jne 0x40a373
push 1
push 0x1000
mov ecx, esi
call fcn.004088a0
lea eax, [esi + 0x988]
mov ecx, esi
push eax
push 0x1001
call fcn.004089f0
test eax, eax
jne 0x40a397
push ebp
push 0x1001
mov ecx, esi
call fcn.004088a0
lea ecx, [esi + 0x984]
push ecx
push 0x1002
mov ecx, esi
call fcn.004089f0
test eax, eax
jne 0x40a3bb
push ebp
push 0x1002
mov ecx, esi
call fcn.004088a0
push ebp
push 0x400
mov ecx, esi
mov dword [esi + 0x978], ebp
call fcn.004088a0
push ebp
push 0x401
mov ecx, esi
mov dword [esi + 0x97c], ebp
call fcn.004088a0
lea edx, [esp + 0xc]
mov ecx, esi
push edx
push 0x2000
call fcn.004089f0
test eax, eax
mov edi, 0x64
jne 0x40a41e
push edi
mov dword [esi + 0xda0], ebp
push 0x2000
mov ecx, esi
mov dword [esi + 0xda4], 0x3ff00000
mov dword [esp + 0x14], edi
call fcn.004088a0
jmp 0x40a43a
mov eax, dword [esp + 0xc]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], eax
fild qword [esp + 0x14]
fmul qword [0x48ad68]
fstp qword [esi + 0xda0]
lea ecx, [esp + 0xc]
push ecx
push 0x2001
mov ecx, esi
call fcn.004089f0
test eax, eax
jne 0x40a472
push edi
mov dword [esi + 0xda8], ebp
push 0x2001
mov ecx, esi
mov dword [esi + 0xdac], 0x3ff00000
mov dword [esp + 0x14], edi
call fcn.004088a0
jmp 0x40a48e
mov edx, dword [esp + 0xc]
mov dword [esp + 0x18], ebp
mov dword [esp + 0x14], edx
fild qword [esp + 0x14]
fmul qword [0x48ad68]
fstp qword [esi + 0xda8]
lea eax, [esp + 0x10]
mov ecx, esi
push eax
push 0x2002
call fcn.004089f0
test eax, eax
jne 0x40a4ab
mov dword [esi + 0xdb0], ebp
jmp 0x40a4c3
cmp dword [esp + 0x10], ebp
jne 0x40a4b9
mov dword [esi + 0xdb0], ebp
jmp 0x40a4c3
mov dword [esi + 0xdb0], 1
lea ecx, [esp + 0x10]
push ecx
push 0x2100
mov ecx, esi
call fcn.004089f0
test eax, eax
je 0x40a4fb
cmp dword [esp + 0x10], 1
jne 0x40a4f1
call fcn.0042af80
cmp dword [eax + 4], ebp
jne 0x40a4f1
mov dword [esp + 0x10], 3
mov edx, dword [esp + 0x10]
mov dword [esi + 0xdb4], edx
call fcn.00411b40
neg eax
lea ecx, [esp + 0x1c]
sbb eax, eax
push ecx
push 0x20019
add eax, 0x80000002
push ebp
push str.SOFTWAREASUSLifeFrame
push eax
call dword [0x48a00c]
test eax, eax
jne 0x40a579
mov ecx, dword [esp + 0x1c]
mov edi, dword [0x48a014]
lea edx, [esp + 0x14]
lea eax, [esi + 0x98c]
push edx
push eax
push ebp
push ebp
push str.VideoDev
push ecx
mov dword [esp + 0x2c], 0x104
call edi
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x14]
add esi, 0xb94
push edx
push esi
push ebp
push ebp
push str.AudioDev
push eax
mov dword [esp + 0x2c], 0x104
call edi
mov ecx, dword [esp + 0x1c]
push ecx
call dword [0x48a004]
pop edi
pop esi
mov eax, 1
pop ebp
add esp, 0x14
ret