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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc8
mov eax, dword [0x515040]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0xbc]
mov dword [ebp - 0xc0], 0
push eax
push 0x20019
push 0
push str.SoftwareMicrosoftDirectX_9.0_SDK
push reloc.DSOUND.dll_DirectSoundCreate
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x41716d
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xc4], 4
push eax
lea eax, [ebp - 0xc0]
push eax
lea eax, [ebp - 0xc8]
push eax
push 0
push str.Skip_Warning_On_REF
push dword [ebp - 0xbc]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
push dword [ebp - 0xbc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0xc0], 0
jne 0x417373
movq xmm0, qword [str.MS_Sans_Serif]
mov eax, 8
mov word [ebp - 0xa0], ax
mov ecx, 0x80
mov eax, dword [0x502db8]
mov dword [ebp - 0x96], eax
mov ax, word [0x502dbc]
mov word [ebp - 0x92], ax
xor eax, eax
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 8], eax
mov eax, dword [0x576f0c]
mov dword [ebp - 0xb8], 0x90c808c5
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xb0], 5
mov dword [ebp - 0xac], 0x10d0000
mov dword [ebp - 0xa8], 0x52
mov dword [ebp - 0xa4], 0x200000
movq qword [ebp - 0x9e], xmm0
mov dword [ebp - 0x90], 0x50000203
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x88], 0x70007
mov dword [ebp - 0x84], 0x180018
mov dword [ebp - 0x80], 0xffff0100
mov dword [ebp - 0x7c], 0x82
mov dword [ebp - 0x74], 0x50000000
mov dword [ebp - 0x6c], 0x70028
mov dword [ebp - 0x68], 0x1900e6
mov dword [ebp - 0x64], 0xffff0101
mov dword [ebp - 0x60], 0x82
mov dword [ebp - 0x58], 0x50000001
mov dword [ebp - 0x50], 0x270050
mov dword [ebp - 0x4c], 0xe0032
mov dword [ebp - 0x48], 0xffff0006
mov dword [ebp - 0x44], 0x80
mov dword [ebp - 0x3c], 0x50000000
mov dword [ebp - 0x34], 0x270085
mov dword [ebp - 0x30], 0xe0032
mov dword [ebp - 0x2c], 0xffff0007
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x20], 0x50000002
mov dword [ebp - 0x18], 0x3b0007
mov dword [ebp - 0x14], 0x100046
mov dword [ebp - 0x10], 0xffff0005
mov dword [ebp - 0xc], ecx
push ebx
test eax, eax
je 0x4172d9
cmp dword [eax + 0x30], 0
setne cl
jmp 0x4172db
xor cl, cl
mov eax, dword [0x576f34]
test cl, cl
push 0
cmovne eax, dword [0x576f38]
push 0x416f90
push eax
lea eax, [ebp - 0xb8]
push eax
push dword [0x576f88]
call dword [sym.imp.USER32.dll_DialogBoxIndirectParamA]
mov ebx, eax
test bl, bl
jns 0x417360
lea eax, [ebp - 0xbc]
push eax
push 0x20006
push 0
push str.SoftwareMicrosoftDirectX_9.0_SDK
push reloc.DSOUND.dll_DirectSoundCreate
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x417360
push 4
lea eax, [ebp - 0xc0]
mov dword [ebp - 0xc0], 1
push eax
push 4
push 0
push str.Skip_Warning_On_REF
push dword [ebp - 0xbc]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push dword [ebp - 0xbc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
and ebx, 0xf
cmp bl, 7
pop ebx
jne 0x417373
mov ecx, 1
call fcn.00416b50
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.004cf01b
mov esp, ebp
pop ebp
ret