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

Disassembly:
jmp 0x14000d220
push rbp
push rbx
push rdi
mov rbp, rsp
sub rsp, 0x50
xor ebx, ebx
mov dword [rbp + 0x38], 4
mov rdi, rcx
mov qword [rbp - 0x18], rbx
mov rcx, 0xffffffff80000002
mov dword [rbp - 0x20], ebx
lea r8, [rbp - 0x18]
mov dword [rbp + 0x30], ebx
lea rdx, str.SOFTWAREConexantSA3Mixer
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14000d4ab
lea rax, [rbp + 0x38]
xor r9d, r9d
mov qword [rsp + 0x28], rax
lea rdx, str.GlobalSpkMute
lea rax, [rbp - 0x20]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
lea ecx, [rbx + 0x1d]
test eax, eax
jne 0x14000d29f
mov r8d, dword [rbp - 0x20]
lea rdx, str.Query_GlobalSpkMute__d_n
jmp 0x14000d2a9
mov r8d, eax
lea rdx, str.Query_GlobalSpkMute_Fail_0x_x_n
call fcn.140002ae0
mov rcx, qword [rbp - 0x18]
lea rax, [rbp + 0x38]
mov qword [rsp + 0x28], rax
lea rdx, str.GlobalMicMute
lea rax, [rbp + 0x30]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ecx, 0x1d
test eax, eax
jne 0x14000d2ed
mov r8d, dword [rbp + 0x30]
lea rdx, str.Query_GlobalMicMute__d_n
jmp 0x14000d2f7
mov r8d, eax
lea rdx, str.Query_GlobalMicMute_Fail_0x_x_n
call fcn.140002ae0
mov ecx, dword [rbp + 0x30]
mov eax, ebx
test ecx, ecx
mov byte [rbp + 0x28], 1
setne al
test ecx, ecx
mov dword [rbp - 0x10], eax
mov eax, ebx
setne byte [rbp + 0x29]
cmp dword [rdi + 0x2d0], ebx
sete al
cmp eax, ecx
je 0x14000d328
mov dword [rdi + 0x2d0], eax
cmp dword [0x14029b3d8], ebx
je 0x14000d34f
movzx eax, byte [0x140293188]
movzx r8d, word [rbp + 0x28]
mov rcx, qword [0x14029adc8]
mov byte [rbp - 0xc], al
mov rdx, qword [rbp - 0x10]
call fcn.140004060
mov r8d, dword [0x14029b268]
test r8d, r8d
je 0x14000d3f5
mov r9d, dword [0x14029318c]
cmp r9d, 0xffffffff
je 0x14000d3f5
imul rdx, r9, 0x1020
mov qword [rsp + 0x70], rsi
mov ecx, 0x1d
lea rsi, [0x14029b610]
mov eax, dword [rdx + rsi + 0x810]
lea rdx, str.UpdateLEDbyGlobalMuteKey_g_bEnableHIDLedCtrl__d__g_dwHIDDeviceIndex__d__b_EnableLED__d
mov dword [rsp + 0x20], eax
call fcn.140002ae0
mov eax, dword [0x14029318c]
imul rdx, rax, 0x1020
cmp dword [rdx + rsi + 0x810], ebx
je 0x14000d3f0
lea rcx, [rdi + 0x958]
cmp dword [rbp + 0x30], ebx
je 0x14000d3d2
mov r9d, dword [rdx + rsi + 0xc14]
lea r8, [rsi + 0x814]
jmp 0x14000d3e1
mov r9d, dword [rdx + rsi + 0x1018]
lea r8, [rsi + 0xc18]
add r8, rdx
mov rdx, qword [0x140293038]
call fcn.140005f00
mov rsi, qword [rsp + 0x70]
mov ecx, dword [rbp - 0x20]
mov eax, ebx
test ecx, ecx
mov byte [rbp + 0x28], bl
setne al
test ecx, ecx
mov dword [rbp - 0x10], eax
mov eax, dword [rdi + 0x2d4]
setne byte [rbp + 0x29]
cmp eax, ecx
je 0x14000d420
test eax, eax
sete bl
mov dword [rdi + 0x2d4], ebx
cmp dword [0x14029b3dc], 0
je 0x14000d448
movzx eax, byte [0x14029b5f4]
movzx r8d, word [rbp + 0x28]
mov rcx, qword [0x14029adc8]
mov byte [rbp - 0xc], al
mov rdx, qword [rbp - 0x10]
call fcn.140004060
mov eax, dword [rbp + 0x38]
lea rdx, str.GlobalMicMuteStatus
mov rcx, qword [rbp - 0x18]
mov r9d, 4
mov dword [rsp + 0x28], eax
xor r8d, r8d
lea rax, [rbp + 0x30]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [rbp + 0x38]
lea rdx, str.GlobalSpkMuteStatus
mov rcx, qword [rbp - 0x18]
mov r9d, 4
mov dword [rsp + 0x28], eax
xor r8d, r8d
lea rax, [rbp - 0x20]
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rbp - 0x18]
test rcx, rcx
je 0x14000d4ab
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
add rsp, 0x50
pop rdi
pop rbx
pop rbp
ret