Function at 0x140097bc0
Capabilities:
Check if file exists
Get file attributes
Query environment variable

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1e0]
sub rsp, 0x2e0
mov qword [rbp - 0x70], 0xfffffffffffffffe
mov qword [rsp + 0x338], rbx
mov rdi, rcx
mov r12, qword [0x14026e3d0]
call fcn.1400993f0
lea r14, [rdi + 0x5b0]
xor edx, edx
mov rcx, r14
call fcn.14005bcc0
test eax, eax
jne 0x140097c16
xor eax, eax
jmp 0x1400988e9
lea rbx, [rdi + 0x610]
mov edx, 0xdf29
mov rcx, rbx
call fcn.14005bcc0
test eax, eax
je 0x140097c0f
mov eax, dword [0x14026edd8]
add eax, 0xffffdc84
cmp eax, 1
ja 0x140097c56
mov rdx, r12
mov rcx, rdi
call fcn.140098af0
mov rcx, rdi
call fcn.14009cea0
jmp 0x1400988e9
xor r8d, r8d
lea edx, [r8 + 3]
lea rcx, [0x14026ef98]
call fcn.14002c3c0
mov r15, rax
test rax, rax
jne 0x140097c87
lea edx, [rax + 3]
lea r8d, [rax + 1]
lea rcx, [0x14026ef98]
call fcn.14002c3c0
mov r15, rax
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.1400c91f0
nop
xor esi, esi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnhPopupConfig
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x30]
call fcn.1400c9360
mov dword [rbp + 0x228], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.ShowTouchPadProperties
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
mov r13d, dword [rbp + 0x230]
test r15, r15
je 0x140097daa
test r13d, r13d
je 0x140097daa
mov rcx, r15
call fcn.140031f90
test eax, eax
je 0x140097d14
mov dword [rbp + 0x228], 0x52e
jmp 0x140097d34
mov rcx, r15
call fcn.14000bd10
test eax, eax
mov dword [rbp + 0x228], 0x532
jne 0x140097d34
mov dword [rbp + 0x228], 0x508
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.TouchPadProperties_ResourceID
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
mov r8d, dword [rbp + 0x230]
mov eax, r13d
dec eax
je 0x140097d81
dec eax
je 0x140097d70
dec eax
je 0x140097d8b
jmp 0x140097d7a
mov dword [rdi + 0x564], 0xdf27
mov eax, 0xdf27
jmp 0x140097d90
mov dword [rdi + 0x564], 0xdf24
mov eax, 0xdf24
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988dd
mov eax, dword [rdi + 0xb54]
mov dword [rbp + 0x228], eax
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.ShowForcePadVolume
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
mov eax, esi
cmp dword [rbp + 0x230], eax
setne al
mov dword [rdi + 0xb54], eax
test eax, eax
je 0x140097e24
test r15, r15
je 0x140097e24
mov rcx, r15
call fcn.140031f90
test eax, eax
je 0x140097e24
mov dword [rsp + 0x20], 0xdf26
xor r9d, r9d
mov r8d, 0x52f
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988dd
mov eax, dword [rdi + 0xb58]
mov dword [rbp + 0x228], eax
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.ShowForcePadVolume
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
mov eax, esi
cmp dword [rbp + 0x230], eax
setne al
mov dword [rdi + 0xb58], eax
test eax, eax
je 0x140097ed5
mov word [rbp - 0x30], si
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp - 0x2e]
call fcn.1400e4040
mov r8d, 0x104
lea rdx, [rbp - 0x30]
lea rcx, str.ProgramFiles
call qword [sym.imp.KERNEL32.dll_GetEnvironmentVariableW]
lea r9, str.SynapticsSynTP_synfpapp.exe
lea r8, [rbp - 0x30]
lea rdx, str._s_s
lea rcx, [rdi + 0xb5c]
call fcn.1400e5bbc
lea rcx, [rdi + 0xb5c]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
mov ecx, esi
cmp eax, 0xffffffff
setne cl
mov dword [rdi + 0xb58], ecx
lea rbx, [rdi + 0x610]
cmp dword [rdi + 0xb58], esi
je 0x140097f12
test r15, r15
je 0x140097f12
mov rcx, r15
call fcn.140031f90
test eax, eax
je 0x140097f12
mov dword [rsp + 0x20], 0xdf28
xor r9d, r9d
mov r8d, 0x531
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988dd
mov dword [rbp + 0x230], 2
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x230]
lea r8, [rbp + 0x228]
lea rdx, str.DeviceProperties_ResourceID
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
xor r8d, r8d
lea edx, [r8 + 3]
lea rcx, [0x14026ef98]
call fcn.14002c490
test rax, rax
jne 0x140097fc6
lea edx, [rax + 3]
lea r8d, [rax + 1]
lea rcx, [0x14026ef98]
call fcn.14002c490
test rax, rax
jne 0x140097fc6
mov eax, dword [rdi + 0x560]
test eax, eax
je 0x140097fc6
test r13d, r13d
jne 0x140097fc6
dec eax
je 0x140097f94
cmp eax, 2
je 0x140097f94
mov dword [rdi + 0x564], 0xdf27
jmp 0x140097f9e
mov dword [rdi + 0x564], 0xdf24
mov eax, dword [rdi + 0x564]
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, dword [rbp + 0x228]
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
jne 0x140097fef
jmp 0x1400988dd
mov dword [rsp + 0x20], 0xdf00
lea r9, [0x14012b760]
mov r8d, dword [rbp + 0x228]
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988dd
mov edx, dword [rdi + 0x564]
mov rcx, r14
call fcn.14005c4a0
mov dword [rbp + 0x228], 1
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.ShowIlluminationOptions
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
cmp dword [rbp + 0x230], esi
je 0x1400980a4
test r15, r15
je 0x1400980a4
mov rcx, r15
call fcn.140032070
test eax, eax
je 0x1400980a4
mov rcx, r15
call fcn.14000bd10
test eax, eax
jne 0x1400980a4
mov rcx, r15
call fcn.140031f10
test eax, eax
jne 0x1400980a4
mov dword [rsp + 0x20], 0xdf1e
xor r9d, r9d
mov r8d, LoadRegTypeLib
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988dd
mov dword [rsp + 0x20], 0xdf1f
xor r9d, r9d
mov r8d, LoadRegTypeLib
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988dd
mov dword [rbp + 0x228], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.ShowAsusSmartDetectorDialog
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
cmp dword [rbp + 0x230], esi
je 0x1400980fa
mov dword [rsp + 0x20], 0xdf25
xor r9d, r9d
mov r8d, 0x526
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988dd
cmp dword [rdi + 0xb38], esi
je 0x140098126
mov dword [rsp + 0x20], 0xdf04
xor r9d, r9d
mov r8d, 0x9b
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988dd
mov dword [rbp + 0x228], 1
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.NameResourceId
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.1400c91f0
nop
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnhPopupConfig
mov rdx, 0xffffffff80000001
lea rcx, [rsp + 0x60]
call fcn.1400c9360
test eax, eax
jne 0x1400981af
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnhPopupConfig
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x60]
call fcn.1400c9360
test eax, eax
je 0x1400981c9
mov r8d, dword [rbp + 0x230]
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.14005bf60
mov dword [rdi + 0xb10], eax
cmp dword [rdi + 0xb10], 0
je 0x1400981e6
mov r9, rbx
mov r8d, 8
mov rdx, r12
mov rcx, r14
call fcn.14005be90
lea rcx, [0x14026ef98]
call fcn.14009e380
test rax, rax
je 0x140098284
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.SoftwareSynapticscPad
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x68]
call fcn.1400c9260
nop
mov dword [rbp + 0x228], 0x208
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp - 0x30]
lea rdx, str.PropertiesExe
lea rcx, [rbp - 0x60]
call fcn.1400dfb40
test eax, eax
je 0x14009827b
mov dword [rsp + 0x20], 0xdf08
xor r9d, r9d
mov r8d, 0x83
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
jne 0x14009827b
lea rcx, [rbp - 0x68]
call fcn.1400c9300
jmp 0x1400988d2
lea rcx, [rbp - 0x68]
call fcn.1400c9300
mov dword [rbp + 0x228], 1
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.ShowTapToClick
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
mov eax, esi
cmp dword [rbp + 0x230], eax
setne al
mov dword [rdi + 0xb28], eax
mov dword [rbp + 0x228], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.ShowDisableTP
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
mov eax, esi
cmp dword [rbp + 0x230], eax
setne al
mov dword [rdi + 0xb3c], eax
cmp dword [rdi + 0xb28], 0
je 0x140098329
mov dword [rsp + 0x20], 0xdf01
xor r9d, r9d
lea r8d, [r9 + 4]
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988d2
mov dword [rbp + 0x228], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.ShowDisableGestures
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
mov eax, dword [rbp + 0x230]
mov dword [rdi + 0xb2c], eax
test al, 1
je 0x1400983c3
test r15, r15
je 0x1400983c3
lea rcx, [r15 + 0x50]
call fcn.14000bd80
test al, al
je 0x1400983c3
mov dword [rbp + 0x228], esi
mov rcx, qword [r15 + 0x58]
test rcx, rcx
je 0x1400983c3
mov rax, qword [rcx]
lea r8, [rbp + 0x228]
mov edx, 0x10000177
call qword [rax + 0x18]
cmp dword [rbp + 0x228], 0
je 0x1400983c3
mov dword [rsp + 0x20], 0xdf05
xor r9d, r9d
mov r8d, 0x52c
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988d2
test byte [rdi + 0xb2c], 4
je 0x140098401
test r15, r15
je 0x140098401
mov rcx, r15
call fcn.140031f90
test eax, eax
je 0x140098401
mov dword [rsp + 0x20], 0xdf06
xor r9d, r9d
mov r8d, 0x52b
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988d2
cmp dword [rdi + 0xb3c], 0
je 0x14009841d
test r15, r15
je 0x14009841d
mov r8, r14
mov rdx, r15
mov rcx, rdi
call fcn.14009c9c0
lea rcx, [0x14026d7b0]
call fcn.1400830f0
test eax, eax
je 0x140098461
mov dword [rsp + 0x20], 0xdf02
xor r9d, r9d
lea r8d, [r9 + 0x52]
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988d2
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x14026d7b0]
call fcn.140083110
mov dword [rbp + 0x228], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.TrayIconHelp
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
mov ebx, dword [rbp + 0x230]
test ebx, ebx
je 0x1400984bf
mov rcx, r14
call fcn.14005bf40
mov dword [rsp + 0x20], 0xdf03
xor r9d, r9d
lea r8d, [r9 + 3]
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988d2
mov dword [rbp + 0x220], esi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.SoftwareSynapticscPad
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x60]
call fcn.1400c9360
test eax, eax
je 0x140098510
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x220]
lea r8, [rbp + 0x220]
lea rdx, str.TrayIconHelp
lea rcx, [rsp + 0x68]
call fcn.1400dfa30
cmp dword [rbp + 0x220], 0
je 0x14009855a
lea rcx, [0x14026ef98]
call fcn.14009e380
test rax, rax
je 0x14009855a
test ebx, ebx
jne 0x140098536
mov rcx, r14
call fcn.14005bf40
mov dword [rsp + 0x20], 0xdf07
xor r9d, r9d
mov r8d, 0x9a
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988d2
mov dword [rbp + 0x228], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.ShowAbout
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
cmp dword [rbp + 0x230], 0
je 0x1400985d8
mov dword [rbp + 0x228], 0xd6
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.ShowAbout_ResourceID
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
mov dword [rsp + 0x20], 0xdf21
xor r9d, r9d
mov r8d, dword [rbp + 0x230]
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
mov dword [rbp + 0x228], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.ShowRemoveIcon
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
cmp dword [rbp + 0x230], 0
je 0x140098656
mov dword [rbp + 0x228], 0xd3
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x230]
lea rdx, str.ShowRemoveIcon_ResourceID
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
mov dword [rsp + 0x20], 0xdf20
xor r9d, r9d
mov r8d, dword [rbp + 0x230]
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test r15, r15
je 0x14009868b
mov rcx, r15
call fcn.1400107c0
test eax, eax
je 0x14009868b
mov dword [rsp + 0x20], 0xdf22
xor r9d, r9d
mov r8d, 0x4ed
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988d2
cmp dword [rdi + 0xb48], 0
je 0x1400986b8
mov dword [rsp + 0x20], 0xdf23
xor r9d, r9d
mov r8d, 0x4ff
mov rdx, r12
mov rcx, r14
call fcn.14005bd20
test eax, eax
je 0x1400988d2
call fcn.14005d220
cmp dword [rax + 4], 0
je 0x1400988cd
mov eax, dword [rdi + 0xb10]
test eax, eax
mov edx, 0xdf29
cmovne edx, eax
inc edx
mov dword [rdi + 0xaf0], edx
lea r15, [rdi + 0xa90]
mov rcx, r15
call fcn.14005bcc0
test eax, eax
je 0x1400988d2
call fcn.14005d220
mov rcx, rax
call fcn.14007ab60
call fcn.14005d220
mov rcx, rax
lea rdx, [rbp - 0x68]
call fcn.14007b0d0
nop
mov rdx, rax
lea rcx, [rdi + 0xaf8]
call fcn.14005eb10
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x140098733
call fcn.1400e3e78
mov rax, qword [rdi + 0xb00]
mov rcx, r15
cmp qword [rdi + 0xaf8], rax
je 0x1400987a2
lea rdx, [rdi + 0xaf8]
call fcn.14005c230
mov dword [rdi + 0xaf4], eax
test eax, eax
je 0x14009876c
mov rcx, r15
call fcn.14005bf40
inc dword [rdi + 0xaf4]
jmp 0x140098778
mov eax, dword [rdi + 0xaf0]
mov dword [rdi + 0xaf4], eax
mov eax, dword [rdi + 0xaf4]
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, 0x4d9
mov rdx, r12
mov rcx, r15
call fcn.14005bd20
test eax, eax
jne 0x1400987cd
dec dword [rdi + 0xaf4]
jmp 0x1400987cd
mov eax, dword [rdi + 0xaf0]
mov dword [rdi + 0xaf4], eax
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov r8d, 0x4d9
mov rdx, r12
call fcn.14005bd20
test eax, eax
jne 0x1400987cd
mov dword [rdi + 0xaf4], esi
mov ebx, dword [rdi + 0xaf0]
cmp ebx, dword [rdi + 0xaf4]
ja 0x140098814
nop dword [rax + rax]
mov edx, ebx
sub edx, dword [rdi + 0xaf0]
xor r8d, r8d
mov rcx, r15
call fcn.14005c440
mov r8d, esi
cmp dword [0x14026d6a8], esi
sete r8b
mov edx, ebx
mov rcx, r15
call fcn.14005c460
inc ebx
cmp ebx, dword [rdi + 0xaf4]
jbe 0x1400987e0
call fcn.14005d220
cmp qword [rax + 0x60], 0
je 0x140098865
mov r13d, esi
mov rbx, qword [rdi + 0xaf8]
cmp rbx, qword [rdi + 0xb00]
je 0x140098865
call fcn.14005d220
mov rcx, qword [rax + 0x60]
cmp qword [rbx], rcx
jne 0x14009884b
call fcn.14005d220
cmp dword [rax], 0
je 0x140098854
add rbx, 8
inc r13d
jmp 0x14009882a
mov r8d, 1
mov edx, r13d
mov rcx, r15
call fcn.14005c440
cmp dword [rdi + 0xaf4], 0
je 0x1400988cd
cmp qword [rsp + 0x48], 0
je 0x1400988cd
mov dword [rbp + 0x228], 1
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x228]
lea r8, [rbp + 0x228]
lea rdx, str.ShowProfiles
lea rcx, [rsp + 0x38]
call fcn.1400dfa30
test eax, eax
je 0x1400988cd
cmp dword [rbp + 0x228], 0
je 0x1400988cd
mov rcx, r14
call fcn.14005bf40
mov r9, r15
mov r8d, 0x4d8
mov rdx, r12
mov rcx, r14
call fcn.14005be90
mov esi, 1
lea rcx, [rsp + 0x60]
call fcn.1400c9300
nop
lea rcx, [rsp + 0x30]
call fcn.1400c9300
mov eax, esi
mov rbx, qword [rsp + 0x338]
add rsp, 0x2e0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret