Function at 0x14003a980
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.14005adc8
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 0x14003c19e
call fcn.14004adf0
mov rcx, rax
test rax, rax
je 0x14003c209
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x50], rax
call fcn.14004adf0
mov rcx, rax
test rax, rax
je 0x14003c1fe
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, [0x140280d60]
mov qword [rbp + 0x228], rax
lea rax, str.Game
mov qword [rbp + 0x230], rax
movdqa xmm0, xmmword [0x14028c740]
movdqu xmmword [rbp + 0x208], xmm0
mov qword [rbp + 0x218], 1
movups xmm0, xmmword [0x1402823e0]
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.140011820
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 0x14003ab50
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
test edi, edi
je 0x14003b5a5
lea rdx, str.SOFTWAREDTSPremiumSuitPresets
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x14003ab62
mov r8d, eax
lea rcx, [rsp + 0x50]
call fcn.1400054e0
lea rdx, [0x140281228]
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x14003ab83
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.14000e2b0
test eax, eax
je 0x14003abf1
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.14000e080
test eax, eax
jne 0x14003c138
mov r14, qword [rbp - 0x68]
test esi, esi
je 0x14003ac6a
mov qword [rbp + 0x120], r12
test r14, r14
je 0x14003ad32
lea rdx, [rbp + 0x120]
lea rcx, [0x1402814a8]
call fcn.140011f10
test eax, eax
js 0x14003ad1b
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 0x14003ad1b
mov r15d, r12d
lea rsi, [rbp + 0x208]
movups xmm0, xmmword [0x1402814c0]
movups xmmword [rbp - 0x80], xmm0
mov eax, dword [0x1402814d0]
cmp dword [rsi], 0
je 0x14003ac91
add eax, 0xbb8
jmp 0x14003aca3
cmp dword [rsi + 4], 0
je 0x14003ac9e
add eax, 0x3e8
jmp 0x14003aca3
add eax, 0x7d0
mov dword [rbp - 0x70], eax
mov qword [rbp + 0x1d8], r12
test r14, r14
je 0x14003ad0a
lea rdx, [rbp + 0x1d8]
lea rcx, [rbp - 0x80]
call fcn.140011f10
test eax, eax
js 0x14003ad0a
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 0x14003ac74
test r14, r14
je 0x14003ad32
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor r14d, r14d
mov qword [rbp - 0x68], r14
jmp 0x14003ad35
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 [0x14028c6d0]
movsd xmm12, qword [0x14028c6c8]
movsd xmm13, qword [0x14028c6f8]
movsd xmm14, qword [0x14028c6d8]
xorps xmm10, xmm10
movsd xmm11, qword [0x14028c708]
mov rdi, qword [rsp + 0x40]
mov esi, r14d
mov dword [rsp + 0x48], r14d
lea r15, [rbp + 0x220]
mov qword [rbp + 0xa0], r15
jmp 0x14003adc3
xor r14d, r14d
mov esi, r14d
mov dword [rsp + 0x48], r14d
lea r15, [rbp + 0x220]
mov qword [rbp + 0xa0], r15
jmp 0x14003adc3
xor r14d, r14d
add rdi, 0xffffffffffffffe8
cmp rcx, rdi
je 0x14003ae1d
cmp dword [rdi + 0x10], 0
jl 0x14003ae0c
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14003ae0c
call fcn.140004c20
mov rbx, rax
mov ecx, r13d
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x14003adfc
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 0x14003ae1d
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 0x14003ae2f
mov eax, r14d
jmp 0x14003ae3c
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x14003ae32
mov r8d, eax
lea rcx, [rsp + 0x40]
call fcn.140004b30
mov rcx, qword [r15]
test rcx, rcx
jne 0x14003ae56
mov eax, r14d
jmp 0x14003ae6a
mov rax, r13
nop dword [rax]
inc rax
cmp word [rcx + rax*2], 0
jne 0x14003ae60
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.14000e2b0
test eax, eax
je 0x14003aef0
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.14000e080
test eax, eax
je 0x14003aef0
mov r14, qword [rsp + 0x68]
jmp 0x14003b543
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 0x14003af92
lea rdx, [rbp + 0x1e0]
lea rcx, [rbp - 0x80]
call fcn.140011f10
test eax, eax
js 0x14003af92
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 0x14003af10
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.1401f97f0
movaps xmm7, xmm0
movaps xmm0, xmm6
call fcn.1401f972c
movaps xmm2, xmm6
subsd xmm2, xmm7
movaps xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14003afe7
movaps xmm7, xmm0
xor r12d, r12d
mov qword [rbp + 0x1e8], r12
test r14, r14
je 0x14003b04b
lea rdx, [rbp + 0x1e8]
lea rcx, [0x140281250]
call fcn.140011f10
test eax, eax
js 0x14003b04b
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 0x14003b0c6
mov esi, dword [rbp + r15 + 0x250]
mov qword [rbp + 0xd8], r12
test r14, r14
je 0x14003b136
lea rdx, [rbp + 0xd8]
lea rcx, [0x1402812f8]
call fcn.140011f10
test eax, eax
js 0x14003b136
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 0x14003b130
cmp eax, 1
jne 0x14003b136
mov esi, dword [rbp + r15 + 0x268]
mov qword [rbp + 0xe0], r12
test r14, r14
je 0x14003b136
lea rdx, [rbp + 0xe0]
lea rcx, [0x1402812f8]
call fcn.140011f10
test eax, eax
js 0x14003b136
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 0x14003b1aa
mov qword [rbp + 0xe8], r12
test r14, r14
je 0x14003b286
lea rdx, [rbp + 0xe8]
lea rcx, [0x1402812e0]
call fcn.140011f10
test eax, eax
js 0x14003b286
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 0x14003b280
mov rax, qword [rbp + 0xa0]
lea rcx, str.Music
cmp qword [rax], rcx
jne 0x14003b228
mov qword [rbp + 0xf0], r12
test r14, r14
je 0x14003b286
lea rdx, [rbp + 0xf0]
lea rcx, [0x1402812e0]
call fcn.140011f10
test eax, eax
js 0x14003b286
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 0x14003b280
mov qword [rbp + 0xf8], r12
test r14, r14
je 0x14003b286
lea rdx, [rbp + 0xf8]
lea rcx, [0x1402812e0]
call fcn.140011f10
test eax, eax
js 0x14003b286
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.1401f97f0
movaps xmm7, xmm0
movaps xmm0, xmm6
call fcn.1401f972c
movaps xmm2, xmm6
subsd xmm2, xmm7
movaps xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14003b2ca
movaps xmm7, xmm0
mov qword [rbp + 0x100], r12
test r14, r14
je 0x14003b32c
lea rdx, [rbp + 0x100]
lea rcx, [0x140281328]
call fcn.140011f10
test eax, eax
js 0x14003b32c
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.1401f97f0
movaps xmm7, xmm0
movaps xmm0, xmm6
call fcn.1401f972c
movaps xmm2, xmm6
subsd xmm2, xmm7
movaps xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14003b36b
movaps xmm7, xmm0
mov qword [rbp + 0x108], r12
test r14, r14
je 0x14003b3cd
lea rdx, [rbp + 0x108]
lea rcx, [0x1402812b0]
call fcn.140011f10
test eax, eax
js 0x14003b3cd
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.1401f97f0
movaps xmm7, xmm0
movaps xmm0, xmm6
call fcn.1401f972c
movaps xmm2, xmm6
subsd xmm2, xmm7
movaps xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14003b40c
movaps xmm7, xmm0
mov qword [rbp + 0x110], r12
test r14, r14
je 0x14003b46e
lea rdx, [rbp + 0x110]
lea rcx, [0x1402813b8]
call fcn.140011f10
test eax, eax
js 0x14003b46e
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.1401f97f0
movaps xmm8, xmm0
movaps xmm0, xmm6
call fcn.1401f972c
subsd xmm6, xmm8
movaps xmm1, xmm0
subsd xmm1, xmm10
subsd xmm1, xmm7
comisd xmm1, xmm6
jae 0x14003b4b7
movaps xmm8, xmm0
movaps xmm0, xmm11
subsd xmm0, xmm8
cvttsd2si rsi, xmm0
mov qword [rbp - 0x50], r12
test r14, r14
je 0x14003b527
lea rdx, [rbp - 0x50]
lea rcx, [0x140281388]
call fcn.140011f10
test eax, eax
js 0x14003b516
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 0x14003adc0
inc r12d
mov dword [rsp + 0x4c], r12d
add qword [rsp + 0x58], 8
cmp r12d, 3
jb 0x14003ada4
call fcn.14005adc8
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 0x14003c142
test ebx, ebx
jne 0x14003c138
lea rdx, str.SOFTWAREDTSPremiumSuitPresets
mov rax, r13
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x14003b5c0
mov r8d, eax
lea rcx, [rsp + 0x50]
call fcn.1400054e0
lea rdx, [0x140281228]
mov rax, r13
inc rax
cmp word [rdx + rax*2], 0
jne 0x14003b5e1
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.14000e2b0
test eax, eax
je 0x14003b64f
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.14000e080
test eax, eax
jne 0x14003c138
mov r14d, r12d
lea rsi, [rbp + 0x208]
mov r15, qword [rbp - 0x68]
nop dword [rax]
movups xmm0, xmmword [0x1402814c0]
movups xmmword [rbp - 0x80], xmm0
mov eax, dword [0x1402814d0]
cmp dword [rsi], 0
je 0x14003b67d
add eax, 0xbb8
jmp 0x14003b68f
cmp dword [rsi + 4], 0
je 0x14003b68a
add eax, 0x3e8
jmp 0x14003b68f
add eax, 0x7d0
mov dword [rbp - 0x70], eax
mov qword [rbp + 0x128], r12
test r15, r15
je 0x14003b6f0
lea rdx, [rbp + 0x128]
lea rcx, [rbp - 0x80]
call fcn.140011f10
test eax, eax
js 0x14003b6f0
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 0x14003b660
test r15, r15
je 0x14003b716
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 0x14003b7ac
cmp dword [rdi + 0x10], 0
jl 0x14003b79b
mov rax, qword [rdi]
cmp qword [rcx], rax
jne 0x14003b79b
call fcn.140004c20
mov rbx, rax
mov ecx, 0xffffffff
lock xadd dword [rdi + 0x10], ecx
sub ecx, 1
jg 0x14003b78b
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 0x14003b7ac
mov r8d, dword [rbx - 0x10]
mov rdx, rbx
lea rcx, [rsp + 0x40]
call fcn.1400054e0
mov rdx, qword [r12 + rsi]
test rdx, rdx
jne 0x14003b7ba
mov eax, r15d
jmp 0x14003b7cb
mov rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], 0
jne 0x14003b7c1
mov r8d, eax
lea rcx, [rsp + 0x40]
call fcn.140004b30
mov r15, qword [r13]
test r15, r15
jne 0x14003b7e9
xor r14d, r14d
mov eax, r14d
jmp 0x14003b7fe
mov rax, 0xffffffffffffffff
inc rax
cmp word [r15 + rax*2], 0
jne 0x14003b7f0
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.14000e2b0
test eax, eax
je 0x14003b887
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.14000e080
test eax, eax
je 0x14003b887
mov r14, qword [rsp + 0x68]
xor r15d, r15d
jmp 0x14003c0dd
xor esi, esi
mov qword [rbp + 0x130], rsi
mov r14, qword [rsp + 0x68]
test r14, r14
je 0x14003b8e9
lea rdx, [rbp + 0x130]
lea rcx, [0x140281358]
call fcn.140011f10
test eax, eax
js 0x14003b8e9
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 0x14003b959
mov qword [rbp + 0x138], rsi
test r14, r14
je 0x14003b9b8
lea rdx, [rbp + 0x138]
lea rcx, [0x140281340]
call fcn.140011f10
test eax, eax
js 0x14003b9b8
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 0x14003b9b0
mov qword [rbp + 0x140], rsi
test r14, r14
je 0x14003b9b8
lea rdx, [rbp + 0x140]
lea rcx, [0x140281340]
call fcn.140011f10
test eax, eax
js 0x14003b9b8
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 0x14003ba17
lea rdx, [rbp + 0x148]
lea rcx, [0x140281328]
call fcn.140011f10
test eax, eax
js 0x14003ba17
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 0x14003ba7a
lea rdx, [rbp + 0x150]
lea rcx, [0x140281310]
call fcn.140011f10
test eax, eax
js 0x14003ba7a
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 0x14003bad7
lea rdx, [rbp + 0x158]
lea rcx, [0x1402812f8]
call fcn.140011f10
test eax, eax
js 0x14003bad7
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 0x14003bb46
xor r15d, r15d
mov qword [rbp + 0x160], r15
test r14, r14
je 0x14003bc1d
lea rdx, [rbp + 0x160]
lea rcx, [0x1402812e0]
call fcn.140011f10
test eax, eax
js 0x14003bc1d
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 0x14003bc17
lea rax, str.Music
cmp r15, rax
jne 0x14003bbbe
xor r15d, r15d
mov qword [rbp + 0x168], r15
test r14, r14
je 0x14003bc1d
lea rdx, [rbp + 0x168]
lea rcx, [0x1402812e0]
call fcn.140011f10
test eax, eax
js 0x14003bc1d
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 0x14003bc17
xor r15d, r15d
mov qword [rbp + 0x170], r15
test r14, r14
je 0x14003bc1d
lea rdx, [rbp + 0x170]
lea rcx, [0x1402812e0]
call fcn.140011f10
test eax, eax
js 0x14003bc1d
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 0x14003bc7b
lea rdx, [rbp + 0x178]
lea rcx, [0x140281268]
call fcn.140011f10
test eax, eax
js 0x14003bc7b
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 0x14003bcd9
lea rdx, [rbp + 0x180]
lea rcx, [0x140281250]
call fcn.140011f10
test eax, eax
js 0x14003bcd9
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 0x14003bd37
lea rdx, [rbp + 0x188]
lea rcx, [0x1402812c8]
call fcn.140011f10
test eax, eax
js 0x14003bd37
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 0x14003bd95
lea rdx, [rbp + 0x190]
lea rcx, [0x1402812b0]
call fcn.140011f10
test eax, eax
js 0x14003bd95
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 0x14003bdf6
lea rdx, [rbp + 0x198]
lea rcx, [0x140281298]
call fcn.140011f10
test eax, eax
js 0x14003bdf6
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 0x14003be54
lea rdx, [rbp + 0x1a0]
lea rcx, [0x140281280]
call fcn.140011f10
test eax, eax
js 0x14003be54
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 0x14003bed5
mov rax, qword [rsp + 0x58]
test dword [rax + 0xc40], 0x400000
je 0x14003bed5
mov qword [rbp + 0x1a8], r15
test r14, r14
je 0x14003bf33
lea rdx, [rbp + 0x1a8]
lea rcx, [0x1402813d0]
call fcn.140011f10
test eax, eax
js 0x14003bf33
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 0x14003bf2d
mov qword [rbp + 0x1b0], r15
test r14, r14
je 0x14003bf33
lea rdx, [rbp + 0x1b0]
lea rcx, [0x1402813d0]
call fcn.140011f10
test eax, eax
js 0x14003bf33
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 0x14003bf94
lea rdx, [rbp + 0x1b8]
lea rcx, [0x1402813b8]
call fcn.140011f10
test eax, eax
js 0x14003bf94
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 0x14003bff2
lea rdx, [rbp + 0x1c0]
lea rcx, [0x1402813a0]
call fcn.140011f10
test eax, eax
js 0x14003bff2
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 0x14003c059
lea rdx, [rbp + 0x1c8]
lea rcx, [0x140281388]
call fcn.140011f10
test eax, eax
js 0x14003c059
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 0x14003c0d1
lea rdx, [rbp + 0x1d0]
lea rcx, [0x140281370]
call fcn.140011f10
test eax, eax
js 0x14003c0c0
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 0x14003b750
mov eax, dword [rsp + 0x48]
inc eax
mov dword [rsp + 0x48], eax
add r12, 8
cmp eax, 3
jb 0x14003b740
call fcn.14005adc8
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 0x14003c142
mov rdi, qword [rsp + 0x40]
mov r14, qword [rsp + 0x68]
test r14, r14
je 0x14003c151
mov rcx, r14
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x14003c161
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 0x14003c182
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 0x14003c19e
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.1401e3920
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