Function at 0x140024ba0
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 0x140024bec
lea r8, str.c:userschunyung_source_repos_rtkngui_rtkngui_audiomodemgr.cpp
lea edx, [rsi + 0x62]
lea rcx, str._VCpl__RETURN_FALSE_ON_FALSE:_Line___d__File___s_n
call fcn.140052e90
xor eax, eax
jmp 0x140024f93
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, [0x1403dd120]
call fcn.1401026b0
cmp dword [rbp + 0x6f], r15d
je 0x140024d9d
mov rcx, rdi
call fcn.1400247a0
mov edx, 0x400
lea rcx, [rbp - 0x29]
call fcn.140105788
nop
xor r9d, r9d
mov r8d, dword [rbp + 0x6f]
mov rdx, qword [rbp - 0x69]
lea rcx, [rbp - 0x29]
call fcn.140105904
mov dword [rbp - 0x5d], r15d
lea r8d, [r15 + 4]
lea rdx, [rbp - 0x5d]
lea rcx, [rbp - 0x29]
call fcn.140105b6c
cmp dword [rbp - 0x5d], 0xa59d
jne 0x140024d85
mov dword [rbp - 0x59], r15d
lea r8d, [r15 + 4]
lea rdx, [rbp - 0x59]
lea rcx, [rbp - 0x29]
call fcn.140105b6c
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.140105b6c
mov r8d, 4
lea rdx, [rbp - 0x61]
lea rcx, [rbp - 0x29]
call fcn.140105b6c
cmp dword [rbp - 0x61], 0
jle 0x140024d74
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.140105b6c
mov r8d, 4
lea rdx, [rbp + 0x77]
lea rcx, [rbp - 0x29]
call fcn.140105b6c
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.1400f494c
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.140105b6c
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 0x140024ce0
add rbx, 0x2c
cmp rbx, 0xb0
jl 0x140024ca0
lea rcx, [rbp - 0x29]
call fcn.140105990
nop
lea rcx, [rbp - 0x29]
call fcn.140105858
jmp 0x140024f80
mov r14d, r15d
mov ecx, 0x1000
call fcn.1400f494c
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.1400146e0
test eax, eax
jne 0x140024e3b
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 0x140024e2a
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 0x140024e70
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.1400144b0
mov rbx, qword [rbp - 0x51]
test rbx, rbx
je 0x140024e85
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 0x140024eb8
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, [0x1403dd120]
call fcn.140102cdc
jmp 0x140024f72
mov ebx, r15d
nop dword [rax + rax]
mov dword [rdi + 0xa0], ebx
mov rdx, rsi
mov rcx, rdi
call fcn.140025390
inc ebx
cmp ebx, 4
jl 0x140024ec0
mov dword [rdi + 0xa0], r15d
mov rdx, rsi
mov rcx, rdi
call fcn.140024fb0
mov rcx, qword [rbp - 0x69]
test rcx, rcx
je 0x140024efc
call fcn.1400f4944
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, [0x1403dd120]
call fcn.1401026b0
mov r9d, 0x20006
lea r8, str.SoftwareRealtekAudioGUI_INFORMATIONDeviceDefault
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x51]
call fcn.1400146e0
mov rbx, qword [rbp - 0x51]
test eax, eax
jne 0x140024f72
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 0x140024f80
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rcx, qword [rbp - 0x69]
test rcx, rcx
je 0x140024f8e
call fcn.1400f4944
mov eax, 1
mov rbx, qword [rsp + 0x110]
add rsp, 0xe0
pop r15
pop r14
pop rdi
pop rsi
pop rbp
ret