Function at 0x422e60
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x508968
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x360
push ebx
push esi
push edi
mov edi, ecx
lea ecx, [ebp - 0x58]
call fcn.00402b50
mov dword [ebp - 0x58], vtable.CMultiLevelRegistryKey.0
push 0
lea ecx, [ebp - 0x88]
mov dword [ebp - 4], 0
call fcn.004b90e0
mov edx, dword [ebp + 8]
mov byte [ebp - 4], 1
cmp edx, 0xffffffff
je 0x422eee
mov eax, dword [edi + 0x34]
test eax, eax
jne 0x422ec0
lea eax, [edi + 0x40]
test eax, eax
je 0x422ed5
mov ecx, dword [edi + 0x34]
test ecx, ecx
jne 0x422eca
lea ecx, [edi + 0x40]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x3c]
test eax, eax
je 0x422eee
test byte [0x652fc0], 1
je 0x4258fe
push str.Couldnt_select_device_n
push 1
jmp 0x4258f1
push 0x10000603
lea eax, [ebp - 0x18]
push eax
lea ecx, [edi + 0x34]
call fcn.00422080
mov esi, eax
lea eax, [edi + 0x710]
cmp eax, esi
je 0x422f2a
mov ecx, eax
call fcn.00433490
mov eax, dword [esi]
mov dword [edi + 0x710], eax
test eax, eax
je 0x422f2a
add eax, 8
mov ecx, 1
lock xadd dword [eax], ecx
lea ecx, [ebp - 0x18]
call fcn.00433490
push 0
push 0
push 0
push str.SoftwareSynapticsSynTPEnhZoneConfig
push 1
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00426330
test eax, eax
jne 0x422f67
test byte [0x652fc0], 1
je 0x4258fe
push 0x513cfc
push 1
jmp 0x4258f1
push 0
lea esi, [edi + 0x768]
lea ecx, [ebp - 0x58]
mov dword [esi], 0
push esi
push esi
push str.UseSlaveButtonZoneFilter
call fcn.004baa70
mov ecx, dword [edi + 0x34]
mov dword [ebp - 0x10], 0
test ecx, ecx
je 0x4230cc
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x1000362
push ecx
call dword [eax + 0xc]
cmp dword [ebp - 0x10], 0
je 0x4230cc
mov ecx, edi
call fcn.0040d800
test eax, eax
je 0x4230cc
cmp dword [esi], 0
je 0x4230cc
push 0x248
call fcn.004cf48e
mov esi, eax
add esp, 4
mov dword [ebp - 0x60], esi
mov byte [ebp - 4], 2
test esi, esi
je 0x42316f
push 0x1b4
call fcn.004cf48e
mov ebx, eax
add esp, 4
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 3
test ebx, ebx
je 0x4230b8
push 0x188
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x18], eax
mov byte [ebp - 4], 4
test eax, eax
je 0x423097
push 0x1b4
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 5
test eax, eax
je 0x423069
push 0
push edi
mov ecx, eax
call fcn.00453d00
mov ecx, dword [ebp - 0x18]
push eax
mov byte [ebp - 4], 4
call fcn.00455c80
push eax
push edi
mov ecx, ebx
mov byte [ebp - 4], 3
call fcn.00455dc0
push eax
push edi
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.0040e740
jmp 0x423171
mov ecx, dword [ebp - 0x18]
xor eax, eax
push eax
mov byte [ebp - 4], 4
call fcn.00455c80
push eax
push edi
mov ecx, ebx
mov byte [ebp - 4], 3
call fcn.00455dc0
push eax
push edi
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.0040e740
jmp 0x423171
xor eax, eax
mov byte [ebp - 4], 3
push eax
push edi
mov ecx, ebx
call fcn.00455dc0
push eax
push edi
mov ecx, esi
mov byte [ebp - 4], 2
call fcn.0040e740
jmp 0x423171
xor eax, eax
mov byte [ebp - 4], 2
push eax
push edi
mov ecx, esi
call fcn.0040e740
jmp 0x423171
push 0x248
call fcn.004cf48e
mov esi, eax
add esp, 4
mov dword [ebp - 0x60], esi
mov byte [ebp - 4], 6
test esi, esi
je 0x42316f
push 0x188
call fcn.004cf48e
mov ebx, eax
add esp, 4
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 7
test ebx, ebx
je 0x42315e
push 0x1b4
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 8
test eax, eax
je 0x423141
push 0
push edi
mov ecx, eax
call fcn.00453d00
push eax
mov ecx, ebx
mov byte [ebp - 4], 7
call fcn.00455c80
push eax
push edi
mov ecx, esi
mov byte [ebp - 4], 6
call fcn.0040e740
jmp 0x423171
xor eax, eax
mov byte [ebp - 4], 7
push eax
mov ecx, ebx
call fcn.00455c80
push eax
push edi
mov ecx, esi
mov byte [ebp - 4], 6
call fcn.0040e740
jmp 0x423171
xor eax, eax
mov byte [ebp - 4], 6
push eax
push edi
mov ecx, esi
call fcn.0040e740
jmp 0x423171
xor eax, eax
push 0
mov dword [edi + 0xda8], eax
lea ecx, [ebp - 0x58]
lea eax, [edi + 0xdc8]
mov byte [ebp - 4], 1
push eax
push eax
push str.TimeForStationaryFinger
mov dword [eax], 0x1f4
call fcn.004baa70
lea eax, [edi + 0x76c]
lea ecx, [ebp - 0x58]
mov dword [eax], 0x3e8
push 0
push eax
push eax
push str.ProlongTimeForFilterFinger
call fcn.004baa70
mov ecx, dword [edi + 0x34]
lea ebx, [edi + 0x30]
mov dword [ebp - 0x60], ebx
test ecx, ecx
jne 0x4231c5
lea ecx, [ebx + 0x10]
mov eax, dword [ecx]
push 0
push 0x1000377
push ecx
call dword [eax + 0x18]
mov eax, dword [0x658538]
cmp eax, 0x237c
je 0x4231e9
cmp eax, 0x237d
jne 0x42336b
mov ecx, dword [edi + 0x34]
lea esi, [edi + 0x34]
xor edx, edx
mov dword [ebp - 0x10], edx
test ecx, ecx
je 0x42320a
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x10000103
push ecx
call dword [eax + 0xc]
mov edx, dword [ebp - 0x10]
push 0
push 0
cmp edx, 3
mov ecx, str.SoftwareSynapticsSynTPEnhUltraNavPS2
push 1
mov eax, str.SoftwareSynapticsSynTPEnhUltraNavUSB
cmovne eax, ecx
lea ecx, [ebp - 0x88]
push eax
push SysReAllocString
call fcn.004bcca0
push 0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x1214
push eax
lea eax, [ebp - 0x20]
push eax
push str.TrackPointMode
lea ecx, [ebp - 0x84]
call fcn.004cbcf0
mov eax, dword [ebp - 0x20]
lea ecx, [ebp - 0x84]
mov dword [edi + 0x74c], eax
lea eax, [ebp - 0x18]
push 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x18], 0x11
push eax
push str.TrackPointModeFunction
call fcn.004cbcf0
mov eax, dword [ebp - 0x20]
push 0
mov dword [edi + 0x750], eax
call fcn.004c7a40
add esp, 4
xor ecx, ecx
cmp eax, 0xd
lea eax, [ebp - 0x18]
setge cl
push 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x18], ecx
push eax
push str.TrackPointScrollMethod
lea ecx, [ebp - 0x84]
call fcn.004cbcf0
cmp dword [edi + 0x74c], 8
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x754], eax
jne 0x4232d0
mov dword [edi + 0x74c], 0x1214
cmp dword [edi + 0x74c], 0x1214
jne 0x4232f3
push 0
push 0x1214
push str.TrackPointMode
lea ecx, [ebp - 0x84]
call fcn.004cc170
cmp dword [edi + 0x750], 0x11
jne 0x423310
push 0
push 0x11
push str.TrackPointModeFunction
lea ecx, [ebp - 0x84]
call fcn.004cc170
mov eax, dword [edi + 0x754]
push 0
mov dword [ebp - 0x18], eax
call fcn.004c7a40
xor ecx, ecx
add esp, 4
cmp eax, 0xd
mov eax, dword [ebp - 0x18]
setge cl
cmp eax, ecx
jne 0x423345
push 0
push eax
push str.TrackPointScrollMethod
lea ecx, [ebp - 0x84]
call fcn.004cc170
mov eax, dword [edi + 0x750]
test al, 0x40
je 0x42335b
mov dword [edi + 0x760], 1
jmp 0x42336e
test al, 0x20
je 0x42336e
mov dword [edi + 0x764], 1
jmp 0x42336e
lea esi, [edi + 0x34]
mov ecx, dword [esi]
xor edx, edx
mov dword [ebp - 0x10], edx
test ecx, ecx
je 0x42338b
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x10000177
push ecx
call dword [eax + 0xc]
mov edx, dword [ebp - 0x10]
xor eax, eax
test edx, edx
setne al
xor ecx, ecx
mov dword [edi + 0xa24], eax
mov edx, dword [esi]
mov dword [ebp - 0x10], ecx
test edx, edx
je 0x4233b5
mov eax, dword [edx]
lea ecx, [ebp - 0x10]
push ecx
push 0x10000189
push edx
call dword [eax + 0xc]
mov ecx, dword [ebp - 0x10]
xor eax, eax
test ecx, ecx
setne al
xor edx, edx
mov dword [edi + 0xa28], eax
mov ecx, dword [esi]
mov dword [ebp - 0x10], edx
test ecx, ecx
je 0x4233df
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x10000146
push ecx
call dword [eax + 0xc]
mov edx, dword [ebp - 0x10]
xor eax, eax
test edx, edx
setne al
xor ecx, ecx
mov dword [edi + 0xa2c], eax
mov edx, dword [esi]
mov dword [ebp - 0x10], ecx
test edx, edx
je 0x423409
mov eax, dword [edx]
lea ecx, [ebp - 0x10]
push ecx
push 0x1000017a
push edx
call dword [eax + 0xc]
mov ecx, dword [ebp - 0x10]
xor eax, eax
test ecx, ecx
setne al
xor edx, edx
mov dword [edi + 0xa30], eax
mov ecx, dword [esi]
mov dword [ebp - 0x10], edx
test ecx, ecx
je 0x423433
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x100001ba
push ecx
call dword [eax + 0xc]
mov edx, dword [ebp - 0x10]
xor eax, eax
test edx, edx
setne al
mov dword [edi + 0xa34], eax
xor eax, eax
mov ecx, dword [esi]
mov dword [ebp - 0x10], eax
test ecx, ecx
je 0x42345d
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x100001a8
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x10]
mov dword [edi + 0xa38], eax
xor eax, eax
mov ecx, dword [esi]
mov dword [ebp - 0x10], eax
test ecx, ecx
je 0x423480
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x1000382
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x10]
mov dword [edi + 0xa3c], eax
mov ecx, dword [esi]
mov dword [ebp - 0x10], 0
test ecx, ecx
je 0x4234be
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x10000d2
push ecx
call dword [eax + 0xc]
cmp dword [ebp - 0x10], 0
je 0x4234be
mov ecx, dword [esi]
xor eax, eax
mov dword [ebp - 0x10], eax
test ecx, ecx
je 0x4234db
lea edx, [ebp - 0x10]
push edx
push 0x10000db
jmp 0x4234d2
mov ecx, dword [esi]
xor eax, eax
mov dword [ebp - 0x10], eax
test ecx, ecx
je 0x4234db
lea edx, [ebp - 0x10]
push edx
push 0x10000da
mov eax, dword [ecx]
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x10]
test eax, eax
mov ecx, 0x50
cmove eax, ecx
mov dword [edi + 0xa40], eax
xor eax, eax
mov ecx, dword [esi]
mov dword [ebp - 0x10], eax
test ecx, ecx
je 0x423508
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x10002f0
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov dword [edi + 0xe84], eax
cmp eax, 0xffffffff
cmove eax, ecx
mov dword [edi + 0xd84], eax
xor eax, eax
mov ecx, dword [esi]
mov dword [ebp - 0x10], eax
test ecx, ecx
je 0x423539
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x1000241
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x10]
push 0
mov dword [edi + 0xa44], eax
lea ecx, [ebp - 0x58]
lea eax, [ebp - 0x64]
mov dword [ebp - 0x64], 0
push eax
push eax
push str.PalmCheckGroupPresent
call fcn.004baa70
mov ecx, dword [esi]
mov dword [ebp - 0x10], 0
test ecx, ecx
je 0x423631
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x10000102
push ecx
call dword [eax + 0xc]
cmp dword [ebp - 0x10], 2
jne 0x423631
cmp dword [ebp - 0x64], 0
je 0x423631
lea eax, [edi + 0xdac]
lea ecx, [ebp - 0x58]
mov dword [eax], 0
push 0
push eax
push eax
push str.UsePalmCheckGroupConfigForACM2
call fcn.004baa70
push 0
push 0x1b
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x4235c8
push str.Failed_to_create_zone__n
jmp 0x4258ef
push 0
push 0x1d
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
je 0x4235be
push 0
push 0x1e
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
je 0x4235be
push 0
push 0x1f
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
je 0x4235be
push 0
push 0x20
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
je 0x4235be
lea eax, [edi + 0x9e8]
lea ecx, [ebp - 0x58]
mov dword [eax], 0
push 0
push eax
push eax
push str.PalmViolationToReleaseCursor
call fcn.004baa70
cmp dword [edi + 0xa24], 0
je 0x4236e1
mov ecx, dword [esi]
xor eax, eax
mov dword [ebp - 0x10], eax
test ecx, ecx
je 0x42365b
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x10000d5
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0x10]
test eax, 0x800
je 0x42367b
push 0
lea eax, [edi + 0xa5c]
push eax
push eax
push str.NeedFingerStatePacket
lea ecx, [ebp - 0x58]
call fcn.004baa70
jmp 0x4236ca
mov ecx, ebx
call fcn.00406080
test al, al
je 0x4236ca
push 0x10000104
mov ecx, esi
call fcn.004052e0
mov esi, eax
lea ecx, [edi + 0x34]
push 0x10000104
sar esi, 0x18
call fcn.004052e0
sar eax, 0x10
and eax, 0xff
cmp esi, 7
jg 0x4236bf
jne 0x4236b8
cmp eax, 4
jge 0x4236bf
mov eax, 1
jmp 0x4236c1
xor eax, eax
mov dword [edi + 0xa4c], eax
lea esi, [edi + 0x34]
push 0
lea eax, [edi + 0xa4c]
push eax
push eax
push str.NeedToFilterSecondaryFingerPos
lea ecx, [ebp - 0x58]
call fcn.004baa70
push 0
push 0
push 0
push str.SoftwareSynapticsSynTPEnh
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x88]
call fcn.004bcca0
mov ecx, dword [esi]
mov dword [ebp - 0x10], 0
test ecx, ecx
je 0x42371e
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x10000102
push ecx
call dword [eax + 0xc]
cmp dword [ebp - 0x10], 2
je 0x423758
mov ecx, ebx
call fcn.004278e0
test al, al
je 0x423850
push 0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push eax
lea eax, [ebp - 0x20]
push eax
push str.ChiralMouse
lea ecx, [ebp - 0x84]
call fcn.004cbcf0
cmp dword [ebp - 0x20], 0
je 0x423850
push 3
push 1
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x423778
push str.Failed_to_init_vscroll_zone__n
jmp 0x4258ef
push 3
push 2
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
mov dword [ebp - 0x10], eax
test eax, eax
jne 0x423798
push str.Failed_to_init_hscroll_zone__n
jmp 0x4258ef
mov ecx, ebx
call fcn.004278e0
test al, al
je 0x423807
push 0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push eax
lea eax, [ebp - 0x20]
push eax
push str.ChiralMouse
lea ecx, [ebp - 0x84]
call fcn.004cbcf0
mov ecx, dword [ebp - 0x2c]
push dword [ebp - 0x20]
add ecx, 0x248
call fcn.004b8d00
push 0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0
push eax
lea eax, [ebp - 0x20]
push eax
push str.ChiralMouse
lea ecx, [ebp - 0x84]
call fcn.004cbcf0
mov ecx, dword [ebp - 0x10]
push dword [ebp - 0x20]
add ecx, 0x248
call fcn.004b8d00
mov ecx, edi
call fcn.00427400
test eax, eax
je 0x423850
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0
push eax
push eax
push str.VolumeControlPresent
lea ecx, [ebp - 0x58]
call fcn.004baa70
cmp dword [ebp - 0x24], 0
je 0x423850
push 7
push 9
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x423850
push str.Failed_to_init_volume_control_zone__n
jmp 0x4258ef
mov ecx, dword [esi]
movsd xmm0, qword [0x516c98]
mov dword [ebp - 0x10], 0
movsd qword [ebp - 0xac], xmm0
test ecx, ecx
je 0x424294
mov eax, dword [ecx]
lea edx, [ebp - 0x10]
push edx
push 0x10000102
push ecx
call dword [eax + 0xc]
cmp dword [ebp - 0x10], 2
jne 0x424294
push 0x1b0
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 9
test eax, eax
je 0x4238b9
push 0
push 1
push 1
push str.EdgeFinder
push edi
mov ecx, eax
call fcn.0049d500
mov esi, eax
jmp 0x4238bb
xor esi, esi
mov byte [ebp - 4], 1
test esi, esi
je 0x424303
push esi
lea ecx, [edi + 4]
push 0
call fcn.00428970
test eax, eax
je 0x424303
mov eax, dword [esi]
mov ecx, esi
push 0x10
call dword [eax + 0x7c]
test eax, eax
je 0x424303
push 0
lea eax, [ebp - 0x58]
push eax
push 1
push 0
push 0x40
push 0x1803
sub esp, 0x1c
mov eax, esp
push 0x10
push eax
call fcn.0049fbc0
add esp, 8
mov ecx, esi
call fcn.004a28c0
test eax, eax
je 0x424303
push 0x1b0
mov dword [esi + 0x20], 0x10
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0xa
test eax, eax
je 0x423951
push 0
push 1
push 0xb
push str.BounceBack
push edi
mov ecx, eax
call fcn.0049d500
mov esi, eax
jmp 0x423953
xor esi, esi
mov byte [ebp - 4], 1
test esi, esi
je 0x4242f9
push esi
push 0
lea ecx, [edi + 4]
call fcn.00428970
test eax, eax
je 0x4242f9
mov eax, dword [esi]
mov ecx, esi
push 0x11
call dword [eax + 0x7c]
test eax, eax
je 0x4242f9
push 0
lea eax, [ebp - 0x58]
push eax
push 0xb
push 0
push 1
push 0x1811
sub esp, 0x1c
mov eax, esp
push 0x11
push eax
call fcn.0049fbc0
add esp, 8
mov ecx, esi
call fcn.004a28c0
test eax, eax
je 0x4242f9
push 0
lea eax, [ebp - 0x18]
mov dword [esi + 0x20], 0x11
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x18], 0
push eax
push str.BackForwardFeature
lea ecx, [ebp - 0x84]
call fcn.004cbcf0
cmp dword [ebp - 0x20], 0
je 0x4239fe
push 2
push 0xa
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x4239fe
push str.Failed_to_init_backforward_zone__n
jmp 0x4258ef
push 0
call fcn.004c7a40
add esp, 4
cmp eax, 0xb
jl 0x423a2a
push 0xc
push 0x23
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x423a2a
push str.Failed_to_init_touch_injection_zone__n
jmp 0x4258ef
cmp dword [edi + 0xa24], 0
je 0x423b03
push 3
push 0x12
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x423a54
push str.Failed_to_init_pinch_zone__n
jmp 0x4258ef
push 2
push 0x13
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x423a71
push str.Failed_to_init_twist_zone__n
jmp 0x4258ef
cmp dword [edi + 0xa24], 0
je 0x423b03
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0
push eax
push eax
push str.MultiFingerTapPresent
lea ecx, [ebp - 0x58]
call fcn.004baa70
cmp dword [ebp - 0x24], 0
je 0x423abc
push 2
push 0x21
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x423abc
push str.Failed_to_init_mutlifinger_tap_zone__n
jmp 0x4258ef
cmp dword [edi + 0xa24], 0
je 0x423b03
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0
push eax
push eax
push str.MagnifierPresent
lea ecx, [ebp - 0x58]
call fcn.004baa70
cmp dword [ebp - 0x24], 0
je 0x423b03
push 0
push 0x1a
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x423b03
push str.Failed_to_init_magnifier_zone__n
jmp 0x4258ef
push 0
call fcn.004c7a40
add esp, 4
cmp eax, 0xb
je 0x423b25
push 0
call fcn.004c7a40
add esp, 4
cmp eax, 0xc
jne 0x423cb3
push 2
push 0x26
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x423b42
push str.Failed_to_init_AppSwitch_EdgePull_zone__n
jmp 0x4258ef
push 2
push 0x27
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x423b5f
push str.Failed_to_init_T_EdgePull_zone__n
jmp 0x4258ef
push 2
push 0x28
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x423b7c
push str.Failed_to_init_B_EdgePull_zone__n
jmp 0x4258ef
push 2
push 0x24
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
mov dword [ebp - 0x5c], eax
test eax, eax
jne 0x423b9c
push str.Failed_to_init_CharmBar_EdgePull_zone__n
jmp 0x4258ef
push str.Right_Edge_Pull
push 0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 0x100
push eax
lea eax, [ebp - 0x364]
push eax
push str.ExtendedZoneKeyName
lea ecx, [ebp - 0x58]
call fcn.004bb340
mov ecx, str.Right_Edge_Pull_Extended_Zone
lea eax, [ebp - 0x364]
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x423bf6
test dx, dx
je 0x423bf2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x423bf6
add eax, 4
add ecx, 4
test dx, dx
jne 0x423bd0
xor eax, eax
jmp 0x423bfb
sbb eax, eax
or eax, 1
test eax, eax
jne 0x423c6e
push str.Right_Edge_Pull_Extended_Zone
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 2
push eax
lea eax, [ebp - 0x2c]
push eax
push str.ActionType
lea ecx, [ebp - 0x58]
call fcn.004baa70
push dword [ebp - 0x2c]
lea eax, [ebp - 0x58]
mov ecx, edi
push 0x25
push eax
call fcn.00419ae0
mov esi, eax
test esi, esi
jne 0x423c40
push str.Failed_to_init_charm_bar_edge_pull_extended_zone__n
jmp 0x4258ef
push 0
push 0
mov ecx, esi
call fcn.0049ece0
test al, 0x40
je 0x423c6e
mov ecx, dword [ebp - 0x5c]
push 0
push 0
call fcn.0049ece0
test al, 0x40
je 0x423c6e
mov eax, dword [ebp - 0x5c]
mov dword [edi + 0xac4], eax
mov dword [edi + 0xac8], esi
push 2
push 0x2a
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
mov esi, eax
test esi, esi
jne 0x423c8d
push str.Failed_to_init_AppSwitch_Wing_zone__n
jmp 0x4258ef
push 2
push 0x29
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x423caa
push str.Failed_to_init_CharmBar_Wing_zone__n
jmp 0x4258ef
push eax
push esi
mov ecx, edi
call fcn.0042ee60
xor esi, esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x18], esi
cmp dword [edi + 0xa2c], esi
jne 0x423cd2
cmp dword [edi + 0xa24], esi
je 0x423ec4
push 3
push 3
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x423cef
push str.Failed_to_init_2finger_vscroll_zone__n
jmp 0x4258ef
push 0
lea eax, [edi + 0xd34]
push eax
push eax
push str.FastFingerGestureSwitch
lea ecx, [ebp - 0x58]
call fcn.004baa70
push 0
lea eax, [edi + 0xd9c]
push eax
push eax
push str.IgnoreMFTapWhenCoasting
lea ecx, [ebp - 0x58]
call fcn.004baa70
push 0
lea eax, [edi + 0xd38]
push eax
push eax
push str.DisplayTPEnableDisableMessageWhenWindowStart
lea ecx, [ebp - 0x58]
call fcn.004baa70
lea eax, [edi + 0xd4c]
lea ecx, [ebp - 0x58]
mov dword [eax], 0x19
push 0
push eax
push eax
push str.FingersMovedTogetherAngle
call fcn.004baa70
push 3
push 4
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x423d6e
push str.Failed_to_init_2finger_hscroll_zone__n
jmp 0x4258ef
push 0
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], esi
push eax
push eax
push str.3FingerSliderPresent
lea ecx, [ebp - 0x58]
call fcn.004baa70
cmp dword [ebp - 0x24], esi
je 0x423e12
push str.3FVertical_Scrolling
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 3
push eax
lea eax, [ebp - 0x20]
push eax
push str.ActionType
lea ecx, [ebp - 0x58]
call fcn.004baa70
push dword [ebp - 0x20]
lea eax, [ebp - 0x58]
mov ecx, edi
push 5
push eax
call fcn.00419ae0
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x423dd0
push str.Failed_to_init_3finger_vscroll_zone__n
jmp 0x4258ef
push str.3FHorizontal_Scrolling
lea eax, [ebp - 0x18]
mov dword [ebp - 0x18], 3
push eax
lea eax, [ebp - 0x5c]
push eax
push str.ActionType
lea ecx, [ebp - 0x58]
call fcn.004baa70
push dword [ebp - 0x5c]
lea eax, [ebp - 0x58]
mov ecx, edi
push 6
push eax
call fcn.00419ae0
mov dword [ebp - 0x18], eax
test eax, eax
jne 0x423e12
push str.Failed_to_init_3finger_hscroll_zone__n
jmp 0x4258ef
mov ecx, edi
call fcn.004054c0
test eax, eax
je 0x423ec4
push 0
lea eax, [ebp - 0x5c]
mov dword [ebp - 0x5c], esi
push eax
push eax
push str.4FingerSliderPresent
lea ecx, [ebp - 0x58]
call fcn.004baa70
cmp dword [ebp - 0x5c], esi
je 0x423ec4
push str.4FVertical_Scrolling
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x2c], 3
push eax
lea eax, [ebp - 0x28]
push eax
push str.ActionType
lea ecx, [ebp - 0x58]
call fcn.004baa70
push dword [ebp - 0x28]
lea eax, [ebp - 0x58]
mov ecx, edi
push 7
push eax
call fcn.00419ae0
mov esi, eax
test esi, esi
jne 0x423e82
push str.Failed_to_init_4finger_vscroll_zone__n
jmp 0x4258ef
push str.4FHorizontal_Scrolling
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 3
push eax
lea eax, [ebp - 0x2c]
push eax
push str.ActionType
lea ecx, [ebp - 0x58]
call fcn.004baa70
push dword [ebp - 0x2c]
lea eax, [ebp - 0x58]
mov ecx, edi
push 8
push eax
call fcn.00419ae0
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x423ec4
push str.Failed_to_init_4finger_hscroll_zone__n
jmp 0x4258ef
push 0
lea eax, [ebp - 0x68]
mov dword [ebp - 0x68], 0
push eax
push eax
push str.ExtendedZonePresent
lea ecx, [ebp - 0x58]
call fcn.004baa70
cmp dword [ebp - 0x68], 0
je 0x423f2a
push str.Extended_Zone
lea eax, [ebp - 0x28]
mov dword [ebp - 0x28], 0
push eax
lea eax, [ebp - 0x1c]
push eax
push str.ActionType
lea ecx, [ebp - 0x58]
call fcn.004baa70
push dword [ebp - 0x1c]
lea eax, [ebp - 0x58]
mov ecx, edi
push 0x19
push eax
call fcn.00419ae0
mov dword [edi + 0x2e4], eax
test eax, eax
jne 0x423f2a
push str.Failed_to_init_extended_zone__n
jmp 0x4258ef
mov ecx, dword [edi + 0x2e4]
test ecx, ecx
je 0x423fe6
push 0
push 0
call fcn.0049ece0
test al, 0x40
je 0x423fe6
test esi, esi
je 0x423f6e
push 0
push 0
mov ecx, esi
call fcn.0049ece0
test al, 0x40
je 0x423f6e
mov eax, dword [edi + 0x2e4]
mov dword [edi + 0xa7c], esi
mov dword [edi + 0xa80], eax
mov esi, dword [ebp - 0x2c]
test esi, esi
je 0x423f96
push 0
push 0
mov ecx, esi
call fcn.0049ece0
test al, 0x40
je 0x423f96
mov eax, dword [edi + 0x2e4]
mov dword [edi + 0xa88], esi
mov dword [edi + 0xa8c], eax
mov esi, dword [ebp - 0x20]
test esi, esi
je 0x423fbe
push 0
push 0
mov ecx, esi
call fcn.0049ece0
test al, 0x40
je 0x423fbe
mov eax, dword [edi + 0x2e4]
mov dword [edi + 0xa94], esi
mov dword [edi + 0xa98], eax
mov esi, dword [ebp - 0x18]
test esi, esi
je 0x423fe6
push 0
push 0
mov ecx, esi
call fcn.0049ece0
test al, 0x40
je 0x423fe6
mov eax, dword [edi + 0x2e4]
mov dword [edi + 0xaa0], esi
mov dword [edi + 0xaa4], eax
lea eax, [ebp - 0x14]
mov ecx, edi
push eax
push str.Character_Recognition
push str.SoftwareSynapticsSynTPEnhZoneConfig
call fcn.004225d0
test eax, eax
je 0x42401d
push dword [ebp - 0x14]
lea eax, [ebp - 0x58]
mov ecx, edi
push 0x14
push eax
call fcn.00419ae0
test eax, eax
jne 0x42401d
push str.Failed_to_init_chars_regconizing_zone__n
jmp 0x4258ef
push 0
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0
push eax
push eax
push str.LeftSliderPresent
lea ecx, [ebp - 0x58]
call fcn.004baa70
cmp dword [ebp - 0x10], 0
je 0x42407d
push str.Left_Slider_Zone
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 2
push eax
lea eax, [ebp - 0x28]
push eax
push str.ActionType
lea ecx, [ebp - 0x58]
call fcn.004baa70
push dword [ebp - 0x28]
lea eax, [ebp - 0x58]
mov ecx, edi
push 0xb
push eax
call fcn.00419ae0
test eax, eax
jne 0x42407d
push str.Failed_to_init_left_zone__n
jmp 0x4258ef
push 0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xa
push eax
lea eax, [ebp - 0x28]
push eax
push str.FingerMotionEpsilon
lea ecx, [ebp - 0x84]
call fcn.004cbcf0
mov eax, dword [ebp - 0x28]
lea ecx, [edi + 0x34]
push 0x10000113
mov dword [edi + 0x9d0], eax
call fcn.004052e0
mov ecx, eax
mov eax, 0x10624dd3
imul ecx, dword [edi + 0x9d0]
push 0x10000114
mul ecx
lea ecx, [edi + 0x34]
shr edx, 6
mov dword [edi + 0x9c8], edx
call fcn.004052e0
mov ecx, eax
mov dword [ebp - 0x1c], 0x1388
imul ecx, dword [edi + 0x9d0]
mov eax, 0x10624dd3
push 0
mul ecx
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
shr edx, 6
push eax
push str.SlowMotionTimeThresholdForMoving1000Mils
lea ecx, [ebp - 0x84]
mov dword [edi + 0x9cc], edx
call fcn.004cbcf0
mov eax, dword [ebp - 0x18]
lea ecx, [ebp - 0x84]
mov dword [edi + 0x9e0], eax
lea eax, [ebp - 0x1c]
push 0
push eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x1c], 0x12c
push eax
push str.MinStrokeQDistance
call fcn.004cbcf0
mov eax, dword [ebp - 0x20]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x50def0]
divsd xmm0, qword [ebp - 0xac]
movsd qword [edi + 0x9c0], xmm0
test byte [0x652fc0], 4
je 0x42418a
sub esp, 8
movsd qword [esp], xmm0
push str.Min_Stroke_Qual_Distance:__.4f_n
push 3
push str.CManagedPointingDevice::Init
call fcn.004cb3a0
add esp, 0x14
push 0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x1c], 0xc8
push eax
lea eax, [ebp - 0x28]
push eax
push str.3FingerPressMaxMotion
lea ecx, [ebp - 0x84]
call fcn.004cbcf0
push 0x10000113
lea ecx, [edi + 0x34]
call fcn.004052e0
mov ecx, eax
mov eax, 0x10624dd3
imul ecx, dword [ebp - 0x28]
push 0x10000114
mul ecx
lea ecx, [edi + 0x34]
shr edx, 6
mov dword [edi + 0x9d4], edx
call fcn.004052e0
mov ecx, eax
mov dword [ebp - 0x1c], 0x1f4
imul ecx, dword [ebp - 0x28]
mov eax, 0x10624dd3
push 0
mul ecx
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x18]
shr edx, 6
push eax
push str.3FingerPressMinTime
lea ecx, [ebp - 0x84]
mov dword [edi + 0x9d8], edx
call fcn.004cbcf0
mov eax, dword [ebp - 0x18]
mov dword [edi + 0x9dc], eax
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
mov ecx, dword [ebx + 4]
mov edx, eax
test ecx, ecx
jne 0x42422d
lea ecx, [ebx + 0x10]
mov eax, dword [ecx]
push edx
push 0x1000343
push ecx
call dword [eax + 0x18]
mov ecx, edi
call fcn.00427270
push 0
mov dword [edi + 0xd24], eax
lea ecx, [ebp - 0x58]
lea eax, [edi + 0xd28]
push eax
push eax
push str.RestrictTo2FVerticalScroll
call fcn.004baa70
push 0
lea eax, [edi + 0xd2c]
push eax
push eax
push str.CancelScrollAfter1FLeaves
lea ecx, [ebp - 0x58]
call fcn.004baa70
lea eax, [edi + 0x2f0]
lea ecx, [ebp - 0x58]
mov dword [eax], 0
push 0
push eax
push eax
push str.SkipClickWhenGestureProcessing
call fcn.004baa70
lea esi, [edi + 0x34]
push 0x220
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x42433a
push 0x248
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xc
test eax, eax
je 0x42431f
push 0x188
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x42430d
push 0
mov ecx, eax
call fcn.00455c80
mov ecx, dword [ebp - 0x14]
push eax
push edi
mov byte [ebp - 4], 0xc
call fcn.0040e740
jmp 0x424321
push str.Failed_to_init_bounce_back_zone__n
jmp 0x4258ef
push str.Failed_to_init_frame_zone__n
jmp 0x4258ef
mov ecx, dword [ebp - 0x14]
xor eax, eax
push eax
push edi
mov byte [ebp - 4], 0xc
call fcn.0040e740
jmp 0x424321
xor eax, eax
mov ecx, dword [ebp - 0x1c]
push eax
push 3
push 2
push 0x512acc
push edi
mov byte [ebp - 4], 0xb
call fcn.0044dd40
jmp 0x42433c
xor eax, eax
mov byte [ebp - 4], 1
mov dword [edi + 0x2d4], eax
test eax, eax
je 0x4258ea
push eax
lea ecx, [edi + 4]
push 0
call fcn.00428970
test eax, eax
je 0x4258ea
mov ecx, dword [edi + 0x2d4]
push 0x15
mov eax, dword [ecx]
call dword [eax + 0x7c]
test eax, eax
je 0x4258ea
lea eax, [ebp - 0x58]
push eax
push 2
push 0
push 0x40003
push 0x40
sub esp, 0x1c
mov eax, esp
push 0x15
push eax
call fcn.0049fbc0
mov ecx, dword [edi + 0x2d4]
add esp, 8
call fcn.00450980
test eax, eax
je 0x4258ea
mov eax, dword [edi + 0x2d4]
lea ecx, [ebp - 0x58]
push 0
mov dword [eax + 0x20], 0x15
lea eax, [ebp - 0x6c]
push eax
push eax
push str.ExtendedPluginZonePresent
mov dword [ebp - 0x6c], 0
call fcn.004baa70
cmp dword [ebp - 0x6c], 0
je 0x4244cd
push 0x220
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x424407
push 0
push 3
push 2
push str.Extended_Plugin_Zone
push edi
mov ecx, eax
call fcn.0044dd40
jmp 0x424409
xor eax, eax
mov byte [ebp - 4], 1
mov dword [edi + 0x2d8], eax
test eax, eax
je 0x4244ff
push eax
push 0
lea ecx, [edi + 4]
call fcn.00428970
test eax, eax
je 0x4244ff
mov ecx, dword [edi + 0x2d8]
push 0x15
mov eax, dword [ecx]
call dword [eax + 0x7c]
test eax, eax
je 0x4244ff
lea eax, [ebp - 0x58]
push eax
push 2
push 0
push 0x40003
push 0x40
sub esp, 0x1c
mov eax, esp
push 0x15
push eax
call fcn.0049fbc0
mov ecx, dword [edi + 0x2d8]
add esp, 8
call fcn.00450980
test eax, eax
je 0x4244ff
mov eax, dword [edi + 0x2d8]
mov dword [eax + 0x20], 0x15
cmp dword [edi + 0x2d4], 0
je 0x4244cd
mov ecx, dword [edi + 0x2d8]
test ecx, ecx
je 0x4244cd
push 0
push 0
call fcn.0049ece0
test al, 0x40
je 0x4244cd
mov ecx, dword [edi + 0x2d4]
push 0
push 0
call fcn.0049ece0
test al, 0x40
je 0x4244cd
mov eax, dword [edi + 0x2d4]
mov dword [edi + 0xaac], eax
mov eax, dword [edi + 0x2d8]
mov dword [edi + 0xab0], eax
push 0
call fcn.004c7a40
add esp, 4
cmp eax, 0xb
jl 0x424509
push 0xc
push 0x2b
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
mov dword [edi + 0x2dc], eax
test eax, eax
jne 0x424509
push str.Failed_to_init_touch_zone__n
jmp 0x4258ef
push str.Failed_to_init_Extended_plugin_zone__n
jmp 0x4258ef
push 0x1000294
mov ecx, esi
call fcn.004052e0
shr eax, 8
lea ecx, [ebp - 0x84]
and eax, 1
mov dword [ebp - 0x14], 0xfa
mov dword [edi + 0xd98], eax
lea eax, [ebp - 0x14]
push 0
push eax
lea eax, [ebp - 0x1c]
push eax
push str.PalmOnPadMinTime
call fcn.004cbcf0
mov eax, dword [ebp - 0x1c]
mov ecx, ebx
mov dword [edi + 0x9e4], eax
mov dword [ebp - 0x10], 4
call fcn.00406080
test al, al
je 0x4245a6
mov ecx, dword [0x658564]
test ecx, ecx
jne 0x4245fd
mov eax, dword [0x6570a8]
mov ecx, 0x6570a8
push 4
call dword [eax + 4]
mov esi, eax
test esi, esi
je 0x4245f3
mov edx, dword [esi]
mov ecx, esi
push dword [ebp + 8]
call dword [edx + 0x48]
test eax, eax
jne 0x4245a0
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
push str.Failed_to_init_touchpad_tray_action__n
jmp 0x4258ef
mov dword [0x658564], esi
mov esi, dword [ebp + 8]
mov ecx, ebx
call fcn.00427c40
test al, al
je 0x424627
mov ecx, dword [0x658568]
test ecx, ecx
jne 0x42461a
mov eax, dword [0x6570a8]
mov ecx, 0x6570a8
push 0xe
call dword [eax + 4]
mov esi, eax
test esi, esi
je 0x424610
mov edx, dword [esi]
mov ecx, esi
push dword [ebp + 8]
call dword [edx + 0x48]
test eax, eax
jne 0x424608
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
push str.Failed_to_init_touchbar_tray_action__n
jmp 0x4258ef
push str.Failed_to_get_touchapd_tray_action__n
jmp 0x4258ef
mov esi, dword [ebp + 8]
push esi
call fcn.00492ca0
jmp 0x4245a9
mov dword [0x658568], esi
jmp 0x424620
push str.Failed_to_get_touchbar_tray_action__n
jmp 0x4258ef
push esi
call fcn.00492ca0
mov dword [ebp - 0x10], 0xe
push 0x1b0
call fcn.004cf48e
mov esi, eax
add esp, 4
mov dword [ebp - 0x14], esi
mov byte [ebp - 4], 0xf
test esi, esi
je 0x424681
push 0x188
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x10
test eax, eax
je 0x424664
push 0
mov ecx, eax
call fcn.00492f80
jmp 0x424666
xor eax, eax
push eax
push 1
push dword [ebp - 0x10]
mov ecx, esi
mov byte [ebp - 4], 0xf
push str.Tray_Icon_Zone
push edi
call fcn.0049d500
mov esi, eax
jmp 0x424683
xor esi, esi
mov byte [ebp - 4], 1
test esi, esi
je 0x4258e3
push esi
push 0
lea ecx, [edi + 4]
call fcn.00428970
test eax, eax
je 0x4258e3
mov eax, dword [esi]
mov ecx, esi
push 0x16
call dword [eax + 0x7c]
test eax, eax
je 0x4258e3
push 0
lea eax, [ebp - 0x58]
push eax
push dword [ebp - 0x10]
push 0
push 0
push 0x10
sub esp, 0x1c
mov eax, esp
push 0x16
push eax
call fcn.0049fbc0
add esp, 8
mov ecx, esi
call fcn.004a28c0
test eax, eax
je 0x4258e3
mov ecx, edi
mov dword [esi + 0x20], 0x16
call fcn.00405ad0
test eax, eax
je 0x4247eb
push 0x208
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x424787
push 0x248
call fcn.004cf48e
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0x12
test esi, esi
je 0x42476a
push 0x188
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x13
test eax, eax
je 0x424759
push 0
mov ecx, eax
call fcn.00455c80
push eax
push edi
mov ecx, esi
mov byte [ebp - 4], 0x12
call fcn.0040e740
jmp 0x42476c
xor eax, eax
mov byte [ebp - 4], 0x12
push eax
push edi
mov ecx, esi
call fcn.0040e740
jmp 0x42476c
xor eax, eax
mov ecx, dword [ebp - 0x14]
push eax
push 1
push 2
push 0x511cfc
push edi
mov byte [ebp - 4], 0x11
call fcn.0040eda0
mov esi, eax
jmp 0x424789
xor esi, esi
mov byte [ebp - 4], 1
test esi, esi
je 0x42486d
push esi
push 0
lea ecx, [edi + 4]
call fcn.00428970
test eax, eax
je 0x42486d
mov eax, dword [esi]
mov ecx, esi
push 0x32
call dword [eax + 0x7c]
test eax, eax
je 0x42486d
lea eax, [ebp - 0x58]
push eax
push 2
push 0
push 0
push 0x40
sub esp, 0x1c
mov eax, esp
push 0x32
push eax
call fcn.0049fbc0
add esp, 8
mov ecx, esi
call fcn.0040ff80
test eax, eax
je 0x42486d
mov dword [esi + 0x20], 0x32
mov ecx, ebx
call fcn.00405910
test al, al
jne 0x424805
mov ecx, edi
call fcn.00427400
test eax, eax
je 0x4249f3
push 0x2a0
call fcn.004cf48e
mov ebx, eax
add esp, 4
mov dword [ebp - 0x14], ebx
mov byte [ebp - 4], 0x14
test ebx, ebx
je 0x4248a4
push 0x248
call fcn.004cf48e
mov esi, eax
add esp, 4
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0x15
test esi, esi
je 0x424888
push 0x188
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x28], eax
mov byte [ebp - 4], 0x16
test eax, eax
je 0x424877
push 0
mov ecx, eax
call fcn.00455c80
push eax
push edi
mov ecx, esi
mov byte [ebp - 4], 0x15
call fcn.0040e740
jmp 0x42488a
push str.Failed_to_init_fpsound_zone__n
jmp 0x4258ef
xor eax, eax
mov byte [ebp - 4], 0x15
push eax
push edi
mov ecx, esi
call fcn.0040e740
jmp 0x42488a
xor eax, eax
push eax
push 3
push 2
push 0x511d4c
push edi
mov ecx, ebx
mov byte [ebp - 4], 0x14
call fcn.004041f0
mov ebx, eax
jmp 0x4248a6
xor ebx, ebx
mov byte [ebp - 4], 1
test ebx, ebx
je 0x4258dc
push ebx
push 0
lea ecx, [edi + 4]
call fcn.00428970
test eax, eax
je 0x4258dc
mov eax, dword [ebx]
mov ecx, ebx
push 0x33
call dword [eax + 0x7c]
test eax, eax
je 0x4258dc
lea eax, [ebp - 0x58]
push eax
push 2
push 0
push 0x40001
push 0x40
sub esp, 0x1c
mov eax, esp
push 0x33
push eax
call fcn.0049fbc0
add esp, 8
mov ecx, ebx
call fcn.00407e10
test eax, eax
je 0x4258dc
push 0
lea eax, [ebp - 0x10]
mov dword [ebx + 0x20], 0x33
push eax
push eax
push str.ExtendedCBDualModeZonePresent
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x10], 0
call fcn.004baa70
cmp dword [ebp - 0x10], 0
je 0x4249f0
push 0x2a0
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x17
test eax, eax
je 0x42495f
push 0
push 3
push 2
push str.Extended_CBDualMode_Zone
push edi
mov ecx, eax
call fcn.004041f0
mov esi, eax
jmp 0x424961
xor esi, esi
mov byte [ebp - 4], 1
test esi, esi
je 0x424a67
push esi
push 0
lea ecx, [edi + 4]
call fcn.00428970
test eax, eax
je 0x424a67
mov eax, dword [esi]
mov ecx, esi
push 0x33
call dword [eax + 0x7c]
test eax, eax
je 0x424a67
lea eax, [ebp - 0x58]
push eax
push 2
push 0
push 0x40001
push 0x40
sub esp, 0x1c
mov eax, esp
push 0x33
push eax
call fcn.0049fbc0
add esp, 8
mov ecx, esi
call fcn.00407e10
test eax, eax
je 0x424a67
push 0
push 0
mov ecx, esi
mov dword [esi + 0x20], 0x33
call fcn.0049ece0
test al, 0x40
je 0x4249f0
push 0
push 0
mov ecx, ebx
call fcn.0049ece0
test al, 0x40
je 0x4249f0
mov dword [edi + 0xab8], ebx
mov dword [edi + 0xabc], esi
lea ebx, [edi + 0x30]
push 0
push 0
push str.SoftwareSynapticsSynTPEnh
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0xe4]
call fcn.004b9150
push 0
push 0
lea eax, [edi + 0x72c]
mov byte [ebp - 4], 0x18
push eax
push str.CancelCoastingMotionThreshold
lea ecx, [ebp - 0xe0]
call fcn.004cbcf0
mov ecx, ebx
call fcn.00427b10
test al, al
je 0x424ac7
push 0x1d0
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x19
test eax, eax
je 0x424a71
push 1
push 2
push str.Stick_Scrolling_Zone
push edi
mov ecx, eax
call fcn.0046ba80
mov esi, eax
jmp 0x424a73
push str.Failed_to_init_Extended_CBDualMode_zone__n
jmp 0x4258ef
xor esi, esi
mov byte [ebp - 4], 0x18
test esi, esi
je 0x424af4
push esi
push 0
lea ecx, [edi + 4]
call fcn.00428970
test eax, eax
je 0x424af4
mov eax, dword [esi]
mov ecx, esi
push 0x17
call dword [eax + 0x7c]
test eax, eax
je 0x424af4
lea eax, [ebp - 0x58]
push eax
push 2
push 0
push 0
push 0x10
push 0x28
sub esp, 0x1c
mov eax, esp
push 0x17
push eax
call fcn.0049fbc0
add esp, 8
mov ecx, esi
call fcn.0046c090
test eax, eax
je 0x424af4
mov dword [esi + 0x20], 0x17
push 0x1d0
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x1a
test eax, eax
je 0x424b00
push 1
push 2
push str.Virtual_Stick_Scrolling_Zone
push edi
mov ecx, eax
call fcn.00490370
mov esi, eax
jmp 0x424b02
push str.Failed_to_init_Stick_Scrolling_zone__n
push 0
jmp 0x4258bc
xor esi, esi
mov byte [ebp - 4], 0x18
test esi, esi
je 0x4258ac
push esi
push 0
lea ecx, [edi + 4]
call fcn.00428970
test eax, eax
je 0x4258ac
mov eax, dword [esi]
mov ecx, esi
push 0x31
call dword [eax + 0x7c]
test eax, eax
je 0x4258ac
lea eax, [ebp - 0x58]
push eax
push 2
push 0
push 0
push 0x10
push 0x28
sub esp, 0x1c
mov eax, esp
push 0x31
push eax
call fcn.0049fbc0
add esp, 8
mov ecx, esi
call fcn.00490820
test eax, eax
je 0x4258ac
push 0
push 0
push 0
push str.SoftwareSynapticscPad
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0x88]
mov dword [esi + 0x20], 0x31
call fcn.004bcca0
push 0
lea eax, [edi + 0x770]
push eax
push eax
push str.Enabled
lea ecx, [ebp - 0x84]
call fcn.004cbcf0
mov ecx, edi
call fcn.004055f0
test eax, eax
je 0x424c12
mov ecx, dword [edi + 0x71c]
test ecx, ecx
jne 0x424bb6
lea ecx, [edi + 0x720]
push dword [ebp + 8]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x2c]
test eax, eax
jne 0x424c96
mov ecx, dword [edi + 0x71c]
lea edx, [edi + 0x48]
test ecx, ecx
jne 0x424bda
lea ecx, [edi + 0x720]
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x38]
test eax, eax
jne 0x424c96
mov ecx, dword [edi + 0x71c]
test ecx, ecx
jne 0x424bf9
lea ecx, [edi + 0x720]
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x24]
test eax, eax
jne 0x424c96
push 1
mov ecx, edi
call fcn.0042a900
mov ecx, ebx
call fcn.00427760
test al, al
je 0x424c88
push 0
push 0
lea eax, [ebp + 8]
mov dword [ebp + 8], 0
push eax
push str.EnableDriftCorrectionControl
lea ecx, [ebp - 0xe0]
call fcn.004cbcf0
cmp dword [ebp + 8], 0
je 0x424c88
mov esi, dword [sym.imp.KERNEL32.dll_CreateEventW]
push 0
push 0
push 0
push 0
call esi
push 0
push 0
push 0
push 0
mov dword [edi + 0x58], eax
call esi
push 0
push 0
push 0
push 0
mov dword [edi + 0x5c], eax
call esi
mov dword [edi + 0x60], eax
lea eax, [ebp - 0x14]
push eax
push 0
push edi
push 0x42b910
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov dword [edi + 0x54], eax
mov eax, dword [edi + 0x710]
test eax, eax
je 0x424ca2
mov eax, dword [eax]
jmp 0x424ca4
push str.Failed_to_get_COM_display_object__n
push 0
jmp 0x4258bc
xor eax, eax
push eax
lea ecx, [ebp - 0xc8]
call fcn.00416ac0
push 0x6f4
mov byte [ebp - 4], 0x1b
call fcn.004cf48e
add esp, 4
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x1c
test eax, eax
je 0x424cd5
mov ecx, eax
call fcn.0046d5b0
jmp 0x424cd7
xor eax, eax
mov byte [ebp - 4], 0x1b
mov dword [edi + 0x714], eax
test eax, eax
je 0x424cef
push 1
push edi
mov ecx, eax
call fcn.00471460
mov ecx, edi
call fcn.00427400
test eax, eax
je 0x424d74
lea eax, [ebp + 8]
mov ecx, edi
push eax
push 0x512bf0
push str.SoftwareSynapticsSynTPEnhZoneConfig
call fcn.004225d0
test eax, eax
je 0x424d37
push dword [ebp + 8]
lea eax, [ebp - 0x58]
mov ecx, edi
push 0xc
push eax
call fcn.00419ae0
mov dword [edi + 0xad0], eax
test eax, eax
jne 0x424d37
push str.Failed_to_init_Slider0_zone__n
jmp 0x425012
lea eax, [ebp + 8]
mov ecx, edi
push eax
push 0x512c30
push str.SoftwareSynapticsSynTPEnhZoneConfig
call fcn.004225d0
test eax, eax
je 0x424d74
push dword [ebp + 8]
lea eax, [ebp - 0x58]
mov ecx, edi
push 0xd
push eax
call fcn.00419ae0
mov dword [edi + 0xad4], eax
test eax, eax
jne 0x424d74
push str.Failed_to_init_Slider1_zone__n
jmp 0x425012
mov ecx, ebx
call fcn.00405910
test al, al
jne 0x424d8e
mov ecx, edi
call fcn.00427430
test eax, eax
je 0x4252b1
push 0
lea esi, [edi + 0x73c]
push esi
push esi
push str.LEDPatternSupport
lea ecx, [ebp - 0x58]
call fcn.004baa70
lea eax, [edi + 0x740]
lea ecx, [ebp - 0x58]
mov dword [eax], 0x4b
push 0
push eax
push eax
push str.LedPatternUpRelease
call fcn.004baa70
lea eax, [edi + 0x744]
lea ecx, [ebp - 0x58]
mov dword [eax], 0x4d
push 0
push eax
push eax
push str.LedPatternDownRelease
call fcn.004baa70
lea eax, [edi + 0x70c]
lea ecx, [ebp - 0x58]
mov dword [eax], 0x19
push 0
push eax
push eax
push str.LEDTurnOnTimeThreshold
call fcn.004baa70
lea eax, [edi + 0x2fc]
lea ecx, [ebp - 0x58]
mov dword [eax], 0
push 0
push eax
push eax
push str.LEDPreLowPowerPattern
call fcn.004baa70
lea eax, [edi + 0x300]
lea ecx, [ebp - 0x58]
mov dword [eax], 0
push 0
push eax
push eax
push str.LEDAfterLowPowerPattern
call fcn.004baa70
lea eax, [edi + 0x2f4]
lea ecx, [ebp - 0x58]
mov dword [eax], 0x2710
push 0
push eax
push eax
push str.LEDNoOperationTimeout
call fcn.004baa70
lea eax, [edi + 0x2f8]
lea ecx, [ebp - 0x58]
mov dword [eax], 0x1388
push 0
push eax
push eax
push str.LEDResumeHeartbeatingTimeInterval
call fcn.004baa70
push 0
push 0
lea eax, [ebp + 8]
mov dword [ebp + 8], 0x200
push eax
lea eax, [edi + 0x304]
push eax
push str.LEDHeartbeatingSetting
lea ecx, [ebp - 0x58]
call fcn.004bb340
lea eax, [edi + 0x748]
lea ecx, [ebp - 0x58]
mov dword [eax], 0
push 0
push eax
push eax
push str.ButtonLEDBrightnessZoneSetting
call fcn.004baa70
push 0
push 0
lea eax, [ebp + 8]
mov dword [ebp + 8], 0x200
push eax
lea eax, [edi + 0xb10]
push eax
push str.CustomizedScancodeMapping
lea ecx, [ebp - 0x58]
call fcn.004bb340
push 0
push 0
lea eax, [ebp + 8]
mov dword [ebp + 8], 0x200
push eax
lea eax, [edi + 0x504]
push eax
push str.LEDFadingOutSetting
lea ecx, [ebp - 0x58]
call fcn.004bb340
cmp dword [esi], 2
jne 0x424f0b
mov ecx, edi
call fcn.0042f700
push 0
mov ecx, edi
call fcn.0042ea80
mov ecx, edi
call fcn.00427430
test eax, eax
je 0x424f1d
mov ecx, edi
call fcn.00419560
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
push 0x512bf0
push str.SoftwareSynapticsSynTPEnhZoneConfig
call fcn.004225d0
test eax, eax
je 0x424f5a
push dword [ebp - 0x24]
lea eax, [ebp - 0x58]
mov ecx, edi
push 0xc
push eax
call fcn.00419ae0
test eax, eax
jne 0x424f54
push str.Failed_to_init_Controlbar_slider0_zone__n
jmp 0x425012
mov dword [edi + 0xad0], eax
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
push str.Extended_Slider0_Zone
push str.SoftwareSynapticsSynTPEnhZoneConfig
call fcn.004225d0
test eax, eax
je 0x424fda
push dword [ebp - 0x24]
lea eax, [ebp - 0x58]
mov ecx, edi
push 0x22
push eax
call fcn.00419ae0
mov esi, eax
test esi, esi
jne 0x424f93
push str.Failed_to_init_Controlbar_extended_slider0_zone__n
jmp 0x425012
cmp dword [edi + 0xad0], 0
je 0x424fda
push 0
push 0
mov ecx, esi
call fcn.0049ece0
test al, 0x40
je 0x424fda
mov ecx, dword [edi + 0xad0]
push 0
push 0
call fcn.0049ece0
test al, 0x40
je 0x424fda
mov eax, dword [edi + 0xad0]
mov dword [edi + 0xa70], eax
mov dword [edi + 0xa74], esi
mov dword [edi + 0xa78], 1
lea eax, [ebp - 0x24]
mov ecx, edi
push eax
push 0x512c30
push str.SoftwareSynapticsSynTPEnhZoneConfig
call fcn.004225d0
test eax, eax
je 0x425042
push dword [ebp - 0x24]
lea eax, [ebp - 0x58]
mov ecx, edi
push 0xd
push eax
call fcn.00419ae0
mov dword [edi + 0xad4], eax
test eax, eax
jne 0x425042
push str.Failed_to_init_ControlBar_slider1_zone__n
push 0
push str.CManagedPointingDevice::Init
call fcn.004cb3a0
add esp, 0xc
lea ecx, [ebp - 0xc8]
xor esi, esi
call fcn.0041d740
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
call fcn.004b93f0
jmp 0x425900
push 0
lea eax, [edi + 0x78c]
push eax
push eax
push str.IlluminationEnabled
lea ecx, [ebp - 0x58]
call fcn.004baa70
push 0
lea eax, [edi + 0x7a4]
push eax
push eax
push str.IlluminationScaleParam
lea ecx, [ebp - 0x58]
call fcn.004baa70
mov ecx, edi
call fcn.0042b6d0
push 0
lea ebx, [edi + 0x794]
push ebx
push ebx
push str.IlluminationInactiveState
lea ecx, [ebp - 0x58]
call fcn.004baa70
push 0
lea esi, [edi + 0x798]
push esi
push esi
push str.IlluminationActiveState
lea ecx, [ebp - 0x58]
call fcn.004baa70
push dword [esi]
mov ecx, edi
push 1
call fcn.0042b790
push dword [ebx]
mov ecx, edi
push 0
call fcn.0042b790
xor eax, eax
lea ecx, [ebp - 0xa4]
push eax
mov word [ebp - 0x36c], ax
call fcn.004b90e0
push 0
push dword [ebp - 0xc4]
lea ecx, [ebp - 0x36c]
mov byte [ebp - 4], 0x1d
push str.SoftwareSynapticsSynTPEnhZoneConfig
call fcn.004097a0
push 0
push 0
push 0
lea eax, [ebp - 0x36c]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0xa4]
call fcn.004bcca0
test eax, eax
jne 0x425141
push eax
push dword [ebp - 0xb8]
lea ecx, [ebp - 0x36c]
push str.SoftwareSynapticsSynTPEnhZoneConfig
call fcn.004097a0
push 0
push 0
push 0
lea eax, [ebp - 0x36c]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
lea ecx, [ebp - 0xa4]
call fcn.004bcca0
xor eax, eax
lea ecx, [ebp - 0xa0]
mov word [ebp - 0x164], ax
xor ebx, ebx
call fcn.00401800
push 0x40
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xa0]
call fcn.004cbb30
test eax, eax
je 0x425286
jmp 0x425180
cmp word [ebp - 0x164], 0
je 0x42526a
lea eax, [ebp - 0x164]
push 0x512ca0
push eax
call fcn.004d299d
add esp, 8
test eax, eax
je 0x42526a
push 0x278
call fcn.004cf48e
add esp, 4
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x1e
test eax, eax
je 0x4251d9
push 2
push 9
lea ecx, [ebp - 0x164]
push ecx
push edi
mov ecx, eax
call fcn.00412f40
mov esi, eax
jmp 0x4251db
xor esi, esi
mov byte [ebp - 4], 0x1d
test esi, esi
je 0x425338
push esi
push 0
lea ecx, [edi + 4]
call fcn.00428970
test eax, eax
je 0x425338
mov eax, dword [esi]
mov ecx, esi
push 0x18
call dword [eax + 0x7c]
test eax, eax
je 0x425338
lea eax, [ebp - 0x58]
push eax
push 9
push 0
push 0
push 0
push dword [edi + 0x798]
push dword [edi + 0x794]
push 0
push 0
push 1
push 0xfff
push 1
push 0
push 1
push 0xfff
push 1
push 0
sub esp, 0x1c
mov eax, esp
push 0x18
push eax
call fcn.0049fbc0
add esp, 8
mov ecx, esi
call fcn.00413ab0
test eax, eax
je 0x425338
mov dword [esi + 0x264], ebx
inc ebx
mov dword [esi + 0x20], 0x18
push 0x40
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0xa0]
call fcn.004cbb30
test eax, eax
jne 0x425180
cmp dword [edi + 0x714], 0
jne 0x42529f
cmp dword [edi + 0x78c], 0
je 0x42529f
mov ecx, edi
call fcn.0042b5d0
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x1b
call fcn.004b93f0
lea ebx, [edi + 0x30]
mov ecx, ebx
call fcn.00427c40
test al, al
je 0x4254a1
cmp dword [edi + 0xa24], 0
je 0x4254a1
cmp dword [edi + 0xa34], 0
jne 0x4252ed
push 0x604
push str.CManagedPointingDevice.cpp
push str.m_bHasPacketGroupProcessing
call fcn.004904e0
add esp, 0xc
push 3
push 0x2c
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x425385
push str.Failed_to_init_2F_Slider_Pinch_zone__n
push eax
push str.CManagedPointingDevice::Init
call fcn.004cb3a0
add esp, 0xc
lea ecx, [ebp - 0xc8]
xor esi, esi
call fcn.0041d740
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
call fcn.004b93f0
jmp 0x425900
test byte [0x652fc0], 2
je 0x425355
push 0x514474
push 2
push str.CManagedPointingDevice::Init
call fcn.004cb3a0
add esp, 0xc
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x1b
call fcn.004b93f0
lea ecx, [ebp - 0xc8]
xor esi, esi
call fcn.0041d740
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
call fcn.004b93f0
jmp 0x425900
push 3
push 0x2d
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x4253cc
push str.Failed_to_init_Left_Finger_Slider_Pinch_zone__n
push eax
push str.CManagedPointingDevice::Init
call fcn.004cb3a0
add esp, 0xc
lea ecx, [ebp - 0xc8]
xor esi, esi
call fcn.0041d740
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
call fcn.004b93f0
jmp 0x425900
push 3
push 0x2e
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x425413
push str.Failed_to_init_Right_Finger_Slider_Pinch_zone__n
push eax
push str.CManagedPointingDevice::Init
call fcn.004cb3a0
add esp, 0xc
lea ecx, [ebp - 0xc8]
xor esi, esi
call fcn.0041d740
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
call fcn.004b93f0
jmp 0x425900
push 0xd
push 0x2f
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x42545a
push str.Failed_to_init_One_Finger_Slider_zone__n
push eax
push str.CManagedPointingDevice::Init
call fcn.004cb3a0
add esp, 0xc
lea ecx, [ebp - 0xc8]
xor esi, esi
call fcn.0041d740
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
call fcn.004b93f0
jmp 0x425900
push 0xd
push 0x30
lea eax, [ebp - 0x58]
mov ecx, edi
push eax
call fcn.00419ae0
test eax, eax
jne 0x4254a1
push str.Failed_to_init_One_Finger_Slider_Flick_zone__n
push eax
push str.CManagedPointingDevice::Init
call fcn.004cb3a0
add esp, 0xc
lea ecx, [ebp - 0xc8]
xor esi, esi
call fcn.0041d740
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
call fcn.004b93f0
jmp 0x425900
mov ecx, ebx
call fcn.00406080
test al, al
jne 0x4254bb
mov ecx, ebx
call fcn.00427c40
test al, al
je 0x4256be
cmp dword [edi + 0xa2c], 0
jne 0x4254d1
cmp dword [edi + 0xa24], 0
je 0x4256be
push 0
lea eax, [edi + 0xd34]
push eax
push eax
push str.FastFingerGestureSwitch
lea ecx, [ebp - 0x58]
call fcn.004baa70
push 0
lea eax, [edi + 0xd9c]
push eax
push eax
push str.IgnoreMFTapWhenCoasting
lea ecx, [ebp - 0x58]
call fcn.004baa70
lea eax, [edi + 0xd4c]
lea ecx, [ebp - 0x58]
mov dword [eax], 0x19
push 0
push eax
push eax
push str.FingersMovedTogetherAngle
call fcn.004baa70
push 0
lea eax, [ebp + 8]
mov dword [ebp + 8], 0xa
push eax
lea eax, [ebp - 0x14]
push eax
push str.FingerMotionEpsilon
lea ecx, [ebp - 0x84]
call fcn.004cbcf0
mov eax, dword [ebp - 0x14]
lea ecx, [edi + 0x34]
push 0x10000113
mov dword [edi + 0x9d0], eax
call fcn.004052e0
mov ecx, eax
mov eax, 0x10624dd3
imul ecx, dword [edi + 0x9d0]
push 0x10000114
mul ecx
lea ecx, [edi + 0x34]
shr edx, 6
mov dword [edi + 0x9c8], edx
call fcn.004052e0
mov ecx, eax
mov dword [ebp + 8], 0x12c
imul ecx, dword [edi + 0x9d0]
mov eax, 0x10624dd3
push 0
mul ecx
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x1c]
shr edx, 6
push eax
push str.MinStrokeQDistance
lea ecx, [ebp - 0x84]
mov dword [edi + 0x9cc], edx
call fcn.004cbcf0
mov eax, dword [ebp - 0x1c]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
addsd xmm0, qword [eax*8 + 0x50def0]
divsd xmm0, qword [ebp - 0xac]
movsd qword [edi + 0x9c0], xmm0
test byte [0x652fc0], 4
je 0x4255ff
sub esp, 8
movsd qword [esp], xmm0
push str.Min_Stroke_Qual_Distance:__.4f_n
push 3
push str.CManagedPointingDevice::Init
call fcn.004cb3a0
add esp, 0x14
push 0
lea eax, [ebp + 8]
mov dword [ebp + 8], 0xc8
push eax
lea eax, [ebp - 0x14]
push eax
push str.3FingerPressMaxMotion
lea ecx, [ebp - 0x84]
call fcn.004cbcf0
push 0x10000113
lea ecx, [edi + 0x34]
call fcn.004052e0
mov ecx, eax
mov eax, 0x10624dd3
imul ecx, dword [ebp - 0x14]
push 0x10000114
mul ecx
lea ecx, [edi + 0x34]
shr edx, 6
mov dword [edi + 0x9d4], edx
call fcn.004052e0
mov ecx, eax
mov dword [ebp + 8], 0x1f4
imul ecx, dword [ebp - 0x14]
mov eax, 0x10624dd3
push 0
mul ecx
lea eax, [ebp + 8]
push eax
lea eax, [ebp - 0x1c]
shr edx, 6
push eax
push str.3FingerPressMinTime
lea ecx, [ebp - 0x84]
mov dword [edi + 0x9d8], edx
call fcn.004cbcf0
mov eax, dword [ebp - 0x1c]
lea ecx, [ebp - 0x58]
push 0
mov dword [edi + 0x9dc], eax
lea eax, [edi + 0xd28]
push eax
push eax
push str.RestrictTo2FVerticalScroll
call fcn.004baa70
push 0
lea eax, [edi + 0xd2c]
push eax
push eax
push str.CancelScrollAfter1FLeaves
lea ecx, [ebp - 0x58]
call fcn.004baa70
mov ecx, edi
call fcn.004302a0
test eax, eax
jne 0x425707
test byte [0x652fc0], 1
je 0x4256e6
push str.Feed_cannot_be_started_n
push 1
push str.CManagedPointingDevice::Init
call fcn.004cb3a0
add esp, 0xc
lea ecx, [ebp - 0xc8]
xor esi, esi
call fcn.0041d740
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
call fcn.004b93f0
jmp 0x425900
push 0x14
call fcn.004cf48e
add esp, 4
mov dword [ebp + 8], eax
mov byte [ebp - 4], 0x1f
test eax, eax
je 0x425726
push edi
mov ecx, eax
call fcn.004c42a0
jmp 0x425728
xor eax, eax
mov ecx, ebx
mov byte [ebp - 4], 0x1b
mov dword [edi + 0xdcc], eax
call fcn.00406080
test al, al
je 0x42583c
cmp dword [0x658600], 0
je 0x42583c
push 0
push 0
push str.SoftwareMicrosoftWindowsCurrentVersionPrecisionTouchPadStatus
push SysReAllocString
lea ecx, [ebp - 0xa4]
call fcn.004b9150
push 0
lea eax, [ebp + 8]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x14]
mov dword [ebp + 8], 1
push eax
push str.Enabled
lea ecx, [ebp - 0xa0]
call fcn.004cbcf0
xor ebx, ebx
cmp dword [ebp - 0x14], ebx
setne bl
test byte [0x652fc0], 2
je 0x4257b9
xor eax, eax
test ebx, ebx
sete al
push eax
push str._nPTP_Device_Disabled:__d_n
push 2
push str.CManagedPointingDevice::Init
call fcn.004cb3a0
add esp, 0x10
push 0x10002f0
lea ecx, [edi + 0x34]
call fcn.004052e0
cmp dword [0x658604], 0
je 0x42581b
test eax, eax
jne 0x42581b
mov edx, dword [edi + 0x34]
test edx, edx
jne 0x4257dd
lea edx, [edi + 0x40]
mov ecx, dword [edx]
xor eax, eax
test ebx, ebx
sete al
push eax
push 0x3000133
push edx
call dword [ecx + 0x18]
mov ecx, dword [edi + 0x34]
lea ebx, [edi + 0x30]
test ecx, ecx
jne 0x4257fd
lea ecx, [ebx + 0x10]
mov eax, dword [ecx]
push 0
push 0x100032d
push ecx
call dword [eax + 0x18]
push 0x1e1a
mov ecx, 0x6570a8
call fcn.00482b30
jmp 0x42582d
push 0x1d1a
mov ecx, 0x6570a8
call fcn.00482b30
mov ebx, dword [ebp - 0x60]
lea ecx, [ebp - 0xa4]
mov byte [ebp - 4], 0x1b
call fcn.004b93f0
mov edi, dword [ebx + 4]
test edi, edi
jne 0x425846
lea edi, [ebx + 0x10]
mov esi, dword [edi]
call fcn.004c91d0
push eax
push 0x10002ef
push edi
call dword [esi + 0x18]
test byte [0x652fc0], 4
je 0x425874
push str.SynTPEnh_Initialized__n
push 3
push str.CManagedPointingDevice::Init
call fcn.004cb3a0
add esp, 0xc
mov ecx, dword [ebx + 4]
test ecx, ecx
jne 0x42587e
lea ecx, [ebx + 0x10]
mov eax, dword [ecx]
push 1
push 0x10002e6
push ecx
call dword [eax + 0x18]
lea ecx, [ebp - 0xc8]
mov esi, 1
call fcn.0041d740
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
call fcn.004b93f0
jmp 0x425900
test byte [0x652fc0], 1
je 0x4258c9
push str.Failed_to_init_Stick_Scrolling_zone__n
push 1
push str.CManagedPointingDevice::Init
call fcn.004cb3a0
add esp, 0xc
lea ecx, [ebp - 0xe4]
mov byte [ebp - 4], 1
xor esi, esi
call fcn.004b93f0
jmp 0x425900
push str.Failed_to_init_CBDualMode_zone__n
jmp 0x4258ef
push str.Failed_to_init_tray_zone__n
jmp 0x4258ef
push str.Failed_to_init_plugin_zone__n
push 0
push str.CManagedPointingDevice::Init
call fcn.004cb3a0
add esp, 0xc
xor esi, esi
lea ecx, [ebp - 0x88]
mov byte [ebp - 4], 0
call fcn.004b93f0
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x58], vtable.CMultiLevelRegistryKey.0
call fcn.00402cb0
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4