Function at 0x1400065f0
Capabilities:
Set registry value

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
lea rbp, [rsp - 0x1b0]
sub rsp, 0x2b0
mov rax, qword [0x140021410]
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.140001c80
lea rcx, str.hwnd
call fcn.1400020b0
test eax, eax
je 0x14000666c
lea rcx, str.hwnd
call fcn.1400021c0
mov rcx, rax
call fcn.1400088dc
movsxd rcx, eax
mov qword [0x140024200], rcx
lea rcx, str.rdev
call fcn.1400020b0
test eax, eax
je 0x140006699
call fcn.140006460
cmp qword [rbp - 0x80], 8
jb 0x140006692
mov rcx, qword [rsp + 0x68]
call fcn.14000872c
xor eax, eax
jmp 0x1400069a2
lea rcx, str.uninstall
mov qword [rsp + 0x2c0], rdi
call fcn.1400020b0
test eax, eax
je 0x14000678f
lea rcx, str.flags
call fcn.1400021c0
mov rcx, rax
call fcn.1400088dc
lea rcx, str.driverinf
mov edi, eax
call fcn.1400021c0
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.1400021c0
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 0x14000696f
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 0x140006951
lea rcx, str.driverinf
call fcn.1400020b0
test eax, eax
je 0x140006984
lea rcx, str.flags
call fcn.1400020b0
test eax, eax
je 0x140006984
lea rcx, str.keypath
call fcn.1400020b0
test eax, eax
je 0x140006984
lea rcx, str.driverinf
call fcn.1400021c0
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.140004030
lea rcx, str.flags
call fcn.1400021c0
mov rcx, rax
call fcn.1400088dc
lea rcx, str.preinstall
mov edi, eax
call fcn.1400020b0
lea rcx, [rsp + 0x68]
test eax, eax
je 0x14000683a
cmp qword [rbp - 0x80], 8
cmovae rcx, qword [rsp + 0x68]
or edi, 1
mov edx, edi
call qword [sym.imp.DIFXAPI.dll_DriverPackagePreinstallW]
jmp 0x140006855
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.1400021c0
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 0x14000696f
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 0x140006980
mov rcx, qword [rsp + 0x68]
call fcn.14000872c
xor eax, eax
jmp 0x14000699a
cmp qword [rbp - 0x80], 8
jb 0x140006995
mov rcx, qword [rsp + 0x68]
call fcn.14000872c
mov eax, 1
mov rdi, qword [rsp + 0x2c0]
mov rcx, qword [rbp + 0x1a0]
xor rcx, rsp
call fcn.140007d20
mov rbx, qword [rsp + 0x2c8]
add rsp, 0x2b0
pop rbp
ret