Function at 0x14004d480
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x880
mov qword [rsp + 0x3a0], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
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 [0x1400f2bd8]
xor rax, rsp
mov qword [rsp + 0x7e8], rax
mov r15d, edx
mov rdi, rcx
mov qword [rsp + 0xb8], rcx
call fcn.140070a24
xor r9d, r9d
lea r8, str.DtsPresetInited
lea rdx, str.General
mov rcx, qword [rax + 8]
call fcn.140070cc4
mov esi, eax
cmp eax, 1
je 0x140050089
call fcn.140063708
mov rdx, rax
xor ebp, ebp
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14004d54d
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x80], rax
call fcn.140063708
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14004d581
mov ecx, 0x80004005
call fcn.140001950
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x98], rbp
mov qword [rsp + 0x70], rbp
lea rax, str.Music
mov qword [rsp + 0x358], rax
lea rax, str.Movie
mov qword [rsp + 0x360], rax
lea rax, str.Game
mov qword [rsp + 0x368], rax
mov dword [rsp + 0x1d8], ebp
mov dword [rsp + 0x1dc], 1
mov dword [rsp + 0x1e0], ebp
mov dword [rsp + 0x1e4], ebp
mov dword [rsp + 0x1e8], 1
mov dword [rsp + 0x1ec], ebp
lea rcx, [rsp + 0x390]
lea r13, [0x140000000]
mov rax, qword [r13 + 0xc1bb0]
mov qword [rcx], rax
mov rax, qword [r13 + 0xc1bb8]
mov qword [rcx + 8], rax
lea rcx, [rdi + 0xa40]
lea rdx, [rsp + 0x378]
call fcn.14005f3e0
nop
mov dword [rsp + 0x1f0], ebp
xor ecx, ecx
mov dword [rsp + 0x1f4], ecx
mov dword [rsp + 0x1f8], ecx
mov dword [rsp + 0x1fc], ecx
mov dword [rsp + 0x200], ecx
mov dword [rsp + 0x204], ecx
mov dword [rsp + 0xb0], ebp
mov qword [rsp + 0x30], rbp
mov dword [rsp + 0x28], ebp
mov r12d, 3
mov dword [rsp + 0x20], r12d
xor r9d, r9d
mov r8d, r12d
mov edx, 0xc0000000
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rbx, rax
or r14, 0xffffffffffffffff
cmp rax, r14
jne 0x14004d6a6
mov edi, ebp
jmp 0x14004d77b
lea rdx, [rsp + 0x1f0]
lea rcx, [rsp + 0x390]
mov rax, qword [rcx]
mov qword [rdx], rax
mov rax, qword [rcx + 8]
mov qword [rdx + 8], rax
mov dword [rsp + 0x204], 1
mov dword [rsp + 0x200], 0xa
mov dword [rsp + 0xb0], ebp
mov qword [rsp + 0x38], rbp
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], 0x414
lea rax, [rsp + 0x3b0]
mov qword [rsp + 0x20], rax
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetElement
lea r8, [rsp + 0x1f0]
mov edx, 0x2f0003
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_DeviceIoControl]
mov edi, eax
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test edi, edi
jne 0x14004d776
lea rdx, [rsp + 0x390]
lea rcx, [rsp + 0x388]
call fcn.1400147e0
mov rdx, qword [rsp + 0x388]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004d772
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edi, ebp
jmp 0x14004d77b
mov edi, 1
mov rdx, qword [rsp + 0x378]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004d79f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test edi, edi
je 0x14004f01e
xor eax, eax
mov rcx, r14
lea rdi, str.SOFTWAREDTSPremiumSuitPresets
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.SOFTWAREDTSPremiumSuitPresets
lea rcx, [rsp + 0x80]
call fcn.140001bd0
xor eax, eax
mov rcx, r14
lea rbx, [0x1400c2d38]
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
mov rsi, rbx
mov rbp, qword [rsp + 0x80]
sub rsi, rbp
sar rsi, 1
mov r13d, dword [rbp - 0x10]
lea edi, [r13 + rcx - 1]
mov edx, 1
sub edx, dword [rbp - 8]
mov eax, dword [rbp - 0xc]
sub eax, edi
or eax, edx
jge 0x14004d82c
mov edx, edi
lea rcx, [rsp + 0x80]
call fcn.140001970
mov rbp, qword [rsp + 0x80]
cmp rsi, r13
ja 0x14004d836
lea rbx, [rbp + rsi*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rbp + r13*2]
mov r9, rdx
mov r8, rbx
call fcn.14008f260
test edi, edi
js 0x14004f013
cmp edi, dword [rbp - 0xc]
jg 0x14004f013
lea r13, [rbp - 0x10]
mov qword [rsp + 0xb8], r13
mov dword [r13], edi
movsxd rax, edi
mov word [rbp + rax*2], 0
xor r14d, r14d
mov qword [rsp + 0x228], r14
lea rax, [rsp + 0x228]
mov qword [rsp + 0x20], rax
mov r9d, 0x20006
xor r8d, r8d
mov rdx, rbp
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14004d8be
mov rdi, qword [rsp + 0x228]
mov qword [rsp + 0x98], rdi
jmp 0x14004d920
mov qword [rsp + 0x208], r14
lea rax, [rsp + 0x384]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x208]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov rdx, rbp
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x14004efc5
mov rdi, qword [rsp + 0x208]
mov qword [rsp + 0x98], rdi
test r15d, r15d
je 0x14004d99a
mov qword [rsp + 0x250], r14
test rdi, rdi
je 0x14004daa6
lea rdx, [rsp + 0x250]
lea rcx, [0x1400c26b8]
call fcn.140015590
test eax, eax
js 0x14004da90
mov dword [rsp + 0x160], r14d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x160]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rbx, qword [rsp + 0x250]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rbx
call qword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x14004da90
lea rsi, [rsp + 0x1d8]
lea rdx, [0x140000000]
nop
nop
lea rcx, [rsp + 0x7d0]
mov rax, qword [rdx + 0xc2430]
mov qword [rcx], rax
mov rax, qword [rdx + 0xc2438]
mov qword [rcx + 8], rax
mov eax, dword [rdx + 0xc2440]
mov dword [rcx + 0x10], eax
cmp dword [rsi], r14d
je 0x14004d9e8
add dword [rsp + 0x7e0], 0xbb8
jmp 0x14004da06
cmp dword [rsi + 4], r14d
je 0x14004d9fb
add dword [rsp + 0x7e0], 0x3e8
jmp 0x14004da06
add dword [rsp + 0x7e0], 0x7d0
mov qword [rsp + 0x220], r14
test rdi, rdi
je 0x14004da82
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x7d0]
call fcn.140015590
test eax, eax
js 0x14004da7b
mov dword [rsp + 0x170], 1
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x170]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rbx, qword [rsp + 0x220]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rbx
call qword [sym.imp.ole32.dll_CoTaskMemFree]
lea rdx, [0x140000000]
jmp 0x14004da82
lea rdx, [0x140000000]
add rsi, 8
sub r12, 1
jne 0x14004d9b0
test rdi, rdi
je 0x14004daa6
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x98], r14
mov dword [rsp + 0x88], r14d
mov r15, r14
mov qword [rsp + 0xa0], r14
lea r12, [rbp - 0x18]
mov qword [rsp + 0xa8], r12
movsd xmm9, qword [0x1400cfb78]
movsd xmm12, qword [0x1400cfb70]
movsd xmm13, qword [0x1400cfb68]
movsd xmm14, qword [0x1400cfb60]
xorpd xmm10, xmm10
movsd xmm11, qword [0x1400cfb58]
mov rsi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
nop
nop
nop
nop
mov dword [rsp + 0x8c], r14d
mov qword [rsp + 0x90], r14
lea rdi, [rsi - 0x18]
cmp r12, rdi
je 0x14004dcd8
cmp dword [rdi + 0x10], 0
jl 0x14004dbe1
mov rcx, qword [r12]
cmp rcx, qword [rdi]
jne 0x14004dbe1
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [r12 + 0x10], 0
jl 0x14004db67
cmp rax, qword [r12]
jne 0x14004db67
mov rsi, r12
lock add dword [r12 + 0x10], 1
jmp 0x14004dbab
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [r12 + 8]
call qword [rax]
mov rsi, rax
test rax, rax
je 0x14004ef14
mov ecx, dword [r12 + 8]
mov dword [rax + 8], ecx
mov ecx, dword [r12 + 8]
add ecx, 1
movsxd rdx, ecx
lea r9, [rdx + rdx]
lea r8, [r12 + 0x18]
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.14008f260
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004dbc6
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rsi, 0x18
mov qword [rsp + 0x78], rsi
mov rbp, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x70]
jmp 0x14004dcd8
movsxd r12, dword [r13]
test r12d, r12d
jne 0x14004dc55
mov r12, qword [rdi]
cmp dword [rdi + 8], 0
je 0x14004dcd8
cmp dword [rdi + 0x10], 0
jge 0x14004dc15
cmp dword [rsi - 0xc], 0
jl 0x14004ef1a
mov dword [rsi - 0x10], r14d
mov word [rsi], 0
jmp 0x14004dcd8
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004dc30
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [r12]
mov rcx, r12
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rsi, [rax + 0x18]
mov qword [rsp + 0x78], rsi
mov rbp, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x70]
jmp 0x14004dcd8
mov r14d, dword [rsi - 0x10]
mov r13, rbp
sub r13, rsi
sar r13, 1
mov ecx, 1
sub ecx, dword [rdi + 0x10]
mov eax, dword [rdi + 0xc]
sub eax, r12d
or eax, ecx
jge 0x14004dc86
mov edx, r12d
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r13, r14
ja 0x14004dca3
lea rdi, [r12 + r12]
lea r8, [rsi + r13*2]
mov r9, rdi
mov rdx, rdi
mov rcx, rsi
call fcn.14008ea80
jmp 0x14004dcb8
lea rdi, [r12 + r12]
mov r9, rdi
mov r8, rbp
mov rdx, rdi
mov rcx, rsi
call fcn.14008f260
test r12d, r12d
js 0x14004ef25
cmp r12d, dword [rsi - 0xc]
jg 0x14004ef25
mov dword [rsi - 0x10], r12d
mov word [rdi + rsi], 0
xor r14d, r14d
lea rax, [0x140000000]
mov r13, qword [rax + r15*8 + 0xf5ee8]
test r13, r13
je 0x14004dcff
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
mov r12, r13
sub r12, rsi
sar r12, 1
mov r15d, dword [rsi - 0x10]
lea edi, [r15 + r14]
mov edx, 1
sub edx, dword [rsi - 8]
mov eax, dword [rsi - 0xc]
sub eax, edi
or eax, edx
jge 0x14004dd32
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r12, r15
ja 0x14004dd3b
lea r13, [rsi + r12*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rsi + r15*2]
mov r9, rdx
mov r8, r13
call fcn.14008f260
test edi, edi
js 0x14004efba
cmp edi, dword [rsi - 0xc]
jg 0x14004efba
mov dword [rsi - 0x10], edi
movsxd rax, edi
mov word [rsi + rax*2], 0
mov rdx, qword [rsp + 0x90]
mov rdx, qword [rsp + rdx*8 + 0x358]
test rdx, rdx
jne 0x14004dd87
xor r13d, r13d
jmp 0x14004dd9a
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r13, [rcx - 1]
mov r15, rdx
mov rdi, rdx
sub rdi, rsi
sar rdi, 1
mov r14d, dword [rsi - 0x10]
lea r12d, [r14 + r13]
mov edx, 1
sub edx, dword [rsi - 8]
mov eax, dword [rsi - 0xc]
sub eax, r12d
or eax, edx
jge 0x14004ddd2
mov edx, r12d
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp rdi, r14
ja 0x14004dddb
lea r15, [rsi + rdi*2]
movsxd rdx, r13d
add rdx, rdx
lea rcx, [rsi + r14*2]
mov r9, rdx
mov r8, r15
call fcn.14008f260
test r12d, r12d
js 0x14004efaf
cmp r12d, dword [rsi - 0xc]
jg 0x14004efaf
mov dword [rsi - 0x10], r12d
movsxd rax, r12d
mov word [rsi + rax*2], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, str.Default
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
lea r13, str.Default
lea r12, str.Default
sub r12, rsi
sar r12, 1
mov r14d, dword [rsi - 0x10]
lea edi, [r14 + rcx - 1]
mov edx, 1
sub edx, dword [rsi - 8]
mov eax, dword [rsi - 0xc]
sub eax, edi
or eax, edx
jge 0x14004de66
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r12, r14
ja 0x14004de6f
lea r13, [rsi + r12*2]
movsxd rdx, r15d
add rdx, rdx
lea rcx, [rsi + r14*2]
mov r9, rdx
mov r8, r13
call fcn.14008f260
test edi, edi
js 0x14004efa4
cmp edi, dword [rsi - 0xc]
jg 0x14004efa4
mov dword [rsi - 0x10], edi
movsxd rax, edi
mov word [rsi + rax*2], 0
xor r14d, r14d
mov qword [rsp + 0x308], r14
lea rax, [rsp + 0x308]
mov qword [rsp + 0x20], rax
mov r9d, 0x20006
xor r8d, r8d
mov rdx, rsi
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14004def8
mov eax, r14d
test rbx, rbx
je 0x14004dee7
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x308]
mov qword [rsp + 0x70], rbx
test eax, eax
je 0x14004df70
mov qword [rsp + 0x238], r14
lea rax, [rsp + 0x370]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x238]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x14004eeb2
mov eax, r14d
test rbx, rbx
je 0x14004df5b
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x238]
mov qword [rsp + 0x70], rbx
test eax, eax
jne 0x14004eeb2
mov rax, qword [rsp + 0x90]
mov r15, qword [rsp + 0xa0]
lea rax, [rax + r15*2]
add r15, rax
mov r13d, r14d
imul r15, r15, 0x74
lea r12, [0x1400f4738]
nop
nop
nop
mov rcx, qword [r12 - 8]
lea rdx, [rsp + 0x7d0]
mov eax, dword [rcx]
mov dword [rdx], eax
mov eax, dword [rcx + 4]
mov dword [rdx + 4], eax
mov eax, dword [rcx + 8]
mov dword [rdx + 8], eax
mov eax, dword [rcx + 0xc]
mov dword [rdx + 0xc], eax
mov eax, dword [rcx + 0x10]
mov dword [rdx + 0x10], eax
movsxd rax, dword [r12]
add rax, r15
mov r14d, dword [rsp + rax + 0x3b0]
test rbx, rbx
je 0x14004e19f
call fcn.140063708
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14004ef30
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x2c8], rax
movzx ecx, byte [rsp + 0x7df]
movzx edx, byte [rsp + 0x7de]
movzx edi, byte [rsp + 0x7dd]
movzx r8d, byte [rsp + 0x7dc]
movzx r10d, byte [rsp + 0x7db]
movzx r11d, byte [rsp + 0x7da]
movzx ebx, byte [rsp + 0x7d9]
movzx esi, byte [rsp + 0x7d8]
movzx ebp, word [rsp + 0x7d6]
movzx r9d, word [rsp + 0x7d4]
mov eax, dword [rsp + 0x7e0]
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x58], edx
mov dword [rsp + 0x50], edi
mov dword [rsp + 0x48], r8d
mov dword [rsp + 0x40], r10d
mov dword [rsp + 0x38], r11d
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], ebp
mov r8d, dword [rsp + 0x7d0]
lea rdx, [0x1400c3680]
lea rcx, [rsp + 0x2c8]
call fcn.140001e50
xor eax, eax
or rbp, 0xffffffffffffffff
mov rcx, rbp
mov rbx, qword [rsp + 0x2c8]
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea eax, [rcx + rcx]
mov edi, eax
mov ecx, eax
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rsi, rax
test rax, rax
je 0x14004e171
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.1400935f0
xor eax, eax
mov rcx, rbp
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov r8d, r8d
add r8, r8
mov rdx, rbx
mov rcx, rsi
call fcn.1400932a0
nop
lea rdx, [rbx - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
test eax, eax
jg 0x14004e12b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov dword [rsp + 0x180], r14d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x180]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, rsi
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
or r14, 0xffffffffffffffff
jmp 0x14004e1a3
lea rdx, [rbx - 0x18]
or r14, 0xffffffffffffffff
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x14004e198
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
jmp 0x14004e1a3
mov rbx, qword [rsp + 0x70]
jmp 0x14004e1a3
or r14, 0xffffffffffffffff
add r13d, 1
add r12, 0x10
cmp r13d, 0xa
jb 0x14004dfa0
mov eax, dword [rsp + r15 + 0x3b4]
cvtsi2sd xmm6, rax
mulsd xmm6, xmm9
movsd xmm0, xmm6
call fcn.1400b0f60
movsd xmm7, xmm0
movsd xmm0, xmm6
call fcn.1400b1070
movsd xmm2, xmm6
subsd xmm2, xmm7
movsd xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14004e1f7
movsd xmm7, xmm0
cvttsd2si rbp, xmm7
test rbx, rbx
je 0x14004e384
call fcn.140063708
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14004ef3b
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x248], rax
mov dword [rsp + 0x68], 1
mov dword [rsp + 0x60], 0x9a
mov dword [rsp + 0x58], 0xfc
mov dword [rsp + 0x50], 0x22
mov dword [rsp + 0x48], 0x94
mov dword [rsp + 0x40], 0x59
mov dword [rsp + 0x38], 0x8e
mov dword [rsp + 0x30], 0x8d
mov dword [rsp + 0x28], VariantTimeToSystemTime
mov dword [rsp + 0x20], 0x4444
mov r9d, 0xa3d6
mov r8d, 0xc68abdf3
lea rdx, [0x1400c3680]
lea rcx, [rsp + 0x248]
call fcn.140001e50
xor eax, eax
mov rcx, r14
mov rbx, qword [rsp + 0x248]
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea eax, [rcx + rcx]
mov edi, eax
mov ecx, eax
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rsi, rax
test rax, rax
je 0x14004e35c
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.1400935f0
xor eax, eax
mov rcx, r14
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov r8d, r8d
add r8, r8
mov rdx, rbx
mov rcx, rsi
call fcn.1400932a0
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004e31b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov dword [rsp + 0x190], ebp
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x190]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, rsi
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x14004e384
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004e37f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
jmp 0x14004e384
mov rbx, qword [rsp + 0x70]
mov eax, dword [rsp + r15 + 0x3bc]
test eax, eax
jne 0x14004e529
mov ebp, dword [rsp + r15 + 0x3c0]
test rbx, rbx
je 0x14004e6c2
call fcn.140063708
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14004ef46
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x348], rax
mov dword [rsp + 0x68], 4
mov dword [rsp + 0x60], 0xa6
mov dword [rsp + 0x58], 0x97
mov dword [rsp + 0x50], SafeArrayUnaccessData
mov dword [rsp + 0x48], 0x82
mov dword [rsp + 0x40], 0x52
mov dword [rsp + 0x38], 0x35
mov dword [rsp + 0x30], 0xdd
mov dword [rsp + 0x28], 0x8c
mov dword [rsp + 0x20], 0x4a09
mov r9d, 0xe4bb
mov r8d, 0x6b846aad
lea rdx, [0x1400c3680]
lea rcx, [rsp + 0x348]
call fcn.140001e50
xor eax, eax
mov rcx, r14
mov rbx, qword [rsp + 0x348]
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea eax, [rcx + rcx]
mov edi, eax
mov ecx, eax
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rsi, rax
test rax, rax
je 0x14004e4ff
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.1400935f0
xor eax, eax
mov rcx, r14
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov r8d, r8d
add r8, r8
mov rdx, rbx
mov rcx, rsi
call fcn.1400932a0
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004e4bb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov dword [rsp + 0x1a0], ebp
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x1a0]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, rsi
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x14004e6c2
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004e6bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
jmp 0x14004e6c2
cmp eax, 1
jne 0x14004e6c2
mov ebp, dword [rsp + r15 + 0x3d8]
test rbx, rbx
je 0x14004e6c2
call fcn.140063708
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14004ef51
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x258], rax
mov dword [rsp + 0x68], 4
mov dword [rsp + 0x60], 0xa6
mov dword [rsp + 0x58], 0x97
mov dword [rsp + 0x50], SafeArrayUnaccessData
mov dword [rsp + 0x48], 0x82
mov dword [rsp + 0x40], 0x52
mov dword [rsp + 0x38], 0x35
mov dword [rsp + 0x30], 0xdd
mov dword [rsp + 0x28], 0x8c
mov dword [rsp + 0x20], 0x4a09
mov r9d, 0xe4bb
mov r8d, 0x6b846aad
lea rdx, [0x1400c3680]
lea rcx, [rsp + 0x258]
call fcn.140001e50
xor eax, eax
mov rcx, r14
mov rbx, qword [rsp + 0x258]
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea eax, [rcx + rcx]
mov edi, eax
mov ecx, eax
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rsi, rax
test rax, rax
je 0x14004e69a
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.1400935f0
xor eax, eax
mov rcx, r14
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov r8d, r8d
add r8, r8
mov rdx, rbx
mov rcx, rsi
call fcn.1400932a0
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004e659
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov dword [rsp + 0x1b0], ebp
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x1b0]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, rsi
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x14004e6c2
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004e6bd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
jmp 0x14004e6c2
mov rbx, qword [rsp + 0x70]
cmp dword [0x1400fd26c], 0
je 0x14004e861
test rbx, rbx
je 0x14004ebac
call fcn.140063708
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14004ef5c
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x2d8], rax
mov dword [rsp + 0x68], 5
mov dword [rsp + 0x60], 0xa6
mov dword [rsp + 0x58], 0x97
mov dword [rsp + 0x50], SafeArrayUnaccessData
mov dword [rsp + 0x48], 0x82
mov dword [rsp + 0x40], 0x52
mov dword [rsp + 0x38], 0x35
mov dword [rsp + 0x30], 0xdd
mov dword [rsp + 0x28], 0x8c
mov dword [rsp + 0x20], 0x4a09
mov r9d, 0xe4bb
mov r8d, 0x6b846aad
lea rdx, [0x1400c3680]
lea rcx, [rsp + 0x2d8]
call fcn.140001e50
xor eax, eax
mov rcx, r14
mov rbx, qword [rsp + 0x2d8]
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea eax, [rcx + rcx]
mov edi, eax
mov ecx, eax
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rsi, rax
test rax, rax
je 0x14004e834
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.1400935f0
xor eax, eax
mov rcx, r14
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov r8d, r8d
add r8, r8
mov rdx, rbx
mov rcx, rsi
call fcn.1400932a0
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004e7ee
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor r14d, r14d
mov dword [rsp + 0x1c0], r14d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x1c0]
mov qword [rsp + 0x20], rax
lea r9d, [r14 + 4]
xor r8d, r8d
mov rdx, rsi
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x14004ebb4
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004eb9d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
jmp 0x14004ebb4
mov rax, qword [rsp + 0x90]
lea rcx, str.Music
cmp qword [rsp + rax*8 + 0x358], rcx
jne 0x14004ea15
test rbx, rbx
je 0x14004eba7
call fcn.140063708
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14004ef67
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x268], rax
mov dword [rsp + 0x68], 5
mov dword [rsp + 0x60], 0xa6
mov dword [rsp + 0x58], 0x97
mov dword [rsp + 0x50], SafeArrayUnaccessData
mov dword [rsp + 0x48], 0x82
mov dword [rsp + 0x40], 0x52
mov dword [rsp + 0x38], 0x35
mov dword [rsp + 0x30], 0xdd
mov dword [rsp + 0x28], 0x8c
mov dword [rsp + 0x20], 0x4a09
mov r9d, 0xe4bb
mov r8d, 0x6b846aad
lea rdx, [0x1400c3680]
lea rcx, [rsp + 0x268]
call fcn.140001e50
xor eax, eax
mov rcx, r14
mov rbx, qword [rsp + 0x268]
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea eax, [rcx + rcx]
mov edi, eax
mov ecx, eax
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rsi, rax
test rax, rax
je 0x14004e9e8
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.1400935f0
xor eax, eax
mov rcx, r14
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov r8d, r8d
add r8, r8
mov rdx, rbx
mov rcx, rsi
call fcn.1400932a0
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004e99d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov dword [rsp + 0x1d0], 1
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdx, rsi
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
xor r14d, r14d
jmp 0x14004ebb4
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004eb9d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
jmp 0x14004ebb4
test rbx, rbx
je 0x14004ebb1
call fcn.140063708
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14004ef72
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x318], rax
mov dword [rsp + 0x68], 5
mov dword [rsp + 0x60], 0xa6
mov dword [rsp + 0x58], 0x97
mov dword [rsp + 0x50], SafeArrayUnaccessData
mov dword [rsp + 0x48], 0x82
mov dword [rsp + 0x40], 0x52
mov dword [rsp + 0x38], 0x35
mov dword [rsp + 0x30], 0xdd
mov dword [rsp + 0x28], 0x8c
mov dword [rsp + 0x20], 0x4a09
mov r9d, 0xe4bb
mov r8d, 0x6b846aad
lea rdx, [0x1400c3680]
lea rcx, [rsp + 0x318]
call fcn.140001e50
xor eax, eax
mov rcx, r14
mov rbx, qword [rsp + 0x318]
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea eax, [rcx + rcx]
mov edi, eax
mov ecx, eax
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov rsi, rax
test rax, rax
je 0x14004eb77
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.1400935f0
xor eax, eax
mov rcx, r14
mov rdi, rbx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
mov r8d, r8d
add r8, r8
mov rdx, rbx
mov rcx, rsi
call fcn.1400932a0
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004eb34
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
xor r14d, r14d
mov dword [rsp + 0x1a8], r14d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x1a8]
mov qword [rsp + 0x20], rax
lea r9d, [r14 + 4]
xor r8d, r8d
mov rdx, rsi
mov rbx, qword [rsp + 0x70]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rsi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x14004ebb4
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004eb9d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
jmp 0x14004ebb4
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
jmp 0x14004ebb4
xor r14d, r14d
jmp 0x14004ebb4
xor r14d, r14d
jmp 0x14004ebb4
xor r14d, r14d
mov eax, dword [rsp + r15 + 0x3c4]
cvtsi2sd xmm6, rax
mulsd xmm6, xmm12
mulsd xmm6, xmm13
movsd xmm0, xmm6
call fcn.1400b0f60
movsd xmm7, xmm0
movsd xmm0, xmm6
call fcn.1400b1070
movsd xmm2, xmm6
subsd xmm2, xmm7
movsd xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14004ebfb
movsd xmm7, xmm0
mov qword [rsp + 0x278], r14
test rbx, rbx
je 0x14004ec67
lea rdx, [rsp + 0x278]
lea rcx, [0x1400c2b60]
call fcn.140015590
test eax, eax
js 0x14004ec67
cvttsd2si rax, xmm7
mov dword [rsp + 0x158], eax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x158]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x278]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [rsp + r15 + 0x3ec]
cvtsi2sd xmm6, rax
mulsd xmm6, xmm9
movsd xmm0, xmm6
call fcn.1400b0f60
movsd xmm7, xmm0
movsd xmm0, xmm6
call fcn.1400b1070
movsd xmm2, xmm6
subsd xmm2, xmm7
movsd xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14004eca9
movsd xmm7, xmm0
mov qword [rsp + 0x2e8], r14
test rbx, rbx
je 0x14004ed15
lea rdx, [rsp + 0x2e8]
lea rcx, [0x1400c2bd8]
call fcn.140015590
test eax, eax
js 0x14004ed15
cvttsd2si rax, xmm7
mov dword [rsp + 0xd8], eax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0xd8]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x2e8]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov eax, dword [rsp + r15 + 0x400]
cvtsi2sd xmm6, rax
mulsd xmm6, xmm9
movsd xmm0, xmm6
call fcn.1400b0f60
movsd xmm7, xmm0
movsd xmm0, xmm6
call fcn.1400b1070
movsd xmm2, xmm6
subsd xmm2, xmm7
movsd xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14004ed57
movsd xmm7, xmm0
mov qword [rsp + 0x288], r14
test rbx, rbx
je 0x14004edc3
lea rdx, [rsp + 0x288]
lea rcx, [0x1400c2ad0]
call fcn.140015590
test eax, eax
js 0x14004edc3
cvttsd2si rax, xmm7
mov dword [rsp + 0x198], eax
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x198]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x288]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
cvtsi2sd xmm7, dword [rsp + r15 + 0x41c]
mulsd xmm7, xmm14
movsd xmm6, xmm10
subsd xmm6, xmm7
movsd xmm0, xmm6
call fcn.1400b0f60
movsd xmm8, xmm0
movsd xmm0, xmm6
call fcn.1400b1070
subsd xmm6, xmm8
movsd xmm1, xmm0
subsd xmm1, xmm10
subsd xmm1, xmm7
comisd xmm1, xmm6
jae 0x14004ee0f
movsd xmm8, xmm0
movsd xmm0, xmm11
subsd xmm0, xmm8
cvttsd2si rdi, xmm0
mov qword [rsp + 0x338], r14
test rbx, rbx
je 0x14004eea5
lea rdx, [rsp + 0x338]
lea rcx, [0x1400c2b00]
call fcn.140015590
test eax, eax
js 0x14004ee85
mov dword [rsp + 0xe8], edi
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x338]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, r14
mov qword [rsp + 0x70], rbx
mov rbp, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x78]
jmp 0x14004eeb2
mov rbp, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x78]
mov eax, dword [rsp + 0x8c]
add eax, 1
mov dword [rsp + 0x8c], eax
add qword [rsp + 0x90], 1
cmp eax, 3
mov r12, qword [rsp + 0xa8]
mov r15, qword [rsp + 0xa0]
mov r13, qword [rsp + 0xb8]
jb 0x14004db20
mov eax, dword [rsp + 0x88]
add eax, 1
mov dword [rsp + 0x88], eax
add r15, 1
mov qword [rsp + 0xa0], r15
cmp eax, 3
jae 0x14004ef7d
jmp 0x14004db10
call fcn.140001a80
int3
mov ecx, 0x80070057
call fcn.140001950
int3
mov ecx, 0x80070057
call fcn.140001950
int3
mov ecx, 0x80004005
call fcn.140001950
int3
mov ecx, 0x80004005
call fcn.140001950
int3
mov ecx, 0x80004005
call fcn.140001950
int3
mov ecx, 0x80004005
call fcn.140001950
int3
mov ecx, 0x80004005
call fcn.140001950
int3
mov ecx, 0x80004005
call fcn.140001950
int3
mov ecx, 0x80004005
call fcn.140001950
int3
call fcn.140070a24
mov r9d, 1
lea r8, str.DtsPresetInited
lea rdx, str.General
mov rcx, qword [rax + 8]
call fcn.140070d64
jmp 0x140050007
mov ecx, 0x80070057
call fcn.140001950
int3
mov ecx, 0x80070057
call fcn.140001950
int3
mov ecx, 0x80070057
call fcn.140001950
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
or rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x14004efe9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
add edi, 0xffffffff
test edi, edi
jg 0x140050089
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140050089
mov ecx, 0x80070057
call fcn.140001950
int3
test esi, esi
je 0x14004f071
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004f044
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
add r14d, 0xffffffff
test r14d, r14d
jg 0x140050089
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140050089
xor eax, eax
mov rcx, r14
lea rdi, str.SOFTWAREDTSPremiumSuitPresets
repne scasw ax, word [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.SOFTWAREDTSPremiumSuitPresets
lea rcx, [rsp + 0x80]
call fcn.140001bd0
lea rdx, [0x1400c2d38]
lea rcx, [rsp + 0x80]
call fcn.140010570
xor r15d, r15d
mov qword [rsp + 0x298], r15
lea rax, [rsp + 0x298]
mov qword [rsp + 0x20], rax
mov r9d, 0x20006
xor r8d, r8d
mov rbp, qword [rsp + 0x80]
mov rdx, rbp
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14004f101
mov rdi, qword [rsp + 0x298]
mov qword [rsp + 0x98], rdi
jmp 0x14004f1a1
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], r15d
xor r9d, r9d
mov r8, rbp
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x98]
call fcn.1400145c0
test eax, eax
je 0x14004f199
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14004f14a
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004f16c
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x80]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r14d
add r14d, 0xffffffff
test r14d, r14d
jg 0x140050089
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140050089
mov rdi, qword [rsp + 0x98]
lea rsi, [rsp + 0x1d8]
nop
nop
lea rcx, [rsp + 0x7d0]
mov rax, qword [r13 + 0xc2430]
mov qword [rcx], rax
mov rax, qword [r13 + 0xc2438]
mov qword [rcx + 8], rax
mov eax, dword [r13 + 0xc2440]
mov dword [rcx + 0x10], eax
cmp dword [rsi], r15d
je 0x14004f1e9
add dword [rsp + 0x7e0], 0xbb8
jmp 0x14004f207
cmp dword [rsi + 4], r15d
je 0x14004f1fc
add dword [rsp + 0x7e0], 0x3e8
jmp 0x14004f207
add dword [rsp + 0x7e0], 0x7d0
mov qword [rsp + 0x2f8], r15
test rdi, rdi
je 0x14004f273
lea rdx, [rsp + 0x2f8]
lea rcx, [rsp + 0x7d0]
call fcn.140015590
test eax, eax
js 0x14004f273
mov dword [rsp + 0x168], 1
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x168]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rbx, qword [rsp + 0x2f8]
mov rdx, rbx
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rbx
call qword [sym.imp.ole32.dll_CoTaskMemFree]
add rsi, 8
sub r12, 1
jne 0x14004f1b0
test rdi, rdi
je 0x14004f297
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov qword [rsp + 0x98], r15
mov dword [rsp + 0x8c], r15d
mov r12, r15
mov qword [rsp + 0x90], r15
lea r13, [rbp - 0x18]
mov qword [rsp + 0xa8], r13
mov rsi, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov dword [rsp + 0x88], r15d
mov qword [rsp + 0xa0], r15
jmp 0x14004f2d6
or r14, 0xffffffffffffffff
lea rdi, [rsi - 0x18]
cmp r13, rdi
je 0x14004f3a4
cmp dword [rdi + 0x10], 0
jl 0x14004f38e
mov rcx, qword [r13]
cmp rcx, qword [rdi]
jne 0x14004f38e
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [r13 + 0x10], 0
jl 0x14004f31b
cmp rax, qword [r13]
jne 0x14004f31b
mov rsi, r13
lock add dword [r13 + 0x10], 1
jmp 0x14004f35b
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [r13 + 8]
call qword [rax]
mov rsi, rax
test rax, rax
je 0x14004ffde
mov ecx, dword [r13 + 8]
mov dword [rax + 8], ecx
mov ecx, dword [r13 + 8]
add ecx, 1
movsxd rdx, ecx
lea r9, [rdx + rdx]
lea r8, [r13 + 0x18]
add rdx, rdx
lea rcx, [rax + 0x18]
call fcn.14008f260
mov eax, r14d
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004f376
mov rcx, qword [rdi]
mov rax, qword [rcx]
mov rdx, rdi
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
add rsi, 0x18
mov qword [rsp + 0x78], rsi
mov rbp, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x70]
jmp 0x14004f3a4
mov r8d, dword [rbp - 0x10]
mov rdx, rbp
lea rcx, [rsp + 0x78]
call fcn.140001bd0
mov rsi, qword [rsp + 0x78]
lea rax, [0x140000000]
mov r13, qword [rax + r12*8 + 0xf5ee8]
test r13, r13
jne 0x14004f3bd
mov r14d, r15d
jmp 0x14004f3cf
xor eax, eax
mov rcx, r14
mov rdi, r13
repne scasw ax, word [rdi]
not rcx
lea r14, [rcx - 1]
mov r12, r13
sub r12, rsi
sar r12, 1
mov r15d, dword [rsi - 0x10]
lea edi, [r15 + r14]
mov edx, 1
sub edx, dword [rsi - 8]
mov eax, dword [rsi - 0xc]
sub eax, edi
or eax, edx
jge 0x14004f402
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r12, r15
ja 0x14004f40b
lea r13, [rsi + r12*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rsi + r15*2]
mov r9, rdx
mov r8, r13
call fcn.14008f260
test edi, edi
js 0x14005007e
cmp edi, dword [rsi - 0xc]
jg 0x14005007e
mov dword [rsi - 0x10], edi
movsxd rax, edi
mov word [rsi + rax*2], 0
mov rdx, qword [rsp + 0xa0]
mov rdx, qword [rsp + rdx*8 + 0x358]
test rdx, rdx
jne 0x14004f457
xor r13d, r13d
jmp 0x14004f46a
xor eax, eax
or rcx, 0xffffffffffffffff
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r13, [rcx - 1]
mov r15, rdx
mov rdi, rdx
sub rdi, rsi
sar rdi, 1
mov r14d, dword [rsi - 0x10]
lea r12d, [r14 + r13]
mov edx, 1
sub edx, dword [rsi - 8]
mov eax, dword [rsi - 0xc]
sub eax, r12d
or eax, edx
jge 0x14004f4a2
mov edx, r12d
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp rdi, r14
ja 0x14004f4ab
lea r15, [rsi + rdi*2]
movsxd rdx, r13d
add rdx, rdx
lea rcx, [rsi + r14*2]
mov r9, rdx
mov r8, r15
call fcn.14008f260
test r12d, r12d
js 0x140050073
cmp r12d, dword [rsi - 0xc]
jg 0x140050073
mov dword [rsi - 0x10], r12d
movsxd rax, r12d
mov word [rsi + rax*2], 0
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, str.Default
repne scasw ax, word [rdi]
not rcx
lea r15, [rcx - 1]
lea r13, str.Default
lea r12, str.Default
sub r12, rsi
sar r12, 1
mov r14d, dword [rsi - 0x10]
lea edi, [r14 + rcx - 1]
mov edx, 1
sub edx, dword [rsi - 8]
mov eax, dword [rsi - 0xc]
sub eax, edi
or eax, edx
jge 0x14004f536
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r12, r14
ja 0x14004f53f
lea r13, [rsi + r12*2]
movsxd rdx, r15d
add rdx, rdx
lea rcx, [rsi + r14*2]
mov r9, rdx
mov r8, r13
call fcn.14008f260
test edi, edi
js 0x140050068
cmp edi, dword [rsi - 0xc]
jg 0x140050068
mov dword [rsi - 0x10], edi
movsxd rax, edi
mov word [rsi + rax*2], 0
xor r15d, r15d
mov qword [rsp + 0x2a8], r15
lea rax, [rsp + 0x2a8]
mov qword [rsp + 0x20], rax
mov r9d, 0x20006
xor r8d, r8d
mov rdx, rsi
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x14004f5c8
mov eax, r15d
test rbx, rbx
je 0x14004f5b7
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x2a8]
mov qword [rsp + 0x70], rbx
test eax, eax
je 0x14004f640
mov qword [rsp + 0x328], r15
lea rax, [rsp + 0x380]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x328]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x20006
mov dword [rsp + 0x20], r15d
xor r9d, r9d
xor r8d, r8d
mov rdx, rsi
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x14004ff76
mov eax, r15d
test rbx, rbx
je 0x14004f62b
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x328]
mov qword [rsp + 0x70], rbx
test eax, eax
jne 0x14004ff80
mov qword [rsp + 0x2b8], r15
test rbx, rbx
je 0x14004f6a8
lea rdx, [rsp + 0x2b8]
lea rcx, [0x1400c2b30]
call fcn.140015590
test eax, eax
js 0x14004f6a8
mov dword [rsp + 0xf8], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0xf8]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x2b8]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov r12, qword [rsp + 0x90]
cmp dword [rsp + r12*8 + 0x1d8], r15d
je 0x14004f72f
mov qword [rsp + 0x218], r15
test rbx, rbx
je 0x14004f797
lea rdx, [rsp + 0x218]
lea rcx, [0x1400c2b48]
call fcn.140015590
test eax, eax
js 0x14004f797
mov dword [rsp + 0x1b8], 1
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x1b8]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x218]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x14004f797
mov qword [rsp + 0x230], r15
test rbx, rbx
je 0x14004f797
lea rdx, [rsp + 0x230]
lea rcx, [0x1400c2b48]
call fcn.140015590
test eax, eax
js 0x14004f797
mov dword [rsp + 0x108], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x108]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x230]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x240], r15
test rbx, rbx
je 0x14004f7ff
lea rdx, [rsp + 0x240]
lea rcx, [0x1400c2b60]
call fcn.140015590
test eax, eax
js 0x14004f7ff
mov dword [rsp + 0x178], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x178]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x240]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x210], r15
test rbx, rbx
je 0x14004f86a
lea rdx, [rsp + 0x210]
lea rcx, [0x1400c2b78]
call fcn.140015590
test eax, eax
js 0x14004f86a
mov dword [rsp + 0x118], SafeArrayUnaccessData
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x118]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x210]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x260], r15
test rbx, rbx
je 0x14004f8d2
lea rdx, [rsp + 0x260]
lea rcx, [0x1400c2b90]
call fcn.140015590
test eax, eax
js 0x14004f8d2
mov dword [rsp + 0x128], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x128]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x260]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
cmp dword [0x1400fd26c], r15d
je 0x14004f950
mov qword [rsp + 0x270], r15
test rbx, rbx
je 0x14004fa46
lea rdx, [rsp + 0x270]
lea rcx, [0x1400c2ba8]
call fcn.140015590
test eax, eax
js 0x14004fa46
mov dword [rsp + 0xc0], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0xc0]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x270]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x14004fa46
mov rax, qword [rsp + 0xa0]
lea rcx, str.Music
cmp qword [rsp + rax*8 + 0x358], rcx
jne 0x14004f9de
mov qword [rsp + 0x280], r15
test rbx, rbx
je 0x14004fa46
lea rdx, [rsp + 0x280]
lea rcx, [0x1400c2ba8]
call fcn.140015590
test eax, eax
js 0x14004fa46
mov dword [rsp + 0x130], 1
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x130]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x280]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x14004fa46
mov qword [rsp + 0x290], r15
test rbx, rbx
je 0x14004fa46
lea rdx, [rsp + 0x290]
lea rcx, [0x1400c2ba8]
call fcn.140015590
test eax, eax
js 0x14004fa46
mov dword [rsp + 0x138], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x138]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x290]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x2a0], r15
test rbx, rbx
je 0x14004faae
lea rdx, [rsp + 0x2a0]
lea rcx, [0x1400c2c20]
call fcn.140015590
test eax, eax
js 0x14004faae
mov dword [rsp + 0x188], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x188]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x2a0]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x2b0], r15
test rbx, rbx
je 0x14004fb16
lea rdx, [rsp + 0x2b0]
lea rcx, [0x1400c2c38]
call fcn.140015590
test eax, eax
js 0x14004fb16
mov dword [rsp + 0x148], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x148]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x2b0]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x2c0], r15
test rbx, rbx
je 0x14004fb7e
lea rdx, [rsp + 0x2c0]
lea rcx, [0x1400c2bc0]
call fcn.140015590
test eax, eax
js 0x14004fb7e
mov dword [rsp + 0x1c8], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x1c8]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x2c0]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x2d0], r15
test rbx, rbx
je 0x14004fbe6
lea rdx, [rsp + 0x2d0]
lea rcx, [0x1400c2bd8]
call fcn.140015590
test eax, eax
js 0x14004fbe6
mov dword [rsp + 0xc8], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0xc8]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x2d0]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x2e0], r15
test rbx, rbx
je 0x14004fc51
lea rdx, [rsp + 0x2e0]
lea rcx, [0x1400c2bf0]
call fcn.140015590
test eax, eax
js 0x14004fc51
mov dword [rsp + 0xd0], 0x64
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0xd0]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x2e0]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x2f0], r15
test rbx, rbx
je 0x14004fcb9
lea rdx, [rsp + 0x2f0]
lea rcx, [0x1400c2c08]
call fcn.140015590
test eax, eax
js 0x14004fcb9
mov dword [rsp + 0xe0], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0xe0]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x2f0]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
cmp dword [rsp + r12*8 + 0x1dc], r15d
je 0x14004fd4e
mov rax, qword [rsp + 0xb8]
bt dword [rax + 0xa48], 0x16
jae 0x14004fd4e
mov qword [rsp + 0x300], r15
test rbx, rbx
je 0x14004fdb6
lea rdx, [rsp + 0x300]
lea rcx, [0x1400c2ab8]
call fcn.140015590
test eax, eax
js 0x14004fdb6
mov dword [rsp + 0xf0], 1
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0xf0]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x300]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
jmp 0x14004fdb6
mov qword [rsp + 0x310], r15
test rbx, rbx
je 0x14004fdb6
lea rdx, [rsp + 0x310]
lea rcx, [0x1400c2ab8]
call fcn.140015590
test eax, eax
js 0x14004fdb6
mov dword [rsp + 0x100], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x100]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x310]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x320], r15
test rbx, rbx
je 0x14004fe21
lea rdx, [rsp + 0x320]
lea rcx, [0x1400c2ad0]
call fcn.140015590
test eax, eax
js 0x14004fe21
mov dword [rsp + 0x110], 7
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x110]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x320]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x330], r15
test rbx, rbx
je 0x14004fe89
lea rdx, [rsp + 0x330]
lea rcx, [0x1400c2ae8]
call fcn.140015590
test eax, eax
js 0x14004fe89
mov dword [rsp + 0x120], r15d
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x120]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x330]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x340], r15
test rbx, rbx
je 0x14004fef4
lea rdx, [rsp + 0x340]
lea rcx, [0x1400c2b00]
call fcn.140015590
test eax, eax
js 0x14004fef4
mov dword [rsp + 0x140], SafeArrayCopy
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x140]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x340]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov qword [rsp + 0x350], r15
test rbx, rbx
je 0x14004ff88
lea rdx, [rsp + 0x350]
lea rcx, [0x1400c2b18]
call fcn.140015590
test eax, eax
js 0x14004ff63
mov dword [rsp + 0x150], 2
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x150]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
mov rdi, qword [rsp + 0x350]
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rdi
call qword [sym.imp.ole32.dll_CoTaskMemFree]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, r15
mov qword [rsp + 0x70], rbx
jmp 0x14004ff88
mov r12, qword [rsp + 0x90]
jmp 0x14004ff88
mov r12, qword [rsp + 0x90]
mov eax, dword [rsp + 0x88]
add eax, 1
mov dword [rsp + 0x88], eax
add qword [rsp + 0xa0], 1
cmp eax, 3
mov r13, qword [rsp + 0xa8]
jb 0x14004f2d2
mov eax, dword [rsp + 0x8c]
add eax, 1
mov dword [rsp + 0x8c], eax
add r12, 1
mov qword [rsp + 0x90], r12
cmp eax, 3
jae 0x14004ffe4
or r14, 0xffffffffffffffff
jmp 0x14004f2c0
call fcn.140001a80
int3
call fcn.140070a24
mov r9d, 2
lea r8, str.DtsPresetInited
lea rdx, str.General
mov rcx, qword [rax + 8]
call fcn.140070d64
nop
test rbx, rbx
je 0x140050016
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14005002a
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rdx, [rsi - 0x18]
or rdi, 0xffffffffffffffff
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, edi
test eax, eax
jg 0x140050049
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0xa8]
lock xadd dword [rdx + 0x10], edi
add edi, 0xffffffff
test edi, edi
jg 0x140050089
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x140050089
mov ecx, 0x80070057
call fcn.140001950
int3
mov ecx, 0x80070057
call fcn.140001950
int3
mov ecx, 0x80070057
call fcn.140001950
nop
mov rcx, qword [rsp + 0x7e8]
xor rcx, rsp
call fcn.14008f240
lea r11, [rsp + 0x880]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, 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 rdi
ret