Function at 0x1400261e0
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push rbp
push rsi
push rdi
push r14
push r15
lea rbp, [rsp - 0x37]
sub rsp, 0xe0
mov qword [rbp - 0x39], 0xfffffffffffffffe
mov qword [rsp + 0x110], rbx
mov rsi, rdx
mov rdi, rcx
test rdx, rdx
jne 0x14002622c
lea r8, str.AudioModeMgr.cpp
lea edx, [rsi + 0x62]
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140055180
xor eax, eax
jmp 0x1400265d3
xor r15d, r15d
mov qword [rbp - 0x69], r15
mov dword [rbp + 0x6f], r15d
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x69]
mov r8, qword [rdx + 0x118]
lea rdx, str.DevRestore
lea rcx, [0x140400ce0]
call fcn.1401074ac
cmp dword [rbp + 0x6f], r15d
je 0x1400263dd
mov rcx, rdi
call fcn.140025de0
mov edx, 0x400
lea rcx, [rbp - 0x29]
call fcn.14010a4f0
nop
xor r9d, r9d
mov r8d, dword [rbp + 0x6f]
mov rdx, qword [rbp - 0x69]
lea rcx, [rbp - 0x29]
call fcn.14010a68c
mov dword [rbp - 0x5d], r15d
lea r8d, [r15 + 4]
lea rdx, [rbp - 0x5d]
lea rcx, [rbp - 0x29]
call fcn.14010a960
cmp dword [rbp - 0x5d], 0xa59d
jne 0x1400263c5
mov dword [rbp - 0x59], r15d
lea r8d, [r15 + 4]
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x29]
call fcn.14010a960
mov eax, dword [rbp - 0x59]
mov dword [rdi + 0xa0], eax
mov ebx, r15d
nop word [rax + rax]
mov dword [rbp - 0x55], r15d
mov dword [rbp - 0x61], r15d
mov r8d, 4
lea rdx, [rbp - 0x55]
lea rcx, [rbp - 0x29]
call fcn.14010a960
mov r8d, 4
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x29]
call fcn.14010a960
cmp dword [rbp - 0x61], 0
jle 0x1400263b4
nop dword [rax + rax]
mov dword [rbp + 0x7f], r15d
mov dword [rbp + 0x77], r15d
mov r8d, 4
lea rdx, [rbp + 0x7f]
lea rcx, [rbp - 0x29]
call fcn.14010a960
mov r8d, 4
lea rdx, [rbp + 0x77]
lea rcx, [rbp - 0x29]
call fcn.14010a960
movsxd rcx, dword [rbp + 0x7f]
add rcx, rbx
add rcx, rcx
mov eax, dword [rbp + 0x77]
mov dword [rdi + rcx*8 + 0xb4], eax
movsxd rcx, dword [rbp + 0x77]
call fcn.1400f816c
movsxd rcx, dword [rbp + 0x7f]
add rcx, rbx
add rcx, rcx
mov qword [rdi + rcx*8 + 0xb8], rax
movsxd rdx, dword [rbp + 0x7f]
add rdx, rbx
add rdx, rdx
mov r8d, dword [rbp + 0x77]
mov rdx, qword [rdi + rdx*8 + 0xb8]
lea rcx, [rbp - 0x29]
call fcn.14010a960
mov eax, 0xfffffff8
sub eax, dword [rbp + 0x77]
mov ecx, dword [rbp - 0x61]
add ecx, eax
mov dword [rbp - 0x61], ecx
test ecx, ecx
jg 0x140026320
add rbx, 0x2c
cmp rbx, 0xb0
jl 0x1400262e0
lea rcx, [rbp - 0x29]
call fcn.14010a734
nop
lea rcx, [rbp - 0x29]
call fcn.14010a5c0
jmp 0x1400265c0
mov r14d, r15d
mov ecx, 0x1000
call fcn.1400f816c
mov qword [rbp - 0x69], rax
mov dword [rbp + 0x6f], 0x1000
mov qword [rbp - 0x51], r15
mov dword [rbp - 0x49], r15d
mov qword [rbp - 0x41], r15
mov r9d, 0x20019
lea r8, str.SoftwareRealtekAudioGUI_INFORMATIONDeviceDefault
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x51]
call fcn.140015610
test eax, eax
jne 0x14002647b
mov eax, dword [rbp + 0x6f]
mov dword [rbp + 0x77], eax
lea rax, [rbp + 0x77]
mov qword [rsp + 0x28], rax
mov rax, qword [rbp - 0x69]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x7f]
xor r8d, r8d
mov rdx, qword [rsi + 0x118]
mov rbx, qword [rbp - 0x51]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, eax
test eax, eax
jne 0x14002646a
mov ecx, r15d
mov eax, SafeArrayDestroy
cmp dword [rbp + 0x7f], 3
cmovne ecx, eax
mov eax, dword [rbp + 0x77]
mov dword [rbp + 0x6f], eax
mov r14d, r15d
test ecx, ecx
sete r14b
jmp 0x1400264b0
mov qword [rsp + 0x38], r15
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], r15d
xor r9d, r9d
lea r8, str.SoftwareRealtekAudioGUI_INFORMATIONDeviceDefault
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x51]
call fcn.1400153d0
mov rbx, qword [rbp - 0x51]
test rbx, rbx
je 0x1400264c5
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rbx, r15
mov qword [rbp - 0x51], rbx
mov dword [rbp - 0x49], r15d
test r14d, r14d
je 0x1400264f8
mov eax, dword [rbp + 0x6f]
mov dword [rsp + 0x20], eax
mov r9, qword [rbp - 0x69]
mov r8, qword [rsi + 0x118]
lea rdx, str.DevRestore
lea rcx, [0x140400ce0]
call fcn.140107af8
jmp 0x1400265b2
mov ebx, r15d
nop dword [rax + rax]
mov dword [rdi + 0xa0], ebx
mov rdx, rsi
mov rcx, rdi
call fcn.1400269d0
inc ebx
cmp ebx, 4
jl 0x140026500
mov dword [rdi + 0xa0], r15d
mov rdx, rsi
mov rcx, rdi
call fcn.1400265f0
mov rcx, qword [rbp - 0x69]
test rcx, rcx
je 0x14002653c
call fcn.1400f8164
mov qword [rbp - 0x69], r15
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x69]
mov r8, qword [rsi + 0x118]
lea rdx, str.DevRestore
lea rcx, [0x140400ce0]
call fcn.1401074ac
mov r9d, 0x20006
lea r8, str.SoftwareRealtekAudioGUI_INFORMATIONDeviceDefault
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x51]
call fcn.140015610
mov rbx, qword [rbp - 0x51]
test eax, eax
jne 0x1400265b2
mov eax, dword [rbp + 0x6f]
mov dword [rsp + 0x28], eax
mov rax, qword [rbp - 0x69]
mov qword [rsp + 0x20], rax
mov r9d, 3
xor r8d, r8d
mov rdx, qword [rsi + 0x118]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
nop
test rbx, rbx
je 0x1400265c0
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp - 0x69]
test rcx, rcx
je 0x1400265ce
call fcn.1400f8164
mov eax, 1
mov rbx, qword [rsp + 0x110]
add rsp, 0xe0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret