Function at 0x14005a114
Capabilities:
Query or enumerate registry value

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rsi, rcx
xor r15d, r15d
lea rcx, [rbp - 0x10]
mov edi, r15d
mov rbx, r8
mov r14, rdx
call fcn.140005058
or r12, 0xffffffffffffffff
lea r13, [0x1400b2160]
mov rax, r12
inc rax
cmp word [r13 + rax*2], r15w
jne 0x14005a151
mov r8d, eax
lea rcx, [rbp - 0x10]
mov rdx, r13
call fcn.14000543c
lea rcx, str.SoftwareMicrosoftMediaPlayerPreferencesHME
mov rax, r12
inc rax
cmp word [rcx + rax*2], r15w
jne 0x14005a175
mov rdx, rcx
mov r8d, eax
lea rcx, [rbp - 0x10]
call fcn.14000543c
mov rax, r12
inc rax
cmp word [r13 + rax*2], r15w
jne 0x14005a191
mov r8d, eax
lea rcx, [rbp - 0x10]
mov rdx, r13
call fcn.14000543c
test rbx, rbx
jne 0x14005a1b5
mov eax, r15d
jmp 0x14005a1c2
mov rax, r12
inc rax
cmp word [rbx + rax*2], r15w
jne 0x14005a1b8
mov r8d, eax
lea rcx, [rbp - 0x10]
mov rdx, rbx
call fcn.14000543c
mov rbx, qword [rbp - 0x10]
lea rax, [rbp - 8]
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
mov qword [rbp - 8], r15
xor r8d, r8d
mov rcx, 0xffffffff80000003
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
nop dword [rax + rax]
mov r12d, 0x80070000
test eax, eax
je 0x14005a2f9
jg 0x14005a215
mov edi, eax
jmp 0x14005a21b
movzx edi, ax
or edi, r12d
test edi, edi
jns 0x14005a2f9
test r14, r14
jne 0x14005a22d
mov eax, r15d
jmp 0x14005a23b
or rax, 0xffffffffffffffff
inc rax
cmp word [r14 + rax*2], r15w
jne 0x14005a231
mov r8d, eax
lea rcx, [rbp - 0x10]
mov rdx, r14
call fcn.140005cf4
or rax, 0xffffffffffffffff
inc rax
cmp word [r13 + rax*2], r15w
jne 0x14005a24e
mov r8d, eax
lea rcx, [rbp - 0x10]
mov rdx, r13
call fcn.14000543c
or rax, 0xffffffffffffffff
lea rdx, str.SoftwareMicrosoftMediaPlayerPreferencesHME
inc rax
cmp word [rdx + rax*2], r15w
jne 0x14005a273
mov r8d, eax
lea rcx, [rbp - 0x10]
call fcn.14000543c
lea rdx, str.Default
or rax, 0xffffffffffffffff
inc rax
cmp word [rdx + rax*2], r15w
jne 0x14005a294
mov r8d, eax
lea rcx, [rbp - 0x10]
call fcn.14000543c
mov rbx, qword [rbp - 0x10]
lea rax, [rbp - 8]
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov r9d, 0x20119
xor r8d, r8d
mov rcx, 0xffffffff80000003
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
nop dword [rax + rax]
mov edi, eax
test eax, eax
je 0x14005a2f6
jle 0x14005a2e4
movzx edi, ax
or edi, r12d
test edi, edi
jns 0x14005a2f9
mov edi, r15d
mov dword [rsi], 1
jmp 0x14005a5a2
mov edi, r15d
mov rcx, qword [rbp - 8]
lea rax, [rbp + 0x58]
mov qword [rsp + 0x30], rax
lea r8, str.AccessPrivateContent
lea rax, [rbp + 0x50]
mov dword [rsi], r15d
mov qword [rsp + 0x28], rax
mov r14d, reloc.OLEAUT32.dll_SafeArrayGetDim
mov r9d, r14d
mov qword [rsp + 0x20], r15
xor edx, edx
mov dword [rbp + 0x58], 4
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
nop dword [rax + rax]
test eax, eax
je 0x14005a34c
jg 0x14005a346
mov edi, eax
jmp 0x14005a34c
movzx edi, ax
or edi, r12d
mov r13d, 8
test edi, edi
js 0x14005a4fb
cmp dword [rbp + 0x50], r15d
lea r8, str.ZeroStars
mov rcx, qword [rbp - 8]
mov eax, r15d
setne al
mov r9d, r14d
mov dword [rsi + 4], eax
xor edx, edx
lea rax, [rbp + 0x58]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
nop dword [rax + rax]
test eax, eax
je 0x14005a3b2
jg 0x14005a3a4
mov edi, eax
jmp 0x14005a3aa
movzx edi, ax
or edi, r12d
test edi, edi
js 0x14005a4fb
cmp dword [rbp + 0x50], r15d
lea r8, str.MinStars
mov rcx, qword [rbp - 8]
mov eax, r15d
setne al
mov r9d, r14d
mov dword [rsi + 0x10], eax
xor edx, edx
lea rax, [rbp + 0x58]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
nop dword [rax + rax]
test eax, eax
je 0x14005a40a
jg 0x14005a3fc
mov edi, eax
jmp 0x14005a402
movzx edi, ax
or edi, r12d
test edi, edi
js 0x14005a4fb
mov eax, dword [rbp + 0x50]
lea r8, str.AllStars
mov rcx, qword [rbp - 8]
mov r9d, r14d
mov dword [rsi + 0xc], eax
xor edx, edx
lea rax, [rbp + 0x58]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
nop dword [rax + rax]
test eax, eax
je 0x14005a45b
jg 0x14005a44d
mov edi, eax
jmp 0x14005a453
movzx edi, ax
or edi, r12d
test edi, edi
js 0x14005a4fb
cmp dword [rbp + 0x50], r15d
lea r8, str.AllParentalRatings
mov rcx, qword [rbp - 8]
mov eax, r15d
setne al
mov r9d, r14d
mov dword [rsi + 8], eax
xor edx, edx
lea rax, [rbp + 0x58]
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x50]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
nop dword [rax + rax]
test eax, eax
je 0x14005a4af
jg 0x14005a4a5
mov edi, eax
jmp 0x14005a4ab
movzx edi, ax
or edi, r12d
test edi, edi
js 0x14005a4fb
cmp dword [rbp + 0x50], r15d
lea r8, str.ParentalRatingData
mov rcx, qword [rbp - 8]
mov eax, r15d
setne al
mov r9d, r13d
mov dword [rsi + 0x14], eax
xor edx, edx
lea rax, [rbp + 0x58]
mov qword [rsp + 0x30], rax
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], r15
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
nop dword [rax + rax]
test eax, eax
je 0x14005a4fb
jg 0x14005a4f5
mov edi, eax
jmp 0x14005a4fb
movzx edi, ax
or edi, r12d
cmp dword [rsi + 0x14], r15d
jne 0x14005a5a2
test edi, edi
js 0x14005a5a2
mov ecx, dword [rbp + 0x58]
call qword [sym.imp.ole32.dll_CoTaskMemAlloc]
nop dword [rax + rax]
mov qword [rsi + 0x20], rax
test rax, rax
jne 0x14005a52c
mov edi, 0x8007000e
jmp 0x14005a5a2
lea rcx, [rbp + 0x58]
mov r9d, r13d
mov qword [rsp + 0x30], rcx
lea r8, str.ParentalRatingData
mov rcx, qword [rbp - 8]
xor edx, edx
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r15
call qword [sym.imp.ADVAPI32.dll_RegGetValueW]
nop dword [rax + rax]
mov r14d, eax
test eax, eax
je 0x14005a58b
mov rcx, qword [rsi + 0x20]
call qword [sym.imp.ole32.dll_CoTaskMemFree]
nop dword [rax + rax]
mov qword [rsi + 0x20], r15
test r14d, r14d
jg 0x14005a580
mov edi, r14d
jmp 0x14005a587
movzx edi, r14w
or edi, r12d
test edi, edi
js 0x14005a5a2
mov ecx, dword [rbp + 0x58]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 3
mov dword [rsi + 0x18], edx
mov rcx, qword [rbp - 8]
test rcx, rcx
je 0x14005a5b7
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop dword [rax + rax]
lea rdx, [rbx - 0x18]
or ecx, 0xffffffff
lock xadd dword [rdx + 0x10], ecx
sub ecx, 1
jg 0x14005a5e2
mov rcx, qword [rdx]
mov r8, qword [rcx]
movabs r10, 0xee98078a7ad38370
mov rax, qword [r8 + 8]
call qword [case.0x140071786.0]
mov rbx, qword [rsp + 0x90]
mov eax, edi
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret