Function at 0x140023560
Capabilities:
Query or enumerate registry value

Disassembly:
mov rax, rsp
push rbp
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0xc0
mov qword [rbp - 0x41], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
movaps xmmword [rax - 0x28], xmm6
movaps xmmword [rax - 0x38], xmm7
movaps xmmword [rax - 0x48], xmm8
mov rax, qword [0x1400d6010]
xor rax, rsp
mov qword [rbp + 0xf], rax
call fcn.1400099e0
mov rbx, rax
or edx, 0xffffffff
mov rcx, qword [rax + 0x140]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_WaitForSingleObject]
inc dword [rbx + 0x138]
call fcn.1400099e0
cmp dword [rax + 0x138], 0
jne 0x140023606
cmp dword [0x1400da6dc], 0
je 0x140023606
cmp dword [0x1400da710], 0
jne 0x1400235ed
mov rax, qword [0x1400d63b8]
test byte [rax + 0x1c], 1
je 0x140023606
mov r8d, 0x39
lea rdx, str.CMMPlatform::AudioDevList_GetHeadPosition
lea rcx, str._s__d_please_call_AudioDevList_AddRef_before_AudioDevList_GetHeadPosition
call fcn.140032320
call fcn.1400099e0
mov rdi, qword [rax + 0xd8]
test rdi, rdi
je 0x140023884
xor r15d, r15d
movss xmm8, dword [0x1400b2604]
movss xmm7, dword [0x1400b2588]
nop
call fcn.1400099e0
call fcn.1400099e0
test rdi, rdi
je 0x140023879
mov rbx, qword [rdi + 0x10]
mov rdi, qword [rdi]
test rbx, rbx
je 0x14002386e
cmp dword [rbx + 0x16c], 0
je 0x14002386e
lea rcx, [rbx + 0xd0]
call fcn.14000d7a0
mov rsi, rax
test rax, rax
je 0x14002386e
mov dword [rbp - 0x11], r15d
movaps xmm6, xmm8
lea r14, [rbx + 0x10]
xor r9d, r9d
lea r8, [rbp - 0x11]
lea rdx, [0x1400922a8]
mov rcx, r14
call fcn.140002ef0
test eax, eax
jne 0x140023806
mov qword [rbp - 0x19], r15
mov dword [rbp - 9], 3
mov dword [rbp - 0xd], 4
mov rcx, qword [rbx + 0x120]
sub rcx, 0x18
call fcn.140005340
lea rbx, [rax + 0x18]
mov qword [rbp + 7], rbx
cmp dword [rbx - 0x10], 0
jl 0x14002372b
lea rdx, [0x14009ace4]
mov rcx, rbx
call fcn.140080c48
test rax, rax
je 0x14002372b
sub rax, rbx
sar rax, 1
test eax, eax
js 0x14002372b
cmp dword [rbx - 0x10], 0
jge 0x1400236fb
or eax, 0xffffffff
jmp 0x14002371a
lea rdx, [0x14009ace4]
mov rcx, rbx
call fcn.140080c48
test rax, rax
jne 0x140023714
or eax, 0xffffffff
jmp 0x14002371a
sub rax, rbx
sar rax, 1
lea r8d, [rax + 1]
lea rcx, [rbp + 7]
call fcn.140021dd0
mov rbx, qword [rbp + 7]
xor eax, eax
mov qword [rbp - 1], rax
lea rcx, [rbx - 0x18]
call fcn.140005340
add rax, 0x18
mov qword [rbp - 0x49], rax
lea rdx, [rbp - 0x49]
lea rcx, [rbp - 1]
call fcn.140058560
nop
lea rax, [rbp - 0x19]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
mov rdx, qword [rbp - 1]
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegOpenKeyExW]
test eax, eax
jne 0x1400237cc
mov rcx, qword [rbp - 0x19]
test rcx, rcx
je 0x1400237cc
lea rax, [rbp - 0xd]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x11]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 9]
xor r8d, r8d
lea rdx, str.DefaultFakeVolume
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
mov rcx, qword [rbp - 0x19]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov dword [rsp + 0x20], r15d
xor r9d, r9d
mov r8d, dword [rbp - 0x11]
lea rdx, [0x1400922a8]
mov rcx, r14
call fcn.140003150
nop
mov rdx, qword [rbp - 1]
add rdx, 0xffffffffffffffe8
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400237eb
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
or eax, 0xffffffff
lock xadd dword [rbx - 8], eax
sub eax, 1
jg 0x140023806
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
lea rdx, [rbx - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov eax, dword [rbp - 0x11]
test eax, eax
je 0x140023818
movd xmm6, eax
cvtdq2ps xmm6, xmm6
mulss xmm6, xmm7
movups xmm0, xmmword [0x140097078]
movaps xmmword [rbp - 0x29], xmm0
mov rax, qword [rsi]
lea r8, [rbp - 0x29]
movaps xmm1, xmm6
mov rcx, rsi
call qword [rax + 0x30]
mov rax, qword [rsi]
xor edx, edx
mov rcx, rsi
call qword [rax + 0x10]
xorps xmm0, xmm0
cvtss2sd xmm0, xmm6
mov eax, dword [rbp - 0x11]
mov dword [rsp + 0x28], eax
movsd qword [rsp + 0x20], xmm0
mov r9, qword [r14]
mov r8d, 0x59
lea rdx, str.CCustomizeSamsung::RestoreAllAudioDeviceMMLineCtrlsSettings
lea rcx, str._s__d__s_IntelDMIC_SetDBLevel__f__SetMute_FALSE__DrvDefVol_x
call fcn.140032320
test rdi, rdi
jne 0x140023630
jmp 0x140023884
mov ecx, 0x80004005
call fcn.140003fc0
int3
call fcn.1400099e0
mov ecx, dword [rax + 0x138]
sub ecx, 1
mov dword [rax + 0x138], ecx
jne 0x1400238ba
mov rcx, qword [rax + 0x148]
cmp dword [rax + 0x13c], 0
je 0x1400238b2
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_SetEvent]
jmp 0x1400238d8
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_ResetEvent]
jmp 0x1400238d8
cmp ecx, 0x32
jle 0x1400238d8
mov r8d, 0x6f
lea rdx, str.CMMPlatform::AudioDevList_Release
lea rcx, str._s__d_calling_AudioDevList_Release_isnt_matched_AudioDevList_AddRef_or_directly_return_in_EnumAudioDeviceStart_loop
call fcn.140032320
mov rcx, qword [rbp + 0xf]
xor rcx, rsp
call fcn.140078ef0
lea r11, [rsp + 0xc0]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop rbp
ret