Function at 0x140008690
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rdi
push rbp
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov rax, qword [0x140023410]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
xor ebx, ebx
lea rcx, [0x140008200]
xor edx, edx
mov rdi, r8
mov qword [rbp - 0x80], 7
mov dword [rsp + 0x64], 0x104
mov dword [rsp + 0x54], ebx
mov qword [rsp + 0x78], rbx
mov word [rsp + 0x68], bx
mov dword [rsp + 0x50], ebx
call qword [sym.imp.DIFXAPI.dll_DIFXAPISetLogCallbackW]
mov rcx, rdi
call fcn.140003c40
lea rcx, [0x14001df38]
call fcn.140004070
test eax, eax
je 0x140008729
lea rcx, [0x14001df38]
call fcn.140004180
lea rcx, [0x140026200]
mov edx, 0x104
mov r8, rax
call fcn.14000adf8
lea rcx, str.rdev
call fcn.140004070
test eax, eax
je 0x140008756
call fcn.140008500
lea rcx, str.uninstall
call fcn.140004070
test eax, eax
je 0x140008844
lea rcx, str.flags
lea rcx, str.driverinf
call fcn.140004070
test eax, eax
je 0x140008a9e
lea rcx, str.flags
call fcn.140004070
test eax, eax
je 0x140008a9e
lea rcx, str.keypath
call fcn.140004070
test eax, eax
je 0x140008a9e
lea rcx, str.driverinf
call fcn.140004180
or rcx, 0xffffffffffffffff
mov rdx, rax
xor eax, eax
mov rdi, rdx
repne scasw ax, word [rdi]
not rcx
lea r8, [rcx - 1]
lea rcx, [rsp + 0x68]
call fcn.140006090
lea rcx, str.flags
call fcn.140004180
mov rcx, rax
call fcn.14000a9fc
lea rcx, str.preinstall
mov edi, eax
call fcn.140004070
test eax, eax
je 0x1400088f2
cmp qword [rbp - 0x80], 8
lea rcx, [rsp + 0x68]
cmovae rcx, qword [rsp + 0x68]
or edi, 1
mov edx, edi
call qword [sym.imp.DIFXAPI.dll_DriverPackagePreinstallW]
jmp 0x140008975
lea rcx, str.diinstall
call fcn.140004070
test eax, eax
je 0x140008949
lea rcx, str.RS1_or_greater_detected.__Executing_DiInstallDriver.
call fcn.1400080a0
cmp qword [rbp - 0x80], 8
lea rdx, [rsp + 0x68]
cmovae rdx, qword [rsp + 0x68]
xor ecx, ecx
lea r9, [rsp + 0x50]
lea r8d, [rcx + 2]
call qword [sym.imp.newdev.dll_DiInstallDriverW]
test eax, eax
jne 0x140008979
call qword [sym.imp.KERNEL32.dll_GetLastError]
lea rcx, str.DiInstllDriver_FAILED._Error_0x_X
mov edx, eax
call fcn.1400080a0
jmp 0x140008979
lea rcx, str.OS_is_less_than_RS1.__DIFx_api_used_to_install_driver.
call fcn.1400080a0
cmp qword [rbp - 0x80], 8
lea rcx, [rsp + 0x68]
cmovae rcx, qword [rsp + 0x68]
lea r9, [rsp + 0x50]
mov edx, edi
xor r8d, r8d
call qword [sym.imp.DIFXAPI.dll_DriverPackageInstallW]
mov dword [rsp + 0x54], eax
cmp qword [rbp - 0x80], 8
lea rcx, [rsp + 0x68]
lea r8, [rsp + 0x64]
cmovae rcx, qword [rsp + 0x68]
lea rdx, [rbp - 0x70]
call qword [sym.imp.DIFXAPI.dll_DriverPackageGetPathW]
lea rcx, str.keypath
call fcn.140004180
mov qword [rsp + 0x40], rbx
xor r9d, r9d
mov rdx, rax
lea rax, [rsp + 0x58]
xor r8d, r8d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 0xf023f
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x140008a8f
mov rcx, qword [rsp + 0x58]
lea rax, [rsp + 0x54]
lea rdx, str.Code
mov r9d, 4
xor r8d, r8d
mov dword [rsp + 0x28], 4
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
cmp dword [rsp + 0x50], ebx
mov rcx, qword [rsp + 0x58]
setne bl
lea rax, [rsp + 0x60]
lea rdx, str.Reboot
xor r8d, r8d
mov r9d, 4
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x60], ebx
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
or rcx, 0xffffffffffffffff
xor eax, eax
lea rdi, [rbp - 0x70]
mov r9d, 1
lea rdx, str.StorePath
repne scasw ax, word [rdi]
lea rax, [rbp - 0x70]
not rcx
dec rcx
add ecx, ecx
mov dword [rsp + 0x28], ecx
cmp qword [rbp - 0x80], 8
jb 0x140008aaf
mov rcx, qword [rsp + 0x68]
call fcn.14000a84c
mov eax, 1