Function at 0x140028580
Capabilities:
Query or enumerate registry value

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x80
mov qword [rbp - 8], 0xfffffffffffffffe
mov qword [rsp + 0xc8], rbx
mov r15d, edx
mov rsi, rcx
or edx, 0xffffffff
mov rcx, qword [rcx + 0x100]
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
lea rax, str.ApplyChanges__
mov qword [rsp + 0x30], rax
lea rax, [0x1400868d0]
mov qword [rsp + 0x28], rax
xor r14d, r14d
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 2]
lea r8, [0x1400a73c8]
mov edx, 0x28c
lea rcx, str...SharedRealtekJack.cpp
call fcn.140002f50
mov dword [rsp + 0x20], 1
mov r9, qword [rsi + 0xd0]
xor edx, edx
lea r8d, [r14 + 4]
mov rcx, qword [rsi + 0xc8]
call qword [sym.imp.ADVAPI32.dll_RegNotifyChangeKeyValue]
mov dl, 1
mov rcx, rsi
call fcn.140026f60
mov r12d, eax
mov rcx, rsi
call fcn.14002a930
mov ebx, eax
mov rcx, rsi
call fcn.140027170
mov edi, eax
xor edx, edx
mov rcx, rsi
call fcn.140027410
mov edx, dword [rsi + 0x58]
mov dword [rsp + 0x30], edx
lea rax, str.IsJackInserted___:_d
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
lea r9d, [r14 + 2]
lea r8, [0x1400a73c8]
mov edx, 0x263
lea rcx, str...SharedRealtekJack.cpp
call fcn.140002f50
cmp dword [rsi + 0x58], r14d
je 0x140028280
test r12d, r12d
je 0x140028227
test r15d, r15d
je 0x140028227
lea edx, [r14 + 1]
mov rcx, rsi
call fcn.140029720
jmp 0x14002825d
test ebx, ebx
jne 0x14002822f
test edi, edi
je 0x14002825d
xor bl, bl
test edi, edi
je 0x140028252
test r15d, r15d
jne 0x140028252
mov bl, 1
mov rcx, rsi
call fcn.140028020
movzx r8d, bl
mov edx, eax
mov rcx, rsi
call fcn.14002a700
movzx edx, bl
mov rcx, rsi
call fcn.140027410
test r15d, r15d
jne case.default.0x14002856a
cmp dword [rsi + 0x9c], r14d
je case.default.0x14002856a
mov rcx, rsi
call fcn.140028c50
jmp case.default.0x14002856a
mov dword [rbp + 0x50], 0xffffffff
xor ebx, ebx
mov dword [rbp + 0x40], ebx
mov rcx, rsi
call fcn.140027ef0
mov r13d, eax
mov rcx, rsi
call fcn.14002a280
mov dword [rsi + 0x9c], ebx
xor edx, edx
mov rcx, rsi
call fcn.14002a5f0
test r13d, r13d
je 0x1400283d7
cmp r13d, 7
je 0x1400283e4
cmp r13d, 8
je 0x1400283d7
mov edi, ebx
nop
cmp edi, 0x1d
jge 0x1400283ce
call fcn.1400018d0
test rax, rax
je 0x1400283c3
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp - 0x20], rax
mov r9d, edi
lea r8, str.OldRetaskIndex
lea rdx, str._s_d
lea rcx, [rbp - 0x20]
call fcn.140013160
mov dword [rbp + 0x58], ebx
mov qword [rbp - 0x30], rbx
lea rax, [rbp - 0x30]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SOFTWAREWaves_AudioMaxxAudioGeneral
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov rbx, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x14002837f
mov dword [rbp - 0x3c], 4
lea rax, [rbp - 0x3c]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x58]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x10]
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rcx, qword [rbp - 0x30]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [rbp + 0x58]
test ecx, ecx
je 0x140028397
lea eax, [rcx - 7]
cmp eax, 1
jbe 0x140028397
mov dword [rbp + 0x50], edi
mov dword [rbp + 0x40], ecx
mov r14b, 1
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400283b1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
inc edi
test r14b, r14b
mov ebx, 0
je 0x1400282d0
jmp 0x1400283d7
mov ecx, 0x80004005
call fcn.1400015b0
int3
test r14b, r14b
je 0x1400284ef
lea eax, [r13 - 7]
cmp eax, 4
ja 0x140028514
xor r14b, r14b
mov edi, ebx
nop dword [rax]
cmp edi, 0x1d
jge 0x1400284ea
call fcn.1400018d0
test rax, rax
je 0x1400284df
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + 0x18]
add rax, 0x18
mov qword [rbp - 0x18], rax
mov r9d, edi
lea r8, str.OldRetaskIndex
lea rdx, str._s_d
lea rcx, [rbp - 0x18]
call fcn.140013160
mov dword [rbp - 0x40], ebx
mov qword [rbp - 0x28], rbx
lea rax, [rbp - 0x28]
mov qword [rsp + 0x20], rax
mov r9d, 0x20019
xor r8d, r8d
lea rdx, str.SOFTWAREWaves_AudioMaxxAudioGeneral
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov rbx, qword [rbp - 0x18]
mov rcx, qword [rbp - 0x28]
test rcx, rcx
je 0x14002849f
mov dword [rbp - 0x38], 4
lea rax, [rbp - 0x38]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0xc]
xor r8d, r8d
mov rdx, rbx
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rcx, qword [rbp - 0x28]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [rbp - 0x40]
lea eax, [rcx - 7]
cmp eax, 4
ja 0x1400284b3
mov dword [rbp + 0x50], edi
mov dword [rbp + 0x40], ecx
mov r14b, 1
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400284cd
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
inc edi
test r14b, r14b
mov ebx, 0
je 0x1400283f0
jmp 0x140028514
mov ecx, 0x80004005
call fcn.1400015b0
int3
test r14b, r14b
jne 0x140028514
test r12d, r12d
je 0x140028503
test r15d, r15d
je 0x140028503
mov dl, 1
mov rcx, rsi
call fcn.14002adc0
mov rcx, rsi
call fcn.140028c50
mov byte [rsi + 0x140], 0
jmp 0x140028527
cmp dword [rbp + 0x40], r13d
je 0x140028527
mov ecx, dword [rbp + 0x50]
cmp ecx, 0xffffffff
je 0x140028527
call fcn.14002afc0
test r15d, r15d
je case.default.0x14002856a
xor edx, edx
mov rcx, rsi
call fcn.140029720
cmp dword [rsi + 0x144], 0
jne case.default.0x14002856a
xor edx, edx
mov rcx, rsi
call fcn.14002adc0
mov rcx, qword [rsi + 0x100]
mov rbx, qword [rsp + 0xc8]
add rsp, 0x80
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp qword [sym.imp.KERNEL32.dll_ReleaseMutex]
push rbx
push rsi
push rdi
sub rsp, 0x50
xor edi, edi
lea rax, str.OnChange__
mov qword [rsp + 0x30], rax
lea rsi, [0x1400868d0]
mov rbx, rcx
mov qword [rsp + 0x28], rsi
lea r8, [0x1400a73c8]
mov qword [rsp + 0x20], rdi
lea r9d, [rdi + 2]
mov edx, 0x2e6
lea rcx, str...SharedRealtekJack.cpp
call fcn.140002f50
lea rax, [rsp + 0x40]
mov dword [rsp + 0x78], edi
mov r9d, 0x20019
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov qword [rsp + 0x40], rdi
lea rdx, str.SOFTWAREWaves_AudioMaxxAudioGeneral
mov rcx, 0xffffffff80000002
call qword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
mov rcx, qword [rsp + 0x40]
test rcx, rcx
je 0x140028645
lea rax, [rsp + 0x80]
mov dword [rsp + 0x80], 4
mov qword [rsp + 0x28], rax
lea r9, [rsp + 0x88]
lea rax, [rsp + 0x78]
xor r8d, r8d
lea rdx, str.DoNotShowJackSenseDialog
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [rsp + 0x78], edi
jne 0x14002865b
test dword [rbx + 0x2b0], 0x40000000
je 0x140028716
xor edx, edx
mov rcx, rbx
call fcn.140026f60
test eax, eax
je 0x140028716
mov rcx, rbx
call fcn.140027d80
test eax, eax
je 0x140028716
lea rax, str.Apply_jack_changing_without_GUI
mov r9d, 2
mov qword [rsp + 0x30], rax
lea r8, [0x1400a73c8]
mov qword [rsp + 0x28], rsi
lea rcx, str...SharedRealtekJack.cpp
mov edx, 0x2ed
mov qword [rsp + 0x20], rdi
call fcn.140002f50
mov rcx, rbx
call fcn.140028020
mov edi, eax
test eax, eax
je 0x1400286cd
mov edx, eax
mov rcx, rbx
call fcn.14002aca0
test al, al
jne 0x1400286d7
mov rcx, rbx
call fcn.140028730
mov edi, eax
mov rcx, rbx
call fcn.14002a280
mov edx, edi
mov rcx, rbx
call fcn.140027de0
mov rcx, rbx
call fcn.14002bf60
mov dl, 1
mov rcx, rbx
call 0x14002c1b0
xor edx, edx
mov rcx, rbx
call 0x140028110
xor edx, edx
mov rcx, rbx
add rsp, 0x50
pop rdi
pop rsi
pop rbx
jmp 0x14002c1b0
mov edx, 1
mov rcx, rbx
add rsp, 0x50
pop rdi
pop rsi
pop rbx
jmp 0x140028110
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x50
movzx ebp, dl
lea rax, str.CMaxxAudioClientEx::SetMuteConnection:__d
xor esi, esi
mov dword [rsp + 0x30], ebp
mov rdi, rcx
mov qword [rsp + 0x28], rax
lea r8, [0x1400a73c8]
mov qword [rsp + 0x20], rsi
mov edx, 0x820
lea rcx, str...SharedRealtekJack.cpp
lea r9d, [rsi + 3]
call fcn.140002f50
mov rax, qword [rdi + 0x2c0]
mov rbx, qword [rdi + 0x2b8]
mov rdi, rax
sub rdi, rbx
add rdi, 7
shr rdi, 3
cmp rbx, rax
cmova rdi, rsi
test rdi, rdi
je 0x14002c26f
mov eax, esi
movaps xmmword [rsp + 0x40], xmm6
test bpl, bpl
setne al
movd xmm6, eax
cvtdq2pd xmm6, xmm6
nop word [rax + rax]
mov rcx, qword [rbx]
mov r9d, 0xfffffffd
movaps xmm2, xmm6
mov dword [rsp + 0x20], 0xfffffffd
lea edx, [r9 + 5]
call qword [sym.imp.MaxxAudioAPOShell64.dll_WavesFX_Preset_SetParameter]
inc rsi
lea rbx, [rbx + 8]
cmp rsi, rdi
jne 0x14002c240
movaps xmm6, xmmword [rsp + 0x40]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
add rsp, 0x50
pop rdi
ret
outsd dx, dword [rsi]
or dword [rbx + 0x5596c65f], edx
push rbp
add byte [rax], al
loopne 0x14011a290
invalid