Function at 0x140043550
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xd0
mov qword [rbp + 0x17], 0xfffffffffffffffe
mov rsi, rcx
mov rbx, qword [rcx + 0x1ad8]
test rbx, rbx
je 0x1400435a8
nop
mov rcx, rbx
test rbx, rbx
je 0x140043983
mov rbx, qword [rbx]
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1400435a3
cmp dword [rcx + 0x60], 1
jne 0x1400435a3
call fcn.140022e10
test rbx, rbx
jne 0x140043580
xor r15d, r15d
test dword [rsi + 0x50], 0x4400
jne 0x1400435c4
test dword [rsi + 0x13c], 0x20000
lea r9d, [r15 + 1]
je 0x1400435c7
mov r9d, r15d
lea r8, str.SaveShowTrayIcon
lea rdx, str.General
lea rcx, [0x14046a640]
call fcn.14016a2dc
lea rax, [rbp - 0x79]
mov qword [rbp + 0x67], rax
call fcn.140162c14
mov rcx, rax
test rax, rax
je 0x140043978
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x79], rax
lea r14, str.SettingsInited
mov rdx, r14
lea rcx, [rbp - 0x79]
call fcn.1400168b0
mov rbx, 0xffffffffffffffff
test al, al
jne 0x14004364b
mov rax, rbx
nop dword [rax]
inc rax
cmp word [r14 + rax*2], 0
jne 0x140043630
mov r8d, eax
mov rdx, r14
lea rcx, [rbp - 0x79]
call fcn.140016ad0
nop
mov qword [rbp - 0x51], r15
mov dword [rbp - 0x49], r15d
mov qword [rbp - 0x41], r15
mov dword [rbp + 0x67], r15d
mov r9d, 1
lea r12, str.SOFTWARERealtekRealtekEffectsAP_
mov r8, r12
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x51]
call fcn.140024490
test eax, eax
je 0x140043691
mov rcx, qword [rbp - 0x51]
test rcx, rcx
je 0x140043717
jmp 0x140043711
mov dword [rbp + 0x6f], 4
lea rax, [rbp + 0x6f]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x67]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x77]
xor r8d, r8d
mov rdx, qword [rbp - 0x79]
mov rdi, qword [rbp - 0x51]
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
test eax, eax
jne 0x140043709
cmp dword [rbp + 0x77], 4
jne 0x140043709
mov eax, dword [rbp + 0x67]
mov dword [rbp + 0x7f], eax
test rdi, rdi
je 0x1400436e0
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [rbp - 0x79]
add rdx, 0xffffffffffffffe8
mov ecx, ebx
lock xadd dword [rdx + 0x10], ecx
sub ecx, 1
jg 0x1400436fe
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
cmp dword [rbp + 0x7f], 1
jne 0x140043734
jmp 0x140043956
test rdi, rdi
je 0x140043717
mov rcx, rdi
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov rdx, qword [rbp - 0x79]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140043734
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test dword [rsi + 0x58], 0x2000000
je 0x140043742
call fcn.140100060
lea rcx, [rbp - 0x39]
call fcn.140101690
nop
lea rsi, vtable.CAdvDeviceSetting.0
mov qword [rbp - 0x39], rsi
call fcn.140164860
test rax, rax
je 0x140043786
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0xe8]
test rax, rax
je 0x140043786
mov rax, qword [rax + 0x100]
test rax, rax
je 0x140043786
inc dword [rax + 0x1b78]
jmp 0x140043789
mov rax, r15
mov qword [rbp + 0xf], rax
lea rdx, str.AdvDeviceSetting
mov rax, rbx
nop word [rax + rax]
inc rax
cmp word [rdx + rax*2], 0
jne 0x1400437a0
mov r8d, eax
lea rcx, [rbp - 0x31]
call fcn.140016ad0
nop
call fcn.140162c14
mov rcx, rax
test rax, rax
je 0x140043989
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x71], rax
mov rdx, r12
lea rcx, [rbp - 0x71]
call fcn.1400168b0
test al, al
jne 0x14004380b
mov rax, rbx
nop dword [rax]
inc rax
cmp word [r12 + rax*2], 0
jne 0x1400437f0
mov r8d, eax
mov rdx, r12
lea rcx, [rbp - 0x71]
call fcn.140016ad0
nop
mov rdx, qword [rbp - 0x31]
mov r8d, dword [rdx - 0x10]
lea rcx, [rbp - 0x71]
call fcn.140016630
mov rdi, qword [rbp - 0x71]
lea rcx, [rdi - 0x18]
call fcn.140012250
add rax, 0x18
mov qword [rbp - 0x69], rax
lea rax, [rbp - 0x69]
mov qword [rbp - 0x59], rax
lea rdx, [rbp - 0x69]
lea rcx, [rbp - 0x29]
call fcn.140016d50
nop
mov rdx, qword [rbp - 0x69]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140043864
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [0x140465a00]
mov qword [rbp - 0x21], rax
mov dword [rbp - 0x19], 4
lea rcx, [rbp - 0x39]
call fcn.14010edd0
nop
mov eax, ebx
lock xadd dword [rdi - 8], eax
sub eax, 1
jg 0x14004389a
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
lea rdx, [rdi - 0x18]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rax, [rbp - 0x61]
mov qword [rbp - 0x59], rax
call fcn.140162c14
mov rcx, rax
test rax, rax
je 0x14004396d
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x61], rax
mov rdx, r14
lea rcx, [rbp - 0x61]
call fcn.1400168b0
test al, al
jne 0x1400438ef
mov rax, rbx
inc rax
cmp word [r14 + rax*2], 0
jne 0x1400438d4
mov r8d, eax
mov rdx, r14
lea rcx, [rbp - 0x61]
call fcn.140016ad0
nop
mov r8d, 1
lea rdx, [rbp - 0x61]
mov rcx, r12
call fcn.1400402b0
nop
mov qword [rbp - 0x39], rsi
mov rcx, qword [rbp + 0xf]
test rcx, rcx
je 0x140043927
add dword [rcx + 0x1b78], 0xffffffff
jne 0x140043923
mov rax, qword [rcx]
mov edx, 1
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rbp + 0xf], r15
lea rax, vtable.CPropSetting.0
mov qword [rbp - 0x39], rax
mov rdx, qword [rbp + 7]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
sub ebx, 1
jg 0x14004394d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
lea rcx, [rbp - 0x39]
call fcn.14010eb70
mov eax, 1
add rsp, 0xd0
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80004005
call fcn.140012800
nop
mov ecx, 0x80004005
call fcn.140012800
int3
call fcn.140161be4
nop
mov ecx, 0x80004005
call fcn.140012800
int3