Function at 0x140007450
Capabilities:
Set registry value

Disassembly:
mov rax, rsp
push rdi
sub rsp, 0xb0
mov qword [rsp + 0x68], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
mov qword [rax + 0x20], rsi
mov rax, qword [0x140076bc8]
xor rax, rsp
mov qword [rsp + 0xa8], rax
mov rbp, rcx
call fcn.140021e08
mov rcx, rax
xor edi, edi
mov edx, edi
test rax, rax
setne dl
test edx, edx
jne 0x1400074a6
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
call fcn.140021e08
mov r11, rax
mov ecx, edi
test rax, rax
setne cl
test ecx, ecx
jne 0x1400074d4
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
mov rcx, r11
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x50], rax
call fcn.140021e08
mov rcx, rax
test rax, rax
setne dil
test edi, edi
jne 0x140007504
mov ecx, 0x80004005
call fcn.140001000
int3
mov rax, qword [rax]
call qword [rax + 0x18]
lea rdi, [rax + 0x18]
mov qword [rsp + 0x30], rdi
mov rcx, rbp
call fcn.140002320
or rbx, 0xffffffffffffffff
test eax, eax
je 0x14000777f
xor eax, eax
mov rcx, rbx
lea rdi, str.System32DriversHdaudbus.sys
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.System32DriversHdaudbus.sys
lea rcx, [rsp + 0x38]
call fcn.140003070
mov rdi, qword [rsp + 0x38]
mov rcx, qword [rdi - 0x18]
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi - 8], 0
jl 0x140007576
cmp rax, qword [rdi - 0x18]
jne 0x140007576
lea rsi, [rdi - 0x18]
lock add dword [rdi - 8], 1
jmp 0x1400075b0
mov rax, qword [rax]
mov r8d, 1
mov edx, dword [rdi - 0x10]
call qword [rax]
mov rsi, rax
test rax, rax
jne 0x140007592
call fcn.140002210
int3
mov eax, dword [rdi - 0x10]
mov dword [rsi + 8], eax
mov eax, dword [rdi - 0x10]
add eax, 1
movsxd rdx, eax
mov r8, rdi
lea rcx, [rsi + 0x18]
mov r9, rdx
call fcn.14003cf60
lea rax, [rsi + 0x18]
mov qword [rsp + 0x58], rax
lea r8, [rsp + 0x58]
lea rdx, [rsp + 0x48]
mov rcx, rbp
call fcn.140006fd0
mov r9, qword [rax]
lea r8, [0x140058920]
mov edx, 0x32
lea rcx, [rsp + 0x70]
call fcn.14003d900
mov rdx, qword [rsp + 0x48]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x140007604
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
cmp dword [rbp + 0xeed4], 0
jne 0x140007704
lea rdx, [rbp + 0x290]
lea r8, str.RealtekInstallShield
lea rcx, [rsp + 0x60]
call fcn.1400033b0
nop
mov rdx, qword [rax]
lea rdi, [rdx - 0x18]
mov rsi, qword [rsp + 0x30]
add rsi, 0xffffffffffffffe8
cmp rdi, rsi
je 0x1400076e2
cmp dword [rsi + 0x10], 0
jl 0x1400076d3
mov rcx, qword [rdi]
cmp rcx, qword [rsi]
jne 0x1400076d3
mov rax, qword [rcx]
call qword [rax + 0x20]
mov rcx, rax
cmp dword [rdi + 0x10], 0
jl 0x140007673
cmp rax, qword [rdi]
jne 0x140007673
mov rbp, rdi
lock add dword [rdi + 0x10], 1
jmp 0x1400076ae
mov rax, qword [rax]
mov r8d, 1
mov edx, dword [rdi + 8]
call qword [rax]
mov rbp, rax
test rax, rax
jne 0x14000768f
call fcn.140002210
int3
mov eax, dword [rdi + 8]
mov dword [rbp + 8], eax
mov eax, dword [rdi + 8]
add eax, 1
movsxd rdx, eax
lea r8, [rdi + 0x18]
lea rcx, [rbp + 0x18]
mov r9, rdx
call fcn.14003cf60
mov eax, ebx
lock xadd dword [rsi + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400076c8
mov rcx, qword [rsi]
mov rax, qword [rcx]
mov rdx, rsi
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
lea rax, [rbp + 0x18]
mov qword [rsp + 0x30], rax
jmp 0x1400076e2
mov r8d, dword [rdx - 0x10]
lea rcx, [rsp + 0x30]
call fcn.140003070
nop
mov rdx, qword [rsp + 0x60]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000772a
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
jmp 0x14000772a
xor eax, eax
mov rcx, rbx
lea rdi, str.SoftwareWow6432NodeRealtekAudioInstaller
repne scasb al, byte [rdi]
not rcx
lea r8d, [rcx - 1]
lea rdx, str.SoftwareWow6432NodeRealtekAudioInstaller
lea rcx, [rsp + 0x30]
call fcn.140003070
lea r8, [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov rdx, rdi
mov ecx, 0x80000002
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyA]
test eax, eax
jne 0x14000777f
mov dword [rsp + 0x28], 0x32
lea rax, [rsp + 0x70]
mov qword [rsp + 0x20], rax
mov r9d, 1
xor r8d, r8d
lea rdx, str.BUSDrvVersion
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegSetValueExA]
mov rcx, qword [rsp + 0x40]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
nop
lea rdx, [rdi - 0x18]
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x14000779b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
nop
mov rdx, qword [rsp + 0x50]
add rdx, 0xffffffffffffffe8
mov eax, ebx
lock xadd dword [rdx + 0x10], eax
add eax, 0xffffffff
test eax, eax
jg 0x1400077bc
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], ebx
add ebx, 0xffffffff
test ebx, ebx
jg 0x1400077da
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.oledlg.dll_OleUIBusyA]
mov rcx, qword [rsp + 0xa8]
xor rcx, rsp
call fcn.14003bc70
lea r11, [rsp + 0xb0]
mov rbx, qword [r11 + 0x18]
mov rbp, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rsp, r11
pop rdi
ret