Function at 0x1400a34f0
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.1400f7980
nop
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPInstall
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x1f8]
call fcn.1400f79f0
nop
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPInstall
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x260]
call fcn.1400f79f0
nop
xor edx, edx
lea rcx, [rbp + 0x290]
call fcn.1400f7980
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.14011b2a0
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.14011b2a0
mov word [rbp + 0xf8], bx
xor eax, eax
mov qword [rbp + 0xfa], rax
mov qword [rbp + 0x102], rax
mov qword [rbp + 0x10a], rax
mov qword [rbp + 0x112], rax
mov qword [rbp + 0x11a], rax
mov qword [rbp + 0x122], rax
mov dword [rbp + 0x378], 0x32
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x20], rbx
lea r9, [rbp + 0x378]
lea r8, [rbp + 0xf8]
lea rdx, str.InfRevision
lea rcx, [rbp + 0x200]
call fcn.14011b2a0
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.DriverSuite
lea rcx, [rbp + 0x268]
call fcn.14011b2a0
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.14011b090
mov r12d, dword [rbp + 0x388]
lea r15, [0x140184770]
cmp word [rbp + 0x88], bx
jne 0x1400a3759
cmp word [rbp + 0xc0], bx
je 0x1400a37b6
lea rdx, [rbp + 0xc0]
lea rcx, [rbp + 0x88]
call fcn.140126394
test eax, eax
je 0x1400a37b6
or r12d, 0x21
test byte [0x1402d741c], 2
je 0x1400a3f5f
mov dword [rsp + 0x28], r12d
lea rax, [rbp + 0xc0]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x88]
lea r8, str.szCurDriverSuite___s__szOldUserDriverSuite___s__dwDeleteUserSettings__0x_x_n
mov edx, 2
lea rcx, str.CSynTPEnh::DeleteUserSettingsOnUpgrade
call fcn.14011a590
jmp 0x1400a3f3e
test r12d, r12d
je 0x1400a40c0
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.14011b2a0
lea rdx, [rbp + 0x150]
lea rcx, [rbp - 0x20]
call fcn.140126394
test eax, eax
jne 0x1400a38cd
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.14011b2a0
lea rdx, [rbp + 0x1c0]
lea rcx, [rbp + 0xf8]
call fcn.140126394
test eax, eax
je 0x1400a41b2
bt r12d, 0x12
jae 0x1400a40c0
call fcn.140004fc0
mov rdx, rax
mov ecx, ebx
test rax, rax
setne cl
test ecx, ecx
jne 0x1400a38ec
mov ecx, 0x80004005
call fcn.140004f70
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 0x1400a3931
movzx edi, dx
xor edx, edx
mov ecx, edi
call fcn.140011240
test rax, rax
je 0x1400a3942
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x38]
call fcn.140011590
jmp 0x1400a3942
mov r8d, 0x16
lea rcx, [rsp + 0x38]
call fcn.140011790
nop
lea r8, str.PreviousSynTPInstall
lea rdx, [rsp + 0x38]
lea rcx, [rbp + 0x48]
call fcn.140079570
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.1400f7af0
mov esi, eax
mov rdx, qword [rbp + 0x48]
add rdx, 0xffffffffffffffe8
or rdi, 0xffffffffffffffff
lock add dword [rdx + 0x10], edi
jg 0x1400a3998
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 0x1400a39b1
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
test esi, esi
je 0x1400a3f3e
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.14011b2a0
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.14011b2a0
lea rdx, [rbp - 0x20]
lea rcx, [rbp + 0x50]
call fcn.140126394
test eax, eax
jne 0x1400a3a97
lea rdx, [rbp + 0xf8]
lea rcx, [rbp + 0x188]
call fcn.140126394
test eax, eax
je 0x1400a3acd
test dword [rbp + 0x388], 0x1000
je 0x1400a3acd
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov r8, r15
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x18]
call fcn.1400f7af0
test eax, eax
je 0x1400a3acd
mov rcx, r14
call fcn.1400a4200
test dword [rbp + 0x388], 0x30000
je 0x1400a3f3e
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 + 0x148], 7
mov qword [rbp + 0x140], rbx
mov word [rbp + 0x130], bx
mov r8, rbx
cmp word [0x14017e008], r8w
setne r8b
lea rdx, [0x14017e008]
lea rcx, [rbp + 0x130]
call fcn.14000d340
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 0x1400a3b54
mov r8, rbx
jmp 0x1400a3b6b
lea rax, [rbp - 0x20]
mov r8, rdi
nop dword [rax + rax]
inc r8
cmp word [rax + r8*2], 0
jne 0x1400a3b60
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x70]
call fcn.14000d340
nop
mov esi, 3
mov dword [rbp + 0x380], esi
lea r8, [rbp + 0x130]
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x70]
call fcn.1400b8cc0
cmp eax, 1
jbe 0x1400a3c44
mov qword [rbp - 0x78], 7
mov qword [rbp - 0x80], rbx
mov word [rsp + 0x70], bx
mov r8, rbx
cmp word [0x14017e008], r8w
setne r8b
lea rdx, [0x14017e008]
lea rcx, [rsp + 0x70]
call fcn.14000d340
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 0x1400a3bfc
mov rdi, rbx
jmp 0x1400a3c0a
lea rax, [rbp + 0x50]
inc rdi
cmp word [rax + rdi*2], 0
jne 0x1400a3c00
mov r8, rdi
lea rdx, [rbp + 0x50]
lea rcx, [rsp + 0x50]
call fcn.14000d340
nop
mov esi, 0xf
mov dword [rbp + 0x380], esi
lea r8, [rsp + 0x70]
lea rdx, [rbp - 0x50]
lea rcx, [rsp + 0x50]
call fcn.1400b8cc0
cmp eax, 1
jbe 0x1400a3c44
mov dil, 1
jmp 0x1400a3c47
xor dil, dil
test sil, 8
je 0x1400a3c75
and esi, 0xfffffff7
cmp qword [rsp + 0x68], 8
jb 0x1400a3c62
mov rcx, qword [rsp + 0x50]
call fcn.14011f898
mov qword [rsp + 0x68], 7
mov qword [rsp + 0x60], rbx
mov word [rsp + 0x50], bx
test sil, 4
je 0x1400a3ca0
and esi, 0xfffffffb
cmp qword [rbp - 0x78], 8
jb 0x1400a3c8f
mov rcx, qword [rsp + 0x70]
call fcn.14011f898
mov qword [rbp - 0x78], 7
mov qword [rbp - 0x80], rbx
mov word [rsp + 0x70], bx
test sil, 2
je 0x1400a3cc9
and esi, 0xfffffffd
cmp qword [rbp - 0x58], 8
jb 0x1400a3cb9
mov rcx, qword [rbp - 0x70]
call fcn.14011f898
mov qword [rbp - 0x58], 7
mov qword [rbp - 0x60], rbx
mov word [rbp - 0x70], bx
test sil, 1
je 0x1400a3ce5
cmp qword [rbp + 0x148], 8
jb 0x1400a3ce5
mov rcx, qword [rbp + 0x130]
call fcn.14011f898
mov r14, qword [rbp - 0x38]
mov rsi, qword [rbp - 0x50]
test dil, dil
je 0x1400a3ea8
cmp qword [r14 + 0x18], 8
jb 0x1400a3d02
mov r15, qword [r14]
jmp 0x1400a3d05
mov r15, r14
cmp qword [rsi + 0x18], 8
jb 0x1400a3d11
mov rcx, qword [rsi]
jmp 0x1400a3d14
mov rcx, rsi
mov r8d, 0xa
lea rdx, [rsp + 0x40]
call fcn.140122ebc
mov edi, eax
mov r8d, 0xa
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.140122ebc
cmp eax, edi
jne 0x1400a3ea8
test dword [rbp + 0x388], 0x10000
je 0x1400a3dd8
mov rdi, rsi
mov r15, qword [rbp - 0x48]
cmp rsi, r15
je 0x1400a3d87
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x1400a3d6f
mov rcx, qword [rdi]
call fcn.14011f898
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, r15
jne 0x1400a3d60
mov rcx, rsi
call fcn.14011f898
nop
mov rdi, r14
mov rsi, qword [rbp - 0x30]
cmp r14, rsi
je 0x1400a3dc7
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x1400a3daf
mov rcx, qword [rdi]
call fcn.14011f898
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, rsi
jne 0x1400a3da0
mov rcx, r14
call fcn.14011f898
mov edi, dword [rsp + 0x30]
jmp 0x1400a40c0
lea r15, [r14 + 0x20]
cmp qword [r15 + 0x18], 8
jb 0x1400a3de6
mov r15, qword [r15]
lea rcx, [rsi + 0x20]
cmp qword [rcx + 0x18], 8
jb 0x1400a3df4
mov rcx, qword [rcx]
mov r8d, 0xa
lea rdx, [rsp + 0x40]
call fcn.140122ebc
mov edi, eax
mov r8d, 0xa
lea rdx, [rsp + 0x40]
mov rcx, r15
call fcn.140122ebc
cmp eax, edi
jne 0x1400a3ea8
mov rdi, rsi
mov r15, qword [rbp - 0x48]
cmp rsi, r15
je 0x1400a3e57
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x1400a3e3f
mov rcx, qword [rdi]
call fcn.14011f898
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, r15
jne 0x1400a3e30
mov rcx, rsi
call fcn.14011f898
nop
mov rdi, r14
mov rsi, qword [rbp - 0x30]
cmp r14, rsi
je 0x1400a3e97
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x1400a3e7f
mov rcx, qword [rdi]
call fcn.14011f898
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, rsi
jne 0x1400a3e70
mov rcx, r14
call fcn.14011f898
mov edi, dword [rsp + 0x30]
jmp 0x1400a40c0
test rsi, rsi
je 0x1400a3ef0
mov rdi, rsi
mov r15, qword [rbp - 0x48]
cmp rsi, r15
je 0x1400a3ee7
nop dword [rax]
cmp qword [rdi + 0x18], 8
jb 0x1400a3ecf
mov rcx, qword [rdi]
call fcn.14011f898
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, r15
jne 0x1400a3ec0
mov rcx, rsi
call fcn.14011f898
nop
test r14, r14
je 0x1400a3f30
mov rdi, r14
mov rsi, qword [rbp - 0x30]
cmp r14, rsi
je 0x1400a3f28
cmp qword [rdi + 0x18], 8
jb 0x1400a3f10
mov rcx, qword [rdi]
call fcn.14011f898
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], rbx
mov word [rdi], bx
add rdi, 0x20
cmp rdi, rsi
jne 0x1400a3f01
mov rcx, r14
call fcn.14011f898
lea r15, [0x140184770]
mov r14, qword [rbp + 0x370]
test byte [0x1402d741c], 2
je 0x1400a3f5f
lea r8, str.RemoveUserSettings_n
mov edx, 2
lea rcx, str.CSynTPEnh::DeleteUserSettingsOnUpgrade
call fcn.14011a490
mov edi, 1
test r12b, 0x20
je 0x1400a3f93
test byte [0x1402d741c], 2
je 0x1400a3f89
lea r8, str.Remove_previous_Syn_desktop_shortcuts_n
lea edx, [rdi + 1]
lea rcx, str.CSynTPEnh::DeleteUserSettingsOnUpgrade
call fcn.14011a490
mov edx, edi
mov rcx, r14
call fcn.1400b1cb0
test dil, r12b
je 0x1400a40c0
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov r8, r15
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x18]
call fcn.1400f7af0
test eax, eax
je 0x1400a40c0
lea rsi, str.SoftwareSynapticsTmp
mov rdx, rsi
mov rcx, 0xffffffff80000001
call qword [sym.imp.SHLWAPI.dll_SHDeleteKeyW]
mov rdx, rsi
mov rcx, r14
call fcn.1400a56d0
lea rcx, [rbp + 0x20]
call fcn.14011acc0
xor edx, edx
lea rcx, [rbp + 0x230]
call fcn.1400f7980
nop
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
xor r9d, r9d
mov r8, rsi
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x230]
call fcn.1400f7af0
test eax, eax
je 0x1400a40b4
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], ebx
mov r9d, 1
mov r8, r15
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0x18]
call fcn.1400f7af0
test eax, eax
je 0x1400a40a7
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
test byte [0x1402d741c], 2
je 0x1400a40a7
lea rax, [0x14018af48]
lea r9, [0x14018af58]
test edi, edi
cmovne r9, rax
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rsi
lea r8, str._s_to_copy_source_key__s_to_dest_key__s_n
mov edx, 2
lea rcx, str.CSynTPEnh::DeleteUserSettingsOnUpgrade
call fcn.14011a590
lea rcx, [rbp + 0x238]
call fcn.14011acc0
nop
lea rcx, [rbp + 0x230]
call fcn.1400f7a90
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.1400f7af0
test eax, eax
je 0x1400a41b0
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rbp - 0x20]
lea rdx, str.DriverVersion
lea rcx, [rbp + 0x20]
call fcn.14011b750
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rbp + 0x88]
lea rdx, str.DriverSuite
lea rcx, [rbp + 0x20]
call fcn.14011b750
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rbp + 0xf8]
lea rdx, str.InfRevision
lea rcx, [rbp + 0x20]
call fcn.14011b750
mov word [rbp + 0x2c0], bx
xor edx, edx
lea r8d, [rdx + 0x62]
lea rcx, [rbp + 0x2c2]
call fcn.14011fa60
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, [0x1401878e0]
lea rcx, [rbp + 0x200]
call fcn.14011b2a0
mov dword [rsp + 0x20], ebx
xor r9d, r9d
lea r8, [rbp + 0x2c0]
lea rdx, [0x1401878e0]
lea rcx, [rbp + 0x20]
call fcn.14011b750
mov ebx, edi
lea rcx, [rbp + 0x290]
call fcn.1400f7a90
nop
lea rcx, [rbp + 0x260]
call fcn.1400f7a90
nop
lea rcx, [rbp + 0x1f8]
call fcn.1400f7a90
nop
lea rcx, [rbp + 0x18]
call fcn.1400f7a90
mov eax, ebx
add rsp, 0x430
pop r15
pop r14
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret