Function at 0x14004f8e0
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 [0x1400f6bd8]
xor rax, rsp
mov qword [rsp + 0x7e8], rax
mov r15d, edx
mov rdi, rcx
mov qword [rsp + 0xb8], rcx
call fcn.1400735b0
xor r9d, r9d
lea r8, str.DtsPresetInited
lea rdx, str.General
mov rcx, qword [rax + 8]
call fcn.140073850
mov esi, eax
cmp eax, 1
je 0x1400524e9
call fcn.14006628c
mov rdx, rax
xor ebp, ebp
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14004f9ad
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.14006628c
mov rdx, rax
mov ecx, ebp
test rax, rax
setne cl
test ecx, ecx
jne 0x14004f9e1
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, [0x1400c5e68]
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 + 0xc4bd0]
mov qword [rcx], rax
mov rax, qword [r13 + 0xc4bd8]
mov qword [rcx + 8], rax
lea rcx, [rdi + 0xa48]
lea rdx, [rsp + 0x378]
call fcn.140061e40
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 0x14004fb06
mov edi, ebp
jmp 0x14004fbdb
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 0x14004fbd6
lea rdx, [rsp + 0x390]
lea rcx, [rsp + 0x388]
call fcn.140014aa0
mov rdx, qword [rsp + 0x388]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14004fbd2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edi, ebp
jmp 0x14004fbdb
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 0x14004fbff
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test edi, edi
je 0x14005147e
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.140001bc0
xor eax, eax
mov rcx, r14
lea rbx, [0x1400c5e18]
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 0x14004fc8c
mov edx, edi
lea rcx, [rsp + 0x80]
call fcn.140001970
mov rbp, qword [rsp + 0x80]
cmp rsi, r13
ja 0x14004fc96
lea rbx, [rbp + rsi*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rbp + r13*2]
mov r9, rdx
mov r8, rbx
call fcn.140091de0
test edi, edi
js 0x140051473
cmp edi, dword [rbp - 0xc]
jg 0x140051473
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 0x14004fd1e
mov rdi, qword [rsp + 0x228]
mov qword [rsp + 0x98], rdi
jmp 0x14004fd80
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 0x140051425
mov rdi, qword [rsp + 0x208]
mov qword [rsp + 0x98], rdi
test r15d, r15d
je 0x14004fdfa
mov qword [rsp + 0x250], r14
test rdi, rdi
je 0x14004ff06
lea rdx, [rsp + 0x250]
lea rcx, [0x1400c56d8]
call fcn.140015850
test eax, eax
js 0x14004fef0
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 0x14004fef0
lea rsi, [rsp + 0x1d8]
lea rdx, [0x140000000]
nop
nop
lea rcx, [rsp + 0x7d0]
mov rax, qword [rdx + 0xc5450]
mov qword [rcx], rax
mov rax, qword [rdx + 0xc5458]
mov qword [rcx + 8], rax
mov eax, dword [rdx + 0xc5460]
mov dword [rcx + 0x10], eax
cmp dword [rsi], r14d
je 0x14004fe48
add dword [rsp + 0x7e0], 0xbb8
jmp 0x14004fe66
cmp dword [rsi + 4], r14d
je 0x14004fe5b
add dword [rsp + 0x7e0], 0x3e8
jmp 0x14004fe66
add dword [rsp + 0x7e0], 0x7d0
mov qword [rsp + 0x220], r14
test rdi, rdi
je 0x14004fee2
lea rdx, [rsp + 0x220]
lea rcx, [rsp + 0x7d0]
call fcn.140015850
test eax, eax
js 0x14004fedb
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 0x14004fee2
lea rdx, [0x140000000]
add rsi, 8
sub r12, 1
jne 0x14004fe10
test rdi, rdi
je 0x14004ff06
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 [0x1400d3018]
movsd xmm12, qword [0x1400d3010]
movsd xmm13, qword [0x1400d3008]
movsd xmm14, qword [0x1400d3000]
xorpd xmm10, xmm10
movsd xmm11, qword [0x1400d2ff8]
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 0x140050138
cmp dword [rdi + 0x10], 0
jl 0x140050041
mov rcx, qword [r12]
cmp rcx, qword [rdi]
jne 0x140050041
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [r12 + 0x10], 0
jl 0x14004ffc7
cmp rax, qword [r12]
jne 0x14004ffc7
mov rsi, r12
lock add dword [r12 + 0x10], 1
jmp 0x14005000b
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [r12 + 8]
call qword [rax]
mov rsi, rax
test rax, rax
je 0x140051374
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.140091de0
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050026
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 0x140050138
movsxd r12, dword [r13]
test r12d, r12d
jne 0x1400500b5
mov r12, qword [rdi]
cmp dword [rdi + 8], 0
je 0x140050138
cmp dword [rdi + 0x10], 0
jge 0x140050075
cmp dword [rsi - 0xc], 0
jl 0x14005137a
mov dword [rsi - 0x10], r14d
mov word [rsi], 0
jmp 0x140050138
or eax, 0xffffffff
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050090
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 0x140050138
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 0x1400500e6
mov edx, r12d
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r13, r14
ja 0x140050103
lea rdi, [r12 + r12]
lea r8, [rsi + r13*2]
mov r9, rdi
mov rdx, rdi
mov rcx, rsi
call fcn.140091600
jmp 0x140050118
lea rdi, [r12 + r12]
mov r9, rdi
mov r8, rbp
mov rdx, rdi
mov rcx, rsi
call fcn.140091de0
test r12d, r12d
js 0x140051385
cmp r12d, dword [rsi - 0xc]
jg 0x140051385
mov dword [rsi - 0x10], r12d
mov word [rdi + rsi], 0
xor r14d, r14d
lea rax, [0x140000000]
mov r13, qword [rax + r15*8 + 0xf9f18]
test r13, r13
je 0x14005015f
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 0x140050192
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r12, r15
ja 0x14005019b
lea r13, [rsi + r12*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rsi + r15*2]
mov r9, rdx
mov r8, r13
call fcn.140091de0
test edi, edi
js 0x14005141a
cmp edi, dword [rsi - 0xc]
jg 0x14005141a
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 0x1400501e7
xor r13d, r13d
jmp 0x1400501fa
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 0x140050232
mov edx, r12d
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp rdi, r14
ja 0x14005023b
lea r15, [rsi + rdi*2]
movsxd rdx, r13d
add rdx, rdx
lea rcx, [rsi + r14*2]
mov r9, rdx
mov r8, r15
call fcn.140091de0
test r12d, r12d
js 0x14005140f
cmp r12d, dword [rsi - 0xc]
jg 0x14005140f
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 0x1400502c6
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r12, r14
ja 0x1400502cf
lea r13, [rsi + r12*2]
movsxd rdx, r15d
add rdx, rdx
lea rcx, [rsi + r14*2]
mov r9, rdx
mov r8, r13
call fcn.140091de0
test edi, edi
js 0x140051404
cmp edi, dword [rsi - 0xc]
jg 0x140051404
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 0x140050358
mov eax, r14d
test rbx, rbx
je 0x140050347
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x308]
mov qword [rsp + 0x70], rbx
test eax, eax
je 0x1400503d0
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 0x140051312
mov eax, r14d
test rbx, rbx
je 0x1400503bb
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x238]
mov qword [rsp + 0x70], rbx
test eax, eax
jne 0x140051312
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, [0x1400f8738]
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 0x1400505ff
call fcn.14006628c
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x140051390
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, [0x1400c6750]
lea rcx, [rsp + 0x2c8]
call fcn.140001e40
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 0x1400505d1
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140096180
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.140095e30
nop
lea rdx, [rbx - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
add eax, ebp
test eax, eax
jg 0x14005058b
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 0x140050603
lea rdx, [rbx - 0x18]
or r14, 0xffffffffffffffff
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, r14d
test eax, eax
jg 0x1400505f8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
jmp 0x140050603
mov rbx, qword [rsp + 0x70]
jmp 0x140050603
or r14, 0xffffffffffffffff
add r13d, 1
add r12, 0x10
cmp r13d, 0xa
jb 0x140050400
mov eax, dword [rsp + r15 + 0x3b4]
cvtsi2sd xmm6, rax
mulsd xmm6, xmm9
movsd xmm0, xmm6
call fcn.1400b3ae0
movsd xmm7, xmm0
movsd xmm0, xmm6
call fcn.1400b3bf0
movsd xmm2, xmm6
subsd xmm2, xmm7
movsd xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x140050657
movsd xmm7, xmm0
cvttsd2si rbp, xmm7
test rbx, rbx
je 0x1400507e4
call fcn.14006628c
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x14005139b
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, [0x1400c6750]
lea rcx, [rsp + 0x248]
call fcn.140001e40
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 0x1400507bc
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140096180
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.140095e30
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005077b
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 0x1400507e4
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400507df
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
jmp 0x1400507e4
mov rbx, qword [rsp + 0x70]
mov eax, dword [rsp + r15 + 0x3bc]
test eax, eax
jne 0x140050989
mov ebp, dword [rsp + r15 + 0x3c0]
test rbx, rbx
je 0x140050b22
call fcn.14006628c
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400513a6
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, [0x1400c6750]
lea rcx, [rsp + 0x348]
call fcn.140001e40
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 0x14005095f
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140096180
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.140095e30
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14005091b
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 0x140050b22
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050b1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
jmp 0x140050b22
cmp eax, 1
jne 0x140050b22
mov ebp, dword [rsp + r15 + 0x3d8]
test rbx, rbx
je 0x140050b22
call fcn.14006628c
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400513b1
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, [0x1400c6750]
lea rcx, [rsp + 0x258]
call fcn.140001e40
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 0x140050afa
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140096180
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.140095e30
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050ab9
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 0x140050b22
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050b1d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
jmp 0x140050b22
mov rbx, qword [rsp + 0x70]
cmp dword [0x14010144c], 0
je 0x140050cc1
test rbx, rbx
je 0x14005100c
call fcn.14006628c
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400513bc
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, [0x1400c6750]
lea rcx, [rsp + 0x2d8]
call fcn.140001e40
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 0x140050c94
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140096180
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.140095e30
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050c4e
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 0x140051014
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050ffd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
jmp 0x140051014
mov rax, qword [rsp + 0x90]
lea rcx, str.Music
cmp qword [rsp + rax*8 + 0x358], rcx
jne 0x140050e75
test rbx, rbx
je 0x140051007
call fcn.14006628c
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400513c7
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, [0x1400c6750]
lea rcx, [rsp + 0x268]
call fcn.140001e40
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 0x140050e48
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140096180
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.140095e30
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050dfd
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 0x140051014
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050ffd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
jmp 0x140051014
test rbx, rbx
je 0x140051011
call fcn.14006628c
xor ecx, ecx
test rax, rax
setne cl
test ecx, ecx
je 0x1400513d2
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, [0x1400c6750]
lea rcx, [rsp + 0x318]
call fcn.140001e40
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 0x140050fd7
mov r8, rdi
xor edx, edx
mov rcx, rax
call fcn.140096180
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.140095e30
nop
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050f94
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 0x140051014
lea rdx, [rbx - 0x18]
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140050ffd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
jmp 0x140051014
mov rbx, qword [rsp + 0x70]
xor r14d, r14d
jmp 0x140051014
xor r14d, r14d
jmp 0x140051014
xor r14d, r14d
jmp 0x140051014
xor r14d, r14d
mov eax, dword [rsp + r15 + 0x3c4]
cvtsi2sd xmm6, rax
mulsd xmm6, xmm12
mulsd xmm6, xmm13
movsd xmm0, xmm6
call fcn.1400b3ae0
movsd xmm7, xmm0
movsd xmm0, xmm6
call fcn.1400b3bf0
movsd xmm2, xmm6
subsd xmm2, xmm7
movsd xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x14005105b
movsd xmm7, xmm0
mov qword [rsp + 0x278], r14
test rbx, rbx
je 0x1400510c7
lea rdx, [rsp + 0x278]
lea rcx, [0x1400c5c28]
call fcn.140015850
test eax, eax
js 0x1400510c7
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.1400b3ae0
movsd xmm7, xmm0
movsd xmm0, xmm6
call fcn.1400b3bf0
movsd xmm2, xmm6
subsd xmm2, xmm7
movsd xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x140051109
movsd xmm7, xmm0
mov qword [rsp + 0x2e8], r14
test rbx, rbx
je 0x140051175
lea rdx, [rsp + 0x2e8]
lea rcx, [0x1400c5ca0]
call fcn.140015850
test eax, eax
js 0x140051175
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.1400b3ae0
movsd xmm7, xmm0
movsd xmm0, xmm6
call fcn.1400b3bf0
movsd xmm2, xmm6
subsd xmm2, xmm7
movsd xmm1, xmm0
subsd xmm1, xmm6
comisd xmm1, xmm2
jae 0x1400511b7
movsd xmm7, xmm0
mov qword [rsp + 0x288], r14
test rbx, rbx
je 0x140051223
lea rdx, [rsp + 0x288]
lea rcx, [0x1400c5b98]
call fcn.140015850
test eax, eax
js 0x140051223
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.1400b3ae0
movsd xmm8, xmm0
movsd xmm0, xmm6
call fcn.1400b3bf0
subsd xmm6, xmm8
movsd xmm1, xmm0
subsd xmm1, xmm10
subsd xmm1, xmm7
comisd xmm1, xmm6
jae 0x14005126f
movsd xmm8, xmm0
movsd xmm0, xmm11
subsd xmm0, xmm8
cvttsd2si rdi, xmm0
mov qword [rsp + 0x338], r14
test rbx, rbx
je 0x140051305
lea rdx, [rsp + 0x338]
lea rcx, [0x1400c5bc8]
call fcn.140015850
test eax, eax
js 0x1400512e5
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 0x140051312
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 0x14004ff80
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 0x1400513dd
jmp 0x14004ff70
call fcn.140018f80
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.1400735b0
mov r9d, 1
lea r8, str.DtsPresetInited
lea rdx, str.General
mov rcx, qword [rax + 8]
call fcn.1400738f0
jmp 0x140052467
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 0x140051449
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 0x1400524e9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400524e9
mov ecx, 0x80070057
call fcn.140001950
int3
test esi, esi
je 0x1400514d1
mov rdx, qword [rsp + 0x78]
add rdx, 0xffffffffffffffe8
mov eax, r14d
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400514a4
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 0x1400524e9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400524e9
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.140001bc0
lea rdx, [0x1400c5e18]
lea rcx, [rsp + 0x80]
call fcn.140010650
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 0x140051561
mov rdi, qword [rsp + 0x298]
mov qword [rsp + 0x98], rdi
jmp 0x140051601
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.140014880
test eax, eax
je 0x1400515f9
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x1400515aa
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 0x1400515cc
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 0x1400524e9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400524e9
mov rdi, qword [rsp + 0x98]
lea rsi, [rsp + 0x1d8]
nop
nop
lea rcx, [rsp + 0x7d0]
mov rax, qword [r13 + 0xc5450]
mov qword [rcx], rax
mov rax, qword [r13 + 0xc5458]
mov qword [rcx + 8], rax
mov eax, dword [r13 + 0xc5460]
mov dword [rcx + 0x10], eax
cmp dword [rsi], r15d
je 0x140051649
add dword [rsp + 0x7e0], 0xbb8
jmp 0x140051667
cmp dword [rsi + 4], r15d
je 0x14005165c
add dword [rsp + 0x7e0], 0x3e8
jmp 0x140051667
add dword [rsp + 0x7e0], 0x7d0
mov qword [rsp + 0x2f8], r15
test rdi, rdi
je 0x1400516d3
lea rdx, [rsp + 0x2f8]
lea rcx, [rsp + 0x7d0]
call fcn.140015850
test eax, eax
js 0x1400516d3
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 0x140051610
test rdi, rdi
je 0x1400516f7
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 0x140051736
or r14, 0xffffffffffffffff
lea rdi, [rsi - 0x18]
cmp r13, rdi
je 0x140051804
cmp dword [rdi + 0x10], 0
jl 0x1400517ee
mov rcx, qword [r13]
cmp rcx, qword [rdi]
jne 0x1400517ee
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [r13 + 0x10], 0
jl 0x14005177b
cmp rax, qword [r13]
jne 0x14005177b
mov rsi, r13
lock add dword [r13 + 0x10], 1
jmp 0x1400517bb
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [r13 + 8]
call qword [rax]
mov rsi, rax
test rax, rax
je 0x14005243e
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.140091de0
mov eax, r14d
lock xadd dword [rdi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400517d6
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 0x140051804
mov r8d, dword [rbp - 0x10]
mov rdx, rbp
lea rcx, [rsp + 0x78]
call fcn.140001bc0
mov rsi, qword [rsp + 0x78]
lea rax, [0x140000000]
mov r13, qword [rax + r12*8 + 0xf9f18]
test r13, r13
jne 0x14005181d
mov r14d, r15d
jmp 0x14005182f
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 0x140051862
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r12, r15
ja 0x14005186b
lea r13, [rsi + r12*2]
movsxd rdx, r14d
add rdx, rdx
lea rcx, [rsi + r15*2]
mov r9, rdx
mov r8, r13
call fcn.140091de0
test edi, edi
js 0x1400524de
cmp edi, dword [rsi - 0xc]
jg 0x1400524de
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 0x1400518b7
xor r13d, r13d
jmp 0x1400518ca
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 0x140051902
mov edx, r12d
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp rdi, r14
ja 0x14005190b
lea r15, [rsi + rdi*2]
movsxd rdx, r13d
add rdx, rdx
lea rcx, [rsi + r14*2]
mov r9, rdx
mov r8, r15
call fcn.140091de0
test r12d, r12d
js 0x1400524d3
cmp r12d, dword [rsi - 0xc]
jg 0x1400524d3
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 0x140051996
mov edx, edi
lea rcx, [rsp + 0x78]
call fcn.140001970
mov rsi, qword [rsp + 0x78]
cmp r12, r14
ja 0x14005199f
lea r13, [rsi + r12*2]
movsxd rdx, r15d
add rdx, rdx
lea rcx, [rsi + r14*2]
mov r9, rdx
mov r8, r13
call fcn.140091de0
test edi, edi
js 0x1400524c8
cmp edi, dword [rsi - 0xc]
jg 0x1400524c8
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 0x140051a28
mov eax, r15d
test rbx, rbx
je 0x140051a17
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x2a8]
mov qword [rsp + 0x70], rbx
test eax, eax
je 0x140051aa0
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 0x1400523d6
mov eax, r15d
test rbx, rbx
je 0x140051a8b
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, qword [rsp + 0x328]
mov qword [rsp + 0x70], rbx
test eax, eax
jne 0x1400523e0
mov qword [rsp + 0x2b8], r15
test rbx, rbx
je 0x140051b08
lea rdx, [rsp + 0x2b8]
lea rcx, [0x1400c5bf8]
call fcn.140015850
test eax, eax
js 0x140051b08
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 0x140051b8f
mov qword [rsp + 0x218], r15
test rbx, rbx
je 0x140051bf7
lea rdx, [rsp + 0x218]
lea rcx, [0x1400c5c10]
call fcn.140015850
test eax, eax
js 0x140051bf7
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 0x140051bf7
mov qword [rsp + 0x230], r15
test rbx, rbx
je 0x140051bf7
lea rdx, [rsp + 0x230]
lea rcx, [0x1400c5c10]
call fcn.140015850
test eax, eax
js 0x140051bf7
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 0x140051c5f
lea rdx, [rsp + 0x240]
lea rcx, [0x1400c5c28]
call fcn.140015850
test eax, eax
js 0x140051c5f
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 0x140051cca
lea rdx, [rsp + 0x210]
lea rcx, [0x1400c5c40]
call fcn.140015850
test eax, eax
js 0x140051cca
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 0x140051d32
lea rdx, [rsp + 0x260]
lea rcx, [0x1400c5c58]
call fcn.140015850
test eax, eax
js 0x140051d32
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 [0x14010144c], r15d
je 0x140051db0
mov qword [rsp + 0x270], r15
test rbx, rbx
je 0x140051ea6
lea rdx, [rsp + 0x270]
lea rcx, [0x1400c5c70]
call fcn.140015850
test eax, eax
js 0x140051ea6
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 0x140051ea6
mov rax, qword [rsp + 0xa0]
lea rcx, str.Music
cmp qword [rsp + rax*8 + 0x358], rcx
jne 0x140051e3e
mov qword [rsp + 0x280], r15
test rbx, rbx
je 0x140051ea6
lea rdx, [rsp + 0x280]
lea rcx, [0x1400c5c70]
call fcn.140015850
test eax, eax
js 0x140051ea6
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 0x140051ea6
mov qword [rsp + 0x290], r15
test rbx, rbx
je 0x140051ea6
lea rdx, [rsp + 0x290]
lea rcx, [0x1400c5c70]
call fcn.140015850
test eax, eax
js 0x140051ea6
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 0x140051f0e
lea rdx, [rsp + 0x2a0]
lea rcx, [0x1400c5ce8]
call fcn.140015850
test eax, eax
js 0x140051f0e
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 0x140051f76
lea rdx, [rsp + 0x2b0]
lea rcx, [0x1400c5d00]
call fcn.140015850
test eax, eax
js 0x140051f76
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 0x140051fde
lea rdx, [rsp + 0x2c0]
lea rcx, [0x1400c5c88]
call fcn.140015850
test eax, eax
js 0x140051fde
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 0x140052046
lea rdx, [rsp + 0x2d0]
lea rcx, [0x1400c5ca0]
call fcn.140015850
test eax, eax
js 0x140052046
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 0x1400520b1
lea rdx, [rsp + 0x2e0]
lea rcx, [0x1400c5cb8]
call fcn.140015850
test eax, eax
js 0x1400520b1
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 0x140052119
lea rdx, [rsp + 0x2f0]
lea rcx, [0x1400c5cd0]
call fcn.140015850
test eax, eax
js 0x140052119
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 0x1400521ae
mov rax, qword [rsp + 0xb8]
bt dword [rax + 0xa50], 0x16
jae 0x1400521ae
mov qword [rsp + 0x300], r15
test rbx, rbx
je 0x140052216
lea rdx, [rsp + 0x300]
lea rcx, [0x1400c5b80]
call fcn.140015850
test eax, eax
js 0x140052216
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 0x140052216
mov qword [rsp + 0x310], r15
test rbx, rbx
je 0x140052216
lea rdx, [rsp + 0x310]
lea rcx, [0x1400c5b80]
call fcn.140015850
test eax, eax
js 0x140052216
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 0x140052281
lea rdx, [rsp + 0x320]
lea rcx, [0x1400c5b98]
call fcn.140015850
test eax, eax
js 0x140052281
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 0x1400522e9
lea rdx, [rsp + 0x330]
lea rcx, [0x1400c5bb0]
call fcn.140015850
test eax, eax
js 0x1400522e9
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 0x140052354
lea rdx, [rsp + 0x340]
lea rcx, [0x1400c5bc8]
call fcn.140015850
test eax, eax
js 0x140052354
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 0x1400523e8
lea rdx, [rsp + 0x350]
lea rcx, [0x1400c5be0]
call fcn.140015850
test eax, eax
js 0x1400523c3
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 0x1400523e8
mov r12, qword [rsp + 0x90]
jmp 0x1400523e8
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 0x140051732
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 0x140052444
or r14, 0xffffffffffffffff
jmp 0x140051720
call fcn.140018f80
int3
call fcn.1400735b0
mov r9d, 2
lea r8, str.DtsPresetInited
lea rdx, str.General
mov rcx, qword [rax + 8]
call fcn.1400738f0
nop
test rbx, rbx
je 0x140052476
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x14005248a
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 0x1400524a9
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 0x1400524e9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x1400524e9
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.140091dc0
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