Function at 0x14015bb90
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x4a8]
sub rsp, 0x580
mov qword [rbp - 0x20], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14044b080]
xor rax, rsp
mov qword [rbp + 0x470], rax
mov rsi, rcx
mov qword [rbp - 0x18], rcx
lea rax, vtable.CJackBase.0
mov qword [rcx], rax
add rcx, 8
call fcn.14006c1e0
xor eax, eax
mov qword [rsi + 0x28], rax
mov qword [rsi + 0x30], rax
mov qword [rsi + 0x38], rax
lea rax, vtable.CGenericWindow.0
mov qword [rsi + 0x40], rax
xor edi, edi
mov qword [rsi + 0x48], rdi
mov qword [rsi + 0x58], rdi
mov dword [rsi + 0x50], edi
mov qword [rsi + 0x60], rdi
mov dword [rsi + 0x68], edi
mov word [rsi + 0x6c], di
lea rax, vtable.CPropChangeEvent.0
mov qword [rsi + 0x70], rax
lea rbx, [rsi + 0x78]
mov qword [rsp + 0x40], rbx
lea rax, vtable.CCapxJackRegistration.0
mov qword [rbx], rax
lea rcx, [rbx + 8]
lea edx, [rdi + 1]
call fcn.14029c000
nop
lea rcx, [rbx + 0x158]
call fcn.140115820
mov qword [rbx + 0x268], rdi
mov qword [rbx + 0x270], rdi
mov byte [rbx + 0x278], dil
mov qword [rsi + 0x300], rdi
mov qword [rsi + 0x308], rdi
mov dword [rsi + 0x310], edi
mov byte [rsi + 0x314], dil
lea rax, vtable.CRealtekJack.1.0
mov qword [rsi], rax
lea rax, vtable.CRealtekJack.2.0
mov qword [rsi + 0x40], rax
lea rax, vtable.CRealtekJack.4.0
mov qword [rsi + 0x70], rax
lea rax, vtable.CRealtekJack.3.0
mov qword [rbx], rax
lea rax, vtable.CRealtekJack.0
mov qword [rsi + 0x2f8], rax
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x14015c54a
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsi + 0x328], rax
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x14015c555
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsi + 0x330], rax
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x14015c560
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsi + 0x338], rax
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x14015c56b
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsi + 0x340], rax
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x14015c576
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsi + 0x348], rax
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x14015c581
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsi + 0x350], rax
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x14015c58c
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsi + 0x358], rax
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x14015c597
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsi + 0x360], rax
mov qword [rsi + 0x378], rdi
mov qword [rsi + 0x380], rdi
mov qword [rsi + 0x388], rdi
mov qword [rsi + 0x390], rdi
lea r14, [rsi + 0x398]
mov qword [rsp + 0x40], r14
mov qword [r14], rdi
mov qword [r14 + 8], rdi
call fcn.140054a00
mov qword [r14], rax
mov dword [rsi + 0x3b0], edi
mov qword [rsi + 0x3b8], rdi
lea rbx, [rsi + 0x3c0]
mov qword [rsp + 0x40], rbx
mov qword [rbx], rdi
mov qword [rbx + 8], rdi
call fcn.14004a700
mov qword [rbx], rax
lea rbx, [rsi + 0x3d0]
mov qword [rsp + 0x40], rbx
mov qword [rbx], rdi
mov qword [rbx + 8], rdi
call fcn.14004a700
mov qword [rbx], rax
mov byte [rsi + 0x3e0], dil
mov qword [rsi + 0x420], rdi
mov qword [rsi + 0x428], rdi
mov byte [rsi + 0x430], dil
mov dword [rsi + 0x434], edi
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x14015c5a2
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsi + 0x438], rax
lea rax, vtable.CAudioProperties.0
mov qword [rsi + 0x440], rax
mov qword [rsi + 0x480], rdi
xor eax, eax
mov qword [rsi + 0x44c], rax
mov qword [rsi + 0x454], rax
mov qword [rsi + 0x45c], rax
mov qword [rsi + 0x464], rax
mov qword [rsi + 0x46c], rax
mov qword [rsi + 0x478], rdi
mov dword [rsi + 0x448], edi
mov word [rsi + 0x488], di
mov qword [rsi + 0x690], rdi
mov dword [rsi + 0x698], edi
mov qword [rsi + 0x6a0], rdi
mov qword [rsi + 0x6a8], rdi
mov qword [rsi + 0x6b0], rdi
lea rcx, [rsi + 0x6b8]
mov ebx, 2
mov edx, ebx
call fcn.1401e616c
nop
mov qword [rsi + 0x708], rdi
mov qword [rsi + 0x710], rdi
mov byte [rsi + 0x718], dil
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x14015c53f
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsi + 0x720], rax
mov qword [rsi + 0x728], rdi
mov dword [rsi + 0x730], edi
lea rcx, [rsi + 0x738]
mov edx, ebx
call fcn.1401e616c
nop
mov qword [rsi + 0x788], rdi
lea rbx, [rsi + 0x790]
mov qword [rsp + 0x40], rbx
mov qword [rbx], rdi
mov qword [rbx + 8], rdi
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], rdi
mov qword [rbx + 0x20], rdi
mov r13d, 0x10
mov ecx, r13d
call fcn.140202bf8
mov qword [rbx], rax
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x10], xmm0
movups xmmword [rax], xmm0
mov rax, qword [rbx]
mov qword [rax], rbx
mov byte [rsi + 0x7b8], dil
lea rbx, [rsi + 0x7c0]
mov qword [rsp + 0x40], rbx
mov qword [rbx], rdi
mov qword [rbx + 8], rdi
call fcn.1400463f0
mov qword [rbx], rax
mov qword [rsi + 0x7d0], rdi
mov byte [rsi + 0x7d8], dil
lea rcx, [rsi + 0x7e0]
lea edx, [rdi + 2]
call fcn.1401e616c
nop
lea rdi, [rsi + 0x830]
mov qword [rsp + 0x40], rdi
lea rax, vtable.CEndpointList.0
mov qword [rdi], rax
lea rbx, [rdi + 8]
mov qword [rsp + 0x40], rbx
xor eax, eax
mov qword [rbx], rax
mov qword [rbx + 8], rax
call fcn.1400463f0
mov qword [rbx], rax
xor eax, eax
mov qword [rdi + 0x20], rax
mov qword [rdi + 0x28], rax
mov qword [rdi + 0x30], rax
mov byte [rdi + 0x18], al
lea rax, vtable.WMIRegistryWatcher.0
mov qword [rsi + 0x868], rax
xor edi, edi
mov qword [rsi + 0x870], rdi
mov qword [rsi + 0x878], rdi
mov qword [rsi + 0x880], rdi
mov qword [rsi + 0x888], rdi
mov qword [rsi + 0x890], rdi
mov qword [rsi + 0x898], rdi
lea rax, vtable.EventSink.0
mov qword [rsi + 0x8a0], rax
mov dword [rsi + 0x8a8], edi
mov qword [rsi + 0x8c8], rdi
mov qword [rsi + 0x8d0], 7
mov word [rsi + 0x8b8], di
mov qword [rsi + 0x8e8], rdi
mov qword [rsi + 0x8f0], 7
mov word [rsi + 0x8d8], di
mov byte [rsi + 0x8f8], dil
mov qword [rsi + 0x900], rdi
mov dword [rsi + 0x908], edi
mov qword [rsi + 0x910], rdi
mov qword [rsi + 0x918], rdi
mov qword [rsi + 0x920], rdi
mov qword [rsi + 0x928], rdi
lea rax, str.CRealtekJack__
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rdi
lea r9d, [r13 - 0xe]
lea r8, [0x1404675c0]
lea edx, [rdi + 0x46]
lea rcx, str.d:jenkinsworkspacemainrel4_dellconsumermainrel4_dellconsumerplatform_vista_shared_realtekjack.cpp
call fcn.140039f30
mov rcx, rsi
call fcn.14015f9b0
mov dword [rsi + 0x368], eax
mov qword [rsi + 0x36c], rdi
mov dword [rsi + 0x320], 0xffffffff
mov dword [rsi + 0x324], edi
mov qword [rsi + 0x318], rdi
lea rdx, [0x14032847b]
lea rcx, [rsi + 0x330]
call fcn.14003b460
mov rax, qword [rsi + 0x378]
mov qword [rsi + 0x380], rax
mov rcx, r14
call fcn.140054880
mov qword [rsi + 0x3a8], rdi
mov ebx, 8
mov qword [rsp + 0x48], rbx
lea rdx, [rsp + 0x48]
mov rcx, r14
call fcn.140165af0
mov r12d, 2
mov word [rax], r12w
mov qword [rsp + 0x50], 0xa
lea rdx, [rsp + 0x50]
mov rcx, r14
call fcn.140165af0
mov ecx, 1
mov word [rax], cx
mov dword [rsp + 0x58], r12d
mov dword [rsp + 0x5c], 0xa
lea rdx, [rsp + 0x58]
mov rcx, r14
call fcn.140165af0
mov r12d, 4
mov word [rax], r12w
mov eax, 2
mov dword [rsp + 0x60], eax
mov dword [rsp + 0x64], VariantTimeToDosDateTime
lea rdx, [rsp + 0x60]
mov rcx, r14
call fcn.140165af0
mov word [rax], r12w
mov eax, 1
mov dword [rsp + 0x68], eax
mov dword [rsp + 0x6c], 0xd
lea rdx, [rsp + 0x68]
mov rcx, r14
call fcn.140165af0
mov word [rax], bx
mov ebx, 2
mov qword [rsp + 0x70], rbx
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.140165af0
mov word [rax], r13w
mov r13d, 1
mov qword [rsp + 0x78], r13
lea rdx, [rsp + 0x78]
mov rcx, r14
call fcn.140165af0
mov ecx, 0x20
mov word [rax], cx
mov dword [rbp - 0x80], r13d
mov dword [rbp - 0x7c], r13d
lea rdx, [rbp - 0x80]
mov rcx, r14
call fcn.140165af0
mov ecx, 0x40
mov word [rax], cx
mov dword [rbp - 0x78], r13d
mov dword [rbp - 0x74], ebx
lea rdx, [rbp - 0x78]
mov rcx, r14
call fcn.140165af0
mov ecx, 0x80
mov word [rax], cx
mov dword [rbp - 0x70], r13d
mov dword [rbp - 0x6c], 3
lea rdx, [rbp - 0x70]
mov rcx, r14
call fcn.140165af0
mov ecx, 0x100
mov word [rax], cx
mov qword [rbp - 0x68], rdi
lea rdx, [rbp - 0x68]
mov rcx, r14
call fcn.140165af0
mov ecx, 0x200
mov word [rax], cx
xor r14d, r14d
mov dword [rbp], r14d
mov qword [rbp + 0x20], r14
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x28], r14
mov dword [rsp + 0x28], 0x20019
mov dword [rsp + 0x20], r14d
lea r8, [0x140320430]
lea rcx, [rbp + 0x18]
call fcn.140056c20
test eax, eax
jne 0x14015c362
mov dword [rbp + 4], r12d
lea rax, [rbp + 4]
mov qword [rsp + 0x28], rax
lea rax, [rbp]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 8]
xor r8d, r8d
lea rdx, str.MaxxAudioGUIType
mov rbx, qword [rbp + 0x18]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
test eax, eax
jne 0x14015c362
cmp dword [rbp + 8], r12d
je 0x14015c3be
mov dword [rsp + 0x28], 0x20019
mov dword [rsp + 0x20], r14d
lea r8, str.SoftwareConexant
lea rcx, [rbp + 0x18]
call fcn.140056c20
mov rbx, qword [rbp + 0x18]
test eax, eax
jne 0x14015c3c8
mov dword [rbp + 0xc], r12d
lea rax, [rbp + 0xc]
mov qword [rsp + 0x28], rax
lea rax, [rbp]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x10]
xor r8d, r8d
lea rdx, str.MaxxAudioGUIType
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
test eax, eax
jne 0x14015c3c8
cmp dword [rbp + 0x10], r12d
jne 0x14015c3c8
mov edi, dword [rbp]
shr edi, 0x10
shr di, 8
test rbx, rbx
je 0x14015c3d6
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
cmp dil, 0xb
setae al
mov byte [rsi + 0x718], al
xor edx, edx
mov r8d, 0x400
lea rcx, [rbp + 0x70]
call fcn.140222790
lea rcx, [rbp + 0x70]
call fcn.14003f940
nop
xor r8d, r8d
lea rdx, [rsp + 0x40]
lea rcx, [rbp + 0x70]
call fcn.140062690
mov rcx, qword [rax]
cmp dword [rcx - 0x10], 0
setne al
mov byte [rsi + 0x3e0], al
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14015c447
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14004487d.0]
lea rax, vtable.std::_Func_impl_no_alloc_class__lambda_6234d95f2b5f88a29ef6a47789033eee___void__int__int__int__int__int_.0
mov qword [rbp - 0x60], rax
mov qword [rbp - 0x58], rsi
lea rax, [rbp - 0x60]
mov qword [rbp - 0x28], rax
mov qword [rbp + 0x68], r14
lea rdx, [rbp + 0x30]
lea rcx, [rbp - 0x60]
mov rax, qword [method.std::_Func_impl_no_alloc_class__lambda_6234d95f2b5f88a29ef6a47789033eee___void__int__int__int__int__int_.virtual_0]
call qword [case.0x14004487d.0]
mov qword [rbp + 0x68], rax
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x14015c49f
mov rax, qword [rcx]
lea rdx, [rbp - 0x60]
cmp rcx, rdx
setne dl
mov rax, qword [rax + 0x20]
call qword [case.0x14004487d.0]
mov qword [rbp - 0x28], r14
lea rdx, [rsi + 0x3e8]
lea rcx, [rbp - 0x60]
call fcn.140166340
lea rdx, [rbp + 0x30]
lea rcx, [rsi + 0x3e8]
call fcn.140166340
nop
mov rcx, qword [rbp + 0x68]
test rcx, rcx
je 0x14015c4e1
mov rax, qword [rcx]
lea rdx, [rbp + 0x30]
cmp rcx, rdx
setne dl
mov rax, qword [rax + 0x20]
call qword [case.0x14004487d.0]
nop
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x14015c502
mov rax, qword [rcx]
lea rdx, [rbp - 0x60]
cmp rcx, rdx
setne dl
mov rax, qword [rax + 0x20]
call qword [case.0x14004487d.0]
nop
lea rcx, [rbp + 0x70]
call fcn.140041410
nop
mov rax, rsi
mov rcx, qword [rbp + 0x470]
xor rcx, rsp
call fcn.140202880
lea r11, [rsp + 0x580]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
int3