Function at 0x14003a5e0
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x728]
sub rsp, 0x800
mov qword [rbp + 0x200], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
movaps xmmword [rax - 0x88], xmm11
movaps xmmword [rax - 0x98], xmm12
movaps xmmword [rax - 0xa8], xmm13
movaps xmmword [rax - 0xb8], xmm14
mov rax, qword [0x1402da8d8]
xor rax, rsp
mov qword [rbp + 0x660], rax
mov esi, edx
mov rdi, rcx
mov qword [rsp + 0x58], rcx
call fcn.14005aa58
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
xor r9d, r9d
lea r8, str.DtsPresetInited
lea rdx, str.General
call qword [rax + 0xf8]
mov ebx, eax
cmp eax, 1
je 0x14003bdfe
call fcn.14004aa80
mov rcx, rax
test rax, rax
je 0x14003be69
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x50], rax
call fcn.14004aa80
mov rcx, rax
test rax, rax
je 0x14003be5e
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x40], rax
xor r12d, r12d
mov qword [rbp - 0x68], r12
mov dword [rbp - 0x60], r12d
mov qword [rbp - 0x58], r12
mov qword [rsp + 0x68], r12
mov dword [rsp + 0x70], r12d
mov qword [rsp + 0x78], r12
lea rax, str.Music
mov qword [rbp + 0x220], rax
lea rax, [0x140280ba0]
mov qword [rbp + 0x228], rax
lea rax, str.Game
mov qword [rbp + 0x230], rax
movdqa xmm0, xmmword [0x14028c540]
movdqu xmmword [rbp + 0x208], xmm0
mov qword [rbp + 0x218], 1
movups xmm0, xmmword [0x140282210]
movaps xmmword [rbp + 0x1f0], xmm0
mov rdx, qword [rdi + 0xe80]
lea rcx, [rbp + 0x118]
call fcn.1400051a0
nop
mov dword [rsp + 0x28], 0x414
lea rax, [rbp + 0x240]
mov qword [rsp + 0x20], rax
xor r9d, r9d
lea r8d, [r12 + 0xa]
lea rdx, [rbp + 0x1f0]
mov rcx, qword [rbp + 0x118]
call fcn.140011360
mov edi, eax
mov rdx, qword [rbp + 0x118]
add rdx, 0xffffffffffffffe8
mov r13, 0xffffffffffffffff
mov ecx, r13d
lock xadd dword [rdx + 0x10], ecx
sub ecx, 1
jg 0x14003a7b0
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
test edi, edi
je 0x14003b205
lea rdx, str.SOFTWAREDTSPremiumSuitPresets
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x14003a7c2
mov r8d, eax
lea rcx, [rsp + 0x50]
call fcn.1400054e0
lea rdx, [0x140281050]
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x14003a7e3
mov r8d, eax
lea rcx, [rsp + 0x50]
call fcn.140004b30
mov r9d, 0x20006
mov rbx, qword [rsp + 0x50]
mov r8, rbx
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x68]
call fcn.14000ddf0
test eax, eax
je 0x14003a851
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], r12d
xor r9d, r9d
mov r8, rbx
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x68]
call fcn.1400147b0
test eax, eax
jne 0x14003bd98
mov r14, qword [rbp - 0x68]
test esi, esi
je 0x14003a8ca
mov qword [rbp + 0x120], r12
test r14, r14
je 0x14003a992
lea rdx, [rbp + 0x120]
lea rcx, [0x1402812d8]
call fcn.140011a50
test eax, eax
js 0x14003a97b
mov dword [rbp + 0x80], r12d
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x120]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x120]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x14003a97b
mov r15d, r12d
lea rsi, [rbp + 0x208]
movups xmm0, xmmword [0x1402812f0]
movups xmmword [rbp - 0x80], xmm0
mov eax, dword [0x140281300]
cmp dword [rsi], 0
je 0x14003a8f1
add eax, 0xbb8
jmp 0x14003a903
cmp dword [rsi + 4], 0
je 0x14003a8fe
add eax, 0x3e8
jmp 0x14003a903
add eax, 0x7d0
mov dword [rbp - 0x70], eax
mov qword [rbp + 0x1d8], r12
test r14, r14
je 0x14003a96a
lea rdx, [rbp + 0x1d8]
lea rcx, [rbp - 0x80]
call fcn.140011a50
test eax, eax
js 0x14003a96a
mov dword [rbp + 0x90], 1
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x90]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x1d8]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x1d8]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
inc r15d
add rsi, 8
cmp r15d, 3
jb 0x14003a8d4
test r14, r14
je 0x14003a992
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor r14d, r14d
mov qword [rbp - 0x68], r14
jmp 0x14003a995
xor r14d, r14d
mov dword [rbp - 0x60], r14d
mov r12d, r14d
mov dword [rsp + 0x4c], r14d
lea rcx, [rbx - 0x18]
mov qword [rsp + 0x60], rcx
lea rax, str.Internal
mov qword [rsp + 0x58], rax
movsd xmm9, qword [0x14028c4d0]
movsd xmm12, qword [0x14028c4c8]
movsd xmm13, qword [0x14028c4f8]
movsd xmm14, qword [0x14028c4d8]
xorps xmm10, xmm10
movsd xmm11, qword [0x14028c508]
mov rdi, qword [rsp + 0x40]
mov esi, r14d
mov dword [rsp + 0x48], r14d
lea r15, [rbp + 0x220]
mov qword [rbp + 0xa0], r15
jmp 0x14003aa23
xor r14d, r14d
mov esi, r14d
mov dword [rsp + 0x48], r14d
lea r15, [rbp + 0x220]
mov qword [rbp + 0xa0], r15
jmp 0x14003aa23
xor r14d, r14d
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x14003aa7d
cmp dword [rdi + 0x10], 0
jl 0x14003aa6c
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14003aa6c
call fcn.140004c20
mov rbx, rax
mov ecx, r13d
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x14003aa5c
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x40], rax
mov rbx, qword [rsp + 0x50]
jmp 0x14003aa7d
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.1400054e0
mov rax, qword [rsp + 0x58]
mov rdx, qword [rax]
test rdx, rdx
jne 0x14003aa8f
mov eax, r14d
jmp 0x14003aa9c
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x14003aa92
mov r8d, eax
lea rcx, [rsp + 0x40]
call fcn.140004b30
mov rcx, qword [r15]
test rcx, rcx
jne 0x14003aab6
mov eax, r14d
jmp 0x14003aaca
mov rax, r13
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14003aac0
mov r8d, eax
mov rdx, rcx
lea rcx, [rsp + 0x40]
call fcn.140004b30
mov r8d, 7
lea rdx, str.Default
lea rcx, [rsp + 0x40]
call fcn.140004b30
mov r9d, 0x20006
mov rdi, qword [rsp + 0x40]
mov r8, rdi
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x68]
call fcn.14000ddf0
test eax, eax
je 0x14003ab50
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], r14d
xor r9d, r9d
mov r8, rdi
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x68]
call fcn.1400147b0
test eax, eax
je 0x14003ab50
mov r14, qword [rsp + 0x68]
jmp 0x14003b1a3
lea eax, [rsi + r12*2]
add eax, r12d
mov r12d, r14d
mov qword [rbp - 0x50], rax
imul r13, rax, 0x74
lea r15, [0x1402dbf18]
mov r14, qword [rsp + 0x68]
nop
mov rax, qword [r15 - 8]
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x80], xmm0
mov eax, dword [rax + 0x10]
mov dword [rbp - 0x70], eax
movsxd rax, dword [r15]
add rax, r13
mov esi, dword [rbp + rax + 0x240]
mov qword [rbp + 0x1e0], 0
test r14, r14
je 0x14003abf2
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp - 0x80]
call fcn.140011a50
test eax, eax
js 0x14003abf2
mov dword [rbp + 0x98], esi
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x98]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x1e0]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x1e0]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
inc r12d
add r15, 0x10
cmp r12d, 0xa
jb 0x14003ab70
imul r15, qword [rbp - 0x50], 0x74
mov eax, dword [rbp + r15 + 0x244]
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
mulsd xmm6, xmm9
movaps xmm0, xmm6
call fcn.1401f94d0
movaps xmm7, xmm0
movaps xmm0, xmm6
call fcn.1401f940c
movaps xmm2, xmm6
subsd xmm2, xmm7
movaps xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14003ac47
movaps xmm7, xmm0
xor r12d, r12d
mov qword [rbp + 0x1e8], r12
test r14, r14
je 0x14003acab
lea rdx, [rbp + 0x1e8]
lea rcx, [0x140281080]
call fcn.140011a50
test eax, eax
js 0x14003acab
cvttsd2si rax, xmm7
mov dword [rbp + 0x20], eax
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x20]
mov qword [rsp + 0x20], rax
lea r9d, [r12 + 4]
xor r8d, r8d
mov rdx, qword [rbp + 0x1e8]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x1e8]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [rbp + r15 + 0x24c]
test eax, eax
jne 0x14003ad26
mov esi, dword [rbp + r15 + 0x250]
mov qword [rbp + 0xd8], r12
test r14, r14
je 0x14003ad96
lea rdx, [rbp + 0xd8]
lea rcx, [0x140281128]
call fcn.140011a50
test eax, eax
js 0x14003ad96
mov dword [rbp + 0xb0], esi
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0xb0]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0xd8]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0xd8]
jmp 0x14003ad90
cmp eax, 1
jne 0x14003ad96
mov esi, dword [rbp + r15 + 0x268]
mov qword [rbp + 0xe0], r12
test r14, r14
je 0x14003ad96
lea rdx, [rbp + 0xe0]
lea rcx, [0x140281128]
call fcn.140011a50
test eax, eax
js 0x14003ad96
mov dword [rbp + 0xb8], esi
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0xb8]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0xe0]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0xe0]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
cmp dword [0x1402ea744], r12d
je 0x14003ae0a
mov qword [rbp + 0xe8], r12
test r14, r14
je 0x14003aee6
lea rdx, [rbp + 0xe8]
lea rcx, [0x140281110]
call fcn.140011a50
test eax, eax
js 0x14003aee6
mov dword [rbp + 0xc0], r12d
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0xe8]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0xe8]
jmp 0x14003aee0
mov rax, qword [rbp + 0xa0]
lea rcx, str.Music
cmp qword [rax], rcx
jne 0x14003ae88
mov qword [rbp + 0xf0], r12
test r14, r14
je 0x14003aee6
lea rdx, [rbp + 0xf0]
lea rcx, [0x140281110]
call fcn.140011a50
test eax, eax
js 0x14003aee6
mov dword [rbp + 0xc8], 1
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0xc8]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0xf0]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0xf0]
jmp 0x14003aee0
mov qword [rbp + 0xf8], r12
test r14, r14
je 0x14003aee6
lea rdx, [rbp + 0xf8]
lea rcx, [0x140281110]
call fcn.140011a50
test eax, eax
js 0x14003aee6
mov dword [rbp - 0x48], r12d
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0xf8]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0xf8]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [rbp + r15 + 0x254]
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
mulsd xmm6, xmm12
mulsd xmm6, xmm13
movaps xmm0, xmm6
call fcn.1401f94d0
movaps xmm7, xmm0
movaps xmm0, xmm6
call fcn.1401f940c
movaps xmm2, xmm6
subsd xmm2, xmm7
movaps xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14003af2a
movaps xmm7, xmm0
mov qword [rbp + 0x100], r12
test r14, r14
je 0x14003af8c
lea rdx, [rbp + 0x100]
lea rcx, [0x140281158]
call fcn.140011a50
test eax, eax
js 0x14003af8c
cvttsd2si rax, xmm7
mov dword [rbp - 0x40], eax
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x100]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x100]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [rbp + r15 + 0x27c]
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
mulsd xmm6, xmm9
movaps xmm0, xmm6
call fcn.1401f94d0
movaps xmm7, xmm0
movaps xmm0, xmm6
call fcn.1401f940c
movaps xmm2, xmm6
subsd xmm2, xmm7
movaps xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14003afcb
movaps xmm7, xmm0
mov qword [rbp + 0x108], r12
test r14, r14
je 0x14003b02d
lea rdx, [rbp + 0x108]
lea rcx, [0x1402810e0]
call fcn.140011a50
test eax, eax
js 0x14003b02d
cvttsd2si rax, xmm7
mov dword [rbp - 0x38], eax
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x108]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x108]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [rbp + r15 + 0x290]
xorps xmm6, xmm6
cvtsi2sd xmm6, rax
mulsd xmm6, xmm9
movaps xmm0, xmm6
call fcn.1401f94d0
movaps xmm7, xmm0
movaps xmm0, xmm6
call fcn.1401f940c
movaps xmm2, xmm6
subsd xmm2, xmm7
movaps xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14003b06c
movaps xmm7, xmm0
mov qword [rbp + 0x110], r12
test r14, r14
je 0x14003b0ce
lea rdx, [rbp + 0x110]
lea rcx, [0x1402811e8]
call fcn.140011a50
test eax, eax
js 0x14003b0ce
cvttsd2si rax, xmm7
mov dword [rbp - 0x30], eax
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x110]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x110]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
xorps xmm7, xmm7
cvtsi2sd xmm7, dword [rbp + r15 + 0x2ac]
mulsd xmm7, xmm14
movaps xmm6, xmm10
subsd xmm6, xmm7
movaps xmm0, xmm6
call fcn.1401f94d0
movaps xmm8, xmm0
movaps xmm0, xmm6
call fcn.1401f940c
subsd xmm6, xmm8
movaps xmm1, xmm0
subsd xmm1, xmm10
subsd xmm1, xmm7
comisd xmm1, xmm6
jae 0x14003b117
movaps xmm8, xmm0
movaps xmm0, xmm11
subsd xmm0, xmm8
cvttsd2si rsi, xmm0
mov qword [rbp - 0x50], r12
test r14, r14
je 0x14003b187
lea rdx, [rbp - 0x50]
lea rcx, [0x1402811b8]
call fcn.140011a50
test eax, eax
js 0x14003b176
mov dword [rbp - 0x28], esi
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp - 0x50]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r14, r12
mov qword [rsp + 0x68], r12
mov dword [rsp + 0x70], r12d
mov esi, dword [rsp + 0x48]
mov r15, qword [rbp + 0xa0]
mov r12d, dword [rsp + 0x4c]
mov r13, 0xffffffffffffffff
inc esi
mov dword [rsp + 0x48], esi
add r15, 8
mov qword [rbp + 0xa0], r15
cmp esi, 3
mov rcx, qword [rsp + 0x60]
jb 0x14003aa20
inc r12d
mov dword [rsp + 0x4c], r12d
add qword [rsp + 0x58], 8
cmp r12d, 3
jb 0x14003aa04
call fcn.14005aa58
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov r9d, 1
lea r8, str.DtsPresetInited
lea rdx, str.General
call qword [rax + 0x100]
jmp 0x14003bda2
test ebx, ebx
jne 0x14003bd98
lea rdx, str.SOFTWAREDTSPremiumSuitPresets
mov rax, r13
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14003b220
mov r8d, eax
lea rcx, [rsp + 0x50]
call fcn.1400054e0
lea rdx, [0x140281050]
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x14003b241
mov r8d, eax
lea rcx, [rsp + 0x50]
call fcn.140004b30
mov r9d, 0x20006
mov rbx, qword [rsp + 0x50]
mov r8, rbx
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x68]
call fcn.14000ddf0
test eax, eax
je 0x14003b2af
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r12
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], r12d
xor r9d, r9d
mov r8, rbx
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x68]
call fcn.1400147b0
test eax, eax
jne 0x14003bd98
mov r14d, r12d
lea rsi, [rbp + 0x208]
mov r15, qword [rbp - 0x68]
nop dword [rax]
movups xmm0, xmmword [0x1402812f0]
movups xmmword [rbp - 0x80], xmm0
mov eax, dword [0x140281300]
cmp dword [rsi], 0
je 0x14003b2dd
add eax, 0xbb8
jmp 0x14003b2ef
cmp dword [rsi + 4], 0
je 0x14003b2ea
add eax, 0x3e8
jmp 0x14003b2ef
add eax, 0x7d0
mov dword [rbp - 0x70], eax
mov qword [rbp + 0x128], r12
test r15, r15
je 0x14003b350
lea rdx, [rbp + 0x128]
lea rcx, [rbp - 0x80]
call fcn.140011a50
test eax, eax
js 0x14003b350
mov dword [rbp - 0x20], 1
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x128]
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x128]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
inc r14d
add rsi, 8
cmp r14d, 3
jb 0x14003b2c0
test r15, r15
je 0x14003b376
mov rcx, r15
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor r15d, r15d
mov qword [rbp - 0x68], r15
mov dword [rbp - 0x60], r15d
mov dword [rsp + 0x48], r15d
lea rcx, [rbx - 0x18]
mov qword [rsp + 0x60], rcx
mov r12, r15
lea rsi, str.Internal
mov rdi, qword [rsp + 0x40]
nop word [rax + rax]
mov dword [rsp + 0x4c], r15d
lea r13, [rbp + 0x220]
nop dword [rax]
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x14003b40c
cmp dword [rdi + 0x10], 0
jl 0x14003b3fb
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14003b3fb
call fcn.140004c20
mov rbx, rax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x14003b3eb
mov rcx, qword [rdi]
mov r8, qword [rcx]
mov rdx, rdi
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rbx + 0x18]
mov qword [rsp + 0x40], rax
mov rbx, qword [rsp + 0x50]
jmp 0x14003b40c
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.1400054e0
mov rdx, qword [r12 + rsi]
test rdx, rdx
jne 0x14003b41a
mov eax, r15d
jmp 0x14003b42b
mov rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], 0
jne 0x14003b421
mov r8d, eax
lea rcx, [rsp + 0x40]
call fcn.140004b30
mov r15, qword [r13]
test r15, r15
jne 0x14003b449
xor r14d, r14d
mov eax, r14d
jmp 0x14003b45e
mov rax, 0xffffffffffffffff
inc rax
cmp word [r15 + rax*2], 0
jne 0x14003b450
xor r14d, r14d
mov r8d, eax
mov rdx, r15
lea rcx, [rsp + 0x40]
call fcn.140004b30
mov r8d, 7
lea rdx, str.Default
lea rcx, [rsp + 0x40]
call fcn.140004b30
mov r9d, 0x20006
mov rdi, qword [rsp + 0x40]
mov r8, rdi
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x68]
call fcn.14000ddf0
test eax, eax
je 0x14003b4e7
mov qword [rsp + 0x38], r14
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], r14d
xor r9d, r9d
mov r8, rdi
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x68]
call fcn.1400147b0
test eax, eax
je 0x14003b4e7
mov r14, qword [rsp + 0x68]
xor r15d, r15d
jmp 0x14003bd3d
xor esi, esi
mov qword [rbp + 0x130], rsi
mov r14, qword [rsp + 0x68]
test r14, r14
je 0x14003b549
lea rdx, [rbp + 0x130]
lea rcx, [0x140281188]
call fcn.140011a50
test eax, eax
js 0x14003b549
mov dword [rbp - 0x18], esi
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x18]
mov qword [rsp + 0x20], rax
lea r9d, [rsi + 4]
xor r8d, r8d
mov rdx, qword [rbp + 0x130]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x130]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
cmp dword [rbp + r12 + 0x208], 0
je 0x14003b5b9
mov qword [rbp + 0x138], rsi
test r14, r14
je 0x14003b618
lea rdx, [rbp + 0x138]
lea rcx, [0x140281170]
call fcn.140011a50
test eax, eax
js 0x14003b618
mov dword [rbp - 0x10], 1
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x138]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x138]
jmp 0x14003b610
mov qword [rbp + 0x140], rsi
test r14, r14
je 0x14003b618
lea rdx, [rbp + 0x140]
lea rcx, [0x140281170]
call fcn.140011a50
test eax, eax
js 0x14003b618
mov dword [rbp - 8], esi
mov dword [rsp + 0x28], 4
lea rax, [rbp - 8]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x140]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x140]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
xor esi, esi
mov qword [rbp + 0x148], rsi
test r14, r14
je 0x14003b677
lea rdx, [rbp + 0x148]
lea rcx, [0x140281158]
call fcn.140011a50
test eax, eax
js 0x14003b677
mov dword [rbp], esi
mov dword [rsp + 0x28], 4
lea rax, [rbp]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x148]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x148]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
xor esi, esi
mov qword [rbp + 0x150], rsi
test r14, r14
je 0x14003b6da
lea rdx, [rbp + 0x150]
lea rcx, [0x140281140]
call fcn.140011a50
test eax, eax
js 0x14003b6da
mov dword [rbp + 8], SafeArrayGetDim
mov dword [rsp + 0x28], 4
lea rax, [rbp + 8]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x150]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x150]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
xor esi, esi
mov qword [rbp + 0x158], rsi
test r14, r14
je 0x14003b737
lea rdx, [rbp + 0x158]
lea rcx, [0x140281128]
call fcn.140011a50
test eax, eax
js 0x14003b737
mov dword [rbp + 0x10], esi
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x10]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x158]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x158]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
cmp dword [0x1402ea744], 0
je 0x14003b7a6
xor r15d, r15d
mov qword [rbp + 0x160], r15
test r14, r14
je 0x14003b87d
lea rdx, [rbp + 0x160]
lea rcx, [0x140281110]
call fcn.140011a50
test eax, eax
js 0x14003b87d
mov dword [rbp + 0x18], r15d
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x18]
mov qword [rsp + 0x20], rax
lea r9d, [r15 + 4]
xor r8d, r8d
mov rdx, qword [rbp + 0x160]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x160]
jmp 0x14003b877
lea rax, str.Music
cmp r15, rax
jne 0x14003b81e
xor r15d, r15d
mov qword [rbp + 0x168], r15
test r14, r14
je 0x14003b87d
lea rdx, [rbp + 0x168]
lea rcx, [0x140281110]
call fcn.140011a50
test eax, eax
js 0x14003b87d
mov dword [rbp + 0xa8], 1
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0xa8]
mov qword [rsp + 0x20], rax
lea r9d, [r15 + 4]
xor r8d, r8d
mov rdx, qword [rbp + 0x168]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x168]
jmp 0x14003b877
xor r15d, r15d
mov qword [rbp + 0x170], r15
test r14, r14
je 0x14003b87d
lea rdx, [rbp + 0x170]
lea rcx, [0x140281110]
call fcn.140011a50
test eax, eax
js 0x14003b87d
mov dword [rbp + 0x28], r15d
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x28]
mov qword [rsp + 0x20], rax
lea r9d, [r15 + 4]
xor r8d, r8d
mov rdx, qword [rbp + 0x170]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x170]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp + 0x178], r15
test r14, r14
je 0x14003b8db
lea rdx, [rbp + 0x178]
lea rcx, [0x140281098]
call fcn.140011a50
test eax, eax
js 0x14003b8db
mov dword [rbp + 0x30], r15d
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x178]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x178]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp + 0x180], r15
test r14, r14
je 0x14003b939
lea rdx, [rbp + 0x180]
lea rcx, [0x140281080]
call fcn.140011a50
test eax, eax
js 0x14003b939
mov dword [rbp + 0x38], r15d
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x38]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x180]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x180]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp + 0x188], r15
test r14, r14
je 0x14003b997
lea rdx, [rbp + 0x188]
lea rcx, [0x1402810f8]
call fcn.140011a50
test eax, eax
js 0x14003b997
mov dword [rbp + 0x40], r15d
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x188]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x188]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp + 0x190], r15
test r14, r14
je 0x14003b9f5
lea rdx, [rbp + 0x190]
lea rcx, [0x1402810e0]
call fcn.140011a50
test eax, eax
js 0x14003b9f5
mov dword [rbp + 0x48], r15d
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x48]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x190]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x190]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp + 0x198], r15
test r14, r14
je 0x14003ba56
lea rdx, [rbp + 0x198]
lea rcx, [0x1402810c8]
call fcn.140011a50
test eax, eax
js 0x14003ba56
mov dword [rbp + 0x50], 0x64
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x50]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x198]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x198]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp + 0x1a0], r15
test r14, r14
je 0x14003bab4
lea rdx, [rbp + 0x1a0]
lea rcx, [0x1402810b0]
call fcn.140011a50
test eax, eax
js 0x14003bab4
mov dword [rbp + 0x58], r15d
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x58]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x1a0]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x1a0]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
cmp dword [rbp + r12 + 0x20c], 0
je 0x14003bb35
mov rax, qword [rsp + 0x58]
test dword [rax + 0xc40], 0x400000
je 0x14003bb35
mov qword [rbp + 0x1a8], r15
test r14, r14
je 0x14003bb93
lea rdx, [rbp + 0x1a8]
lea rcx, [0x140281200]
call fcn.140011a50
test eax, eax
js 0x14003bb93
mov dword [rbp + 0x60], 1
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x1a8]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x1a8]
jmp 0x14003bb8d
mov qword [rbp + 0x1b0], r15
test r14, r14
je 0x14003bb93
lea rdx, [rbp + 0x1b0]
lea rcx, [0x140281200]
call fcn.140011a50
test eax, eax
js 0x14003bb93
mov dword [rbp + 0x68], r15d
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x68]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x1b0]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x1b0]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp + 0x1b8], r15
test r14, r14
je 0x14003bbf4
lea rdx, [rbp + 0x1b8]
lea rcx, [0x1402811e8]
call fcn.140011a50
test eax, eax
js 0x14003bbf4
mov dword [rbp + 0x70], 7
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x1b8]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x1b8]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp + 0x1c0], r15
test r14, r14
je 0x14003bc52
lea rdx, [rbp + 0x1c0]
lea rcx, [0x1402811d0]
call fcn.140011a50
test eax, eax
js 0x14003bc52
mov dword [rbp + 0x78], r15d
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x78]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x1c0]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x1c0]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp + 0x1c8], r15
test r14, r14
je 0x14003bcb9
lea rdx, [rbp + 0x1c8]
lea rcx, [0x1402811b8]
call fcn.140011a50
test eax, eax
js 0x14003bcb9
mov dword [rbp + 0xd0], SafeArrayCopy
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0xd0]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x1c8]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x1c8]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rbp + 0x1d0], r15
test r14, r14
je 0x14003bd31
lea rdx, [rbp + 0x1d0]
lea rcx, [0x1402811a0]
call fcn.140011a50
test eax, eax
js 0x14003bd20
mov dword [rbp + 0x88], 2
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x88]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, qword [rbp + 0x1d0]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp + 0x1d0]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov r14, r15
mov qword [rsp + 0x68], r15
mov dword [rsp + 0x70], r15d
lea rsi, str.Internal
mov eax, dword [rsp + 0x4c]
inc eax
mov dword [rsp + 0x4c], eax
add r13, 8
cmp eax, 3
mov rcx, qword [rsp + 0x60]
jb 0x14003b3b0
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
add r12, 8
cmp eax, 3
jb 0x14003b3a0
call fcn.14005aa58
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
mov r9d, 2
lea r8, str.DtsPresetInited
lea rdx, str.General
call qword [rax + 0x100]
jmp 0x14003bda2
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
test r14, r14
je 0x14003bdb1
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x14003bdc1
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rdx, [rdi - 0x18]
mov rbx, 0xffffffffffffffff
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14003bde2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x14003bdfe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0x660]
xor rcx, rsp
call fcn.1401e35b0
lea r11, [rsp + 0x800]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
movaps xmm12, xmmword [r11 - 0x70]
movaps xmm13, xmmword [r11 - 0x80]
movaps xmm14, xmmword [r11 - 0x90]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x80004005
call fcn.140005680
nop
mov ecx, 0x80004005
call fcn.140005680
int3