Function at 0x140014c2c
Capabilities:
Delete registry value
Set registry value

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r14
push r15
lea rbp, [rax - 0x1c8]
sub rsp, 0x2b0
mov rax, qword [0x1400592a0]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
xor r14d, r14d
mov ebx, ecx
cmp dword [0x14005a6d8], r14d
mov qword [rsp + 0x50], r14
je 0x140014cf7
call fcn.14001679c
call fcn.1400160b4
cmp dword [0x14005a6dc], r14d
je 0x140014d3f
cmp qword [0x14005a6d0], r14
je 0x140014d3f
call fcn.14001749c
test rax, rax
je 0x140014d3f
call fcn.14001749c
xor edx, edx
mov rcx, rax
call fcn.14002ff40
test rax, rax
je 0x140014cd5
call fcn.14001749c
mov rdi, rax
call fcn.14001749c
xor edx, edx
mov rcx, rax
call fcn.14002ff40
jmp 0x140014cea
call fcn.14001749c
mov rdi, rax
call fcn.14001749c
mov rcx, rax
call fcn.14002fff4
mov rdx, rax
mov rcx, rdi
call fcn.140032f68
jmp 0x140014d17
test ebx, ebx
je 0x140014d3f
cmp dword [0x14005a6dc], r14d
je 0x140014d3f
cmp qword [0x14005a6d0], r14
je 0x140014d3f
call fcn.14001749c
test rax, rax
je 0x140014d3f
call fcn.14001749c
mov rcx, rax
cmp dword [rax + 0x70], r14d
je 0x140014d3f
mov rax, qword [rax]
test rax, rax
jne 0x140014d37
call fcn.14002fff4
test rax, rax
je 0x140014d3f
mov rcx, rax
call fcn.140032b08
mov qword [rsp + 0x40], r14
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
lea rdx, str.SoftwareMicrosoftMediaPlayerPreferences
mov qword [rsp + 0x30], r14
xor r9d, r9d
mov dword [rsp + 0x28], 2
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov dword [rsp + 0x20], r14d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
nop dword [rax + rax]
mov r15d, 4
lea rdi, str.AcceptedPrivacyStatement
test eax, eax
jne 0x140014df6
cmp dword [0x140059cc4], r14d
mov dword [rsp + 0x58], 1
jne 0x140014dd1
test ebx, ebx
je 0x140014de5
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x58]
mov dword [rsp + 0x28], r15d
mov r9d, r15d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop dword [rax + rax]
jmp 0x140014de5
mov rcx, qword [rsp + 0x50]
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
lea rcx, [rsp + 0x60]
call fcn.140043534
or word [rsp + 0x6c], r15w
lea rcx, [rsp + 0x60]
call fcn.1400161a4
mov esi, 3
test eax, eax
js 0x140014ef5
mov rdx, qword [rsp + 0x60]
lea rax, [rsp + 0x50]
mov r9d, esi
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
nop dword [rax + rax]
test eax, eax
jne 0x140014ef5
cmp dword [0x140059cc4], r14d
mov dword [rsp + 0x58], 1
jne 0x140014e8d
test ebx, ebx
je 0x140014ed6
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x58]
mov dword [rsp + 0x28], r15d
mov r9d, r15d
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop dword [rax + rax]
jmp 0x140014ea5
mov rcx, qword [rsp + 0x50]
mov rdx, rdi
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
nop dword [rax + rax]
test ebx, ebx
je 0x140014ed6
mov rcx, qword [rsp + 0x50]
lea rdi, [0x14005a6ec]
mov dword [rsp + 0x28], r15d
lea rdx, str.UsageTracking
mov r9d, r15d
mov qword [rsp + 0x20], rdi
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop dword [rax + rax]
jmp 0x140014edd
lea rdi, [0x14005a6ec]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
mov qword [rsp + 0x50], r14
jmp 0x140014efc
lea rdi, [0x14005a6ec]
test ebx, ebx
je 0x1400150d3
mov qword [rsp + 0x40], r14
lea rax, [rsp + 0x50]
mov qword [rsp + 0x38], rax
lea rdx, str.SoftwareMicrosoftMediaPlayerPreferences
mov qword [rsp + 0x30], r14
xor r9d, r9d
mov dword [rsp + 0x28], esi
xor r8d, r8d
mov rcx, 0xffffffff80000001
mov dword [rsp + 0x20], r14d
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
nop dword [rax + rax]
test eax, eax
jne 0x1400150ce
mov rcx, qword [rsp + 0x50]
lea rax, [0x14005a718]
mov dword [rsp + 0x28], r15d
lea rdx, str.MetadataRetrieval
mov r9d, r15d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
lea rax, [0x14005a738]
mov dword [rsp + 0x28], 1
lea rdx, str.SendUserGUID
mov r9d, esi
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
lea rax, [0x14005a720]
mov dword [rsp + 0x28], r15d
lea rdx, str.SilentAcquisition
mov r9d, r15d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
lea rdx, str.UsageTracking
mov r9d, r15d
mov dword [rsp + 0x28], r15d
xor r8d, r8d
mov qword [rsp + 0x20], rdi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
lea rax, [0x14005a6e4]
mov dword [rsp + 0x28], r15d
lea rdx, str.DisableMRUMusic
mov r9d, r15d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
lea rax, [0x14005a734]
mov dword [rsp + 0x28], r15d
lea rdx, str.DisableMRUPictures
mov r9d, r15d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
lea rax, [0x14005a700]
mov dword [rsp + 0x28], r15d
lea rdx, str.DisableMRUVideo
mov r9d, r15d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
lea rax, [0x14005a704]
mov dword [rsp + 0x28], r15d
lea rdx, str.DisableMRUPlaylists
mov r9d, r15d
mov qword [rsp + 0x20], rax
xor r8d, r8d
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
call fcn.14001e214
mov rcx, qword [0x14005a708]
movzx eax, r14w
mov word [rbp - 0x70], ax
mov edi, 0x104
test rcx, rcx
je 0x14001514a
mov rdx, qword [rcx + 0x50]
test rdx, rdx
je 0x1400150fe
cmp word [rdx], r14w
setne al
jmp 0x140015101
mov eax, r14d
test al, al
je 0x14001511c
mov r8d, edi
lea rdx, [rbp - 0x70]
add rcx, 0x50
call fcn.140043a40
mov rcx, qword [0x14005a708]
call fcn.140018be0
mov rcx, qword [0x14005a708]
mov rax, qword [rcx]
movabs r10, 0xbaac1f10365eb170
mov rax, qword [rax + 0x10]
call qword [0x140048188]
movzx eax, word [rbp - 0x70]
mov qword [0x14005a708], r14
test ebx, ebx
je 0x14001523c
test ax, ax
je 0x140015221
mov edx, reloc.ATL.DLL_AtlInternalQueryInterface
lea rcx, [rbp - 0x70]
call qword [sym.imp.api_ms_win_crt_private_l1_1_0.dll_wcschr]
nop dword [rax + rax]
test rax, rax
je 0x140015221
mov eax, 0x22
cmp ax, word [rbp - 0x70]
je 0x140015221
or rcx, 0xffffffffffffffff
lea rax, [rbp - 0x70]
mov rbx, rcx
inc rbx
cmp word [rax + rbx*2], r14w
jne 0x140015193
add rbx, 5
mov eax, 2
mul rbx
cmovo rax, rcx
mov rcx, rax
call fcn.1400014a0
mov rsi, rax
test rax, rax
je 0x14001521c
lea r9, [rbp - 0x70]
mov rdx, rbx
lea r8, str.__s_
mov rcx, rax
call fcn.140010e44
lea rax, [rbp - 0x70]
mov rdx, rsi
sub rdx, rax
lea rcx, [rbp - 0x70]
lea rax, [rdi + 0x7ffffefa]
test rax, rax
je 0x140015203
movzx eax, word [rdx + rcx]
test ax, ax
je 0x140015203
mov word [rcx], ax
add rcx, 2
sub rdi, 1
jne 0x1400151e1
lea rax, [rcx - 2]
test rdi, rdi
cmovne rax, rcx
mov rcx, rsi
mov word [rax], r14w
call fcn.140001454
jmp 0x140015221
mov word [rbp - 0x70], r14w
cmp dword [0x1400592f8], r14d
je 0x140015237
lea rcx, [rbp - 0x70]
call fcn.140015c60
test eax, eax
jne 0x14001523c
call fcn.140019f40
test byte [0x140059cc0], 1
je 0x140015270
lea rax, [rsp + 0x58]
mov dword [rsp + 0x58], 1
mov qword [rbp - 0x80], rax
lea rdx, [0x14004a3c8]
lea rax, [rsp + 0x70]
mov qword [rbp - 0x78], r15
mov qword [rsp + 0x20], rax
call fcn.140012390
lea rcx, [rsp + 0x60]
call fcn.140043af4
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.1400017f0
lea r11, [rsp + 0x2b0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret