Function at 0x14000cdb0
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x30
mov rax, qword [rcx + 0xd0]
mov rsi, rcx
mov r15, 0xffffffffffffffff
mov ebp, dword [rax + 0x150]
mov eax, 2
imul ebp, ebp, 0x27
inc ebp
mov edx, ebp
mul rdx
cmovo rax, r15
mov rcx, rax
call fcn.1400025a0
xor r14d, r14d
mov r12, rax
cmp rax, r14
je 0x14001a1ec
mov rdi, qword [rsi + 0xd0]
mov r13d, r14d
cmp dword [rdi + 0x150], r14d
jbe 0x14000ce74
xor r15d, r15d
lea rbx, [rdi + 0x128]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rdi, qword [rdi + 0x120]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [r15 + rdi]
mov r11d, r14d
lea rdx, [r12 + r11*2]
mov r8d, SafeArrayAllocDescriptorEx
call qword [sym.imp.ole32.dll_StringFromGUID2]
mov rdi, qword [rsi + 0xd0]
inc r13d
add r14d, 0x27
add r15, 8
cmp r13d, dword [rdi + 0x150]
jb 0x14000ce1b
xor r14d, r14d
or r15, 0xffffffffffffffff
lea eax, [rbp - 1]
lea rdx, str.SupportedNetworkType
mov r9d, 7
mov word [r12 + rax*2], r14w
mov rcx, qword [rsi + 0xd0]
lea eax, [rbp + rbp]
mov rcx, qword [rcx + 0x30]
mov dword [rsp + 0x28], eax
xor r8d, r8d
mov qword [rsp + 0x20], r12
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, r12
call sub.msvcrt.dll_free
mov rbx, qword [rsi + 0xd0]
mov r13d, r14d
mov r12d, r14d
cmp dword [rbx + 0x190], r14d
jbe 0x14000cf11
mov rbp, r14
lea rdi, [rbx + 0x168]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [rbx + 0x160]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [rbx + rbp]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov rbx, qword [rsi + 0xd0]
inc r12d
add rbp, 8
lea r13d, [r13 + rax + 1]
cmp r12d, dword [rbx + 0x190]
jb 0x14000cecb
mov ebx, r13d
mov eax, 2
mul rbx
cmovo rax, r15
mov rcx, rax
call fcn.1400025a0
mov rbp, rax
cmp rax, r14
je 0x14001a211
lea r8, [rbx + rbx]
xor edx, edx
mov rcx, rax
call sub.msvcrt.dll_memset
mov rbx, qword [rsi + 0xd0]
mov r12d, r14d
mov r15d, r14d
cmp dword [rbx + 0x190], r14d
jbe 0x14000d07f
lea rdi, [rbx + 0x168]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [rbx + 0x160]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov rcx, qword [r14 + rbx]
call qword [sym.imp.OLEAUT32.dll_VariantInit]
mov dword [rsp + 0x70], eax
add eax, r12d
mov dword [rsp + 0x78], eax
cmp eax, r13d
ja 0x14000d061
mov rbx, qword [rsi + 0xd0]
lea rdi, [rbx + 0x168]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov rbx, qword [rbx + 0x160]
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov r11, qword [r14 + rbx]
mov r8d, dword [rsp + 0x70]
mov edx, r13d
xor r10d, r10d
mov eax, r12d
sub edx, r12d
lea rcx, [rbp + rax*2]
mov r9d, r10d
cmp rdx, r10
je 0x14001a216
cmp rdx, 0x7fffffff
ja 0x14001a216
cmp r9d, r10d
jl 0x14001a278
cmp r8, 0x7ffffffe
ja 0x14001a269
mov r9d, r10d
cmp rdx, r10
je 0x14001a221
sub r8, rdx
sub r11, rcx
lea rax, [r8 + rdx]
cmp rax, r10
je 0x14000d03d
movzx eax, word [r11 + rcx]
cmp ax, r10w
je 0x14000d03d
mov word [rcx], ax
add rcx, 2
sub rdx, 1
jne 0x14000d01c
cmp rdx, r10
je 0x14001a221
cmp r9d, r10d
mov word [rcx], r10w
jl 0x14001a278
mov r12d, dword [rsp + 0x78]
mov word [rbp + r12*2], r10w
inc r12d
mov rbx, qword [rsi + 0xd0]
inc r15d
add r14, 8
cmp r15d, dword [rbx + 0x190]
jb 0x14000cf5c
xor r14d, r14d
mov rax, qword [rsi + 0xd0]
lea rdx, str.ConfiguredTuningspace
mov r9d, 7
mov rcx, qword [rax + 0x30]
lea eax, [r13 + r13]
xor r8d, r8d
mov dword [rsp + 0x28], eax
mov qword [rsp + 0x20], rbp
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, rbp
mov edi, eax
call sub.msvcrt.dll_free
cmp edi, r14d
jne 0x14001a230
xor eax, eax
mov rbx, qword [rsp + 0x80]
add rsp, 0x30
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
mov r9d, ebp
mov r8d, dword [rsi + 0xc8]
lea rdx, str.CRecorder__d_::PersistTuningSpaces:_new_WCHAR__d__returned_NULL.
mov ecx, 1
call fcn.140001110
mov eax, 0x8007000e
jmp 0x14000d0c3
mov r9d, r13d
jmp 0x14001a1ef
mov r9d, 0x80070057
jmp 0x14000cff4
sub rcx, 2
mov r9d, 0x8007007a
jmp 0x14000d046
mov r8d, dword [rsi + 0xc8]
movzx ebx, di
lea r9, str.ConfiguredTuningspace
or ebx, 0x80070000
cmp edi, r14d
lea rdx, str.CRecorder__d_::PersistTuningSpaces:_Failed_to_RegSetValueEx__s___hr__0x_x
cmovle ebx, edi
mov ecx, 1
mov dword [rsp + 0x20], ebx
call fcn.140001110
mov eax, ebx
jmp 0x14000d0c3
xor r14d, r14d
mov r9d, 0x80070057
mov word [rcx], r14w
jmp 0x14001a27b
xor r14d, r14d
mov r8d, dword [rsi + 0xc8]
lea rdx, str.CRecorder__d_::PersistTuningSpaces:_StringCchCopyN_failed_0x_x
mov ecx, 1
call fcn.140001110
jmp 0x14000d07f