Function at 0x14000a0f0
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
push rsi
push rdi
push r12
sub rsp, 0x100
mov qword [rsp + 0x70], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov rax, qword [0x140134780]
xor rax, rsp
mov qword [rsp + 0xf0], rax
mov r12, rcx
call fcn.14003c3f0
mov rcx, rax
xor esi, esi
mov edx, esi
test rax, rax
setne dl
test edx, edx
jne 0x14000a145
mov ecx, 0x80004005
call fcn.140001120
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x40], rax
call fcn.14003c3f0
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x14000a173
mov ecx, 0x80004005
call fcn.140001120
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x58], rax
call fcn.14003c3f0
mov r11, rax
mov ecx, esi
test rax, rax
setne cl
test ecx, ecx
jne 0x14000a1a4
mov ecx, 0x80004005
call fcn.140001120
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
mov rcx, r12
call fcn.140003c10
or edi, 0xffffffff
test eax, eax
je 0x14000a434
lea rdx, str.System32DriversHdaudbus.sys
lea rcx, [rsp + 0x40]
call fcn.140006560
mov rbx, qword [rsp + 0x40]
mov rcx, qword [rbx - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rbx - 8], 0
jl 0x14000a203
cmp rax, qword [rbx - 0x18]
jne 0x14000a203
lea rbp, [rbx - 0x18]
lock add dword [rbx - 8], 1
jmp 0x14000a241
mov rax, qword [rax]
mov r8d, 2
mov edx, dword [rbx - 0x10]
call qword [rax]
mov rbp, rax
test rax, rax
jne 0x14000a21f
call fcn.140002f80
int3
mov eax, dword [rbx - 0x10]
mov dword [rbp + 8], eax
mov eax, dword [rbx - 0x10]
add eax, 1
movsxd rdx, eax
lea r9, [rdx + rdx]
mov r8, rbx
add rdx, rdx
lea rcx, [rbp + 0x18]
call fcn.14009f640
lea rax, [rbp + 0x18]
mov qword [rsp + 0x50], rax
lea r8, [rsp + 0x50]
lea rdx, [rsp + 0x60]
mov rcx, r12
call fcn.140009c70
mov r9, qword [rax]
lea r8, [0x1400ee884]
mov edx, 0x32
lea rcx, [rsp + 0x80]
call fcn.1400a2c80
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000a298
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp dword [r12 + 0x3b10c], 0
jne 0x14000a3cb
call fcn.14003c3f0
mov rcx, rax
test rax, rax
setne sil
test esi, esi
jne 0x14000a2c5
mov ecx, 0x80004005
call fcn.140001120
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rdx, str.RealtekInstallShield
test rdx, 0xffffffffffff0000
jne 0x14000a305
movzx ebx, dx
mov ecx, ebx
call fcn.14003c170
test rax, rax
je 0x14000a310
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.1400060c0
jmp 0x14000a310
lea rcx, [rsp + 0x38]
call fcn.140006560
nop
lea rdx, [r12 + 0x198]
lea r8, [rsp + 0x38]
lea rcx, [rsp + 0x68]
call fcn.140006b70
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
mov rbx, qword [rsp + 0x30]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14000a388
cmp dword [rbx + 0x10], 0
jl 0x14000a379
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14000a379
call fcn.140004470
mov rsi, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
add ecx, 0xffffffff
test ecx, ecx
jg 0x14000a36e
mov rcx, qword [rbx]
mov r8, qword [rcx]
mov rdx, rbx
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
lea rax, [rsi + 0x18]
mov qword [rsp + 0x30], rax
jmp 0x14000a388
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x30]
call fcn.140006310
nop
mov rdx, qword [rsp + 0x68]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000a3a9
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000a3dc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14000a3dc
lea rdx, str.SoftwareWow6432NodeRealtekAudioInstaller
lea rcx, [rsp + 0x30]
call fcn.140006560
lea r8, [rsp + 0x48]
mov rbx, qword [rsp + 0x30]
mov rdx, rbx
mov ecx, 0x80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x14000a434
mov dword [rsp + 0x28], VarCyFromDisp
lea rax, [rsp + 0x80]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
lea rdx, str.BUSDrvVersion
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x48]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rdx, [rbx - 0x18]
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000a450
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x58]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000a471
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x40]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
add edi, 0xffffffff
test edi, edi
jg 0x14000a48f
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0xf0]
xor rcx, rsp
call fcn.1400a1970
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsp, r11
pop r12
pop rdi
pop rsi
ret