Function at 0x140093790
Capabilities:
Delete registry key

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r14
push r15
lea rbp, [rsp - 0x330]
sub rsp, 0x430
mov qword [rbp + 0x228], 0xfffffffffffffffe
mov r14, rcx
xor ebx, ebx
mov dword [rbp + 0x380], ebx
mov edi, ebx
mov dword [rsp + 0x30], ebx
xor edx, edx
lea rcx, [rbp + 0x18]
call fcn.1400ec950
nop
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPInstall
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x1f8]
call fcn.1400ec9c0
nop
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPInstall
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x260]
call fcn.1400ec9c0
nop
xor edx, edx
lea rcx, [rbp + 0x290]
call fcn.1400ec950
nop
mov word [rbp - 0x20], bx
xor eax, eax
mov qword [rbp - 0x1e], rax
mov qword [rbp - 0x16], rax
mov qword [rbp - 0xe], rax
mov qword [rbp - 6], rax
mov qword [rbp + 2], rax
mov qword [rbp + 0xa], rax
mov dword [rbp + 0x378], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x378]
lea r8, [rbp - 0x20]
lea rdx, str.DriverVersion
lea rcx, [rbp + 0x200]
call fcn.140106ac0
mov word [rbp + 0x88], bx
xor eax, eax
mov qword [rbp + 0x8a], rax
mov qword [rbp + 0x92], rax
mov qword [rbp + 0x9a], rax
mov qword [rbp + 0xa2], rax
mov qword [rbp + 0xaa], rax
mov qword [rbp + 0xb2], rax
mov dword [rbp + 0x378], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x378]
lea r8, [rbp + 0x88]
lea rdx, str.DriverSuite
lea rcx, [rbp + 0x200]
call fcn.140106ac0
mov word [rbp + 0xc0], bx
xor eax, eax
mov qword [rbp + 0xc2], rax
mov qword [rbp + 0xca], rax
mov qword [rbp + 0xd2], rax
mov qword [rbp + 0xda], rax
mov qword [rbp + 0xe2], rax
mov qword [rbp + 0xea], rax
mov dword [rbp + 0x378], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x378]
lea r8, [rbp + 0xc0]
lea rdx, str.InfRevision
lea rcx, [rbp + 0x200]
call fcn.140106ac0
mov word [rbp + 0x118], bx
xor eax, eax
mov qword [rbp + 0x11a], rax
mov qword [rbp + 0x122], rax
mov qword [rbp + 0x12a], rax
mov qword [rbp + 0x132], rax
mov qword [rbp + 0x13a], rax
mov qword [rbp + 0x142], rax
mov dword [rbp + 0x378], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x378]
lea r8, [rbp + 0x118]
lea rdx, str.DriverSuite
lea rcx, [rbp + 0x268]
call fcn.140106ac0
mov dword [rsp + 0x48], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x48]
lea r8, [rbp + 0x388]
lea rdx, str.DeleteUserSettingsOnUpgrade
lea rcx, [rbp + 0x200]
call fcn.1401069b0
mov r12d, dword [rbp + 0x388]
cmp word [rbp + 0x88], bx
jne 0x1400939f2
cmp word [rbp + 0x118], bx
je 0x140093a12
lea rdx, [rbp + 0x118]
lea rcx, [rbp + 0x88]
call fcn.140111cac
test eax, eax
je 0x140093a12
or r12d, 0x21
jmp 0x140094197
test r12d, r12d
je 0x1400942a3
mov word [rbp + 0x150], bx
xor eax, eax
mov qword [rbp + 0x152], rax
mov qword [rbp + 0x15a], rax
mov qword [rbp + 0x162], rax
mov qword [rbp + 0x16a], rax
mov qword [rbp + 0x172], rax
mov qword [rbp + 0x17a], rax
mov dword [rbp + 0x378], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x378]
lea r8, [rbp + 0x150]
lea rdx, str.DriverVersion
lea rcx, [rbp + 0x268]
call fcn.140106ac0
lea rdx, [rbp + 0x150]
lea rcx, [rbp - 0x20]
call fcn.140111cac
test eax, eax
jne 0x140093b29
mov word [rbp + 0x1c0], bx
xor eax, eax
mov qword [rbp + 0x1c2], rax
mov qword [rbp + 0x1ca], rax
mov qword [rbp + 0x1d2], rax
mov qword [rbp + 0x1da], rax
mov qword [rbp + 0x1e2], rax
mov qword [rbp + 0x1ea], rax
mov dword [rbp + 0x378], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x378]
lea r8, [rbp + 0x1c0]
lea rdx, str.InfRevision
lea rcx, [rbp + 0x268]
call fcn.140106ac0
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0xc0]
call fcn.140111cac
test eax, eax
je 0x140094395
bt r12d, 0x12
jae 0x1400942a3
call fcn.140004e20
mov rdx, rax
mov ecx, ebx
test rax, rax
setne cl
test ecx, ecx
jne 0x140093b48
mov ecx, 0x80004005
call fcn.140007d40
int3
mov rax, qword [rax]
mov rcx, rdx
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x38], rax
lea rdx, str.SoftwareSynapticsOEM
test rdx, 0xffffffffffff0000
jne 0x140093b8d
movzx edi, dx
xor edx, edx
mov ecx, edi
call fcn.140007c90
test rax, rax
je 0x140093b9e
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140008550
jmp 0x140093b9e
mov r8d, 0x16
lea rcx, [rsp + 0x38]
call fcn.140008830
nop
lea r8, str.PreviousSynTPInstall
lea rdx, [rsp + 0x38]
lea rcx, [rbp + 0x48]
call fcn.14008d4c0
nop
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov r8, qword [rax]
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x290]
call fcn.1400ecac0
mov esi, eax
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
or rdi, 0xffffffffffffffff
lock add dword [rdx + 0x10], edi
jg 0x140093bf4
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [rreloc.OLEAUT32.dll_VariantClear + 8]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x140093c0d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x140094197
mov word [rbp + 0x50], bx
xor eax, eax
mov qword [rbp + 0x52], rax
mov qword [rbp + 0x5a], rax
mov qword [rbp + 0x62], rax
mov qword [rbp + 0x6a], rax
mov qword [rbp + 0x72], rax
mov qword [rbp + 0x7a], rax
mov word [rbp + 0x188], bx
mov qword [rbp + 0x18a], rax
mov qword [rbp + 0x192], rax
mov qword [rbp + 0x19a], rax
mov qword [rbp + 0x1a2], rax
mov qword [rbp + 0x1aa], rax
mov qword [rbp + 0x1b2], rax
mov dword [rbp + 0x378], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x378]
lea r8, [rbp + 0x50]
lea rdx, str.DriverVersion
lea rcx, [rbp + 0x298]
call fcn.140106ac0
mov dword [rbp + 0x378], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x378]
lea r8, [rbp + 0x188]
lea rdx, str.InfRevision
lea rcx, [rbp + 0x298]
call fcn.140106ac0
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x50]
call fcn.140111cac
test eax, eax
jne 0x140093cf3
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x188]
call fcn.140111cac
test eax, eax
je 0x140093d2d
test dword [rbp + 0x388], 0x1000
je 0x140093d2d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [0x1401610b0]
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x18]
call fcn.1400ecac0
test eax, eax
je 0x140093d2d
mov rcx, r14
call fcn.1400943e0
test dword [rbp + 0x388], 0x30000
je 0x140094197
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x38], xmm0
mov qword [rbp - 0x28], rbx
movdqu xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], rbx
mov qword [rbp + 0x110], 7
mov qword [rbp + 0x108], rbx
mov word [rbp + 0xf8], bx
mov r8, rbx
cmp word [0x140161ef8], r8w
setne r8b
lea rdx, [0x140161ef8]
lea rcx, [rbp + 0xf8]
call fcn.140009080
nop
mov dword [rbp + 0x380], 1
mov qword [rbp - 0x58], 7
mov qword [rbp - 0x60], rbx
mov word [rbp - 0x70], bx
cmp word [rbp - 0x20], 0
jne 0x140093db4
mov r8, rbx
jmp 0x140093dcb
lea rax, [rbp - 0x20]
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140093dc0
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x70]
call fcn.140009080
nop
mov esi, 3
mov dword [rbp + 0x380], esi
lea r8, [rbp + 0xf8]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x70]
call fcn.1400a8240
cmp eax, 1
jbe 0x140093ea4
mov qword [rbp - 0x78], 7
mov qword [rbp - 0x80], rbx
mov word [rsp + 0x70], bx
mov r8, rbx
cmp word [0x140161ef8], r8w
setne r8b
lea rdx, [0x140161ef8]
lea rcx, [rsp + 0x70]
call fcn.140009080
nop
mov dword [rbp + 0x380], 7
mov qword [rsp + 0x68], 7
mov qword [rsp + 0x60], rbx
mov word [rsp + 0x50], bx
cmp word [rbp + 0x50], 0
jne 0x140093e5c
mov rdi, rbx
jmp 0x140093e6a
lea rax, [rbp + 0x50]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x140093e60
mov r8, rdi
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x50]
call fcn.140009080
nop
mov esi, 0xf
mov dword [rbp + 0x380], esi
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x50]
call fcn.1400a8240
cmp eax, 1
jbe 0x140093ea4
mov dil, 1
jmp 0x140093ea7
xor dil, dil
test sil, 8
je 0x140093ed5
and esi, 0xfffffff7
cmp qword [rsp + 0x68], 8
jb 0x140093ec2
mov rcx, qword [rsp + 0x50]
call fcn.14010a7dc
mov qword [rsp + 0x68], 7
mov qword [rsp + 0x60], rbx
mov word [rsp + 0x50], bx
test sil, 4
je 0x140093f00
and esi, 0xfffffffb
cmp qword [rbp - 0x78], 8
jb 0x140093eef
mov rcx, qword [rsp + 0x70]
call fcn.14010a7dc
mov qword [rbp - 0x78], 7
mov qword [rbp - 0x80], rbx
mov word [rsp + 0x70], bx
test sil, 2
je 0x140093f29
and esi, 0xfffffffd
cmp qword [rbp - 0x58], 8
jb 0x140093f19
mov rcx, qword [rbp - 0x70]
call fcn.14010a7dc
mov qword [rbp - 0x58], 7
mov qword [rbp - 0x60], rbx
mov word [rbp - 0x70], bx
test sil, 1
je 0x140093f45
cmp qword [rbp + 0x110], 8
jb 0x140093f45
mov rcx, qword [rbp + 0xf8]
call fcn.14010a7dc
mov r14, qword [rbp - 0x38]
mov rsi, qword [rbp - 0x50]
test dil, dil
je 0x140094108
cmp qword [r14 + 0x18], 8
jb 0x140093f62
mov r15, qword [r14]
jmp 0x140093f65
mov r15, r14
cmp qword [rsi + 0x18], 8
jb 0x140093f71
mov rcx, qword [rsi]
jmp 0x140093f74
mov rcx, rsi
mov r8d, 0xa
lea rdx, [rsp + 0x40]
call fcn.14010e818
mov edi, eax
mov r8d, 0xa
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.14010e818
cmp eax, edi
jne 0x140094108
test dword [rbp + 0x388], 0x10000
je 0x140094038
mov rdi, rsi
mov r15, qword [rbp - 0x48]
cmp rsi, r15
je 0x140093fe7
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x140093fcf
mov rcx, qword [rdi]
call fcn.14010a7dc
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, r15
jne 0x140093fc0
mov rcx, rsi
call fcn.14010a7dc
nop
mov rdi, r14
mov rsi, qword [rbp - 0x30]
cmp r14, rsi
je 0x140094027
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x14009400f
mov rcx, qword [rdi]
call fcn.14010a7dc
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, rsi
jne 0x140094000
mov rcx, r14
call fcn.14010a7dc
mov edi, dword [rsp + 0x30]
jmp 0x1400942a3
lea r15, [r14 + 0x20]
cmp qword [r15 + 0x18], 8
jb 0x140094046
mov r15, qword [r15]
lea rcx, [rsi + 0x20]
cmp qword [rcx + 0x18], 8
jb 0x140094054
mov rcx, qword [rcx]
mov r8d, 0xa
lea rdx, [rsp + 0x40]
call fcn.14010e818
mov edi, eax
mov r8d, 0xa
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.14010e818
cmp eax, edi
jne 0x140094108
mov rdi, rsi
mov r15, qword [rbp - 0x48]
cmp rsi, r15
je 0x1400940b7
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x14009409f
mov rcx, qword [rdi]
call fcn.14010a7dc
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, r15
jne 0x140094090
mov rcx, rsi
call fcn.14010a7dc
nop
mov rdi, r14
mov rsi, qword [rbp - 0x30]
cmp r14, rsi
je 0x1400940f7
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x1400940df
mov rcx, qword [rdi]
call fcn.14010a7dc
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, rsi
jne 0x1400940d0
mov rcx, r14
call fcn.14010a7dc
mov edi, dword [rsp + 0x30]
jmp 0x1400942a3
test rsi, rsi
je 0x140094150
mov rdi, rsi
mov r15, qword [rbp - 0x48]
cmp rsi, r15
je 0x140094147
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x14009412f
mov rcx, qword [rdi]
call fcn.14010a7dc
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, r15
jne 0x140094120
mov rcx, rsi
call fcn.14010a7dc
nop
test r14, r14
je 0x140094190
mov rdi, r14
mov rsi, qword [rbp - 0x30]
cmp r14, rsi
je 0x140094188
cmp qword [rdi + 0x18], 8
jb 0x140094170
mov rcx, qword [rdi]
call fcn.14010a7dc
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, rsi
jne 0x140094161
mov rcx, r14
call fcn.14010a7dc
mov r14, qword [rbp + 0x370]
mov edi, 1
test r12b, 0x20
je 0x1400941ac
mov edx, edi
mov rcx, r14
call fcn.1400a18b0
test dil, r12b
je 0x1400942a3
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [0x1401610b0]
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x18]
call fcn.1400ecac0
test eax, eax
je 0x1400942a3
lea rdx, str.SoftwareSynapticsTmp
mov rcx, 0xffffffff80000001
call qword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
lea rdx, str.SoftwareSynapticsTmp
mov rcx, r14
call fcn.140095820
lea rcx, [rbp + 0x20]
call fcn.1401065e0
xor edx, edx
lea rcx, [rbp + 0x230]
call fcn.1400ec950
nop
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, str.SoftwareSynapticsTmp
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x230]
call fcn.1400ecac0
test eax, eax
je 0x140094297
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
mov r9d, 1
lea r8, [0x1401610b0]
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x18]
call fcn.1400ecac0
test eax, eax
je 0x14009428a
xor r9d, r9d
mov r8, qword [rbp + 0x30]
xor edx, edx
mov rcx, qword [rbp + 0x248]
call qword [sym.imp.SHLWAPI.dll_SHCopyKeyW]
mov edi, ebx
test eax, eax
sete dil
lea rcx, [rbp + 0x238]
call fcn.1401065e0
nop
lea rcx, [rbp + 0x230]
call fcn.1400eca60
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
mov r9d, 1
lea r8, str.SoftwareSynapticsSynTPInstall
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x18]
call fcn.1400ecac0
test eax, eax
je 0x140094393
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rbp - 0x20]
lea rdx, str.DriverVersion
lea rcx, [rbp + 0x20]
call fcn.140106f10
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rbp + 0x88]
lea rdx, str.DriverSuite
lea rcx, [rbp + 0x20]
call fcn.140106f10
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rbp + 0xc0]
lea rdx, str.InfRevision
lea rcx, [rbp + 0x20]
call fcn.140106f10
mov word [rbp + 0x2c0], bx
xor edx, edx
lea r8d, [rdx + 0x62]
lea rcx, [rbp + 0x2c2]
call fcn.14010a9a0
mov dword [rbp + 0x378], 0x64
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x378]
lea r8, [rbp + 0x2c0]
lea rdx, [0x140162470]
lea rcx, [rbp + 0x200]
call fcn.140106ac0
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rbp + 0x2c0]
lea rdx, [0x140162470]
lea rcx, [rbp + 0x20]
call fcn.140106f10
mov ebx, edi
lea rcx, [rbp + 0x290]
call fcn.1400eca60
nop
lea rcx, [rbp + 0x260]
call fcn.1400eca60
nop
lea rcx, [rbp + 0x1f8]
call fcn.1400eca60
nop
lea rcx, [rbp + 0x18]
call fcn.1400eca60
mov eax, ebx
add rsp, 0x430
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret