Function at 0x140097d70
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 [0x14026e348]
call fcn.1400995a0
lea r14, [rdi + 0x5b0]
xor edx, edx
mov rcx, r14
call fcn.14005c4a0
test eax, eax
jne 0x140097dc6
xor eax, eax
jmp 0x140098a99
lea rbx, [rdi + 0x610]
mov edx, 0xdf29
mov rcx, rbx
call fcn.14005c4a0
test eax, eax
je 0x140097dbf
mov eax, dword [0x14026ed50]
add eax, 0xffffdc84
cmp eax, 1
ja 0x140097e06
mov rdx, r12
mov rcx, rdi
call fcn.140098ca0
mov rcx, rdi
call fcn.14009d050
jmp 0x140098a99
xor r8d, r8d
lea edx, [r8 + 3]
lea rcx, [0x14026ef10]
call fcn.14002ce50
mov r15, rax
test rax, rax
jne 0x140097e37
lea edx, [rax + 3]
lea r8d, [rax + 1]
lea rcx, [0x14026ef10]
call fcn.14002ce50
mov r15, rax
xor edx, edx
lea rcx, [rsp + 0x30]
call fcn.1400c9420
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.1400c9590
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.1400dfc90
mov r13d, dword [rbp + 0x230]
test r15, r15
je 0x140097f5a
test r13d, r13d
je 0x140097f5a
mov rcx, r15
call fcn.1400327b0
test eax, eax
je 0x140097ec4
mov dword [rbp + 0x228], 0x52e
jmp 0x140097ee4
mov rcx, r15
call fcn.14000bf00
test eax, eax
mov dword [rbp + 0x228], 0x532
jne 0x140097ee4
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.1400dfc90
mov r8d, dword [rbp + 0x230]
mov eax, r13d
dec eax
je 0x140097f31
dec eax
je 0x140097f20
dec eax
je 0x140097f3b
jmp 0x140097f2a
mov dword [rdi + 0x564], 0xdf27
mov eax, 0xdf27
jmp 0x140097f40
mov dword [rdi + 0x564], 0xdf24
mov eax, 0xdf24
mov dword [rsp + 0x20], eax
xor r9d, r9d
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a8d
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.1400dfc90
mov eax, esi
cmp dword [rbp + 0x230], eax
setne al
mov dword [rdi + 0xb54], eax
test eax, eax
je 0x140097fd4
test r15, r15
je 0x140097fd4
mov rcx, r15
call fcn.1400327b0
test eax, eax
je 0x140097fd4
mov dword [rsp + 0x20], 0xdf26
xor r9d, r9d
mov r8d, 0x52f
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a8d
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.1400dfc90
mov eax, esi
cmp dword [rbp + 0x230], eax
setne al
mov dword [rdi + 0xb58], eax
test eax, eax
je 0x140098085
mov word [rbp - 0x30], si
xor edx, edx
mov r8d, 0x206
lea rcx, [rbp - 0x2e]
call fcn.1400e4220
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.1400e5d9c
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 0x1400980c2
test r15, r15
je 0x1400980c2
mov rcx, r15
call fcn.1400327b0
test eax, eax
je 0x1400980c2
mov dword [rsp + 0x20], 0xdf28
xor r9d, r9d
mov r8d, 0x531
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a8d
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.1400dfc90
xor r8d, r8d
lea edx, [r8 + 3]
lea rcx, [0x14026ef10]
call fcn.14002cf20
test rax, rax
jne 0x140098176
lea edx, [rax + 3]
lea r8d, [rax + 1]
lea rcx, [0x14026ef10]
call fcn.14002cf20
test rax, rax
jne 0x140098176
mov eax, dword [rdi + 0x560]
test eax, eax
je 0x140098176
test r13d, r13d
jne 0x140098176
dec eax
je 0x140098144
cmp eax, 2
je 0x140098144
mov dword [rdi + 0x564], 0xdf27
jmp 0x14009814e
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.14005c500
test eax, eax
jne 0x14009819f
jmp 0x140098a8d
mov dword [rsp + 0x20], 0xdf00
lea r9, [0x14012b750]
mov r8d, dword [rbp + 0x228]
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a8d
mov edx, dword [rdi + 0x564]
mov rcx, r14
call fcn.14005cc80
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.1400dfc90
cmp dword [rbp + 0x230], esi
je 0x140098254
test r15, r15
je 0x140098254
mov rcx, r15
call fcn.140032890
test eax, eax
je 0x140098254
mov rcx, r15
call fcn.14000bf00
test eax, eax
jne 0x140098254
mov rcx, r15
call fcn.140032730
test eax, eax
jne 0x140098254
mov dword [rsp + 0x20], 0xdf1e
xor r9d, r9d
mov r8d, LoadRegTypeLib
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a8d
mov dword [rsp + 0x20], 0xdf1f
xor r9d, r9d
mov r8d, LoadRegTypeLib
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a8d
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.1400dfc90
cmp dword [rbp + 0x230], esi
je 0x1400982aa
mov dword [rsp + 0x20], 0xdf25
xor r9d, r9d
mov r8d, 0x526
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a8d
cmp dword [rdi + 0xb38], esi
je 0x1400982d6
mov dword [rsp + 0x20], 0xdf04
xor r9d, r9d
mov r8d, 0x9b
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a8d
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.1400dfc90
xor edx, edx
lea rcx, [rsp + 0x60]
call fcn.1400c9420
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.1400c9590
test eax, eax
jne 0x14009835f
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.1400c9590
test eax, eax
je 0x140098379
mov r8d, dword [rbp + 0x230]
lea rdx, [rsp + 0x60]
mov rcx, rbx
call fcn.14005c740
mov dword [rdi + 0xb10], eax
cmp dword [rdi + 0xb10], 0
je 0x140098396
mov r9, rbx
mov r8d, 8
mov rdx, r12
mov rcx, r14
call fcn.14005c670
lea rcx, [0x14026ef10]
call fcn.14009e530
test rax, rax
je 0x140098434
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.SoftwareSynapticscPad
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x68]
call fcn.1400c9490
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.1400dfda0
test eax, eax
je 0x14009842b
mov dword [rsp + 0x20], 0xdf08
xor r9d, r9d
mov r8d, 0x83
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
jne 0x14009842b
lea rcx, [rbp - 0x68]
call fcn.1400c9530
jmp 0x140098a82
lea rcx, [rbp - 0x68]
call fcn.1400c9530
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.1400dfc90
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.1400dfc90
mov eax, esi
cmp dword [rbp + 0x230], eax
setne al
mov dword [rdi + 0xb3c], eax
cmp dword [rdi + 0xb28], 0
je 0x1400984d9
mov dword [rsp + 0x20], 0xdf01
xor r9d, r9d
lea r8d, [r9 + 4]
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a82
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.1400dfc90
mov eax, dword [rbp + 0x230]
mov dword [rdi + 0xb2c], eax
test al, 1
je 0x140098573
test r15, r15
je 0x140098573
lea rcx, [r15 + 0x50]
call fcn.14000bf70
test al, al
je 0x140098573
mov dword [rbp + 0x228], esi
mov rcx, qword [r15 + 0x58]
test rcx, rcx
je 0x140098573
mov rax, qword [rcx]
lea r8, [rbp + 0x228]
mov edx, 0x10000177
call qword [rax + 0x18]
cmp dword [rbp + 0x228], 0
je 0x140098573
mov dword [rsp + 0x20], 0xdf05
xor r9d, r9d
mov r8d, 0x52c
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a82
test byte [rdi + 0xb2c], 4
je 0x1400985b1
test r15, r15
je 0x1400985b1
mov rcx, r15
call fcn.1400327b0
test eax, eax
je 0x1400985b1
mov dword [rsp + 0x20], 0xdf06
xor r9d, r9d
mov r8d, 0x52b
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a82
cmp dword [rdi + 0xb3c], 0
je 0x1400985cd
test r15, r15
je 0x1400985cd
mov r8, r14
mov rdx, r15
mov rcx, rdi
call fcn.14009cb70
lea rcx, [0x14026d730]
call fcn.140083880
test eax, eax
je 0x140098611
mov dword [rsp + 0x20], 0xdf02
xor r9d, r9d
lea r8d, [r9 + 0x52]
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a82
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [0x14026d730]
call fcn.1400838a0
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.1400dfc90
mov ebx, dword [rbp + 0x230]
test ebx, ebx
je 0x14009866f
mov rcx, r14
call fcn.14005c720
mov dword [rsp + 0x20], 0xdf03
xor r9d, r9d
lea r8d, [r9 + 3]
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a82
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.1400c9590
test eax, eax
je 0x1400986c0
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x220]
lea r8, [rbp + 0x220]
lea rdx, str.TrayIconHelp
lea rcx, [rsp + 0x68]
call fcn.1400dfc90
cmp dword [rbp + 0x220], 0
je 0x14009870a
lea rcx, [0x14026ef10]
call fcn.14009e530
test rax, rax
je 0x14009870a
test ebx, ebx
jne 0x1400986e6
mov rcx, r14
call fcn.14005c720
mov dword [rsp + 0x20], 0xdf07
xor r9d, r9d
mov r8d, 0x9a
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a82
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.1400dfc90
cmp dword [rbp + 0x230], 0
je 0x140098788
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.1400dfc90
mov dword [rsp + 0x20], 0xdf21
xor r9d, r9d
mov r8d, dword [rbp + 0x230]
mov rdx, r12
mov rcx, r14
call fcn.14005c500
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.1400dfc90
cmp dword [rbp + 0x230], 0
je 0x140098806
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.1400dfc90
mov dword [rsp + 0x20], 0xdf20
xor r9d, r9d
mov r8d, dword [rbp + 0x230]
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test r15, r15
je 0x14009883b
mov rcx, r15
call fcn.140010ff0
test eax, eax
je 0x14009883b
mov dword [rsp + 0x20], 0xdf22
xor r9d, r9d
mov r8d, 0x4ed
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a82
cmp dword [rdi + 0xb48], 0
je 0x140098868
mov dword [rsp + 0x20], 0xdf23
xor r9d, r9d
mov r8d, 0x4ff
mov rdx, r12
mov rcx, r14
call fcn.14005c500
test eax, eax
je 0x140098a82
call fcn.14005d970
cmp dword [rax + 4], 0
je 0x140098a7d
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.14005c4a0
test eax, eax
je 0x140098a82
call fcn.14005d970
mov rcx, rax
call fcn.14007b220
call fcn.14005d970
mov rcx, rax
lea rdx, [rbp - 0x68]
call fcn.14007b790
nop
mov rdx, rax
lea rcx, [rdi + 0xaf8]
call fcn.14005f260
nop
mov rcx, qword [rbp - 0x68]
test rcx, rcx
je 0x1400988e3
call fcn.1400e4058
mov rax, qword [rdi + 0xb00]
mov rcx, r15
cmp qword [rdi + 0xaf8], rax
je 0x140098952
lea rdx, [rdi + 0xaf8]
call fcn.14005ca10
mov dword [rdi + 0xaf4], eax
test eax, eax
je 0x14009891c
mov rcx, r15
call fcn.14005c720
inc dword [rdi + 0xaf4]
jmp 0x140098928
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.14005c500
test eax, eax
jne 0x14009897d
dec dword [rdi + 0xaf4]
jmp 0x14009897d
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.14005c500
test eax, eax
jne 0x14009897d
mov dword [rdi + 0xaf4], esi
mov ebx, dword [rdi + 0xaf0]
cmp ebx, dword [rdi + 0xaf4]
ja 0x1400989c4
nop dword [rax + rax]
mov edx, ebx
sub edx, dword [rdi + 0xaf0]
xor r8d, r8d
mov rcx, r15
call fcn.14005cc20
mov r8d, esi
cmp dword [0x14026d628], esi
sete r8b
mov edx, ebx
mov rcx, r15
call fcn.14005cc40
inc ebx
cmp ebx, dword [rdi + 0xaf4]
jbe 0x140098990
call fcn.14005d970
cmp qword [rax + 0x60], 0
je 0x140098a15
mov r13d, esi
mov rbx, qword [rdi + 0xaf8]
cmp rbx, qword [rdi + 0xb00]
je 0x140098a15
call fcn.14005d970
mov rcx, qword [rax + 0x60]
cmp qword [rbx], rcx
jne 0x1400989fb
call fcn.14005d970
cmp dword [rax], 0
je 0x140098a04
add rbx, 8
inc r13d
jmp 0x1400989da
mov r8d, 1
mov edx, r13d
mov rcx, r15
call fcn.14005cc20
cmp dword [rdi + 0xaf4], 0
je 0x140098a7d
cmp qword [rsp + 0x48], 0
je 0x140098a7d
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.1400dfc90
test eax, eax
je 0x140098a7d
cmp dword [rbp + 0x228], 0
je 0x140098a7d
mov rcx, r14
call fcn.14005c720
mov r9, r15
mov r8d, 0x4d8
mov rdx, r12
mov rcx, r14
call fcn.14005c670
mov esi, 1
lea rcx, [rsp + 0x60]
call fcn.1400c9530
nop
lea rcx, [rsp + 0x30]
call fcn.1400c9530
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