Function at 0x14000b400
Capabilities:
Set registry value

Disassembly:
push rbp
push rsi
push rdi
sub rsp, 0xf0
mov qword [rsp + 0x50], 0xfffffffffffffffe
mov qword [rsp + 0x120], rbx
mov rax, qword [0x1401216d8]
xor rax, rsp
mov qword [rsp + 0xe0], rax
mov edi, edx
mov rbp, rcx
call fcn.14004b0d0
mov rcx, rax
xor esi, esi
mov edx, esi
test rax, rax
setne dl
test edx, edx
jne 0x14000b454
mov ecx, 0x80004005
call fcn.140001610
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x38], rbx
mov r8d, edi
lea rdx, str.0x_08X
lea rcx, [rsp + 0x60]
call fcn.140003570
or edi, 0xffffffff
cmp dword [rbp + 0x3affc], 0
jne 0x14000b5a5
call fcn.14004b0d0
mov rcx, rax
test rax, rax
setne sil
test esi, esi
jne 0x14000b4a5
mov ecx, 0x80004005
call fcn.140001610
int3
mov rax, qword [rax]
call qword [rax + reloc.OLEAUT32.dll_SafeArrayGetElement]
add rax, 0x18
mov qword [rsp + 0x30], rax
lea rdx, str.RealtekInstallShield
test rdx, 0xffffffffffff0000
jne 0x14000b4e5
movzx esi, dx
mov ecx, esi
call fcn.14004aef8
test rax, rax
je 0x14000b4f0
mov r8d, esi
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.140005b70
jmp 0x14000b4f0
lea rcx, [rsp + 0x30]
call fcn.140005ff0
nop
lea rdx, [rbp + 0x290]
lea r8, [rsp + 0x30]
lea rcx, [rsp + 0x48]
call fcn.140006600
nop
mov rdx, qword [rax]
lea rcx, [rdx - 0x18]
add rbx, 0xffffffffffffffe8
cmp rcx, rbx
je 0x14000b562
cmp dword [rbx + 0x10], 0
jl 0x14000b553
mov rax, qword [rbx]
cmp qword [rcx], rax
jne 0x14000b553
call fcn.1400046b0
mov rsi, rax
mov ecx, edi
lock xadd dword [rbx + 0x10], ecx
add ecx, 0xffffffff
test ecx, ecx
jg 0x14000b548
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 + 0x38], rax
jmp 0x14000b562
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x38]
call fcn.140005dc0
nop
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000b583
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000b5b6
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14000b5b6
lea rdx, str.SoftwareWow6432NodeRealtekAudioInstaller
lea rcx, [rsp + 0x38]
call fcn.140005ff0
lea r8, [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov rdx, rbx
mov ecx, 0x80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyW]
test eax, eax
jne 0x14000b60b
mov dword [rsp + 0x28], 0x80
lea rax, [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
lea rdx, str.IntelHDASSTDrvReturnCode
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rdx, [rbx - 0x18]
lock xadd dword [rdx + 0x10], edi
add edi, 0xffffffff
test edi, edi
jg 0x14000b624
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rsp + 0xe0]
xor rcx, rsp
call fcn.140090480
mov rbx, qword [rsp + 0x120]
add rsp, 0xf0
pop rdi
pop rsi
pop rbp
ret