Function at 0x1400085f0
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov rax, qword [0x140023410]
xor rax, rsp
mov qword [rbp + 0x1a0], rax
xor ebx, ebx
mov rcx, r8
mov qword [rbp - 0x80], 7
mov qword [rsp + 0x78], rbx
mov word [rsp + 0x68], bx
mov dword [rsp + 0x50], ebx
mov dword [rsp + 0x64], 0x104
call fcn.140003c80
lea rcx, str.hwnd
call fcn.1400040b0
test eax, eax
je 0x14000866c
lea rcx, str.hwnd
call fcn.1400041c0
mov rcx, rax
call fcn.14000a8dc
movsxd rcx, eax
mov qword [0x140026200], rcx
lea rcx, str.rdev
call fcn.1400040b0
test eax, eax
je 0x140008699
call fcn.140008460
cmp qword [rbp - 0x80], 8
jb 0x140008692
mov rcx, qword [rsp + 0x68]
call fcn.14000a72c
xor eax, eax
jmp 0x1400089a2
lea rcx, str.uninstall
mov qword [rsp + 0x2c0], rdi
call fcn.1400040b0
test eax, eax
je 0x14000878f
lea rcx, str.flags
call fcn.1400041c0
mov rcx, rax
call fcn.14000a8dc
lea rcx, str.driverinf
mov edi, eax
call fcn.1400041c0
lea r9, [rsp + 0x50]
xor r8d, r8d
mov edx, edi
mov rcx, rax
call qword [sym.imp.DIFXAPI.dll_DriverPackageUninstallW]
lea rcx, str.keypath
mov dword [rsp + 0x54], eax
call fcn.1400041c0
mov qword [rsp + 0x40], rbx
mov rdx, rax
lea rax, [rsp + 0x58]
xor r9d, r9d
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x30], rbx
xor r8d, r8d
mov rcx, 0xffffffff80000002
mov dword [rsp + 0x28], 0xf023f
mov dword [rsp + 0x20], ebx
call qword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
jne 0x14000896f
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
setne bl
mov dword [rsp + 0x28], 4
lea rax, [rsp + 0x60]
mov r9d, 4
lea rdx, str.Reboot
mov dword [rsp + 0x60], ebx
jmp 0x140008951
lea rcx, str.driverinf
call fcn.1400040b0
test eax, eax
je 0x140008984
lea rcx, str.flags
call fcn.1400040b0
test eax, eax
je 0x140008984
lea rcx, str.keypath
call fcn.1400040b0
test eax, eax
je 0x140008984
lea rcx, str.driverinf
call fcn.1400041c0
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.140006030
lea rcx, str.flags
call fcn.1400041c0
mov rcx, rax
call fcn.14000a8dc
lea rcx, str.preinstall
mov edi, eax
call fcn.1400040b0
lea rcx, [rsp + 0x68]
test eax, eax
je 0x14000883a
cmp qword [rbp - 0x80], 8
cmovae rcx, qword [rsp + 0x68]
or edi, 1
mov edx, edi
call qword [sym.imp.DIFXAPI.dll_DriverPackagePreinstallW]
jmp 0x140008855
cmp qword [rbp - 0x80], 8
lea r9, [rsp + 0x50]
mov edx, edi
cmovae rcx, qword [rsp + 0x68]
xor r8d, r8d
call qword [sym.imp.DIFXAPI.dll_DriverPackageInstallW]
cmp qword [rbp - 0x80], 8
lea rcx, [rsp + 0x68]
lea r8, [rsp + 0x64]
cmovae rcx, qword [rsp + 0x68]
lea rdx, [rbp - 0x70]
mov dword [rsp + 0x54], eax
call qword [sym.imp.DIFXAPI.dll_DriverPackageGetPathW]
lea rcx, str.keypath
call fcn.1400041c0
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 0x14000896f
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
mov rcx, qword [rsp + 0x58]
xor r8d, r8d
mov qword [rsp + 0x20], rax
call qword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov rcx, qword [rsp + 0x58]
call qword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp qword [rbp - 0x80], 8
jb 0x140008980
mov rcx, qword [rsp + 0x68]
call fcn.14000a72c
xor eax, eax
jmp 0x14000899a
cmp qword [rbp - 0x80], 8
jb 0x140008995
mov rcx, qword [rsp + 0x68]
call fcn.14000a72c
mov eax, 1
mov rdi, qword [rsp + 0x2c0]
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.140009d20
mov rbx, qword [rsp + 0x2c8]
add rsp, 0x2b0
pop rbp
ret