Function at 0x140086360
Capabilities:
Delete registry value
Query or enumerate registry value
Set registry value

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1f]
sub rsp, 0xc8
mov qword [rbp + 7], 0xfffffffffffffffe
movsxd rbx, edx
mov r13, rcx
cmp ebx, 0x21
ja 0x140086d0b
mov rdi, rbx
lea rax, [rbx + rbx*2]
cmp dword [rcx + rax*4 + 0xa8], 0
je 0x140086d23
xor esi, esi
mov qword [rbp - 0x59], rsi
mov dword [rbp - 0x51], esi
mov qword [rbp - 0x49], rsi
call fcn.1400f5f94
mov rcx, rax
test rax, rax
je 0x140086d42
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rbp - 0x41], rax
mov r9d, ebx
lea r8, str.SoftwareRealtekAudioGUI_INFORMATIONJackInfomation
lea rdx, str._sJack_d
lea rcx, [rbp - 0x41]
call fcn.14000dd70
mov r9d, 0x2001f
mov rbx, qword [rbp - 0x41]
mov r8, rbx
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x59]
call fcn.1400146e0
lea r12, [rsi - 1]
test eax, eax
je 0x140086461
mov qword [rsp + 0x38], rsi
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], esi
xor r9d, r9d
mov r8, rbx
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x59]
call fcn.1400144b0
test eax, eax
je 0x140086461
lea r8, str.c:userschunyung_source_repos_rtkngui_rtknguijackmgr.cpp
mov edx, 0x10f
lea rcx, str._VCpl__RETURN_ON_FALSE:_Line___d__File___s_n
call fcn.140052e90
jmp 0x140086ce0
lea rax, [rdi + rdi*2]
lea r14, [rax*4]
movsxd rax, dword [r14 + r13 + 0xac]
mov dword [rbp - 0x69], eax
mov rsi, rax
imul r15, rax, 0xac
mov rax, qword [r13 + 0x260]
movzx edi, word [r15 + rax + 0xc8]
shr edi, 1
and edi, 1
mov dword [rbp - 0x35], 0
mov dword [rbp - 0x39], 4
lea rax, [rbp - 0x39]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x35]
mov qword [rsp + 0x20], rax
lea r9, [rbp - 0x31]
xor r8d, r8d
lea rdx, str.JackStatus
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ebx, eax
test eax, eax
jne 0x1400864e1
mov eax, SafeArrayDestroy
cmp dword [rbp - 0x31], 4
cmovne ebx, eax
mov dword [rbp - 0x29], edi
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x29]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.JackStatus
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rax, qword [r13 + 0x260]
mov ecx, dword [rax + rsi*4 + 0x3c]
mov dword [rbp - 0x21], ecx
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x21]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.JackStatusChangedWhenPowerDown
mov rsi, qword [rbp - 0x59]
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp ebx, 2
jne 0x140086583
test edi, edi
je 0x140086583
mov dword [rbp - 0x19], 1
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x19]
mov qword [rsp + 0x20], rax
lea r9d, [rbx + 2]
xor r8d, r8d
lea rdx, str.JackStatusChangedWhenPowerDown
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [r14 + r13 + 0xb0]
mov dword [rbp - 0x11], eax
mov dword [rsp + 0x28], 4
lea rax, [rbp - 0x11]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.JackIconTypeColor
mov rcx, rsi
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rax, qword [r13 + 0x260]
mov ebx, dword [r15 + rax + 0x14c]
mov esi, dword [r15 + rax + 0x15c]
mov edi, dword [r15 + rax + 0x164]
mov ecx, esi
shl ecx, 8
add ecx, 0x100
and ecx, 0xf00
mov eax, edi
and eax, 0xf
shl eax, 0xc
or ecx, eax
or ecx, ebx
mov dword [rbp - 9], ecx
mov dword [rsp + 0x28], 4
lea rax, [rbp - 9]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.JackWidgetId
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor r10d, r10d
mov ecx, r10d
mov dword [rbp + 0x6f], ecx
mov edx, r10d
mov dword [rbp + 0x77], edx
mov r8, qword [r13 + 0x260]
mov r11d, dword [rbp - 0x69]
cmp r11d, dword [r8 + 0x14]
jae 0x1400866cd
mov edx, r11d
lea rax, [r11 + 2]
imul rcx, rax, 0xac
imul rax, rdx, 0xac
cmp dword [rcx + r8], r10d
je 0x140086676
mov ecx, dword [rax + r8 + 0x150]
mov dword [rbp + 0x6f], ecx
mov edx, dword [rax + r8 + 0x154]
jmp 0x140086692
mov ecx, dword [rax + r8 + 0xc4]
shr ecx, 8
and ecx, 0xf
mov dword [rbp + 0x6f], ecx
mov edx, dword [rax + r8 + 0xbc]
and edx, 0xf
mov dword [rbp + 0x77], edx
mov r10, qword [r8 + 0x1658]
test r10, r10
je 0x1400866ca
mov r10, qword [r10 + 0x538]
test r10, r10
je 0x1400866ca
mov rax, qword [r10]
lea r9, [rbp + 0x77]
lea r8, [rbp + 0x6f]
mov edx, r11d
mov rcx, r10
call qword [rax + 0x140]
mov ecx, dword [rbp + 0x6f]
mov edx, dword [rbp + 0x77]
xor r10d, r10d
mov rax, qword [r13 + 0x260]
test edi, edi
je 0x1400866ef
mov r13d, dword [rax + 0x1648]
mov r14d, dword [rax + 0x164c]
mov r15d, dword [rax + 0x1650]
jmp 0x140086704
mov r13d, dword [rax + 0x163c]
mov r14d, dword [rax + 0x1640]
mov r15d, dword [rax + 0x1644]
cmp ecx, 2
jne 0x14008671f
lea eax, [rdx - 0xa]
cmp eax, 1
ja 0x14008671f
mov qword [rbp - 0x61], 1
mov qword [rbp - 1], r10
jmp 0x14008673b
mov qword [rbp - 0x61], r10
lea eax, [rcx - 8]
test eax, 0xfffffffd
je 0x140086733
mov qword [rbp - 1], r10
jmp 0x14008673b
mov qword [rbp - 1], 1
cmp ebx, r13d
jne 0x140086754
lea rdx, str.EndpointIdForHiddenJack
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
xor r10d, r10d
mov dword [rbp + 0x7f], r10d
nop dword [rax + rax]
mov rax, qword [rbp + 0x67]
mov rax, qword [rax + 0x98]
mov r9, qword [rax + 0x1bd8]
test r9, r9
je 0x140086928
mov rdx, r9
mov r9, qword [r9]
mov rdx, qword [rdx + 0x10]
test rdx, rdx
je 0x140086772
cmp ebx, r13d
jne 0x14008681b
cmp qword [rbp - 0x61], 0
jne 0x1400867dd
cmp qword [rbp - 1], 0
je 0x14008681b
cmp esi, dword [rdx + reloc.COMCTL32.dll_Ordinal_380]
jne 0x140086772
cmp edi, dword [rdx + 0x170]
jne 0x140086772
mov ecx, r10d
mov r8d, dword [rdx + 0x3a4]
test r8d, r8d
je 0x140086772
lea rax, [rdx + 0x3a8]
cmp dword [rax], r15d
je 0x14008695f
inc ecx
add rax, 4
cmp ecx, r8d
jb 0x1400867c7
jmp 0x140086772
cmp esi, dword [rdx + reloc.COMCTL32.dll_Ordinal_380]
jne 0x140086772
cmp edi, dword [rdx + 0x170]
jne 0x140086772
mov ecx, r10d
mov r8d, dword [rdx + 0x3a4]
test r8d, r8d
je 0x140086772
lea rax, [rdx + 0x3a8]
cmp dword [rax], ebx
je 0x140086868
inc ecx
add rax, 4
cmp ecx, r8d
jb 0x140086807
jmp 0x140086772
cmp esi, dword [rdx + reloc.COMCTL32.dll_Ordinal_380]
jne 0x140086772
cmp edi, dword [rdx + 0x170]
jne 0x140086772
mov ecx, r10d
mov r8d, dword [rdx + 0x3a4]
test r8d, r8d
je 0x140086772
lea rax, [rdx + 0x3a8]
nop dword [rax]
cmp dword [rax], ebx
je 0x140086aa0
inc ecx
add rax, 4
cmp ecx, r8d
jb 0x140086850
jmp 0x140086772
mov rcx, qword [rdx + 0x118]
test rcx, rcx
je 0x1400868b8
mov rax, r12
nop word [rax + rax]
lea rax, [rax + 1]
cmp word [rcx + rax*2], 0
jne 0x140086880
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
lea rdx, str.EndpointId
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
xor r10d, r10d
mov rax, qword [rbp + 0x67]
mov rax, qword [rax + 0x98]
mov r9, qword [rax + 0x1bd8]
test r9, r9
je 0x140086928
nop
mov r8, r9
test r9, r9
je 0x140086d58
mov r9, qword [r9]
mov r8, qword [r8 + 0x10]
test r8, r8
je 0x140086923
cmp esi, dword [r8 + reloc.COMCTL32.dll_Ordinal_380]
jne 0x140086923
cmp edi, dword [r8 + 0x170]
jne 0x140086923
mov ecx, r10d
mov edx, dword [r8 + 0x3a4]
test edx, edx
je 0x140086923
lea rax, [r8 + 0x3a8]
nop
cmp dword [rax], r14d
je 0x140086a57
inc ecx
add rax, 4
cmp ecx, edx
jb 0x140086910
test r9, r9
jne 0x1400868d0
mov ecx, 0x3e8
call qword [sym.imp.KERNEL32.dll_Sleep]
mov rax, qword [rbp + 0x67]
mov rcx, qword [rax + 0x98]
add rcx, 0x1bc8
call fcn.1400a4b70
mov ecx, dword [rbp + 0x7f]
inc ecx
mov dword [rbp + 0x7f], ecx
cmp ecx, 2
jge 0x1400869a5
xor r10d, r10d
jmp 0x140086760
mov rcx, qword [rdx + 0x118]
test rcx, rcx
je 0x1400869a5
mov rax, r12
nop
lea rax, [rax + 1]
cmp word [rcx + rax*2], 0
jne 0x140086970
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
lea rdx, str.EndpointId
mov rcx, qword [rbp - 0x59]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov r15, qword [rbp + 0x67]
mov eax, dword [rbp - 0x69]
mov dword [r15 + 0x290], eax
lea rcx, [r15 + 0x268]
call fcn.1400892a0
lea rcx, [r15 + 0x268]
call fcn.1400899b0
test eax, eax
jne 0x1400869e7
lea r8, str.c:userschunyung_source_repos_rtkngui_rtknguijackreteskinfo.cpp
mov edx, 0x28d
lea rcx, str._VCpl__RETURN_ON_FALSE:_Line___d__File___s_n
call fcn.140052e90
call fcn.1400f5f94
mov rcx, rax
test rax, rax
je 0x140086d4d
mov rax, qword [rax]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x69], rbx
call fcn.1400f5f94
mov rcx, rax
test rax, rax
je 0x140086d5e
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp - 0x61], rdi
lea rdx, [rbx - 0x18]
mov rsi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140086aee
cmp dword [rdx + 0x10], 0
jge 0x140086ac3
cmp dword [rbx - 0xc], 0
jl 0x140086d69
xor eax, eax
mov dword [rbx - 0x10], eax
mov word [rbx], ax
jmp 0x140086af0
mov rcx, qword [r8 + 0x118]
test rcx, rcx
je 0x1400869a5
mov rax, r12
nop word [rax + rax]
lea rax, [rax + 1]
cmp word [rcx + rax*2], 0
jne 0x140086a70
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rcx
mov r9d, 1
xor r8d, r8d
lea rdx, str.EndpointIdForHiddenJack
jmp 0x14008699b
mov rcx, qword [rdx + 0x118]
test rcx, rcx
je 0x1400869a5
mov rax, r12
lea rax, [rax + 1]
cmp word [rcx + rax*2], 0
jne 0x140086ab3
jmp 0x14008697b
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140086ad9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rbp - 0x69], rbx
mov rdi, qword [rbp - 0x61]
xor eax, eax
lea rdx, [rdi - 0x18]
mov rsi, qword [rdx]
cmp dword [rdx + 8], 0
je 0x140086b40
cmp dword [rdx + 0x10], 0
jge 0x140086b15
cmp dword [rdi - 0xc], 0
jl 0x140086d37
mov dword [rdi - 0x10], eax
mov word [rdi], ax
jmp 0x140086b40
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140086b2b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rax, qword [rsi]
mov rcx, rsi
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rbp - 0x61], rdi
mov rbx, qword [rbp - 0x69]
mov r14, qword [r15 + 0x2d8]
test r14, r14
je 0x140086bc2
lea r13, [0x140336ee8]
nop dword [rax]
nop word [rax + rax]
mov esi, dword [r14 + 0x10]
mov r14, qword [r14]
lea rdi, [0x140328530]
cmp dword [rbx - 0x10], 0
cmovne rdi, r13
mov eax, esi
shr eax, 8
movzx r9d, al
movzx eax, sil
shl eax, 8
or r9d, eax
mov r8, rdi
lea rdx, str._s_04x
lea rcx, [rbp - 0x69]
call fcn.140042b60
shr esi, 0x10
mov r9d, esi
mov r8, rdi
lea rdx, str._s_d
lea rcx, [rbp - 0x61]
call fcn.140042b60
mov rbx, qword [rbp - 0x69]
test r14, r14
jne 0x140086b60
mov rdi, qword [rbp - 0x61]
test rbx, rbx
je 0x140086c0a
mov rax, r12
nop word [rax + rax]
lea rax, [rax + 1]
cmp word [rbx + rax*2], 0
jne 0x140086bd0
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 1
xor r8d, r8d
lea rdx, str.JackListTypeSequence
mov rbx, qword [rbp - 0x59]
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
jmp 0x140086c0e
mov rbx, qword [rbp - 0x59]
test rdi, rdi
je 0x140086c54
mov rax, r12
nop word [rax + rax]
lea rax, [rax + 1]
cmp word [rdi + rax*2], 0
jne 0x140086c20
lea eax, [rax*2 + 2]
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rdi
mov r9d, 1
xor r8d, r8d
lea rdx, str.JackListName
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov eax, dword [r15 + 0x308]
mov dword [rbp + 0x7f], eax
mov dword [rsp + 0x28], 4
lea rax, [rbp + 0x7f]
mov qword [rsp + 0x20], rax
mov r9d, 4
xor r8d, r8d
lea rdx, str.JackListCurrSelectIndex
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test rbx, rbx
je 0x140086c9e
mov rcx, rbx
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
xor eax, eax
mov qword [rbp - 0x59], rax
jmp 0x140086ca0
xor eax, eax
mov dword [rbp - 0x51], eax
lea rdx, [rdi - 0x18]
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140086cbe
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp - 0x69]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x140086cdc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rbx, qword [rbp - 0x41]
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], r12d
sub r12d, 1
jg 0x140086cfa
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rcx, qword [rbp - 0x59]
test rcx, rcx
je 0x140086d23
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x140086d23
lea r8, str.c:userschunyung_source_repos_rtkngui_rtknguijackmgr.cpp
mov edx, 0xfd
lea rcx, str._VCpl__RETURN_ON_FALSE:_Line___d__File___s_n
call fcn.140052e90
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov ecx, 0x80070057
call fcn.14000dc70
nop
mov ecx, 0x80004005
call fcn.14000dc70
nop
mov ecx, 0x80004005
call fcn.14000dc70
int3
call fcn.1400f5890
nop
mov ecx, 0x80004005
call fcn.14000dc70
nop
mov ecx, 0x80070057
call fcn.14000dc70
int3