Function at 0x1400514a0
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
mov rax, qword [0x1401aa010]
xor rax, rsp
mov qword [rbp - 8], rax
mov r14, r8
mov r12, rdx
mov rbx, rcx
cmp dword [0x1401aa4a4], 0
jne 0x140051e2e
cmp dword [0x1401aa4a0], 0
jne 0x140051e2e
cmp dword [0x1401aa4a8], 0
jne 0x140051e2e
lea rdx, str.SOFTWAREFortemediaHowlingDection
mov rcx, r12
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
jne 0x14005171c
lea rdx, str.13AE3061_F6DC_45C1_B90C_F5E992141790_10
mov rcx, r14
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
je 0x140051534
lea rdx, str.13AE3061_F6DC_45C1_B90C_F5E992141790_12
mov rcx, r14
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
jne 0x140051e2e
xor ebx, ebx
mov esi, ebx
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x20], rbx
mov dword [rbp - 0x18], ebx
mov qword [rbp - 0x10], rbx
mov dword [rbp - 0x30], ebx
lea r9d, [rbx + 1]
lea r8, str.SOFTWAREFortemediaHowlingDection
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x20]
call fcn.140035040
test eax, eax
je 0x140051599
lea r9, str.SOFTWAREFortemediaHowlingDection
mov r8d, eax
lea rdx, str.CRegClient::GetRegUI4Property
lea rcx, str._s_nRet_d_szRegKey_s
call fcn.140075db0
nop
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x14005161c
jmp 0x140051616
mov dword [rbp - 0x2c], 4
lea rax, [rbp - 0x2c]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x28]
xor r8d, r8d
lea rdx, str.13AE3061_F6DC_45C1_B90C_F5E992141790_10
mov rdi, qword [rbp - 0x20]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
test eax, eax
jne 0x14005160e
cmp dword [rbp - 0x28], 4
jne 0x14005160e
mov r14d, dword [rbp - 0x30]
test rdi, rdi
je 0x1400515e9
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
test r14d, r14d
je 0x14005161c
mov r8d, 0xee7
lea rdx, str.CCustomizeHP::OnRegKeyChanged
lea rcx, str._s__d___Fortemedia___HowlingDection____10_n
call fcn.140075db0
mov esi, 1
jmp 0x14005161c
test rdi, rdi
je 0x14005161c
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x20], rbx
mov dword [rbp - 0x18], ebx
mov qword [rbp - 0x10], rbx
mov dword [rbp - 0x30], ebx
mov r9d, 1
lea r8, str.SOFTWAREFortemediaHowlingDection
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x20]
call fcn.140035040
test eax, eax
je 0x14005167b
lea r9, str.SOFTWAREFortemediaHowlingDection
mov r8d, eax
lea rdx, str.CRegClient::GetRegUI4Property
lea rcx, str._s_nRet_d_szRegKey_s
call fcn.140075db0
nop
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x1400516f7
jmp 0x1400516f1
mov dword [rbp - 0x28], 4
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x2c]
xor r8d, r8d
lea rdx, str.13AE3061_F6DC_45C1_B90C_F5E992141790_12
mov rbx, qword [rbp - 0x20]
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
test eax, eax
jne 0x1400516e9
cmp dword [rbp - 0x2c], 4
jne 0x1400516e9
mov edi, dword [rbp - 0x30]
test rbx, rbx
je 0x1400516ca
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
test edi, edi
je 0x1400516f7
mov r8d, 0xef1
lea rdx, str.CCustomizeHP::OnRegKeyChanged
lea rcx, str._s__d___Fortemedia___HowlingDection____12_n
call fcn.140075db0
jmp 0x1400516ff
test rbx, rbx
je 0x1400516f7
mov rcx, rbx
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
test esi, esi
je 0x140051e2e
call fcn.1400147e0
mov rcx, rax
mov edx, 0x41e
mov r8d, 0x1f4
call fcn.1400e8700
jmp 0x140051e2e
lea rdx, str.SOFTWARERealtekAudioRtkAudUServiceOthers
mov rcx, r12
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
jne 0x1400517c5
lea rdx, str.CategoryId
mov rcx, r14
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
jne 0x140051760
call fcn.1400147e0
mov rcx, rax
mov edx, 0x402
mov r8d, 0xc8
call fcn.1400e8700
lea rdx, str.SlateMode
mov rcx, r14
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
je 0x14005178c
lea rdx, str.Orientation
mov rcx, r14
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
jne 0x140051e2e
mov r9, r14
mov r8d, 0xf04
lea rdx, str.CCustomizeHP::OnRegKeyChanged
lea rcx, str._s__d_set_timer_to_check_clamshell__s
call fcn.140075db0
call fcn.1400147e0
mov rcx, rax
mov edx, 0x44b
mov r8d, 0x1f4
call fcn.1400e8700
jmp 0x140051e2e
lea rdx, str.SoftwareRealtekAudioGUI_INFORMATIONWMI
mov rcx, r12
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
jne 0x140051bb0
lea rdx, str.HP_ITDM_RestoreRealtekAudioSettings
mov rcx, r14
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
jne 0x14005199c
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xor ebx, ebx
mov qword [rbp - 0x20], rbx
mov dword [rbp - 0x18], ebx
mov qword [rbp - 0x10], rbx
mov dword [rbp - 0x30], ebx
lea r9d, [rax + 1]
lea r8, str.SoftwareRealtekAudioGUI_INFORMATIONWMI
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x20]
call fcn.140035040
test eax, eax
je 0x140051861
lea r9, str.SoftwareRealtekAudioGUI_INFORMATIONWMI
mov r8d, eax
lea rdx, str.CRegClient::GetRegUI4Property
lea rcx, str._s_nRet_d_szRegKey_s
call fcn.140075db0
nop
mov rcx, qword [rbp - 0x20]
test rcx, rcx
je 0x140051e2e
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
jmp 0x140051e2e
mov dword [rbp - 0x28], 4
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x2c]
xor r8d, r8d
lea rdx, str.HP_ITDM_RestoreRealtekAudioSettings
mov rdi, qword [rbp - 0x20]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
test eax, eax
jne 0x140051985
cmp dword [rbp - 0x2c], 4
jne 0x140051985
mov esi, dword [rbp - 0x30]
test rdi, rdi
je 0x1400518b8
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
test esi, esi
je 0x140051e2e
xor r9d, r9d
lea r8, str.HP_ITDM_RestoreRealtekAudioSettings
lea rdx, str.SoftwareRealtekAudioGUI_INFORMATIONWMI
mov rcx, 0xffffffff80000002
call fcn.1400986f0
call fcn.140014180
mov rcx, rax
xor r9d, r9d
mov r8d, 0x30010001
lea rdx, [0x14011c160]
call fcn.14009df00
call fcn.1400e52d0
cmp dword [0x1401b9680], 0
jbe 0x14005197a
lea rsi, [0x140000000]
nop
mov eax, ebx
lea rdi, [rax*8]
xor r8d, r8d
mov rdx, qword [rdi + rsi + 0x1b9690]
mov rcx, qword [rdi + rsi + 0x1b9600]
call fcn.1400e6930
test eax, eax
je 0x140051970
call fcn.140014180
mov rcx, rax
mov rdx, qword [rdi + rsi + 0x1b9600]
call fcn.14009dfa0
test al, al
jne 0x140051970
xor r8d, r8d
mov edx, 0x30010001
lea rcx, [0x14011c160]
call fcn.1400b1930
mov rdx, qword [rdi + rsi + 0x1b9640]
call fcn.1400e5860
inc ebx
cmp ebx, dword [0x1401b9680]
jb 0x140051910
mov r8d, 0xf17
jmp 0x140051b90
test rdi, rdi
je 0x140051e2e
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
jmp 0x140051e2e
lea rdx, str.HP_ITDM_LockRealtekAudioControls
mov rcx, r14
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
jne 0x140051e2e
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xor ebx, ebx
mov qword [rbp - 0x20], rbx
mov dword [rbp - 0x18], ebx
mov qword [rbp - 0x10], rbx
mov dword [rbp - 0x30], ebx
lea r9d, [rax + 1]
lea r8, str.SoftwareRealtekAudioGUI_INFORMATIONWMI
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x20]
call fcn.140035040
test eax, eax
je 0x140051a0d
lea r9, str.SoftwareRealtekAudioGUI_INFORMATIONWMI
mov r8d, eax
lea rdx, str.CRegClient::GetRegUI4Property
lea rcx, str._s_nRet_d_szRegKey_s
call fcn.140075db0
nop
jmp 0x140051849
mov dword [rbp - 0x28], 4
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x2c]
xor r8d, r8d
lea rdx, str.HP_ITDM_LockRealtekAudioControls
mov rdi, qword [rbp - 0x20]
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegQueryValueExW]
test eax, eax
jne 0x140051bab
cmp dword [rbp - 0x2c], 4
jne 0x140051bab
mov esi, dword [rbp - 0x30]
test rdi, rdi
je 0x140051a64
mov rcx, rdi
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
test esi, esi
je 0x140051e2e
xor r9d, r9d
lea r8, str.HP_ITDM_LockRealtekAudioControls
lea rdx, str.SoftwareRealtekAudioGUI_INFORMATIONWMI
mov rcx, 0xffffffff80000002
call fcn.1400986f0
mov rax, qword [0x1401aa490]
mov r9d, 0xffffffff
lea r8, str.UwpLock
lea rdx, str.Others
lea rcx, [0x1401aa490]
mov rax, qword [rax + 0x20]
call qword [case.0x14005eeb3.0]
cmp eax, 0xffffffff
cmove eax, ebx
mov r9d, ebx
test eax, eax
sete r9b
mov rax, qword [0x1401aa490]
lea r8, str.UwpLock
lea rdx, str.Others
lea rcx, [0x1401aa490]
mov rax, qword [rax + 0x28]
call qword [case.0x14005eeb3.0]
call fcn.140014180
mov rcx, rax
xor r9d, r9d
mov r8d, 0x30010002
lea rdx, [0x14011c160]
call fcn.14009df00
call fcn.1400e52d0
cmp dword [0x1401b9680], 0
jbe 0x140051b8a
lea rsi, [0x140000000]
nop dword [rax]
mov eax, ebx
lea rdi, [rax*8]
xor r8d, r8d
mov rdx, qword [rdi + rsi + 0x1b9690]
mov rcx, qword [rdi + rsi + 0x1b9600]
call fcn.1400e6930
test eax, eax
je 0x140051b80
call fcn.140014180
mov rcx, rax
mov rdx, qword [rdi + rsi + 0x1b9600]
call fcn.14009dfa0
test al, al
jne 0x140051b80
xor r8d, r8d
mov edx, 0x30010002
lea rcx, [0x14011c160]
call fcn.1400b1930
mov rdx, qword [rdi + rsi + 0x1b9640]
call fcn.1400e5860
inc ebx
cmp ebx, dword [0x1401b9680]
jb 0x140051b20
mov r8d, 0xf33
mov r9, r14
lea rdx, str.CCustomizeHP::OnRegKeyChanged
lea rcx, str._s__d_SendServiceEventToUWP__s
call fcn.140075db0
jmp 0x140051e2e
jmp 0x140051985
mov rdx, qword [rbx + 0x88]
mov rcx, r12
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
jne 0x140051e2e
lea rdx, str.HP_CONTROL_SpkMasterMute
mov rcx, r14
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
jne 0x140051c5b
cmp dword [rbx + 0xbc], eax
jne 0x140051e0d
mov dword [rbp - 0x30], 0x3e7
lea r9, [rbp - 0x30]
lea r8, str.HP_CONTROL_SpkMasterMute
mov rdx, qword [rbx + 0x88]
mov rcx, 0xffffffff80000001
call fcn.1400985d0
test eax, eax
je 0x140051e0d
mov edi, dword [rbp - 0x30]
cmp edi, 1
ja 0x140051e0d
xor ebx, ebx
mov dword [rbp - 0x28], ebx
lea rcx, [rbp - 0x28]
call fcn.140060000
cmp eax, edi
je 0x140051e0d
test edi, edi
je 0x140051c4c
mov edx, 1
mov ecx, edx
call fcn.140052cb0
jmp 0x140051e0d
xor edx, edx
lea ecx, [rdx + 1]
call fcn.140052cb0
jmp 0x140051e0d
lea rdx, str.HP_CONTROL_MicMasterMute
mov rcx, r14
call qword [sym.imp.api_ms_win_core_string_obsolete_l1_1_0.dll_lstrcmpW]
test eax, eax
jne 0x140051ce0
cmp dword [rbx + 0xc0], eax
jne 0x140051e0d
mov dword [rbp - 0x30], 0x3e7
lea r9, [rbp - 0x30]
lea r8, str.HP_CONTROL_MicMasterMute
mov rdx, qword [rbx + 0x88]
mov rcx, 0xffffffff80000001
call fcn.1400985d0
test eax, eax
je 0x140051e0d
mov ebx, dword [rbp - 0x30]
cmp ebx, 1
ja 0x140051e0d
call fcn.140076bf0
cmp eax, ebx
je 0x140051e0d
xor ecx, ecx
test ebx, ebx
je 0x140051cd4
lea edx, [rcx + 1]
call fcn.140052cb0
jmp 0x140051e0d
xor edx, edx
call fcn.140052cb0
jmp 0x140051e0d
call fcn.1400e52d0
xor ebx, ebx
cmp dword [0x1401b9680], ebx
jbe 0x140051e0d
lea rsi, [0x140000000]
nop word [rax + rax]
mov eax, ebx
lea r15, [rax*8]
xor r8d, r8d
mov rdx, qword [r15 + rsi + 0x1b9690]
mov rcx, qword [r15 + rsi + 0x1b9600]
call fcn.1400e6930
test eax, eax
je 0x140051dff
call fcn.140014180
mov rcx, rax
mov rdx, qword [r15 + rsi + 0x1b9600]
call fcn.14009dfa0
test al, al
jne 0x140051dff
mov ecx, 0x408
call fcn.1400f47a0
mov rdi, rax
mov qword [rbp - 0x28], rax
xor edx, edx
mov r8d, 0x408
mov rcx, rax
call fcn.1400fac10
lea rcx, [rdi + 8]
mov r8, r12
mov edx, 0x100
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
lea rcx, [rdi + 0x208]
mov r8, r14
mov edx, 0x100
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcscpy_s]
cmp dword [0x1401b2758], 0
jne 0x140051dc8
mov dword [0x1401b2758], 1
mov r8d, 0x309
lea rdx, str.CRpcClientObject::EnterStaticEventQueueCS
lea rcx, [0x14011bca8]
call fcn.140075db0
lea rcx, [0x1401b2730]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_InitializeCriticalSection]
lea rcx, [0x1401b2730]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_EnterCriticalSection]
lea rdx, [rbp - 0x28]
lea rcx, [0x1401aaa80]
call fcn.14000ecc0
lea rcx, [0x1401b2730]
call qword [sym.imp.api_ms_win_core_synch_l1_1_0.dll_LeaveCriticalSection]
mov rdx, qword [r15 + rsi + 0x1b9640]
call fcn.1400e5860
inc ebx
cmp ebx, dword [0x1401b9680]
jb 0x140051d00
mov qword [rsp + 0x20], r14
mov r9, r12
mov r8d, 0xf75
lea rdx, str.CCustomizeHP::OnRegKeyChanged
lea rcx, str._s__d_SendRegEventToUWP__s_s
call fcn.140075db0
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.1400f4410
add rsp, 0x60
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret