Function at 0x140010c50
Capabilities:
Create thread

Disassembly:
mov rax, rsp
mov dword [rax + 0x10], edx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x888]
sub rsp, 0x970
mov qword [rbp + 0x238], 0xfffffffffffffffe
mov qword [rax + 8], rbx
movaps xmmword [rax - 0x48], xmm6
mov ebx, edx
mov rdi, rcx
lea rax, vtable.CSynList_class_CRegistryKey_.0
mov qword [rbp - 0x80], rax
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [rbp - 0x64], 1
xor esi, esi
mov qword [rbp - 0x78], rsi
mov qword [rbp - 0x70], rsi
mov dword [rbp - 0x68], esi
lea rax, vtable.CMultiLevelRegistryKey.0
mov qword [rbp - 0x80], rax
xor edx, edx
lea rcx, [rbp + 0x50]
call fcn.1400ca710
nop
cmp ebx, 0xffffffff
je 0x140010cff
mov rax, qword [rdi + 0x58]
test rax, rax
jne 0x140010ce2
lea rax, [rdi + 0x70]
test rax, rax
je 0x140013430
mov rcx, qword [rdi + 0x58]
test rcx, rcx
jne 0x140010cef
lea rcx, [rdi + 0x70]
mov rax, qword [rcx]
mov edx, ebx
call qword [rax + 0x78]
test eax, eax
jne 0x140013430
mov ecx, 0x298
call fcn.1400e5d1c
mov r14, rax
mov qword [rbp + 0x8a0], rax
test rax, rax
je 0x140010d77
mov ecx, 0x1c0
call fcn.1400e5d1c
mov rbx, rax
mov qword [rbp + 0x8a8], rax
test rax, rax
je 0x140010d64
mov ecx, 0x1f0
call fcn.1400e5d1c
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140010d54
xor r8d, r8d
mov rdx, rdi
mov rcx, rax
call fcn.14005ebf0
jmp 0x140010d57
mov rax, rsi
mov rdx, rax
mov rcx, rbx
call fcn.140060d20
jmp 0x140010d67
mov rax, rsi
mov r8, rax
mov rdx, rdi
mov rcx, r14
call fcn.14000d220
jmp 0x140010d7a
mov rax, rsi
mov qword [rdi + 0x1028], rax
lea r15, [rdi + 0x50]
mov rcx, qword [r15 + 8]
test rcx, rcx
jne 0x140010d92
lea rcx, [r15 + 0x20]
mov rax, qword [rcx]
xor r8d, r8d
mov edx, 0x1000377
call qword [rax + 0x30]
mov r8d, 0x10000603
lea rdx, [rbp - 0x30]
lea rcx, [rdi + 0x58]
call fcn.140030c60
mov rbx, rax
lea r12, [rdi + 0x780]
cmp r12, rax
je 0x140010de4
mov rcx, qword [r12]
test rcx, rcx
je 0x140010dd4
call fcn.140033030
mov qword [r12], rsi
mov rax, qword [rbx]
mov qword [r12], rax
test rax, rax
je 0x140010de4
lock inc dword [rax + 0x10]
mov rcx, qword [rbp - 0x30]
test rcx, rcx
je 0x140010df2
call fcn.140033030
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], esi
mov qword [rsp + 0x20], rsi
lea r9, str.SoftwareSynapticsSynTPEnhZoneConfig
mov r8d, 1
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.140023730
test eax, eax
je 0x140013430
mov eax, dword [0x140271e30]
add eax, 0xffffdc84
cmp eax, 1
ja 0x140010fd5
mov eax, esi
mov dword [rbp + 0x14], eax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140010e54
mov rax, qword [rcx]
lea r8, [rbp + 0x14]
mov edx, 0x10000103
call qword [rax + 0x18]
mov eax, dword [rbp + 0x14]
lea rcx, str.SoftwareSynapticsSynTPEnhUltraNavUSB
lea r8, str.SoftwareSynapticsSynTPEnhUltraNavPS2
cmp eax, 3
cmove r8, rcx
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
mov rdx, 0xffffffff80000001
mov r9d, 1
lea rcx, [rbp + 0x50]
call fcn.1400ca880
mov dword [rbp + 0x150], 0x1214
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x150]
lea r8, [rbp + 0x1b0]
lea rdx, str.TrackPointMode
lea rcx, [rbp + 0x58]
call fcn.1400e1690
mov eax, dword [rbp + 0x1b0]
mov dword [rdi + 0x7d8], eax
mov dword [rbp + 0x1c0], 0x11
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x1c0]
lea r8, [rbp + 0x168]
lea rdx, str.TrackPointModeFunction
lea rcx, [rbp + 0x58]
call fcn.1400e1690
mov eax, dword [rbp + 0x168]
mov dword [rdi + 0x7dc], eax
xor ecx, ecx
call fcn.1400dd550
mov ecx, esi
cmp eax, 0xd
setge cl
mov dword [rbp + 0x90], ecx
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x90]
lea r8, [rbp + 0x194]
lea rdx, str.TrackPointScrollMethod
lea rcx, [rbp + 0x58]
call fcn.1400e1690
mov eax, dword [rbp + 0x194]
mov dword [rdi + 0x7e0], eax
cmp dword [rdi + 0x7d8], 0x1214
jne 0x140010f62
xor r9d, r9d
mov r8d, 0x1214
lea rdx, str.TrackPointMode
lea rcx, [rbp + 0x58]
call fcn.1400e1af0
cmp dword [rdi + 0x7dc], 0x11
jne 0x140010f82
xor r9d, r9d
lea r8d, [r9 + 0x11]
lea rdx, str.TrackPointModeFunction
lea rcx, [rbp + 0x58]
call fcn.1400e1af0
mov ebx, dword [rdi + 0x7e0]
xor ecx, ecx
call fcn.1400dd550
mov ecx, esi
cmp eax, 0xd
setge cl
cmp ebx, ecx
jne 0x140010fb1
xor r9d, r9d
mov r8d, ebx
lea rdx, str.TrackPointScrollMethod
lea rcx, [rbp + 0x58]
call fcn.1400e1af0
mov eax, dword [rdi + 0x7dc]
test al, 0x40
je 0x140010fc7
mov dword [rdi + 0x7ec], 1
jmp 0x140010fd5
test al, 0x20
je 0x140010fd5
mov dword [rdi + 0x7f0], 1
mov edx, esi
mov dword [rbp + 0x40], edx
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140010ff5
mov rax, qword [rcx]
lea r8, [rbp + 0x40]
mov edx, 0x10000177
call qword [rax + 0x18]
mov edx, dword [rbp + 0x40]
mov eax, esi
test edx, edx
setne al
mov dword [rdi + 0xbfc], eax
mov edx, esi
mov dword [rbp + 0x48], edx
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140011022
mov rax, qword [rcx]
lea r8, [rbp + 0x48]
mov edx, 0x10000189
call qword [rax + 0x18]
mov edx, dword [rbp + 0x48]
mov eax, esi
test edx, edx
setne al
mov dword [rdi + 0xc00], eax
mov edx, esi
mov dword [rbp + 0x2c], edx
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x14001104f
mov rax, qword [rcx]
lea r8, [rbp + 0x2c]
mov edx, 0x10000146
call qword [rax + 0x18]
mov edx, dword [rbp + 0x2c]
mov eax, esi
test edx, edx
setne al
mov dword [rdi + 0xc04], eax
mov edx, esi
mov dword [rbp + 0xc], edx
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x14001107c
mov rax, qword [rcx]
lea r8, [rbp + 0xc]
mov edx, 0x1000017a
call qword [rax + 0x18]
mov edx, dword [rbp + 0xc]
mov eax, esi
test edx, edx
setne al
mov dword [rdi + 0xc08], eax
mov edx, esi
mov dword [rbp + 0x4c], edx
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x1400110a9
mov rax, qword [rcx]
lea r8, [rbp + 0x4c]
mov edx, 0x100001ba
call qword [rax + 0x18]
mov edx, dword [rbp + 0x4c]
mov eax, esi
test edx, edx
setne al
mov dword [rdi + 0xc0c], eax
mov eax, esi
mov dword [rbp], eax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x1400110d6
mov rax, qword [rcx]
lea r8, [rbp]
mov edx, 0x100001a8
call qword [rax + 0x18]
mov eax, dword [rbp]
mov dword [rdi + 0xc10], eax
mov eax, esi
mov dword [rbp + 0x34], eax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x1400110fc
mov rax, qword [rcx]
lea r8, [rbp + 0x34]
mov edx, 0x1000382
call qword [rax + 0x18]
mov eax, dword [rbp + 0x34]
mov dword [rdi + 0xc14], eax
mov dword [rbp + 0x1c], esi
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140011145
mov rax, qword [rcx]
lea r8, [rbp + 0x1c]
mov edx, 0x10000d2
call qword [rax + 0x18]
cmp dword [rbp + 0x1c], 0
je 0x140011145
mov eax, esi
mov dword [rbp + 0x44], eax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140011165
mov rax, qword [rcx]
lea r8, [rbp + 0x44]
mov edx, 0x10000db
call qword [rax + 0x18]
mov eax, dword [rbp + 0x44]
jmp 0x140011165
mov eax, esi
mov dword [rbp + 0x24], eax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140011165
mov rax, qword [rcx]
lea r8, [rbp + 0x24]
mov edx, 0x10000da
call qword [rax + 0x18]
mov eax, dword [rbp + 0x24]
mov ecx, 0x50
test eax, eax
cmove eax, ecx
mov dword [rdi + 0xc18], eax
mov eax, esi
mov dword [rbp + 0x3c], eax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140011195
mov rax, qword [rcx]
lea r8, [rbp + 0x3c]
mov edx, 0x10002f0
call qword [rax + 0x18]
mov eax, dword [rbp + 0x3c]
mov dword [rdi + 0x11b4], eax
mov eax, esi
mov dword [rbp + 4], eax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x1400111bb
mov rax, qword [rcx]
lea r8, [rbp + 4]
mov edx, 0x1000241
call qword [rax + 0x18]
mov eax, dword [rbp + 4]
mov dword [rdi + 0xc1c], eax
mov dword [rbp - 4], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 4]
lea r8, [rbp - 4]
lea rdx, str.PalmCheckGroupPresent
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov dword [rbp + 8], esi
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x1400112e4
mov rax, qword [rcx]
lea r8, [rbp + 8]
mov edx, 0x10000102
call qword [rax + 0x18]
cmp dword [rbp + 8], 2
jne 0x1400112e4
cmp dword [rbp - 4], 0
je 0x1400112e4
lea r8, [rdi + 0x1030]
mov dword [r8], esi
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.UsePalmCheckGroupConfigForACM2
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
xor r9d, r9d
lea r8d, [r9 + 0x1b]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
xor r9d, r9d
lea r8d, [r9 + 0x1d]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
xor r9d, r9d
lea r8d, [r9 + 0x1e]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
xor r9d, r9d
lea r8d, [r9 + 0x1f]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
xor r9d, r9d
lea r8d, [r9 + 0x20]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
lea r8, [rdi + 0xbb0]
mov dword [r8], esi
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.PalmViolationToReleaseCursor
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
cmp dword [rdi + 0xbfc], 0
je 0x1400113c7
mov eax, esi
mov dword [rbp + 0x10], eax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140011311
mov rax, qword [rcx]
lea r8, [rbp + 0x10]
mov edx, 0x10000d5
call qword [rax + 0x18]
mov eax, dword [rbp + 0x10]
bt eax, 0xb
jae 0x140011338
lea r8, [rdi + 0xc34]
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.NeedFingerStatePacket
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
jmp 0x1400113a8
mov rcx, r15
call fcn.14000bb70
test al, al
je 0x1400113a8
mov ebx, esi
mov dword [rbp + 0x18], ebx
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140011364
mov rax, qword [rcx]
lea r8, [rbp + 0x18]
mov edx, 0x10000104
call qword [rax + 0x18]
mov ebx, dword [rbp + 0x18]
sar ebx, 0x18
mov eax, esi
mov dword [rbp + 0x20], eax
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x140011387
mov rax, qword [rcx]
lea r8, [rbp + 0x20]
mov edx, 0x10000104
call qword [rax + 0x18]
mov eax, dword [rbp + 0x20]
sar eax, 0x10
movzx ecx, al
cmp ebx, 7
jg 0x1400113a0
jne 0x140011399
cmp ecx, 4
jge 0x1400113a0
mov eax, 1
jmp 0x1400113a2
mov eax, esi
mov dword [rdi + 0xc24], eax
lea r8, [rdi + 0xc24]
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.NeedToFilterSecondaryFingerPos
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnh
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x50]
call fcn.1400ca880
mov dword [rbp + 0x28], esi
mov rcx, qword [rdi + 0x58]
test rcx, rcx
je 0x14001140a
mov rax, qword [rcx]
lea r8, [rbp + 0x28]
mov edx, 0x10000102
call qword [rax + 0x18]
cmp dword [rbp + 0x28], 2
je 0x140011450
mov rcx, r15
call fcn.1400323f0
test al, al
je 0x140011567
mov dword [rbp + 0xa0], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0xa0]
lea r8, [rbp + 0x10c]
lea rdx, str.ChiralMouse
lea rcx, [rbp + 0x58]
call fcn.1400e1690
cmp dword [rbp + 0x10c], 0
je 0x140011567
mov r9d, 3
lea r8d, [r9 - 2]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov r14, rax
test rax, rax
je 0x140013430
mov r9d, 3
lea r8d, [r9 - 1]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov rbx, rax
test rax, rax
je 0x140013430
mov rcx, r15
call fcn.1400323f0
test al, al
je 0x140011516
mov dword [rbp + 0xb0], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0xb0]
lea r8, [rbp + 0x110]
lea rdx, str.ChiralMouse
lea rcx, [rbp + 0x58]
call fcn.1400e1690
lea rcx, [r14 + 0x240]
mov edx, dword [rbp + 0x110]
call fcn.1400c77d0
mov dword [rbp + 0xc0], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0xc0]
lea r8, [rbp + 0x120]
lea rdx, str.ChiralMouse
lea rcx, [rbp + 0x58]
call fcn.1400e1690
lea rcx, [rbx + 0x240]
mov edx, dword [rbp + 0x120]
call fcn.1400c77d0
mov rcx, rdi
call fcn.1400321e0
test eax, eax
je 0x140011567
mov dword [rbp - 0x18], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x18]
lea r8, [rbp - 0x18]
lea rdx, str.VolumeControlPresent
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
cmp dword [rbp - 0x18], 0
je 0x140011567
mov r9d, 7
lea r8d, [r9 + 2]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
mov dword [rbp + 0x30], esi
mov rcx, qword [rdi + 0x58]
movsd xmm6, qword [0x14012aba8]
test rcx, rcx
je 0x1400121d7
mov rax, qword [rcx]
lea r8, [rbp + 0x30]
mov edx, 0x10000102
call qword [rax + 0x18]
cmp dword [rbp + 0x30], 2
jne 0x1400121d7
mov ecx, 0x1a8
call fcn.1400e5d1c
mov qword [rbp - 0x30], rax
test rax, rax
je 0x1400115d5
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 1
mov r9d, 1
lea r8, str.EdgeFinder
mov rdx, rdi
mov rcx, rax
call fcn.1400a96c0
mov rbx, rax
jmp 0x1400115d8
mov rbx, rsi
test rbx, rbx
je 0x140013430
mov r8, rbx
xor edx, edx
lea rcx, [rdi + 8]
call fcn.140032e60
test rax, rax
je 0x140013430
mov rax, qword [rbx]
mov edx, 0x10
mov rcx, rbx
call qword [rax + 0xc8]
test eax, eax
je 0x140013430
mov edx, 0x10
lea rcx, [rbp + 0x340]
call fcn.1400a9d10
mov dword [rsp + 0x38], esi
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], esi
mov r9d, 0x40
mov r8d, 0x1803
mov rdx, rax
mov rcx, rbx
call fcn.1400aaf70
test eax, eax
je 0x140013430
mov dword [rbx + 0x40], 0x10
mov ecx, 0x1a8
call fcn.1400e5d1c
mov qword [rbp - 0x30], rax
test rax, rax
je 0x14001169e
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 1
mov r9d, 0xb
lea r8, str.BounceBack
mov rdx, rdi
mov rcx, rax
call fcn.1400a96c0
mov rbx, rax
jmp 0x1400116a1
mov rbx, rsi
test rbx, rbx
je 0x140013430
mov r8, rbx
xor edx, edx
lea rcx, [rdi + 8]
call fcn.140032e60
test rax, rax
je 0x140013430
mov rax, qword [rbx]
mov edx, 0x11
mov rcx, rbx
call qword [rax + 0xc8]
test eax, eax
je 0x140013430
mov edx, 0x11
lea rcx, [rbp + 0x3e0]
call fcn.1400a9d10
mov dword [rsp + 0x38], esi
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 0xb
mov dword [rsp + 0x20], esi
mov r9d, 1
mov r8d, 0x1811
mov rdx, rax
mov rcx, rbx
call fcn.1400aaf70
test eax, eax
je 0x140013430
mov dword [rbx + 0x40], 0x11
mov dword [rbp + 0xd0], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0xd0]
lea r8, [rbp + 0x128]
lea rdx, str.BackForwardFeature
lea rcx, [rbp + 0x58]
call fcn.1400e1690
cmp dword [rbp + 0x128], 0
je 0x14001177b
mov r9d, 2
lea r8d, [r9 + 8]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
xor ecx, ecx
call fcn.1400dd550
cmp eax, 0xb
jl 0x1400117a6
mov r9d, 0xc
lea r8d, [r9 + 0x17]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
cmp dword [rdi + 0xbfc], 0
je 0x14001188e
mov r9d, 3
lea r8d, [r9 + 0xf]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
mov r9d, 2
lea r8d, [r9 + 0x11]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
cmp dword [rdi + 0xbfc], 0
je 0x14001188e
mov dword [rbp - 0xc], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0xc]
lea r8, [rbp - 0xc]
lea rdx, str.MultiFingerTapPresent
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
cmp dword [rbp - 0xc], 0
je 0x140011843
mov r9d, 2
lea r8d, [r9 + 0x1f]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
cmp dword [rdi + 0xbfc], 0
je 0x14001188e
mov dword [rbp - 0x20], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x20]
lea r8, [rbp - 0x20]
lea rdx, str.MagnifierPresent
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
cmp dword [rbp - 0x20], 0
je 0x14001188e
xor r9d, r9d
lea r8d, [r9 + 0x1a]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
xor ecx, ecx
call fcn.1400dd550
cmp eax, 0xb
je 0x1400118aa
xor ecx, ecx
call fcn.1400dd550
cmp eax, 0xc
jne 0x140011a82
mov r9d, 2
lea r8d, [r9 + 0x24]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
mov r9d, 2
lea r8d, [r9 + 0x25]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
mov r9d, 2
lea r8d, [r9 + 0x26]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
mov r9d, 2
lea r8d, [r9 + 0x22]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov r14, rax
test rax, rax
je 0x140013430
mov dword [rbp + 0xdc], 0x100
lea rax, str.Right_Edge_Pull
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0xdc]
lea r8, [rbp + 0x640]
lea rdx, str.ExtendedZoneKeyName
lea rcx, [rbp - 0x80]
call fcn.1400cb1a0
lea r8, [rbp + 0x640]
lea rdx, str.Right_Edge_Pull_Extended_Zone
mov rcx, rsi
nop dword [rax]
nop word [rax + rax]
movzx eax, word [r8 + rcx*2]
cmp ax, word [rdx + rcx*2]
jne 0x140011a33
movzx eax, word [r8 + rcx*2 + 2]
cmp ax, word [rdx + rcx*2 + 2]
jne 0x140011a33
add rcx, 2
cmp rcx, 0x1e
jne 0x140011980
mov dword [rbp + 0x130], 2
mov qword [rsp + 0x20], rdx
lea r9, [rbp + 0x130]
lea r8, [rbp + 0xe8]
lea rdx, str.ActionType
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov r9d, dword [rbp + 0xe8]
mov r8d, 0x25
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov rbx, rax
test rax, rax
je 0x140013430
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.1400aa8a0
test al, 0x40
je 0x140011a33
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.1400aa8a0
test al, 0x40
je 0x140011a33
mov qword [rdi + 0xd08], r14
mov qword [rdi + 0xd10], rbx
mov qword [rdi + 0xd18], r14
mov r9d, 2
lea r8d, [r9 + 0x28]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov rbx, rax
test rax, rax
je 0x140013430
mov r9d, 2
lea r8d, [r9 + 0x27]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
mov r8, rax
mov rdx, rbx
mov rcx, rdi
call fcn.14001fb80
xor ecx, ecx
call fcn.1400dd550
cmp eax, 0xb
jl 0x140011ab4
mov r9d, 0xc
lea r8d, [r9 + 0x1f]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov qword [rdi + 0x340], rax
test rax, rax
je 0x140013430
mov rbx, rsi
mov r14, rsi
mov r15, rsi
mov r12, rsi
cmp dword [rdi + 0xc04], ebx
jne 0x140011ad4
cmp dword [rdi + 0xbfc], ebx
je 0x140011d5a
mov r9d, 3
mov r8d, r9d
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
lea r8, [rdi + 0xf98]
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.FastFingerGestureSwitch
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0x1018]
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.IgnoreMFTapWhenCoasting
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0xf9c]
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.DisplayTPEnableDisableMessageWhenWindowStart
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0xfb0]
mov dword [r8], 0x19
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.FingersMovedTogetherAngle
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov r9d, 3
lea r8d, [r9 + 1]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
mov dword [rbp - 0x10], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x10]
lea r8, [rbp - 0x10]
lea rdx, str.3FingerSliderPresent
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
cmp dword [rbp - 0x10], ebx
je 0x140011c6f
mov dword [rbp + 0x140], 3
lea rax, str.3FVertical_Scrolling
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x140]
lea r8, [rbp + 0xf0]
lea rdx, str.ActionType
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov r9d, dword [rbp + 0xf0]
mov r8d, 5
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov r15, rax
test rax, rax
je 0x140013430
mov dword [rbp + 0x80], 3
lea rax, str.3FHorizontal_Scrolling
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x80]
lea r8, [rbp + 0x100]
lea rdx, str.ActionType
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov r9d, dword [rbp + 0x100]
mov r8d, 6
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov r12, rax
test rax, rax
je 0x140013430
mov rcx, rdi
call fcn.14000bac0
test eax, eax
je 0x140011d5a
mov dword [rbp - 0x28], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x28]
lea r8, [rbp - 0x28]
lea rdx, str.4FingerSliderPresent
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
cmp dword [rbp - 0x28], ebx
je 0x140011d5a
mov dword [rbp + 0x160], 3
lea rax, str.4FVertical_Scrolling
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x160]
lea r8, [rbp + 0x108]
lea rdx, str.ActionType
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov r9d, dword [rbp + 0x108]
mov r8d, 7
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov rbx, rax
test rax, rax
je 0x140013430
mov dword [rbp + 0x170], 3
lea rax, str.4FHorizontal_Scrolling
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x170]
lea r8, [rbp + 0x180]
lea rdx, str.ActionType
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov r9d, dword [rbp + 0x180]
mov r8d, 8
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov r14, rax
test rax, rax
je 0x140013430
mov dword [rbp - 8], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 8]
lea r8, [rbp - 8]
lea rdx, str.ExtendedZonePresent
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
cmp dword [rbp - 8], 0
je 0x140011dd9
mov dword [rbp + 0x118], esi
lea rax, str.Extended_Zone
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x118]
lea r8, [rbp + 0x1ac]
lea rdx, str.ActionType
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov r9d, dword [rbp + 0x1ac]
mov r8d, 0x19
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov qword [rdi + 0x350], rax
test rax, rax
je 0x140013430
mov rcx, qword [rdi + 0x350]
test rcx, rcx
je 0x140011ec3
xor r8d, r8d
xor edx, edx
call fcn.1400aa8a0
test al, 0x40
je 0x140011ec3
test rbx, rbx
je 0x140011e2d
xor r8d, r8d
xor edx, edx
mov rcx, rbx
call fcn.1400aa8a0
test al, 0x40
je 0x140011e2d
mov qword [rdi + 0xc68], rbx
mov rax, qword [rdi + 0x350]
mov qword [rdi + 0xc70], rax
mov qword [rdi + 0xc78], rbx
test r14, r14
je 0x140011e5f
xor r8d, r8d
xor edx, edx
mov rcx, r14
call fcn.1400aa8a0
test al, 0x40
je 0x140011e5f
mov qword [rdi + 0xc88], r14
mov rax, qword [rdi + 0x350]
mov qword [rdi + 0xc90], rax
mov qword [rdi + 0xc98], r14
test r15, r15
je 0x140011e91
xor r8d, r8d
xor edx, edx
mov rcx, r15
call fcn.1400aa8a0
test al, 0x40
je 0x140011e91
mov qword [rdi + 0xca8], r15
mov rax, qword [rdi + 0x350]
mov qword [rdi + 0xcb0], rax
mov qword [rdi + 0xcb8], r15
test r12, r12
je 0x140011ec3
xor r8d, r8d
xor edx, edx
mov rcx, r12
call fcn.1400aa8a0
test al, 0x40
je 0x140011ec3
mov qword [rdi + 0xcc8], r12
mov rax, qword [rdi + 0x350]
mov qword [rdi + 0xcd0], rax
mov qword [rdi + 0xcd8], r12
lea r9, [rbp + 0x124]
lea r8, str.Character_Recognition
lea rdx, str.SoftwareSynapticsSynTPEnhZoneConfig
mov rcx, rdi
call fcn.1400242a0
test eax, eax
je 0x140011f06
mov r9d, dword [rbp + 0x124]
mov r8d, 0x14
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
mov dword [rbp - 0x24], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x24]
lea r8, [rbp - 0x24]
lea rdx, str.LeftSliderPresent
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
cmp dword [rbp - 0x24], 0
je 0x140011f82
mov dword [rbp + 0x178], 2
lea rax, str.Left_Slider_Zone
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x178]
lea r8, [rbp + 0x12c]
lea rdx, str.ActionType
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov r9d, dword [rbp + 0x12c]
mov r8d, 0xb
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013430
mov dword [rbp + 0x1a0], 0xa
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x1a0]
lea r8, [rbp + 0x138]
lea rdx, str.FingerMotionEpsilon
lea rcx, [rbp + 0x58]
call fcn.1400e1690
mov eax, dword [rbp + 0x138]
mov dword [rdi + 0xb98], eax
mov edx, 0x10000113
lea rcx, [rdi + 0x58]
call fcn.14000ba70
mov ecx, eax
imul ecx, dword [rdi + 0xb98]
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov dword [rdi + 0xb90], edx
mov edx, 0x10000114
lea rcx, [rdi + 0x58]
call fcn.14000ba70
mov ecx, eax
imul ecx, dword [rdi + 0xb98]
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov dword [rdi + 0xb94], edx
mov dword [rbp + 0x188], 0x1388
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x188]
lea r8, [rbp + 0x148]
lea rdx, str.SlowMotionTimeThresholdForMoving1000Mils
lea rcx, [rbp + 0x58]
call fcn.1400e1690
mov eax, dword [rbp + 0x148]
mov dword [rdi + 0xba8], eax
mov dword [rbp + 0x1b8], 0x12c
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x1b8]
lea r8, [rbp + 0x158]
lea rdx, str.MinStrokeQDistance
lea rcx, [rbp + 0x58]
call fcn.1400e1690
mov eax, dword [rbp + 0x158]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
divsd xmm0, xmm6
movsd qword [rdi + 0xb88], xmm0
mov dword [rbp + 0x88], 0xc8
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x88]
lea r8, [rbp + 0x98]
lea rdx, str.3FingerPressMaxMotion
lea rcx, [rbp + 0x58]
call fcn.1400e1690
mov edx, 0x10000113
lea rcx, [rdi + 0x58]
call fcn.14000ba70
mov ecx, eax
imul ecx, dword [rbp + 0x98]
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov dword [rdi + 0xb9c], edx
mov edx, 0x10000114
lea rcx, [rdi + 0x58]
call fcn.14000ba70
mov ecx, eax
imul ecx, dword [rbp + 0x98]
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov dword [rdi + 0xba0], edx
mov dword [rbp + 0xa8], 0x1f4
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0xa8]
lea r8, [rbp + 0xb8]
lea rdx, str.3FingerPressMinTime
lea rcx, [rbp + 0x58]
call fcn.1400e1690
mov eax, dword [rbp + 0xb8]
mov dword [rdi + 0xba4], eax
call qword [sym.imp.USER32.dll_GetDoubleClickTime]
mov r8d, eax
lea r15, [rdi + 0x50]
mov rcx, qword [r15 + 8]
test rcx, rcx
jne 0x140012157
lea rcx, [r15 + 0x20]
mov rax, qword [rcx]
mov edx, 0x1000343
call qword [rax + 0x30]
mov rcx, rdi
call fcn.140031fa0
mov dword [rdi + 0xf88], eax
lea r8, [rdi + 0xf8c]
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.RestrictTo2FVerticalScroll
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0xf90]
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.CancelScrollAfter1FLeaves
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0x360]
mov dword [r8], esi
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.SkipClickWhenGestureProcessing
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r12, [rdi + 0x780]
mov ecx, 0x318
call fcn.1400e5d1c
mov r14, rax
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140012265
mov ecx, 0x298
call fcn.1400e5d1c
mov rbx, rax
mov qword [rbp + 0x198], rax
test rax, rax
je 0x14001223b
mov ecx, 0x1c0
call fcn.1400e5d1c
mov qword [rbp + 0x1c8], rax
test rax, rax
je 0x140012228
xor edx, edx
mov rcx, rax
call fcn.140060d20
jmp 0x14001222b
mov rax, rsi
mov r8, rax
mov rdx, rdi
mov rcx, rbx
call fcn.14000d220
jmp 0x14001223e
mov rax, rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 3
mov r9d, 2
lea r8, str.Plugin_Zone
mov rdx, rdi
mov rcx, r14
call fcn.140054a70
jmp 0x140012268
mov rax, rsi
mov qword [rdi + 0x330], rax
test rax, rax
je 0x140013430
mov r8, rax
xor edx, edx
lea rcx, [rdi + 8]
call fcn.140032e60
test rax, rax
je 0x140013430
mov rcx, qword [rdi + 0x330]
mov rax, qword [rcx]
mov edx, 0x15
call qword [rax + 0xc8]
test eax, eax
je 0x140013430
mov edx, 0x15
lea rcx, [rbp + 0x390]
call fcn.1400a9d10
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], esi
mov r9d, 0x40003
mov r8d, 0x40
mov rdx, rax
mov rcx, qword [rdi + 0x330]
call fcn.140056470
test eax, eax
je 0x140013430
mov rax, qword [rdi + 0x330]
mov dword [rax + 0x40], 0x15
mov dword [rbp - 0x1c], esi
mov qword [rsp + 0x20], rsi
lea r9, [rbp - 0x1c]
lea r8, [rbp - 0x1c]
lea rdx, str.ExtendedPluginZonePresent
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
cmp dword [rbp - 0x1c], 0
je 0x140012461
mov ecx, 0x318
call fcn.1400e5d1c
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140012367
mov qword [rsp + 0x28], rsi
mov dword [rsp + 0x20], 3
mov r9d, 2
lea r8, str.Extended_Plugin_Zone
mov rdx, rdi
mov rcx, rax
call fcn.140054a70
jmp 0x14001236a
mov rax, rsi
mov qword [rdi + 0x338], rax
test rax, rax
je 0x140013430
mov r8, rax
xor edx, edx
lea rcx, [rdi + 8]
call fcn.140032e60
test rax, rax
je 0x140013430
mov rcx, qword [rdi + 0x338]
mov rax, qword [rcx]
mov edx, 0x15
call qword [rax + 0xc8]
test eax, eax
je 0x140013430
mov edx, 0x15
lea rcx, [rbp + 0x408]
call fcn.1400a9d10
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x20], esi
mov r9d, 0x40003
mov r8d, 0x40
mov rdx, rax
mov rcx, qword [rdi + 0x338]
call fcn.140056470
test eax, eax
je 0x140013430
mov rax, qword [rdi + 0x338]
mov dword [rax + 0x40], 0x15
cmp qword [rdi + 0x330], 0
je 0x140012461
mov rcx, qword [rdi + 0x338]
test rcx, rcx
je 0x140012461
xor r8d, r8d
xor edx, edx
call fcn.1400aa8a0
test al, 0x40
je 0x140012461
xor r8d, r8d
xor edx, edx
mov rcx, qword [rdi + 0x330]
call fcn.1400aa8a0
test al, 0x40
je 0x140012461
mov rcx, qword [rdi + 0x330]
mov qword [rdi + 0xce8], rcx
mov rax, qword [rdi + 0x338]
mov qword [rdi + 0xcf0], rax
mov qword [rdi + 0xcf8], rcx
mov edx, 0x1000294
lea rcx, [rdi + 0x58]
call fcn.14000ba70
shr eax, 8
and eax, 1
mov dword [rdi + 0x1014], eax
mov dword [rbp + 0xc8], 0xfa
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0xc8]
lea r8, [rbp + 0xd8]
lea rdx, str.PalmOnPadMinTime
lea rcx, [rbp + 0x58]
call fcn.1400e1690
mov eax, dword [rbp + 0xd8]
mov dword [rdi + 0xbac], eax
mov ecx, 0x1a8
call fcn.1400e5d1c
mov rbx, rax
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140012519
mov ecx, 0x1c0
call fcn.1400e5d1c
mov qword [rbp + 0x198], rax
test rax, rax
je 0x1400124ec
xor edx, edx
mov rcx, rax
call fcn.14009f380
jmp 0x1400124ef
mov rax, rsi
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 1
mov r9d, 4
lea r8, str.Tray_Icon_Zone
mov rdx, rdi
mov rcx, rbx
call fcn.1400a96c0
mov rbx, rax
jmp 0x14001251c
mov rbx, rsi
test rbx, rbx
je 0x140013430
mov r8, rbx
xor edx, edx
lea rcx, [rdi + 8]
call fcn.140032e60
test rax, rax
je 0x140013430
mov rax, qword [rbx]
mov edx, 0x16
mov rcx, rbx
call qword [rax + 0xc8]
test eax, eax
je 0x140013430
mov edx, 0x16
lea rcx, [rbp + 0x318]
call fcn.1400a9d10
mov dword [rsp + 0x38], esi
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x30], rcx
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8d, [r9 + 0x10]
mov rdx, rax
mov rcx, rbx
call fcn.1400aaf70
test eax, eax
je 0x140013430
mov dword [rbx + 0x40], 0x16
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnh
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x240]
call fcn.1400ca780
nop
lea r8, [rdi + 0x7b8]
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea rdx, str.CancelCoastingMotionThreshold
lea rcx, [rbp + 0x248]
call fcn.1400e1690
mov rcx, r15
call fcn.140032620
test al, al
je 0x1400126b6
mov ecx, 0x1d8
call fcn.1400e5d1c
mov qword [rbp - 0x30], rax
test rax, rax
je 0x14001262c
mov dword [rsp + 0x20], 1
mov r9d, 2
lea r8, str.Stick_Scrolling_Zone
mov rdx, rdi
mov rcx, rax
call fcn.14006ba50
mov rbx, rax
jmp 0x14001262f
mov rbx, rsi
test rbx, rbx
je 0x140013423
mov r8, rbx
xor edx, edx
lea rcx, [rdi + 8]
call fcn.140032e60
test rax, rax
je 0x140013423
mov rax, qword [rbx]
mov edx, 0x17
mov rcx, rbx
call qword [rax + 0xc8]
test eax, eax
je 0x140013423
mov edx, 0x17
lea rcx, [rbp + 0x368]
call fcn.1400a9d10
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
mov r9d, 0x10
lea r8d, [r9 + 0x18]
mov rdx, rax
mov rcx, rbx
call fcn.14006bd50
test eax, eax
je 0x140013423
mov dword [rbx + 0x40], 0x17
mov ecx, 0x1d8
call fcn.1400e5d1c
mov qword [rbp - 0x30], rax
test rax, rax
je 0x1400126ee
mov dword [rsp + 0x20], 1
mov r9d, 2
lea r8, str.Virtual_Stick_Scrolling_Zone
mov rdx, rdi
mov rcx, rax
call fcn.1400958d0
mov rbx, rax
jmp 0x1400126f1
mov rbx, rsi
test rbx, rbx
je 0x140013423
mov r8, rbx
xor edx, edx
lea rcx, [rdi + 8]
call fcn.140032e60
test rax, rax
je 0x140013423
mov rax, qword [rbx]
mov edx, 0x31
mov rcx, rbx
call qword [rax + 0xc8]
test eax, eax
je 0x140013423
mov edx, 0x31
lea rcx, [rbp + 0x3b8]
call fcn.1400a9d10
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x38], rcx
mov dword [rsp + 0x30], 2
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
mov r9d, 0x10
lea r8d, [r9 + 0x18]
mov rdx, rax
mov rcx, rbx
call fcn.140095be0
test eax, eax
je 0x140013423
mov dword [rbx + 0x40], 0x31
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.SoftwareSynapticscPad
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x50]
call fcn.1400ca880
lea r8, [rdi + 0x7f4]
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.Enabled
lea rcx, [rbp + 0x58]
call fcn.1400e1690
mov rcx, rdi
call fcn.1400313f0
test eax, eax
je 0x140012842
mov rcx, qword [rdi + 0x798]
test rcx, rcx
jne 0x1400127d8
lea rcx, [rdi + 0x7a0]
mov rax, qword [rcx]
mov edx, dword [rbp + 0x898]
call qword [rax + 0x58]
test eax, eax
jne 0x140013423
lea rdx, [rdi + 0x80]
mov rcx, qword [rdi + 0x798]
test rcx, rcx
jne 0x140012806
lea rcx, [rdi + 0x7a0]
mov rax, qword [rcx]
call qword [rax + 0x70]
test eax, eax
jne 0x140013423
mov rcx, qword [rdi + 0x798]
test rcx, rcx
jne 0x140012827
lea rcx, [rdi + 0x7a0]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x48]
test eax, eax
jne 0x140013423
lea edx, [rax + 1]
mov rcx, rdi
call fcn.140021b80
mov rcx, r15
call fcn.140032300
test al, al
je 0x1400128ea
mov dword [rbp + 0x38], esi
mov qword [rsp + 0x20], rsi
xor r9d, r9d
lea r8, [rbp + 0x38]
lea rdx, str.EnableDriftCorrectionControl
lea rcx, [rbp + 0x248]
call fcn.1400e1690
cmp dword [rbp + 0x38], 0
je 0x1400128ea
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0xa0], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0xa8], rax
xor r9d, r9d
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateEventW]
mov qword [rdi + 0xb0], rax
lea rax, [rbp + 0x1d0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
mov r9, rdi
lea r8, [0x14001f7f0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rdi + 0x98], rax
mov rax, qword [r12]
test rax, rax
je 0x1400128f8
mov rdx, qword [rax]
jmp 0x1400128fb
mov rdx, rsi
xorps xmm0, xmm0
movdqu xmmword [rbp + 0x208], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0x218], xmm1
movdqu xmmword [rbp + 0x228], xmm0
lea rcx, [rbp + 0x208]
call fcn.140031670
nop
mov ecx, 0x710
call fcn.1400e5d1c
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140012943
mov rcx, rax
call fcn.14006d360
jmp 0x140012946
mov rax, rsi
mov qword [rdi + 0x788], rax
test rax, rax
je 0x140012963
mov r8d, 1
mov rdx, rdi
mov rcx, rax
call fcn.14006d8b0
mov rcx, rdi
call fcn.1400321e0
test eax, eax
je 0x1400129fb
lea r9, [rbp - 0x14]
lea r8, str.Slider0_Zone
lea rdx, str.SoftwareSynapticsSynTPEnhZoneConfig
mov rcx, rdi
call fcn.1400242a0
test eax, eax
je 0x1400129b7
mov r9d, dword [rbp - 0x14]
mov r8d, 0xc
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov qword [rdi + 0xd28], rax
test rax, rax
je 0x140013416
lea r9, [rbp - 0x14]
lea r8, str.Slider1_Zone
lea rdx, str.SoftwareSynapticsSynTPEnhZoneConfig
mov rcx, rdi
call fcn.1400242a0
test eax, eax
je 0x1400129fb
mov r9d, dword [rbp - 0x14]
mov r8d, 0xd
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov qword [rdi + 0xd30], rax
test rax, rax
je 0x140013416
mov rcx, r15
call fcn.140031f10
test al, al
jne 0x140012a14
cmp dword [rdi + 0xd68], 0
je 0x140013088
mov qword [rsp + 0x20], rsi
lea r9, [rdi + 0x7c8]
lea r8, [rdi + 0x7c8]
lea rdx, str.LEDPatternSupport
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0x7cc]
mov dword [r8], 0x4b
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.LedPatternUpRelease
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0x7d0]
mov dword [r8], 0x4d
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.LedPatternDownRelease
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0x77c]
mov dword [r8], 0x19
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.LEDTurnOnTimeThreshold
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0x36c]
mov dword [r8], esi
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.LEDPreLowPowerPattern
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0x370]
mov dword [r8], esi
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.LEDAfterLowPowerPattern
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0x364]
mov dword [r8], 0x2710
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.LEDNoOperationTimeout
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0x368]
mov dword [r8], 0x1388
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.LEDResumeHeartbeatingTimeInterval
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov dword [rbp + 0x8a0], 0x200
lea r8, [rdi + 0x374]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x8a0]
lea rdx, str.LEDHeartbeatingSetting
lea rcx, [rbp - 0x80]
call fcn.1400cb1a0
lea r8, [rdi + 0x7d4]
mov dword [r8], esi
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.ButtonLEDBrightnessZoneSetting
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov dword [rbp + 0x8a0], 0x200
lea r8, [rdi + 0xd74]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x8a0]
lea rdx, str.CustomizedScancodeMapping
lea rcx, [rbp - 0x80]
call fcn.1400cb1a0
mov dword [rbp + 0x8a0], 0x200
lea r8, [rdi + 0x574]
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x8a0]
lea rdx, str.LEDFadingOutSetting
lea rcx, [rbp - 0x80]
call fcn.1400cb1a0
cmp dword [rdi + 0x7c8], 2
jne 0x140012c0c
mov rcx, rdi
call fcn.140025c00
xor edx, edx
mov rcx, rdi
call fcn.1400236d0
cmp dword [rdi + 0xd68], 0
je 0x140012c1d
mov rcx, rdi
call fcn.140025fb0
lea r9, [rbp + 0x8a8]
lea r8, str.Slider0_Zone
lea rdx, str.SoftwareSynapticsSynTPEnhZoneConfig
mov rcx, rdi
call fcn.1400242a0
test eax, eax
je 0x140012c67
mov r9d, dword [rbp + 0x8a8]
mov r8d, 0xc
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013416
mov qword [rdi + 0xd28], rax
lea r9, [rbp + 0x8a8]
lea r8, str.Extended_Slider0_Zone
lea rdx, str.SoftwareSynapticsSynTPEnhZoneConfig
mov rcx, rdi
call fcn.1400242a0
test eax, eax
je 0x140012d03
mov r9d, dword [rbp + 0x8a8]
mov r8d, SafeArrayAllocDescriptor
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov rbx, rax
test rax, rax
je 0x140013416
cmp qword [rdi + 0xd28], 0
je 0x140012d03
xor r8d, r8d
xor edx, edx
mov rcx, rax
call fcn.1400aa8a0
test al, 0x40
je 0x140012d03
xor r8d, r8d
xor edx, edx
mov rcx, qword [rdi + 0xd28]
call fcn.1400aa8a0
test al, 0x40
je 0x140012d03
mov rax, qword [rdi + 0xd28]
mov qword [rdi + 0xc48], rax
mov qword [rdi + 0xc50], rbx
mov dword [rdi + 0xc60], 1
mov qword [rdi + 0xc58], rax
lea r9, [rbp + 0x8a8]
lea r8, str.Slider1_Zone
lea rdx, str.SoftwareSynapticsSynTPEnhZoneConfig
mov rcx, rdi
call fcn.1400242a0
test eax, eax
je 0x140012d4d
mov r9d, dword [rbp + 0x8a8]
mov r8d, 0xd
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
mov qword [rdi + 0xd30], rax
test rax, rax
je 0x140013416
lea rbx, [rdi + 0x818]
mov qword [rsp + 0x20], rsi
mov r9, rbx
mov r8, rbx
lea rdx, str.IlluminationEnabled
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0x830]
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.IlluminationScaleParam
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov rcx, rdi
call fcn.14001ec00
mov qword [rsp + 0x20], rsi
lea r9, [rdi + 0x820]
lea r8, [rdi + 0x820]
lea rdx, str.IlluminationInactiveState
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov qword [rsp + 0x20], rsi
lea r9, [rdi + 0x824]
lea r8, [rdi + 0x824]
lea rdx, str.IlluminationActiveState
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov r8d, dword [rdi + 0x824]
mov edx, 1
mov rcx, rdi
call fcn.14001ece0
mov r8d, dword [rdi + 0x820]
xor edx, edx
mov rcx, rdi
call fcn.14001ece0
mov word [rbp + 0x430], si
xor edx, edx
lea rcx, [rbp + 0x1d8]
call fcn.1400ca710
nop
xor r9d, r9d
mov r8, qword [rbp + 0x210]
lea rdx, str.SoftwareSynapticsSynTPEnhZoneConfig
lea rcx, [rbp + 0x430]
call fcn.140006bb0
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, [rbp + 0x430]
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x1d8]
call fcn.1400ca880
test eax, eax
jne 0x140012e9f
xor r9d, r9d
mov r8, qword [rbp + 0x228]
lea rdx, str.SoftwareSynapticsSynTPEnhZoneConfig
lea rcx, [rbp + 0x430]
call fcn.140006bb0
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, [rbp + 0x430]
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x1d8]
call fcn.1400ca880
mov word [rbp + 0x270], si
mov r14d, esi
lea rcx, [rbp + 0x1e0]
call fcn.1400e1d20
mov r8d, 0x40
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x1e0]
call fcn.1400e14f0
test eax, eax
je 0x140013060
nop word [rax + rax]
cmp word [rbp + 0x270], 0
je 0x140013026
lea rdx, str.LED_Zone
lea rcx, [rbp + 0x270]
call fcn.1400e7f74
test rax, rax
je 0x140013026
mov ecx, 0x270
call fcn.1400e5d1c
mov qword [rbp - 0x30], rax
test rax, rax
je 0x140012f42
mov dword [rsp + 0x20], 2
mov r9d, 9
lea r8, [rbp + 0x270]
mov rdx, rdi
mov rcx, rax
call fcn.14000de60
mov rbx, rax
jmp 0x140012f45
mov rbx, rsi
test rbx, rbx
je 0x140013048
mov r8, rbx
xor edx, edx
lea rcx, [rdi + 8]
call fcn.140032e60
test rax, rax
je 0x140013048
mov rax, qword [rbx]
mov edx, 0x18
mov rcx, rbx
call qword [rax + 0xc8]
test eax, eax
je 0x140013048
mov edx, 0x18
lea rcx, [rbp + 0x2f0]
call fcn.1400a9d10
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x90], rcx
mov dword [rsp + 0x88], 9
mov dword [rsp + 0x80], esi
mov dword [rsp + 0x78], esi
mov dword [rsp + 0x70], esi
mov ecx, dword [rdi + 0x824]
mov dword [rsp + 0x68], ecx
mov ecx, dword [rdi + 0x820]
mov dword [rsp + 0x60], ecx
mov dword [rsp + 0x58], esi
mov dword [rsp + 0x50], esi
mov dword [rsp + 0x48], 1
mov dword [rsp + 0x40], 0xfff
mov dword [rsp + 0x38], 1
mov dword [rsp + 0x30], esi
mov dword [rsp + 0x28], 1
mov dword [rsp + 0x20], 0xfff
mov r9d, 1
xor r8d, r8d
mov rdx, rax
mov rcx, rbx
call fcn.14000e770
test eax, eax
je 0x140013048
mov dword [rbx + 0x25c], r14d
mov dword [rbx + 0x40], 0x18
inc r14d
mov r8d, 0x40
lea rdx, [rbp + 0x270]
lea rcx, [rbp + 0x1e0]
call fcn.1400e14f0
test eax, eax
je 0x140013059
jmp 0x140012ee0
lea rcx, [rbp + 0x1d8]
call fcn.1400ca820
jmp 0x140013416
lea rbx, [rdi + 0x818]
cmp qword [rdi + 0x788], 0
jne 0x140013078
cmp dword [rbx], 0
je 0x140013078
mov rcx, rdi
call fcn.14001ead0
nop
lea rcx, [rbp + 0x1d8]
call fcn.1400ca820
lea r15, [rdi + 0x50]
mov rcx, r15
call fcn.1400327f0
test al, al
je 0x140013140
cmp dword [rdi + 0xbfc], 0
je 0x140013140
mov r9d, 3
lea r8d, [r9 + 0x29]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013416
mov r9d, 3
lea r8d, [r9 + 0x2a]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013416
mov r9d, 3
lea r8d, [r9 + 0x2b]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013416
mov r9d, 0xd
lea r8d, [r9 + 0x22]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013416
mov r9d, 0xd
lea r8d, [r9 + 0x23]
lea rdx, [rbp - 0x80]
mov rcx, rdi
call fcn.14001be80
test rax, rax
je 0x140013416
mov rcx, r15
call fcn.14000bb70
test al, al
jne 0x14001315c
mov rcx, r15
call fcn.1400327f0
test al, al
je 0x140013399
cmp dword [rdi + 0xc04], 0
jne 0x140013172
cmp dword [rdi + 0xbfc], 0
je 0x140013399
lea r8, [rdi + 0xf98]
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.FastFingerGestureSwitch
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0x1018]
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.IgnoreMFTapWhenCoasting
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0xfb0]
mov dword [r8], 0x19
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.FingersMovedTogetherAngle
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov dword [rbp + 0xe0], 0xa
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0xe0]
lea r8, [rbp + 0xec]
lea rdx, str.FingerMotionEpsilon
lea rcx, [rbp + 0x58]
call fcn.1400e1690
mov eax, dword [rbp + 0xec]
mov dword [rdi + 0xb98], eax
mov edx, 0x10000113
lea rcx, [rdi + 0x58]
call fcn.14000ba70
mov ecx, eax
imul ecx, dword [rdi + 0xb98]
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov dword [rdi + 0xb90], edx
mov edx, 0x10000114
lea rcx, [rdi + 0x58]
call fcn.14000ba70
mov ecx, eax
imul ecx, dword [rdi + 0xb98]
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov dword [rdi + 0xb94], edx
mov dword [rbp + 0xf8], 0x12c
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0xf8]
lea r8, [rbp + 0x104]
lea rdx, str.MinStrokeQDistance
lea rcx, [rbp + 0x58]
call fcn.1400e1690
mov eax, dword [rbp + 0x104]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
divsd xmm0, xmm6
movsd qword [rdi + 0xb88], xmm0
mov dword [rbp + 0x1c8], 0xc8
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x1c8]
lea r8, [rbp + 0x190]
lea rdx, str.3FingerPressMaxMotion
lea rcx, [rbp + 0x58]
call fcn.1400e1690
mov edx, 0x10000113
lea rcx, [rdi + 0x58]
call fcn.14000ba70
mov r8d, eax
imul r8d, dword [rbp + 0x190]
mov eax, 0x10624dd3
mul r8d
shr edx, 6
mov dword [rdi + 0xb9c], edx
mov edx, 0x10000114
lea rcx, [rdi + 0x58]
call fcn.14000ba70
mov ecx, eax
imul ecx, dword [rbp + 0x190]
mov eax, 0x10624dd3
mul ecx
shr edx, 6
mov dword [rdi + 0xba0], edx
mov dword [rbp + 0x198], 0x1f4
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0x198]
lea r8, [rbp + 0x1a8]
lea rdx, str.3FingerPressMinTime
lea rcx, [rbp + 0x58]
call fcn.1400e1690
mov eax, dword [rbp + 0x1a8]
mov dword [rdi + 0xba4], eax
lea r8, [rdi + 0xf8c]
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.RestrictTo2FVerticalScroll
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
lea r8, [rdi + 0xf90]
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.CancelScrollAfter1FLeaves
lea rcx, [rbp - 0x80]
call fcn.1400cb0a0
mov rcx, rdi
call fcn.140028660
test eax, eax
je 0x140013416
mov ecx, 0x28
call fcn.1400e5d1c
mov qword [rbp + 0x8a0], rax
test rax, rax
je 0x1400133c9
mov rdx, rdi
mov rcx, rax
call fcn.1400d87d0
mov rsi, rax
mov qword [rdi + 0x1048], rsi
mov rdi, qword [r15 + 8]
test rdi, rdi
jne 0x1400133dd
lea rdi, [r15 + 0x20]
mov rbx, qword [rdi]
call fcn.1400df150
mov r8d, eax
mov edx, 0x10002ef
mov rcx, rdi
call qword [rbx + 0x30]
mov rcx, qword [r15 + 8]
test rcx, rcx
jne 0x140013400
lea rcx, [r15 + 0x20]
mov rax, qword [rcx]
mov edx, 0x10002e6
mov r8d, 1
call qword [rax + 0x30]
mov esi, 1
lea rcx, [rbp + 0x208]
call fcn.140030840
nop
lea rcx, [rbp + 0x240]
call fcn.1400ca820
nop
lea rcx, [rbp + 0x50]
call fcn.1400ca820
nop
lea rax, vtable.CSynList_class_CRegistryKey_.0
mov qword [rbp - 0x80], rax
lea rcx, [rbp - 0x80]
call fcn.14002fb40
lea rcx, [rbp - 0x60]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
mov eax, esi
mov rbx, qword [rsp + 0x9b0]
movaps xmm6, xmmword [rsp + 0x960]
add rsp, 0x970
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret