Function at 0x14016f060
Capabilities:
Delete registry value
Set registry value

Disassembly:
mov r11, rsp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x80
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 + 0x70], rax
mov r14, rcx
cmp qword [rcx + 8], 0
jbe 0x14016f256
xor r12d, r12d
mov qword [r11 - 0x48], r12
lea rax, [r11 - 0x40]
mov qword [r11 - 0x68], rax
lea rax, [r11 - 0x48]
mov qword [r11 - 0x70], rax
mov qword [r11 - 0x78], r12
mov dword [rsp + 0x28], 0x2001f
mov dword [rsp + 0x20], r12d
xor r9d, r9d
xor r8d, r8d
lea rdx, [0x140320430]
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 0x14016f256
cmp qword [r14 + 8], r12
jbe 0x14016f23e
call fcn.140039c50
mov rcx, rax
test rax, rax
je 0x14016f28a
mov rax, qword [rax]
mov rax, qword [rax + 0x18]
call qword [case.0x14004487d.0]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x50], rbx
mov esi, r12d
mov rax, qword [r14 + 8]
lea r15d, [r12 + 1]
test rax, rax
je 0x14016f1a8
cmp r12, rax
jae 0x14016f2b6
mov rax, qword [r14]
mov rdx, qword [rax + rsi*8]
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x50]
call fcn.14003c4a0
mov rbx, qword [rsp + 0x50]
movsxd rbp, dword [rbx - 0x10]
lea edi, [rbp + 1]
test edi, edi
js 0x14016f2ab
mov ecx, r15d
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, ecx
jge 0x14016f183
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.14003b630
mov rbx, qword [rsp + 0x50]
mov eax, ebp
mov word [rbx + rax*2], r12w
cmp edi, dword [rbx - 0xc]
jg 0x14016f2a0
mov dword [rbx - 0x10], edi
mov word [rbx + rbp*2 + 2], r12w
inc rsi
mov rax, qword [r14 + 8]
cmp rsi, rax
jb 0x14016f13a
movsxd rsi, dword [rbx - 0x10]
lea edi, [rsi + 1]
test edi, edi
js 0x14016f295
sub r15d, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, edi
or eax, r15d
jge 0x14016f1d6
mov edx, edi
lea rcx, [rsp + 0x50]
call fcn.14003b630
mov rbx, qword [rsp + 0x50]
mov eax, esi
mov word [rbx + rax*2], r12w
cmp edi, dword [rbx - 0xc]
jg 0x14016f27f
mov dword [rbx - 0x10], edi
mov word [rbx + rsi*2 + 2], r12w
mov eax, dword [rbx - 0x10]
add eax, eax
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbx
mov r9d, 7
xor r8d, r8d
lea rdx, str.ACXAudioCircuitDeviceList
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegSetValueExW]
nop
lea rdx, [rbx - 0x18]
mov eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14016f24b
mov rcx, qword [rdx]
mov rax, qword [rcx]
mov rax, qword [rax + 8]
call qword [case.0x14004487d.0]
jmp 0x14016f24b
lea rdx, str.ACXAudioCircuitDeviceList
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegDeleteValueW]
mov rcx, qword [rsp + 0x60]
call qword [sym.imp.api_ms_win_core_registry_l1_1_0.dll_RegCloseKey]
mov rcx, qword [rsp + 0x70]
xor rcx, rsp
call fcn.140202880
lea r11, [rsp + 0x80]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret
mov ecx, 0x80070057
call fcn.140039950
nop
mov ecx, 0x80004005
call fcn.140039950
nop
mov ecx, 0x80070057
call fcn.140039950
int3
mov ecx, 0x80070057
call fcn.140039950
int3
mov ecx, 0x80070057
call fcn.140039950
int3
mov ecx, 0x80070057
call fcn.140039950
int3