Function at 0x14015cd40
Capabilities:
Set registry value

Disassembly:
mov r11, rsp
push rsi
push rdi
push r14
sub rsp, 0x90
mov qword [r11 - 0x50], 0xfffffffffffffffe
mov qword [r11 + 0x10], rbx
mov qword [r11 + 0x18], rbp
mov rax, qword [0x14044b080]
xor rax, rsp
mov qword [rsp + 0x88], rax
mov rsi, rcx
xor r14d, r14d
mov dword [r11 - 0x58], r14d
cmp byte [rcx + 0x7d8], r14b
je 0x14015cfe9
mov ebx, dword [rcx + 0x318]
mov qword [r11 - 0x40], r14
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x14015d01c
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsp + 0x68], rax
mov dword [rsp + 0x50], 1
mov r9d, ebx
lea r8, str.SOFTWARERealtekAudioGUI_INFORMATIONJackInfomation
lea rdx, str._sJack_d
lea rcx, [rsp + 0x68]
call fcn.140058ab0
mov dword [rsp + 0x20], r14d
xor r9d, r9d
lea r8, str.JackStatusChangedWhenPowerDown
mov rdx, qword [rsp + 0x68]
mov rcx, 0xffffffff80000002
call fcn.140057230
mov dword [rsi + 0x324], eax
lea ebp, [r14 - 1]
mov rcx, rsi
cmp eax, 1
jne 0x14015cf2a
xor r8d, r8d
xor edx, edx
call fcn.14015fcf0
mov ebx, dword [rsi + 0x318]
mov qword [rsp + 0x78], r14
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x14015d011
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
add rax, 0x18
mov qword [rsp + 0x78], rax
mov dword [rsp + 0x50], 3
mov r9d, ebx
lea r8, str.SOFTWARERealtekAudioGUI_INFORMATIONJackInfomation
lea rdx, str._sJack_d
lea rcx, [rsp + 0x78]
call fcn.140058ab0
mov dword [rsp + 0x70], r14d
mov qword [rsp + 0x60], r14
lea rax, [rsp + 0x80]
mov qword [rsp + 0x40], rax
lea rax, [rsp + 0x60]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], r14
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], r14d
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rsp + 0x78]
mov rdx, rbx
mov rcx, 0xffffffff80000002
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCreateKeyExW]
mov rcx, qword [rsp + 0x60]
test rcx, rcx
je 0x14015cef9
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
lea r9d, [r14 + 4]
xor r8d, r8d
lea rdx, str.JackStatusChangedWhenPowerDown
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov dword [rsp + 0x50], 1
lea rdx, [rbx - 0x18]
mov eax, ebp
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14015cfc6
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14004487d.0]
jmp 0x14015cfc6
call fcn.14015e720
mov edi, eax
mov rcx, rsi
call fcn.14015e810
mov ebx, eax
mov ecx, r14d
cmp edi, eax
setne cl
mov dword [rsp + 0x40], eax
mov dword [rsp + 0x38], edi
mov dword [rsp + 0x30], ecx
lea rax, str.HasJackStatusChanged____changed:_d__rtk_status:_d__waves_status:__d
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
mov r9d, 2
lea r8, [0x1404675c0]
mov edx, 0x239
lea rcx, str.d:jenkinsworkspacemainrel4_dellconsumermainrel4_dellconsumerplatform_vista_shared_realtekjack.cpp
call fcn.140039f30
mov rcx, rsi
cmp edi, ebx
je 0x14015cf97
call fcn.14015e720
mov dword [rsi + 0x320], eax
xor r8d, r8d
xor edx, edx
jmp 0x14015cfbd
call fcn.1401625d0
test eax, eax
je 0x14015cfc6
mov rcx, rsi
call fcn.14015f6b0
test eax, eax
je 0x14015cfc6
xor edx, edx
mov rcx, rsi
call fcn.1401621b0
mov r8b, 1
movzx edx, r8b
mov rcx, rsi
call fcn.14015fcf0
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebp
sub ebp, 1
jg 0x14015cfe9
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14004487d.0]
mov rcx, qword [rsp + 0x88]
xor rcx, rsp
call fcn.140202880
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
int3