Function at 0x140092ae0
Capabilities:
Delete registry key

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x258]
sub rsp, 0x358
mov qword [rbp + 0x180], 0xfffffffffffffffe
mov rsi, rcx
xor ebx, ebx
mov dword [rbp + 0x2b0], ebx
xor edx, edx
lea rcx, [rbp + 0xa8]
call fcn.1400ddab0
nop
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPInstall
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x1b8]
call fcn.1400ddb20
nop
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rsp + 0x40]
lea r8, [rbp + 0x2b8]
lea rdx, str.DeleteUserSettingsOnUpgrade
lea rcx, [rbp + 0x1c0]
call fcn.1400f5bd0
mov edi, dword [rbp + 0x2b8]
test edi, edi
je 0x1400934b6
mov r13d, ebx
mov word [rbp - 0x28], bx
xor eax, eax
mov qword [rbp - 0x26], rax
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 dword [rbp + 0x2a8], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x2a8]
lea r8, [rbp - 0x28]
lea rdx, str.DriverVersion
lea rcx, [rbp + 0x1c0]
call fcn.1400f5ce0
mov word [rbp + 0x70], bx
xor eax, eax
mov qword [rbp + 0x72], rax
mov qword [rbp + 0x7a], rax
mov qword [rbp + 0x82], rax
mov qword [rbp + 0x8a], rax
mov qword [rbp + 0x92], rax
mov qword [rbp + 0x9a], rax
mov dword [rbp + 0x2a8], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x2a8]
lea r8, [rbp + 0x70]
lea rdx, str.InfRevision
lea rcx, [rbp + 0x1c0]
call fcn.1400f5ce0
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPInstall
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x188]
call fcn.1400ddb20
nop
mov word [rbp + 0x110], bx
xor eax, eax
mov qword [rbp + 0x112], rax
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 dword [rbp + 0x2a8], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x2a8]
lea r8, [rbp + 0x110]
lea rdx, str.DriverVersion
lea rcx, [rbp + 0x190]
call fcn.1400f5ce0
mov word [rbp + 0xd8], bx
xor eax, eax
mov qword [rbp + 0xda], rax
mov qword [rbp + 0xe2], rax
mov qword [rbp + 0xea], rax
mov qword [rbp + 0xf2], rax
mov qword [rbp + 0xfa], rax
mov qword [rbp + 0x102], rax
mov dword [rbp + 0x2a8], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x2a8]
lea r8, [rbp + 0xd8]
lea rdx, str.InfRevision
lea rcx, [rbp + 0x190]
call fcn.1400f5ce0
lea rdx, [rbp + 0x110]
lea rcx, [rbp - 0x28]
call fcn.140100ddc
test eax, eax
jne 0x140092d54
lea rdx, [rbp + 0xd8]
lea rcx, [rbp + 0x70]
call fcn.140100ddc
test eax, eax
je 0x1400934a9
bt edi, 0x12
jae 0x14009343e
test edi, 0x30000
je 0x140093323
lea rdx, str.SoftwareSynapticsOEM
lea rcx, [rbp + 0x10]
call fcn.14000f080
nop
lea r8, str.PreviousSynTPInstall
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14006fc40
nop
mov rdx, qword [rbp + 0x10]
add rdx, 0xffffffffffffffe8
or r14, 0xffffffffffffffff
lock add dword [rdx + 0x10], r14d
jg 0x140092da2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov r8, qword [rsp + 0x30]
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x218]
call fcn.1400ddb20
nop
cmp qword [rbp + 0x230], 0
je 0x1400932f7
mov word [rbp + 0x18], bx
xor eax, eax
mov qword [rbp + 0x1a], rax
mov qword [rbp + 0x22], rax
mov qword [rbp + 0x2a], rax
mov qword [rbp + 0x32], rax
mov qword [rbp + 0x3a], rax
mov qword [rbp + 0x42], rax
mov word [rbp + 0x148], bx
mov qword [rbp + 0x14a], rax
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 dword [rbp + 0x2a8], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x2a8]
lea r8, [rbp + 0x18]
lea rdx, str.DriverVersion
lea rcx, [rbp + 0x190]
call fcn.1400f5ce0
mov dword [rbp + 0x2a8], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x2a8]
lea r8, [rbp + 0x148]
lea rdx, str.InfRevision
lea rcx, [rbp + 0x190]
call fcn.1400f5ce0
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x58], xmm0
mov qword [rbp - 0x48], rbx
movdqu xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rbx
mov qword [rbp + 0x68], 7
mov qword [rbp + 0x60], rbx
mov word [rbp + 0x50], bx
mov r8, rbx
cmp word [0x14014e370], r8w
setne r8b
lea rdx, [0x14014e370]
lea rcx, [rbp + 0x50]
call fcn.14000b9c0
nop
mov dword [rbp + 0x2b0], 1
mov qword [rbp - 0x60], 7
mov qword [rbp - 0x68], rbx
mov word [rbp - 0x78], bx
cmp word [rbp - 0x28], 0
jne 0x140092ef1
mov r8, rbx
jmp 0x140092f0b
lea rax, [rbp - 0x28]
mov r8, r14
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x140092f00
lea rdx, [rbp - 0x28]
lea rcx, [rbp - 0x78]
call fcn.14000b9c0
nop
mov edi, 3
mov dword [rbp + 0x2b0], edi
lea r8, [rbp + 0x50]
lea rdx, [rbp - 0x58]
lea rcx, [rbp - 0x78]
call fcn.1400a4c20
cmp eax, 1
jbe 0x140092fe3
mov qword [rbp - 0x80], 7
mov qword [rsp + 0x78], rbx
mov word [rsp + 0x68], bx
mov r8, rbx
cmp word [0x14014e370], r8w
setne r8b
lea rdx, [0x14014e370]
lea rcx, [rsp + 0x68]
call fcn.14000b9c0
nop
mov dword [rbp + 0x2b0], 7
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], rbx
mov word [rsp + 0x48], bx
cmp word [rbp + 0x18], 0
jne 0x140092f9a
mov r8, rbx
jmp 0x140092fac
lea rax, [rbp + 0x18]
mov r8, r14
inc r8
cmp word [rax + r8*2], 0
jne 0x140092fa1
lea rdx, [rbp + 0x18]
lea rcx, [rsp + 0x48]
call fcn.14000b9c0
nop
mov edi, 0xf
mov dword [rbp + 0x2b0], edi
lea r8, [rsp + 0x68]
lea rdx, [rbp - 0x40]
lea rcx, [rsp + 0x48]
call fcn.1400a4c20
cmp eax, 1
jbe 0x140092fe3
mov r12b, 1
jmp 0x140092fe6
xor r12b, r12b
test dil, 8
je 0x14009301a
and edi, 0xfffffff7
mov dword [rbp + 0x2b0], edi
cmp qword [rsp + 0x60], 8
jb 0x140093007
mov rcx, qword [rsp + 0x48]
call fcn.1400fa318
mov qword [rsp + 0x60], 7
mov qword [rsp + 0x58], rbx
mov word [rsp + 0x48], bx
test dil, 4
je 0x14009304c
and edi, 0xfffffffb
mov dword [rbp + 0x2b0], edi
cmp qword [rbp - 0x80], 8
jb 0x14009303a
mov rcx, qword [rsp + 0x68]
call fcn.1400fa318
mov qword [rbp - 0x80], 7
mov qword [rsp + 0x78], rbx
mov word [rsp + 0x68], bx
test dil, 2
je 0x14009307b
and edi, 0xfffffffd
mov dword [rbp + 0x2b0], edi
cmp qword [rbp - 0x60], 8
jb 0x14009306b
mov rcx, qword [rbp - 0x78]
call fcn.1400fa318
mov qword [rbp - 0x60], 7
mov qword [rbp - 0x68], rbx
mov word [rbp - 0x78], bx
test dil, 1
je 0x140093091
cmp qword [rbp + 0x68], 8
jb 0x140093091
mov rcx, qword [rbp + 0x50]
call fcn.1400fa318
mov r15, qword [rbp - 0x58]
mov rsi, qword [rbp - 0x40]
test r12b, r12b
je 0x14009326e
cmp qword [r15 + 0x18], 8
jb 0x1400930ae
mov r12, qword [r15]
jmp 0x1400930b1
mov r12, r15
cmp qword [rsi + 0x18], 8
jb 0x1400930bd
mov rcx, qword [rsi]
jmp 0x1400930c0
mov rcx, rsi
mov r8d, 0xa
lea rdx, [rsp + 0x38]
call fcn.1400fd944
mov edi, eax
mov r8d, 0xa
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.1400fd944
cmp eax, edi
jne 0x14009326e
test dword [rbp + 0x2b8], 0x10000
je 0x1400931af
mov rdi, rsi
mov r12, qword [rbp - 0x38]
cmp rsi, r12
je 0x140093137
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x14009311f
mov rcx, qword [rdi]
call fcn.1400fa318
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, r12
jne 0x140093110
mov rcx, rsi
call fcn.1400fa318
nop
mov rdi, r15
mov rsi, qword [rbp - 0x50]
cmp r15, rsi
je 0x140093177
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x14009315f
mov rcx, qword [rdi]
call fcn.1400fa318
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, rsi
jne 0x140093150
mov rcx, r15
call fcn.1400fa318
nop
lea rcx, [rbp + 0x218]
call fcn.1400ddbc0
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14009343e
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
jmp 0x14009343e
lea r12, [r15 + 0x20]
cmp qword [r12 + 0x18], 8
jb 0x1400931bf
mov r12, qword [r12]
lea rcx, [rsi + 0x20]
cmp qword [rcx + 0x18], 8
jb 0x1400931cd
mov rcx, qword [rcx]
mov r8d, 0xa
lea rdx, [rsp + 0x38]
call fcn.1400fd944
mov edi, eax
mov r8d, 0xa
lea rdx, [rsp + 0x38]
mov rcx, r12
call fcn.1400fd944
cmp eax, edi
jne 0x14009326e
mov rdi, rsi
mov r12, qword [rbp - 0x38]
cmp rsi, r12
je 0x140093229
cmp qword [rdi + 0x18], 8
jb 0x140093211
mov rcx, qword [rdi]
call fcn.1400fa318
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, r12
jne 0x140093202
mov rcx, rsi
call fcn.1400fa318
nop
mov rdi, r15
mov rsi, qword [rbp - 0x50]
cmp r15, rsi
je 0x140093177
cmp qword [rdi + 0x18], 8
jb 0x140093251
mov rcx, qword [rdi]
call fcn.1400fa318
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, rsi
jne 0x140093242
jmp 0x140093177
test rsi, rsi
je 0x1400932b0
mov rdi, rsi
mov r12, qword [rbp - 0x38]
cmp rsi, r12
je 0x1400932a7
nop
cmp qword [rdi + 0x18], 8
jb 0x14009328f
mov rcx, qword [rdi]
call fcn.1400fa318
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, r12
jne 0x140093280
mov rcx, rsi
call fcn.1400fa318
nop
test r15, r15
je 0x1400932f0
mov rdi, r15
mov rsi, qword [rbp - 0x50]
cmp r15, rsi
je 0x1400932e8
cmp qword [rdi + 0x18], 8
jb 0x1400932d0
mov rcx, qword [rdi]
call fcn.1400fa318
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, rsi
jne 0x1400932c1
mov rcx, r15
call fcn.1400fa318
mov rsi, qword [rbp + 0x2a0]
lea rcx, [rbp + 0x218]
call fcn.1400ddbc0
nop
mov rdx, qword [rsp + 0x30]
add rdx, 0xffffffffffffffe8
lock add dword [rdx + 0x10], 0xffffffff
jg 0x14009331d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov edi, dword [rbp + 0x2b8]
mov r13d, 1
test dil, 0x20
je 0x14009333a
mov edx, r13d
mov rcx, rsi
call fcn.14009eb00
test r13b, dil
je 0x14009343e
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, str.SoftwareSynaptics
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0xa8]
call fcn.1400ddc20
test eax, eax
je 0x14009343e
lea rdx, str.SoftwareSynapticsTmp
mov rcx, 0xffffffff80000001
call qword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
lea rdx, str.SoftwareSynapticsTmp
mov rcx, rsi
call fcn.1400934f0
lea rcx, [rbp + 0xb0]
call fcn.1400f5800
xor edx, edx
lea rcx, [rbp + 0x1e8]
call fcn.1400ddab0
nop
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, str.SoftwareSynapticsTmp
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x1e8]
call fcn.1400ddc20
test eax, eax
je 0x140093432
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
mov r9d, 1
lea r8, str.SoftwareSynaptics
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0xa8]
call fcn.1400ddc20
test eax, eax
je 0x140093425
xor r9d, r9d
mov r8, qword [rbp + 0xc0]
xor edx, edx
mov rcx, qword [rbp + 0x200]
call qword [sym.imp.SHLWAPI.dll_SHCopyKeyW]
mov r13d, ebx
test eax, eax
sete r13b
lea rcx, [rbp + 0x1f0]
call fcn.1400f5800
nop
lea rcx, [rbp + 0x1e8]
call fcn.1400ddbc0
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
mov r9d, 1
lea r8, str.SoftwareSynapticsSynTPInstall
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0xa8]
call fcn.1400ddc20
test eax, eax
je 0x1400934a6
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rbp - 0x28]
lea rdx, str.DriverVersion
lea rcx, [rbp + 0xb0]
call fcn.1400f6130
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rbp + 0x70]
lea rdx, str.InfRevision
lea rcx, [rbp + 0xb0]
call fcn.1400f6130
mov ebx, r13d
lea rcx, [rbp + 0x188]
call fcn.1400ddbc0
nop
lea rcx, [rbp + 0x1b8]
call fcn.1400ddbc0
nop
lea rcx, [rbp + 0xa8]
call fcn.1400ddbc0
mov eax, ebx
add rsp, 0x358
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret