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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x12c
mov dword [ebp - 4], 0
lea eax, [ebp - 8]
push eax
push 0xf003f
push 0
push 0x100325c8
push reloc.DSOUND.dll_DirectSoundCreate
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x10001cfb
lea ecx, [ebp - 0xc]
push ecx
lea edx, [ebp - 8]
push edx
push 0
push 0xf003f
push 0
push 0
push 0
push 0x100325e4
push reloc.DSOUND.dll_DirectSoundCreate
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExA]
mov dword [ebp - 4], 1
mov dword [0x100325c4], 1
push 4
lea eax, [ebp - 4]
push eax
push 4
push 0
push 0x10032600
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 4], 1
push 4
lea edx, [ebp - 4]
push edx
push 4
push 0
push 0x1003260c
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [ebp - 4], 0
push 4
lea ecx, [ebp - 4]
push ecx
push 4
push 0
push 0x10032618
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [0x10035da0], 0x41700000
lea eax, [ebp - 0x20]
push eax
push 2
push 0x402e0000
push 0
call fcn.1001c94b
add esp, 0x10
lea ecx, [ebp - 0x20]
push ecx
call fcn.1001c8d0
add esp, 4
add eax, 1
push eax
lea edx, [ebp - 0x20]
push edx
push 1
push 0
push 0x10032630
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [0x10035db4], 0x41700000
lea ecx, [ebp - 0x20]
push ecx
push 2
push 0x402e0000
push 0
call fcn.1001c94b
add esp, 0x10
lea edx, [ebp - 0x20]
push edx
call fcn.1001c8d0
add esp, 4
add eax, 1
push eax
lea eax, [ebp - 0x20]
push eax
push 1
push 0
push 0x10032638
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [0x10035db8], 0x41700000
lea edx, [ebp - 0x20]
push edx
push 2
push 0x402e0000
push 0
call fcn.1001c94b
add esp, 0x10
lea eax, [ebp - 0x20]
push eax
call fcn.1001c8d0
add esp, 4
add eax, 1
push eax
lea ecx, [ebp - 0x20]
push ecx
push 1
push 0
push 0x10032640
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [0x10035da8], 0x41166666
lea eax, [ebp - 0x20]
push eax
push 2
push 0x4022cccc
push 0xcccccccd
call fcn.1001c94b
add esp, 0x10
lea ecx, [ebp - 0x20]
push ecx
call fcn.1001c8d0
add esp, 4
add eax, 1
push eax
lea edx, [ebp - 0x20]
push edx
push 1
push 0
push 0x10032648
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [0x10035db0], 0x41166666
lea ecx, [ebp - 0x20]
push ecx
push 2
push 0x4022cccc
push 0xcccccccd
call fcn.1001c94b
add esp, 0x10
lea edx, [ebp - 0x20]
push edx
call fcn.1001c8d0
add esp, 4
add eax, 1
push eax
lea eax, [ebp - 0x20]
push eax
push 1
push 0
push 0x10032654
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [0x10035da4], 0x41166666
lea edx, [ebp - 0x20]
push edx
push 2
push 0x4022cccc
push 0xcccccccd
call fcn.1001c94b
add esp, 0x10
lea eax, [ebp - 0x20]
push eax
call fcn.1001c8d0
add esp, 4
add eax, 1
push eax
lea ecx, [ebp - 0x20]
push ecx
push 1
push 0
push 0x10032660
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov dword [0x10035dac], 0x41166666
lea eax, [ebp - 0x20]
push eax
push 2
push 0x4022cccc
push 0xcccccccd
call fcn.1001c94b
add esp, 0x10
lea ecx, [ebp - 0x20]
push ecx
call fcn.1001c8d0
add esp, 4
add eax, 1
push eax
lea edx, [ebp - 0x20]
push edx
push 1
push 0
push 0x1003266c
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 1
push 0
push 0
call fcn.10003263
add esp, 0xc
jmp 0x10001f34
mov dword [ebp - 0x128], 1
mov dword [ebp - 0x24], 0xff
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x124]
push edx
lea eax, [ebp - 0x128]
push eax
push 0
push 0x10032678
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea edx, [ebp - 0x124]
push edx
call fcn.1001c86e
add esp, 4
fstp dword [0x10035db4]
mov dword [ebp - 0x128], 1
mov dword [ebp - 0x24], 0xff
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x124]
push ecx
lea edx, [ebp - 0x128]
push edx
push 0
push 0x10032680
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [ebp - 0x124]
push ecx
call fcn.1001c86e
add esp, 4
fstp dword [0x10035db8]
mov dword [ebp - 0x128], 1
mov dword [ebp - 0x24], 0xff
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x128]
push ecx
push 0
push 0x10032688
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x124]
push eax
call fcn.1001c86e
add esp, 4
fstp dword [0x10035dac]
mov dword [ebp - 0x128], 1
mov dword [ebp - 0x24], 0xff
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x124]
push edx
lea eax, [ebp - 0x128]
push eax
push 0
push 0x10032694
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea edx, [ebp - 0x124]
push edx
call fcn.1001c86e
add esp, 4
fstp dword [0x10035db0]
mov dword [ebp - 0x128], 1
mov dword [ebp - 0x24], 0xff
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 0x124]
push ecx
lea edx, [ebp - 0x128]
push edx
push 0
push 0x100326a0
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea ecx, [ebp - 0x124]
push ecx
call fcn.1001c86e
add esp, 4
fstp dword [0x10035da0]
mov dword [ebp - 0x128], 1
mov dword [ebp - 0x24], 0xff
lea edx, [ebp - 0x24]
push edx
lea eax, [ebp - 0x124]
push eax
lea ecx, [ebp - 0x128]
push ecx
push 0
push 0x100326a8
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea eax, [ebp - 0x124]
push eax
call fcn.1001c86e
add esp, 4
fstp dword [0x10035da4]
mov dword [ebp - 0x128], 1
mov dword [ebp - 0x24], 0xff
lea ecx, [ebp - 0x24]
push ecx
lea edx, [ebp - 0x124]
push edx
lea eax, [ebp - 0x128]
push eax
push 0
push 0x100326b4
mov ecx, dword [ebp - 8]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
lea edx, [ebp - 0x124]
push edx
call fcn.1001c86e
add esp, 4
fstp dword [0x10035da8]
mov dword [ebp - 0x128], 4
mov dword [ebp - 0x24], 4
lea eax, [ebp - 0x24]
push eax
lea ecx, [ebp - 4]
push ecx
lea edx, [ebp - 0x128]
push edx
push 0
push 0x100326c0
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov ecx, dword [ebp - 4]
mov dword [0x100325c4], ecx
fld dword [0x10035db4]
fcomp dword [0x10035db8]
fnstsw ax
test ah, 0x41
jne 0x10001f55
mov edx, dword [0x10035db4]
mov dword [ebp - 0x12c], edx
jmp 0x10001f60
mov eax, dword [0x10035db8]
mov dword [ebp - 0x12c], eax
mov ecx, dword [ebp - 0x12c]
mov dword [0x10035d9c], ecx
call fcn.1000230a
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.1000305e
call fcn.10003189
mov esp, ebp
pop ebp
ret