Function at 0x14004c6f0
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 [0x1400f0bc8]
xor rax, rsp
mov qword [rsp + 0x7e8], rax
mov r15d, edx
mov rdi, rcx
mov qword [rsp + 0xb8], rcx
call fcn.14006fc20
xor r9d, r9d
lea r8, str.DtsPresetInited
lea rdx, str.General
mov rcx, qword [rax + 8]
call fcn.14006fec0
mov esi, eax
cmp eax, 1
je 0x14004f2f9
call fcn.1400628f8
mov rdx, rax
xor ebp, ebp
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14004c7bd
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.1400628f8
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14004c7f1
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 + 0xc0bb0]
mov qword [rcx], rax
mov rax, qword [r13 + 0xc0bb8]
mov qword [rcx + 8], rax
lea rcx, [rdi + 0xa40]
lea rdx, [rsp + 0x378]
call fcn.14005e5a0
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 0x14004c916
mov edi, ebp
jmp 0x14004c9eb
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 0x14004c9e6
lea rdx, [rsp + 0x390]
lea rcx, [rsp + 0x388]
call fcn.140014630
mov rdx, qword [rsp + 0x388]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004c9e2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edi, ebp
jmp 0x14004c9eb
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 0x14004ca0f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test edi, edi
je 0x14004e28e
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, [0x1400c1d38]
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 0x14004ca9c
mov edx, edi
lea rcx, [rsp + 0x80]
call fcn.140001970
mov rbp, qword [rsp + 0x80]
cmp rsi, r13
ja 0x14004caa6
lea rbx, [rbp + rsi*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rbp + r13*2]
mov r9, rdx
mov r8, rbx
call fcn.14008e450
test edi, edi
js 0x14004e283
cmp edi, dword [rbp - 0xc]
jg 0x14004e283
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 0x14004cb2e
mov rdi, qword [rsp + 0x228]
mov qword [rsp + 0x98], rdi
jmp 0x14004cb90
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 0x14004e235
mov rdi, qword [rsp + 0x208]
mov qword [rsp + 0x98], rdi
test r15d, r15d
je 0x14004cc0a
mov qword [rsp + 0x250], r14
test rdi, rdi
je 0x14004cd16
lea rdx, [rsp + 0x250]
lea rcx, [0x1400c16b8]
call fcn.1400153e0
test eax, eax
js 0x14004cd00
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 0x14004cd00
lea rsi, [rsp + 0x1d8]
lea rdx, [0x140000000]
nop
nop
lea rcx, [rsp + 0x7d0]
mov rax, qword [rdx + 0xc1430]
mov qword [rcx], rax
mov rax, qword [rdx + 0xc1438]
mov qword [rcx + 8], rax
mov eax, dword [rdx + 0xc1440]
mov dword [rcx + 0x10], eax
cmp dword [rsi], r14d
je 0x14004cc58
add dword [rsp + 0x7e0], 0xbb8
jmp 0x14004cc76
cmp dword [rsi + 4], r14d
je 0x14004cc6b
add dword [rsp + 0x7e0], 0x3e8
jmp 0x14004cc76
add dword [rsp + 0x7e0], 0x7d0
mov qword [rsp + 0x220], r14
test rdi, rdi
je 0x14004ccf2
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x7d0]
call fcn.1400153e0
test eax, eax
js 0x14004cceb
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 0x14004ccf2
lea rdx, [0x140000000]
add rsi, 8
sub r12, 1
jne 0x14004cc20
test rdi, rdi
je 0x14004cd16
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 [0x1400ce9a8]
movsd xmm12, qword [0x1400ce9a0]
movsd xmm13, qword [0x1400ce998]
movsd xmm14, qword [0x1400ce990]
xorpd xmm10, xmm10
movsd xmm11, qword [0x1400ce988]
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 0x14004cf48
cmp dword [rdi + 0x10], 0
jl 0x14004ce51
mov rcx, qword [r12]
cmp rcx, qword [rdi]
jne 0x14004ce51
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [r12 + 0x10], 0
jl 0x14004cdd7
cmp rax, qword [r12]
jne 0x14004cdd7
mov rsi, r12
lock add dword [r12 + 0x10], 1
jmp 0x14004ce1b
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [r12 + 8]
call qword [rax]
mov rsi, rax
test rax, rax
je 0x14004e184
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.14008e450
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004ce36
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 0x14004cf48
movsxd r12, dword [r13]
test r12d, r12d
jne 0x14004cec5
mov r12, qword [rdi]
cmp dword [rdi + 8], 0
je 0x14004cf48
cmp dword [rdi + 0x10], 0
jge 0x14004ce85
cmp dword [rsi - 0xc], 0
jl 0x14004e18a
mov dword [rsi - 0x10], r14d
mov word [rsi], 0
jmp 0x14004cf48
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004cea0
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 0x14004cf48
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 0x14004cef6
mov edx, r12d
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r13, r14
ja 0x14004cf13
lea rdi, [r12 + r12]
lea r8, [rsi + r13*2]
mov r9, rdi
mov rdx, rdi
mov rcx, rsi
call fcn.14008dc70
jmp 0x14004cf28
lea rdi, [r12 + r12]
mov r9, rdi
mov r8, rbp
mov rdx, rdi
mov rcx, rsi
call fcn.14008e450
test r12d, r12d
js 0x14004e195
cmp r12d, dword [rsi - 0xc]
jg 0x14004e195
mov dword [rsi - 0x10], r12d
mov word [rdi + rsi], 0
xor r14d, r14d
lea rax, [0x140000000]
mov r13, qword [rax + r15*8 + 0xf3ed8]
test r13, r13
je 0x14004cf6f
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 0x14004cfa2
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r12, r15
ja 0x14004cfab
lea r13, [rsi + r12*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rsi + r15*2]
mov r9, rdx
mov r8, r13
call fcn.14008e450
test edi, edi
js 0x14004e22a
cmp edi, dword [rsi - 0xc]
jg 0x14004e22a
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 0x14004cff7
xor r13d, r13d
jmp 0x14004d00a
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 0x14004d042
mov edx, r12d
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp rdi, r14
ja 0x14004d04b
lea r15, [rsi + rdi*2]
movsxd rdx, r13d
add rdx, rdx
lea rcx, [rsi + r14*2]
mov r9, rdx
mov r8, r15
call fcn.14008e450
test r12d, r12d
js 0x14004e21f
cmp r12d, dword [rsi - 0xc]
jg 0x14004e21f
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 0x14004d0d6
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r12, r14
ja 0x14004d0df
lea r13, [rsi + r12*2]
movsxd rdx, r15d
add rdx, rdx
lea rcx, [rsi + r14*2]
mov r9, rdx
mov r8, r13
call fcn.14008e450
test edi, edi
js 0x14004e214
cmp edi, dword [rsi - 0xc]
jg 0x14004e214
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 0x14004d168
mov eax, r14d
test rbx, rbx
je 0x14004d157
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x308]
mov qword [rsp + 0x70], rbx
test eax, eax
je 0x14004d1e0
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 0x14004e122
mov eax, r14d
test rbx, rbx
je 0x14004d1cb
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x238]
mov qword [rsp + 0x70], rbx
test eax, eax
jne 0x14004e122
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, [0x1400f2728]
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 0x14004d40f
call fcn.1400628f8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14004e1a0
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, [0x1400c2680]
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 0x14004d3e1
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140092640
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.140092740
nop
lea rdx, [rbx - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
test eax, eax
jg 0x14004d39b
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 0x14004d413
lea rdx, [rbx - 0x18]
or r14, 0xffffffffffffffff
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x14004d408
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
jmp 0x14004d413
mov rbx, qword [rsp + 0x70]
jmp 0x14004d413
or r14, 0xffffffffffffffff
add r13d, 1
add r12, 0x10
cmp r13d, 0xa
jb 0x14004d210
mov eax, dword [rsp + r15 + 0x3b4]
cvtsi2sd xmm6, rax
mulsd xmm6, xmm9
movsd xmm0, xmm6
call fcn.1400b0140
movsd xmm7, xmm0
movsd xmm0, xmm6
call fcn.1400b0250
movsd xmm2, xmm6
subsd xmm2, xmm7
movsd xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14004d467
movsd xmm7, xmm0
cvttsd2si rbp, xmm7
test rbx, rbx
je 0x14004d5f4
call fcn.1400628f8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14004e1ab
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, [0x1400c2680]
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 0x14004d5cc
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140092640
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.140092740
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004d58b
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 0x14004d5f4
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004d5ef
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
jmp 0x14004d5f4
mov rbx, qword [rsp + 0x70]
mov eax, dword [rsp + r15 + 0x3bc]
test eax, eax
jne 0x14004d799
mov ebp, dword [rsp + r15 + 0x3c0]
test rbx, rbx
je 0x14004d932
call fcn.1400628f8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14004e1b6
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, [0x1400c2680]
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 0x14004d76f
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140092640
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.140092740
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004d72b
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 0x14004d932
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004d92d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
jmp 0x14004d932
cmp eax, 1
jne 0x14004d932
mov ebp, dword [rsp + r15 + 0x3d8]
test rbx, rbx
je 0x14004d932
call fcn.1400628f8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14004e1c1
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, [0x1400c2680]
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 0x14004d90a
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140092640
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.140092740
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004d8c9
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 0x14004d932
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004d92d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
jmp 0x14004d932
mov rbx, qword [rsp + 0x70]
cmp dword [0x1400fb24c], 0
je 0x14004dad1
test rbx, rbx
je 0x14004de1c
call fcn.1400628f8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14004e1cc
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, [0x1400c2680]
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 0x14004daa4
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140092640
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.140092740
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004da5e
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 0x14004de24
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004de0d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
jmp 0x14004de24
mov rax, qword [rsp + 0x90]
lea rcx, str.Music
cmp qword [rsp + rax*8 + 0x358], rcx
jne 0x14004dc85
test rbx, rbx
je 0x14004de17
call fcn.1400628f8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14004e1d7
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, [0x1400c2680]
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 0x14004dc58
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140092640
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.140092740
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004dc0d
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 0x14004de24
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004de0d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
jmp 0x14004de24
test rbx, rbx
je 0x14004de21
call fcn.1400628f8
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14004e1e2
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, [0x1400c2680]
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 0x14004dde7
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140092640
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.140092740
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004dda4
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 0x14004de24
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004de0d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
jmp 0x14004de24
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
jmp 0x14004de24
xor r14d, r14d
jmp 0x14004de24
xor r14d, r14d
jmp 0x14004de24
xor r14d, r14d
mov eax, dword [rsp + r15 + 0x3c4]
cvtsi2sd xmm6, rax
mulsd xmm6, xmm12
mulsd xmm6, xmm13
movsd xmm0, xmm6
call fcn.1400b0140
movsd xmm7, xmm0
movsd xmm0, xmm6
call fcn.1400b0250
movsd xmm2, xmm6
subsd xmm2, xmm7
movsd xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14004de6b
movsd xmm7, xmm0
mov qword [rsp + 0x278], r14
test rbx, rbx
je 0x14004ded7
lea rdx, [rsp + 0x278]
lea rcx, [0x1400c1b60]
call fcn.1400153e0
test eax, eax
js 0x14004ded7
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.1400b0140
movsd xmm7, xmm0
movsd xmm0, xmm6
call fcn.1400b0250
movsd xmm2, xmm6
subsd xmm2, xmm7
movsd xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14004df19
movsd xmm7, xmm0
mov qword [rsp + 0x2e8], r14
test rbx, rbx
je 0x14004df85
lea rdx, [rsp + 0x2e8]
lea rcx, [0x1400c1bd8]
call fcn.1400153e0
test eax, eax
js 0x14004df85
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.1400b0140
movsd xmm7, xmm0
movsd xmm0, xmm6
call fcn.1400b0250
movsd xmm2, xmm6
subsd xmm2, xmm7
movsd xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14004dfc7
movsd xmm7, xmm0
mov qword [rsp + 0x288], r14
test rbx, rbx
je 0x14004e033
lea rdx, [rsp + 0x288]
lea rcx, [0x1400c1ad0]
call fcn.1400153e0
test eax, eax
js 0x14004e033
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.1400b0140
movsd xmm8, xmm0
movsd xmm0, xmm6
call fcn.1400b0250
subsd xmm6, xmm8
movsd xmm1, xmm0
subsd xmm1, xmm10
subsd xmm1, xmm7
comisd xmm1, xmm6
jae 0x14004e07f
movsd xmm8, xmm0
movsd xmm0, xmm11
subsd xmm0, xmm8
cvttsd2si rdi, xmm0
mov qword [rsp + 0x338], r14
test rbx, rbx
je 0x14004e115
lea rdx, [rsp + 0x338]
lea rcx, [0x1400c1b00]
call fcn.1400153e0
test eax, eax
js 0x14004e0f5
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 0x14004e122
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 0x14004cd90
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 0x14004e1ed
jmp 0x14004cd80
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.14006fc20
mov r9d, 1
lea r8, str.DtsPresetInited
lea rdx, str.General
mov rcx, qword [rax + 8]
call fcn.14006ff60
jmp 0x14004f277
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 0x14004e259
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 0x14004f2f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004f2f9
mov ecx, 0x80070057
call fcn.140001950
int3
test esi, esi
je 0x14004e2e1
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004e2b4
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 0x14004f2f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004f2f9
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, [0x1400c1d38]
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 0x14004e371
mov rdi, qword [rsp + 0x298]
mov qword [rsp + 0x98], rdi
jmp 0x14004e411
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.140014410
test eax, eax
je 0x14004e409
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14004e3ba
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 0x14004e3dc
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 0x14004f2f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004f2f9
mov rdi, qword [rsp + 0x98]
lea rsi, [rsp + 0x1d8]
nop
nop
lea rcx, [rsp + 0x7d0]
mov rax, qword [r13 + 0xc1430]
mov qword [rcx], rax
mov rax, qword [r13 + 0xc1438]
mov qword [rcx + 8], rax
mov eax, dword [r13 + 0xc1440]
mov dword [rcx + 0x10], eax
cmp dword [rsi], r15d
je 0x14004e459
add dword [rsp + 0x7e0], 0xbb8
jmp 0x14004e477
cmp dword [rsi + 4], r15d
je 0x14004e46c
add dword [rsp + 0x7e0], 0x3e8
jmp 0x14004e477
add dword [rsp + 0x7e0], 0x7d0
mov qword [rsp + 0x2f8], r15
test rdi, rdi
je 0x14004e4e3
lea rdx, [rsp + 0x2f8]
lea rcx, [rsp + 0x7d0]
call fcn.1400153e0
test eax, eax
js 0x14004e4e3
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 0x14004e420
test rdi, rdi
je 0x14004e507
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 0x14004e546
or r14, 0xffffffffffffffff
lea rdi, [rsi - 0x18]
cmp r13, rdi
je 0x14004e614
cmp dword [rdi + 0x10], 0
jl 0x14004e5fe
mov rcx, qword [r13]
cmp rcx, qword [rdi]
jne 0x14004e5fe
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [r13 + 0x10], 0
jl 0x14004e58b
cmp rax, qword [r13]
jne 0x14004e58b
mov rsi, r13
lock add dword [r13 + 0x10], 1
jmp 0x14004e5cb
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [r13 + 8]
call qword [rax]
mov rsi, rax
test rax, rax
je 0x14004f24e
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.14008e450
mov eax, r14d
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004e5e6
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 0x14004e614
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 + 0xf3ed8]
test r13, r13
jne 0x14004e62d
mov r14d, r15d
jmp 0x14004e63f
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 0x14004e672
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r12, r15
ja 0x14004e67b
lea r13, [rsi + r12*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rsi + r15*2]
mov r9, rdx
mov r8, r13
call fcn.14008e450
test edi, edi
js 0x14004f2ee
cmp edi, dword [rsi - 0xc]
jg 0x14004f2ee
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 0x14004e6c7
xor r13d, r13d
jmp 0x14004e6da
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 0x14004e712
mov edx, r12d
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp rdi, r14
ja 0x14004e71b
lea r15, [rsi + rdi*2]
movsxd rdx, r13d
add rdx, rdx
lea rcx, [rsi + r14*2]
mov r9, rdx
mov r8, r15
call fcn.14008e450
test r12d, r12d
js 0x14004f2e3
cmp r12d, dword [rsi - 0xc]
jg 0x14004f2e3
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 0x14004e7a6
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r12, r14
ja 0x14004e7af
lea r13, [rsi + r12*2]
movsxd rdx, r15d
add rdx, rdx
lea rcx, [rsi + r14*2]
mov r9, rdx
mov r8, r13
call fcn.14008e450
test edi, edi
js 0x14004f2d8
cmp edi, dword [rsi - 0xc]
jg 0x14004f2d8
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 0x14004e838
mov eax, r15d
test rbx, rbx
je 0x14004e827
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x2a8]
mov qword [rsp + 0x70], rbx
test eax, eax
je 0x14004e8b0
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 0x14004f1e6
mov eax, r15d
test rbx, rbx
je 0x14004e89b
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x328]
mov qword [rsp + 0x70], rbx
test eax, eax
jne 0x14004f1f0
mov qword [rsp + 0x2b8], r15
test rbx, rbx
je 0x14004e918
lea rdx, [rsp + 0x2b8]
lea rcx, [0x1400c1b30]
call fcn.1400153e0
test eax, eax
js 0x14004e918
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 0x14004e99f
mov qword [rsp + 0x218], r15
test rbx, rbx
je 0x14004ea07
lea rdx, [rsp + 0x218]
lea rcx, [0x1400c1b48]
call fcn.1400153e0
test eax, eax
js 0x14004ea07
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 0x14004ea07
mov qword [rsp + 0x230], r15
test rbx, rbx
je 0x14004ea07
lea rdx, [rsp + 0x230]
lea rcx, [0x1400c1b48]
call fcn.1400153e0
test eax, eax
js 0x14004ea07
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 0x14004ea6f
lea rdx, [rsp + 0x240]
lea rcx, [0x1400c1b60]
call fcn.1400153e0
test eax, eax
js 0x14004ea6f
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 0x14004eada
lea rdx, [rsp + 0x210]
lea rcx, [0x1400c1b78]
call fcn.1400153e0
test eax, eax
js 0x14004eada
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 0x14004eb42
lea rdx, [rsp + 0x260]
lea rcx, [0x1400c1b90]
call fcn.1400153e0
test eax, eax
js 0x14004eb42
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 [0x1400fb24c], r15d
je 0x14004ebc0
mov qword [rsp + 0x270], r15
test rbx, rbx
je 0x14004ecb6
lea rdx, [rsp + 0x270]
lea rcx, [0x1400c1ba8]
call fcn.1400153e0
test eax, eax
js 0x14004ecb6
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 0x14004ecb6
mov rax, qword [rsp + 0xa0]
lea rcx, str.Music
cmp qword [rsp + rax*8 + 0x358], rcx
jne 0x14004ec4e
mov qword [rsp + 0x280], r15
test rbx, rbx
je 0x14004ecb6
lea rdx, [rsp + 0x280]
lea rcx, [0x1400c1ba8]
call fcn.1400153e0
test eax, eax
js 0x14004ecb6
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 0x14004ecb6
mov qword [rsp + 0x290], r15
test rbx, rbx
je 0x14004ecb6
lea rdx, [rsp + 0x290]
lea rcx, [0x1400c1ba8]
call fcn.1400153e0
test eax, eax
js 0x14004ecb6
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 0x14004ed1e
lea rdx, [rsp + 0x2a0]
lea rcx, [0x1400c1c20]
call fcn.1400153e0
test eax, eax
js 0x14004ed1e
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 0x14004ed86
lea rdx, [rsp + 0x2b0]
lea rcx, [0x1400c1c38]
call fcn.1400153e0
test eax, eax
js 0x14004ed86
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 0x14004edee
lea rdx, [rsp + 0x2c0]
lea rcx, [0x1400c1bc0]
call fcn.1400153e0
test eax, eax
js 0x14004edee
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 0x14004ee56
lea rdx, [rsp + 0x2d0]
lea rcx, [0x1400c1bd8]
call fcn.1400153e0
test eax, eax
js 0x14004ee56
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 0x14004eec1
lea rdx, [rsp + 0x2e0]
lea rcx, [0x1400c1bf0]
call fcn.1400153e0
test eax, eax
js 0x14004eec1
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 0x14004ef29
lea rdx, [rsp + 0x2f0]
lea rcx, [0x1400c1c08]
call fcn.1400153e0
test eax, eax
js 0x14004ef29
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 0x14004efbe
mov rax, qword [rsp + 0xb8]
bt dword [rax + 0xa48], 0x16
jae 0x14004efbe
mov qword [rsp + 0x300], r15
test rbx, rbx
je 0x14004f026
lea rdx, [rsp + 0x300]
lea rcx, [0x1400c1ab8]
call fcn.1400153e0
test eax, eax
js 0x14004f026
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 0x14004f026
mov qword [rsp + 0x310], r15
test rbx, rbx
je 0x14004f026
lea rdx, [rsp + 0x310]
lea rcx, [0x1400c1ab8]
call fcn.1400153e0
test eax, eax
js 0x14004f026
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 0x14004f091
lea rdx, [rsp + 0x320]
lea rcx, [0x1400c1ad0]
call fcn.1400153e0
test eax, eax
js 0x14004f091
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 0x14004f0f9
lea rdx, [rsp + 0x330]
lea rcx, [0x1400c1ae8]
call fcn.1400153e0
test eax, eax
js 0x14004f0f9
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 0x14004f164
lea rdx, [rsp + 0x340]
lea rcx, [0x1400c1b00]
call fcn.1400153e0
test eax, eax
js 0x14004f164
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 0x14004f1f8
lea rdx, [rsp + 0x350]
lea rcx, [0x1400c1b18]
call fcn.1400153e0
test eax, eax
js 0x14004f1d3
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 0x14004f1f8
mov r12, qword [rsp + 0x90]
jmp 0x14004f1f8
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 0x14004e542
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 0x14004f254
or r14, 0xffffffffffffffff
jmp 0x14004e530
call fcn.140001a80
int3
call fcn.14006fc20
mov r9d, 2
lea r8, str.DtsPresetInited
lea rdx, str.General
mov rcx, qword [rax + 8]
call fcn.14006ff60
nop
test rbx, rbx
je 0x14004f286
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14004f29a
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 0x14004f2b9
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 0x14004f2f9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14004f2f9
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.14008e430
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