Function at 0x1400a1fc0
Capabilities:
Create thread
Get session user name

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x728]
sub rsp, 0x828
mov qword [rbp + 0x40], 0xfffffffffffffffe
mov rbx, rcx
lea rcx, str.User32.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbx + 0x16f0], rax
mov rcx, rbx
call fcn.1400b2920
mov dword [rbx + 0x9c0], 2
xor edx, edx
lea rcx, [rbp + 0x78]
call fcn.1400f7980
nop
xor r12d, r12d
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnh
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x78]
call fcn.1400f7af0
test eax, eax
je 0x1400a208d
mov qword [rsp + 0x20], r12
lea r9, [rbx + 0x9c0]
lea r8, [rbx + 0x9c0]
lea rdx, str.UseSetProcessDPIAware
lea rcx, [rbp + 0x80]
call fcn.14011b090
test eax, eax
jne 0x1400a208d
test byte [0x1402d741c], 1
je 0x1400a208d
lea r8, str.Unable_to_open_registry_n
lea edx, [rax + 1]
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
lea rcx, [rbp + 0x80]
call fcn.14011aaf0
mov eax, dword [rbx + 0x9c0]
dec eax
cmp eax, 1
ja 0x1400a213a
cmp qword [rbx + 0x16f0], r12
je 0x1400a213a
mov ecx, SafeArrayAllocDescriptor
call fcn.1400b8340
test eax, eax
jne 0x1400a213a
test byte [0x1402d741c], 4
je 0x1400a20e4
lea r8, str.SetProcessDpiAwarenessContextHelper_failed_n
lea edx, [rax + 3]
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
mov ecx, dword [rbx + 0x9c0]
call fcn.1400b83f0
test eax, eax
jne 0x1400a213a
test byte [0x1402d741c], 4
je 0x1400a2112
lea r8, str.SetProcessDpiAwarenessHelper_failed_n
lea edx, [rax + 3]
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
call fcn.1400b82f0
test eax, eax
jne 0x1400a213a
test byte [0x1402d741c], 4
je 0x1400a213a
lea r8, str.SetProcessDPIAwareHelper_failed_n
lea edx, [rax + 3]
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
mov dword [rbp - 0x60], 8
mov dword [rbp - 0x5c], 0xff
lea rcx, [rbp - 0x60]
call qword [sym.imp.COMCTL32.dll_InitCommonControlsEx]
mov rcx, rbx
call fcn.1400a89f0
mov r15d, eax
mov rcx, rbx
call fcn.1400a34f0
mov dword [rsp + 0x20], r12d
mov r9d, 1
lea r8, str.SoftwareSynapticsSynTPEnhZoneConfig
mov rdx, 0xffffffff80000001
lea rcx, [rbp + 0xa8]
call fcn.1400f79f0
nop
mov dword [rbp + 0x778], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x778]
lea r8, [rbp + 0x788]
lea rdx, str.IsUsingZoneFlags
lea rcx, [rbp + 0xb0]
call fcn.14011b090
cmp dword [rbp + 0x788], 0
jne 0x1400a21e3
mov rcx, rbx
call fcn.1400b1a20
xor r9d, r9d
lea r8d, [r9 + 1]
lea rdx, str.IsUsingZoneFlags
lea rcx, [rbp + 0xb0]
call fcn.14011b6a0
lea rcx, [rbp + 0xb0]
call fcn.14011aaf0
lea r9, [0x140167e60]
lea r8, [0x1401853e4]
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.140117800
mov rdi, rax
mov qword [rbp + 0x778], rax
lea rcx, [0x1402d7030]
cmp rcx, rax
je 0x1400a222e
or r9, 0xffffffffffffffff
xor r8d, r8d
mov rdx, rax
call fcn.14000d1f0
nop
cmp qword [rdi + 0x18], 8
jb 0x1400a223d
mov rcx, qword [rdi]
call fcn.14011f898
mov qword [rdi + 0x18], 7
mov qword [rdi + 0x10], r12
mov word [rdi], r12w
call fcn.1400dc010
lea r13, vtable.CSynList_class_CRegistryKey_.0
mov qword [rsp + 0x50], r13
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [rsp + 0x6c], 1
mov qword [rsp + 0x58], r12
mov qword [rsp + 0x60], r12
mov dword [rsp + 0x68], r12d
lea rax, vtable.CMultiLevelRegistryKey.0
mov qword [rsp + 0x50], rax
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 1
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnh
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x50]
call fcn.1400f8130
test eax, eax
je 0x1400a340f
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], 1
mov r9d, 1
lea r8, str.SoftwareSynapticsSynTPEnh
mov rdx, 0xffffffff80000001
lea rcx, [rsp + 0x50]
call fcn.1400f8130
test eax, eax
je 0x1400a340f
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnh
mov rdx, 0xffffffff80000002
lea rcx, [rbp - 0x58]
call fcn.1400f79f0
nop
mov dword [rbp + 0x778], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x778]
lea r8, [rbp + 0x788]
lea rdx, str.ApplyPTPEnableDisable
lea rcx, [rbp - 0x50]
call fcn.14011b090
mov eax, r12d
cmp dword [rbp + 0x788], eax
setne al
mov dword [rbx + 0x17d8], eax
mov dword [rbp + 0x778], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x778]
lea r8, [rbp + 0x788]
lea rdx, str.DisableDeviceUntilSessionEnd
lea rcx, [rbp - 0x50]
call fcn.14011b090
mov eax, dword [rbp + 0x788]
mov dword [rbx + 0x17ec], eax
mov dword [rbp + 0x778], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x778]
lea r8, [rbp + 0x788]
lea rdx, str.IgnoreFirstTPOnOffOSDAfterSessionChange
lea rcx, [rbp - 0x50]
call fcn.14011b090
mov eax, r12d
cmp dword [rbp + 0x788], eax
setne al
mov dword [rbx + 0x9b4], eax
lea r8, [rbx + 0x9b8]
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea rdx, str.ChangeCursorIconDuringTPONOFF
lea rcx, [rbp - 0x50]
call fcn.14011b090
cmp dword [rbx + 0x9b4], 0
je 0x1400a23ec
mov dword [rbx + 0x17e4], r12d
lea r8, [rbx + 0x7d8]
mov qword [rsp + 0x20], r12
mov r9, r8
lea rdx, str.SwapLeftRightEdgePullZoneIfLanguageIsRTL
lea rcx, [rbp - 0x50]
call fcn.14011b090
mov dword [rbp + 0x778], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x778]
lea r8, [rbp + 0x788]
lea rdx, str.AutoRotationFlag
lea rcx, [rsp + 0x50]
call fcn.1400f8670
mov eax, dword [rbp + 0x788]
mov dword [rbx + 0x988], eax
lea r8, [rbx + 0x7d4]
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea rdx, str.RemoveWindowsCPLEntries
lea rcx, [rbp - 0x50]
call fcn.14011b090
mov dword [rsp + 0x44], 0x80
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x44]
lea r8, [rbx + 0x28]
lea rdx, str.WM_TOUCHPADON_OEMOSD_String
lea rcx, [rsp + 0x50]
call fcn.1400f8800
mov dword [rsp + 0x48], 0x80
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x48]
lea r8, [rbx + 0xa8]
lea rdx, str.WM_TOUCHPADOFF_OEMOSD_String
lea rcx, [rsp + 0x50]
call fcn.1400f8800
mov dword [rsp + 0x3c], 0x80
lea r8, [rbx + 0x128]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x3c]
lea rdx, str.OEM_OSD_ProgramWindow
lea rcx, [rsp + 0x50]
call fcn.1400f8800
mov dword [rsp + 0x34], 0x80
lea r8, [rbx + 0x1a8]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x34]
lea rdx, str.OEM_OSD_ProgramFilePath
lea rcx, [rsp + 0x50]
call fcn.1400f8800
mov dword [rsp + 0x38], 0x80
lea r8, [rbx + 0x3b0]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x38]
lea rdx, str.OEM_OSD_RegKeyPath
lea rcx, [rsp + 0x50]
call fcn.1400f8800
mov dword [rsp + 0x40], 0x80
lea r8, [rbx + 0x5b8]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], r12
lea r9, [rsp + 0x40]
lea rdx, str.OEM_OSD_RegValueName
lea rcx, [rsp + 0x50]
call fcn.1400f8800
mov qword [rsp + 0x20], r12
lea r9, [rbx + 0x7c0]
lea r8, [rbx + 0x7c0]
lea rdx, str.OEM_OSD_Program_NotRunInInit
lea rcx, [rsp + 0x50]
call fcn.1400f8670
cmp dword [rbx + 0x7c0], 0
je 0x1400a25ac
mov dword [rbx + 0x17e8], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbx + 0x7c4]
lea r8, [rbx + 0x7c4]
lea rdx, str.SendMsgOffOnToOEMOSD_Feature
lea rcx, [rsp + 0x50]
call fcn.1400f8670
mov eax, dword [0x1402d741c]
test al, 4
je 0x1400a2648
lea r9, [rbx + 0x28]
lea r8, str.m_szWM_TOUCHPADON_OEMOSD___s_n
mov edx, 3
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
mov eax, dword [0x1402d741c]
test al, 4
je 0x1400a2648
lea r9, [rbx + 0xa8]
lea r8, str.m_szWM_TOUCHPADOFF_OEMOSD___s_n
mov edx, 3
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
mov eax, dword [0x1402d741c]
test al, 4
je 0x1400a2648
mov r9d, dword [rbx + 0x7c4]
lea r8, str.m_dwSendMessageOffOnToOEMOSD___x_n
mov edx, 3
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
lea rcx, [rbx + 0x28]
call qword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov dword [rbx + 0x7c8], eax
lea rcx, [rbx + 0xa8]
call qword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov dword [rbx + 0x7cc], eax
mov eax, dword [0x1402d741c]
test al, 4
je 0x1400a26bd
mov r9d, dword [rbx + 0x7c8]
lea r8, str.m_dwWM_TOUCHPADON_OEMOSD___x_n
mov edx, 3
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
mov eax, dword [0x1402d741c]
test al, 4
je 0x1400a26bd
mov r9d, dword [rbx + 0x7cc]
lea r8, str.m_dwWM_TOUCHPADOFF_OEMOSD___x_n
mov edx, 3
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
xor edx, edx
lea rcx, [rbp + 0x10]
call fcn.1400f7980
nop
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPInstall
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x10]
call fcn.1400f7af0
test eax, eax
je 0x1400a274e
mov dword [rbp + 0x778], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x778]
lea r8, [rbp + 0x788]
lea rdx, str.SynHidMini
lea rcx, [rbp + 0x18]
call fcn.14011b090
cmp dword [rbp + 0x788], 0
je 0x1400a274e
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynHidMiniPortInstall
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x10]
call fcn.1400f7af0
mov dword [rbx + 0x17dc], eax
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPCpl
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x10]
call fcn.1400f7af0
test eax, eax
je 0x1400a27fb
lea r8, [rbx + 0x1690]
mov qword [rsp + 0x20], r12
mov r9, r8
lea rdx, str.UIStyle
lea rcx, [rbp + 0x18]
call fcn.14011b090
test eax, eax
jne 0x1400a27bc
test byte [0x1402d741c], 1
je 0x1400a27bc
lea r8, str.Unable_to_open_registry_n
lea edx, [rax + 1]
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
mov dword [rbp + 0x778], 1
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x778]
lea r8, [rbp + 0x788]
lea rdx, str.HidePTPModeSwitch
lea rcx, [rbp + 0x18]
call fcn.14011b090
mov eax, r12d
cmp dword [rbp + 0x788], eax
sete al
mov dword [rbx + 0x17f0], eax
mov dword [rbp + 0x770], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x770]
lea r8, [rbp + 0x770]
lea rdx, str.ScrollMethod
lea rcx, [rbp - 0x50]
call fcn.14011b090
mov eax, dword [rbp + 0x770]
mov dword [rbx + 0x169c], eax
lea r8, [rbx + 0x16a0]
mov qword [rsp + 0x20], r12
mov r9, r8
lea rdx, str.SynapticsScrollMethodSpeedFactor
lea rcx, [rbp - 0x50]
call fcn.14011b090
lea r8, [rbx + 0x9bc]
mov qword [rsp + 0x20], r12
mov r9, r8
lea rdx, str.AdjustPointingSpeedBaseOnDesktopRes
lea rcx, [rbp - 0x50]
call fcn.14011b090
xor ecx, ecx
call fcn.140116270
cmp eax, 9
jl 0x1400a29ae
lea rcx, str.DwmApi.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [rbx + 0x16f8], rax
test rax, rax
jne 0x1400a28c1
mov qword [rbx + 0x10], r12
mov qword [rbx + 0x18], r12
test byte [0x1402d741c], 2
je 0x1400a28ed
lea r8, str.Loading_DwmApi.dll_failed_n
lea edx, [rax + 2]
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
jmp 0x1400a28ed
lea rdx, str.DwmIsCompositionEnabled
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x10], rax
lea rdx, str.DwmGetWindowAttribute
mov rcx, qword [rbx + 0x16f8]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbx + 0x18], rax
lea rdx, [rbx + 0xa20]
mov rcx, qword [rbx + 0xa18]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [rbp + 0x778], r12d
lea rax, [rbp + 0x778]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
mov r9, rbx
lea r8, [0x1400b14e0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
lea rdx, [rbx + 0xa24]
mov ecx, dword [rbx + 0xa20]
call qword [sym.imp.KERNEL32.dll_ProcessIdToSessionId]
test byte [0x1402d741c], 2
je 0x1400a2972
mov eax, dword [rbx + 0xa24]
mov dword [rsp + 0x20], eax
mov r9d, dword [rbx + 0xa20]
lea r8, str.ProcessId_d__SessionId_d_n
mov edx, 2
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
xor r8d, r8d
mov edx, 0x201a
lea rcx, [0x1402dc840]
call fcn.1400ad170
test byte [0x1402d741c], 4
je 0x1400a29ae
mov r9d, dword [rbx + 0xa28]
lea r8, str.Enhancement_first_run_for_this_user_after_boot:__d_n
mov edx, 3
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
lea r8, [rbx + 0x17b4]
mov qword [rsp + 0x20], r12
mov r9, r8
lea rdx, str.SynTPEnhExePriorityLevel
lea rcx, [rbp - 0x50]
call fcn.14011b090
xor edx, edx
lea rcx, [rbp + 0x48]
call fcn.1400f7980
nop
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnhShortcutConfig
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x48]
call fcn.1400f7af0
test eax, eax
je 0x1400a2a42
mov eax, dword [rbx + 0x17e0]
mov dword [rbp + 0x778], eax
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x778]
lea r8, [rbp + 0x788]
lea rdx, str.ShowForcePadDesktopShortcut
lea rcx, [rbp + 0x50]
call fcn.14011b090
mov eax, r12d
cmp dword [rbp + 0x788], eax
setne al
mov dword [rbx + 0x17e0], eax
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, str.SoftwareSynapticsOEM
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x48]
call fcn.1400f7af0
test eax, eax
je 0x1400a2aab
mov eax, dword [rbx + 0x17e0]
mov dword [rbp + 0x778], eax
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x778]
lea r8, [rbp + 0x788]
lea rdx, str.ShowForcePadDesktopShortcut
lea rcx, [rbp + 0x50]
call fcn.14011b090
mov eax, r12d
cmp dword [rbp + 0x788], eax
setne al
mov dword [rbx + 0x17e0], eax
mov edx, 2
mov rcx, rbx
call fcn.1400b1cb0
lea rax, str.Debug
mov qword [rsp + 0x20], rax
lea r9, [0x1402d741c]
lea r8, [0x1402d741c]
lea rdx, str.Mask
lea rcx, [rsp + 0x50]
call fcn.1400f8670
mov rcx, rbx
call fcn.1400b35c0
xor ecx, ecx
call fcn.140116270
cmp eax, 0xa
je 0x1400a2b03
xor ecx, ecx
call fcn.140116270
cmp eax, 9
jne 0x1400a2b0a
xor ecx, ecx
call fcn.1401284ac
mov rax, qword [rbx]
mov edx, 2
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rbx + 0x16c0], rax
test rax, rax
jne 0x1400a2b3d
test byte [0x1402d741c], 1
je 0x1400a33ed
lea r8, str.Failed_to_get_plugin_action__n
jmp 0x1400a2d22
lea rdi, [rbx + 0x828]
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x18]
test eax, eax
jne 0x1400a2b5d
lea r8, str.Failed_to_load_API_dll__n
jmp 0x1400a33df
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x50]
test eax, eax
je 0x1400a33d8
test byte [0x1402d741c], 4
je 0x1400a2b92
mov r9d, eax
lea r8, str.call_m_cSynTPAPI.GetNumPlugIns___x_n
mov edx, 3
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
mov dword [rbp + 0x778], r12d
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x778]
lea r8, [rbp + 0x788]
lea rdx, str.DisplayRotationAngleFromSensorInfo
lea rcx, [rbp - 0x50]
call fcn.14011b090
mov eax, dword [rbp + 0x788]
mov dword [rbx + 0x980], eax
mov rcx, rbx
call fcn.1400a9210
mov rcx, rbx
call fcn.1400a96d0
test byte [0x1402d741c], 4
je 0x1400a2bf9
lea r8, str.SynTPEnh::Init:_will_call_m_cSynTPAPI.UpdateTPList_FALSE__n
mov edx, 3
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
mov rax, qword [rdi]
xor edx, edx
lea r8d, [rdx + 1]
mov rcx, rdi
call qword [rax + 0x48]
test eax, eax
jne 0x1400a2c21
lea r8, str.Failed_to_update_the_touchpad_list._Most_likely_causeis_that_one_or_more_plugins_is_configured_improperly._n
xor edx, edx
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
test byte [0x1402d741c], 4
je 0x1400a2c49
mov r9, qword [rbx + 0xa18]
lea r8, str.SynTPEnh::Init:_will_call_m_cSynTPAPI.RegisterPlugInT_SynTP___x__FALSE__n
mov edx, 3
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
mov rax, qword [rdi]
xor r9d, r9d
mov r8, qword [rbx + 0xa18]
lea rdx, [0x14016ecc8]
mov rcx, rdi
call qword [rax + 0x20]
test eax, eax
je 0x1400a33cf
mov eax, dword [0x1402d741c]
test al, 4
je 0x1400a2cb6
mov r9, qword [rbx + 0xa18]
lea r8, str.call_m_cSynTPAPI.RegisterPlugInT_SynTP___x__FALSE__OK_n
mov edx, 3
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
mov eax, dword [0x1402d741c]
test al, 4
je 0x1400a2cb6
lea r8, str.SynTPEnh::Init:_will_call_m_cSynTPAPI.StartPlugIns___n
mov edx, 3
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
mov rax, qword [rdi]
mov rcx, rdi
call qword [rax + 0x110]
test eax, eax
je 0x1400a2cdd
test byte [0x1402d741c], 4
je 0x1400a2cfe
lea r8, str.m_cSynTPAPI.StartPlugIns___OK_n
mov edx, 3
jmp 0x1400a2cf2
test byte [0x1402d741c], 1
je 0x1400a2cfe
lea r8, str.One_or_more_plugins_failed_to_start__oh_well__maybe_later._n
mov edx, 1
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
lea rcx, [rbx + 0x1888]
call fcn.1400366a0
test eax, eax
jne 0x1400a2d38
test byte [0x1402d741c], 1
je 0x1400a33ed
lea r8, str.Failed_to_init_action_list_or_touchpad_list_n
mov edx, 1
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
jmp 0x1400a33ed
mov rcx, rbx
call fcn.1400b3ff0
lea rcx, [rbx + 0xc68]
call fcn.14000db00
test eax, eax
jne 0x1400a2d66
test byte [0x1402d741c], 1
je 0x1400a33ed
lea r8, str.Failed_to_create_cursor_tracking_window__n
jmp 0x1400a2d22
mov rax, qword [rbx]
mov edx, 3
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rbx + 0x16c8], rax
test rax, rax
jne 0x1400a2d96
test byte [0x1402d741c], 1
je 0x1400a33ed
lea r8, str.Failed_to_get_scroll_action__n
jmp 0x1400a2d22
mov rax, qword [rbx]
mov edx, 1
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rbx + 0x16e0], rax
test rax, rax
jne 0x1400a2dc9
test byte [0x1402d741c], 1
je 0x1400a33ed
lea r8, str.Failed_to_get_frame_action__n
jmp 0x1400a2d22
mov rax, qword [rbx]
mov edx, reloc.OLEAUT32.dll_VariantTimeToDosDateTime
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rbx + 0x1700], rax
test rax, rax
jne 0x1400a2dfc
test byte [0x1402d741c], 1
je 0x1400a33ed
lea r8, str.Failed_to_get_touch_action__n
jmp 0x1400a2d22
mov rax, qword [rbx]
mov edx, 0xd
mov rcx, rbx
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov qword [rbx + 0x16e8], rax
test rax, rax
jne 0x1400a2e2f
test byte [0x1402d741c], 1
je 0x1400a33ed
lea r8, str.Failed_to_get_one_finger_touchbar_action__n
jmp 0x1400a2d22
xor ecx, ecx
call fcn.140116270
cmp eax, 8
jne 0x1400a2ea3
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnh
mov rdx, 0xffffffff80000001
lea rcx, [rbp - 0x20]
call fcn.1400f79f0
nop
mov dword [rbp + 0x778], 1
mov qword [rsp + 0x20], r12
lea r9, [rbp + 0x778]
lea r8, [rbp + 0x778]
lea rdx, str.XP64VideoOn
lea rcx, [rbp - 0x18]
call fcn.14011b090
mov eax, r12d
cmp dword [rbp + 0x778], eax
setne al
mov dword [rbx + 0x17c8], eax
lea rcx, [rbp - 0x20]
call fcn.1400f7a90
call fcn.140114a30
mov rdx, rax
mov rcx, qword [rbx + 0x16e0]
call fcn.140016a40
mov rdx, qword [rbx + 0x16c8]
mov rcx, qword [rbx + 0x16c0]
call fcn.1400521d0
test eax, eax
jne 0x1400a2eda
lea r8, str.Couldnt_init_plugin_action_n
jmp 0x1400a33df
mov eax, dword [rbx + 0x1690]
sub eax, 0x237c
cmp eax, 1
ja 0x1400a2f0f
mov rcx, rbx
call fcn.1400ad420
test eax, eax
jne 0x1400a2f0f
test byte [0x1402d741c], 1
je 0x1400a33ed
lea r8, str.Failed_to_initialize_IBM_feature._n
jmp 0x1400a2d22
lea rax, [rbp - 0x28]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], r12d
mov r9, rbx
lea r8, [0x1400b0fe0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
lea rcx, [rbx + 0x1888]
call fcn.140038530
mov edi, 1
xor ecx, ecx
call fcn.140116270
cmp eax, 0xd
jl 0x1400a2f88
cmp dword [rbx + 0x17f0], 0
je 0x1400a2f88
mov dword [rbp + 0x778], r12d
lea r8, [rbp + 0x778]
mov edx, 0x221a
mov rcx, rbx
call fcn.1400ad170
cmp dword [rbp + 0x778], 7
jne 0x1400a2f88
mov dword [rbx + 0x978], 7
mov edi, r12d
mov edx, edi
mov rcx, rbx
call fcn.1400adef0
test eax, eax
jne 0x1400a2fb5
test byte [0x1402d741c], 1
je 0x1400a2fb5
lea r8, str.Failed_to_load_user_config__n
lea edx, [rax + 1]
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
test byte [rbx + 0x17ec], 5
je 0x1400a2fdb
cmp dword [rbx + 0xa28], 0
je 0x1400a2fdb
mov edx, 1
mov r8d, edx
lea rcx, [0x1402de0c8]
call fcn.1400383d0
test r15d, r15d
je 0x1400a3095
cmp dword [rbx + 0x17f0], 0
je 0x1400a3095
lea rcx, [0x1402de0c8]
call fcn.1400386d0
mov rdi, rax
test rax, rax
je 0x1400a3095
mov rcx, qword [rax + 0x58]
cmp dword [rax + 0x118c], 0xffffffff
jne 0x1400a3020
test rcx, rcx
je 0x1400a3034
xor r8d, r8d
jmp 0x1400a3029
test rcx, rcx
je 0x1400a3034
or r8d, 0xffffffff
mov rax, qword [rcx]
mov edx, 0x10002f0
call qword [rax + 0x30]
mov rcx, qword [rbx + 0x16b0]
test rcx, rcx
jne 0x1400a3047
lea rcx, [rbx + 0x16b8]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x58]
mov rcx, qword [rdi + 0x58]
cmp dword [rdi + 0x118c], 0xffffffff
jne 0x1400a3067
test rcx, rcx
je 0x1400a307a
or r8d, 0xffffffff
jmp 0x1400a306f
test rcx, rcx
je 0x1400a307a
xor r8d, r8d
mov rax, qword [rcx]
mov edx, 0x10002f0
call qword [rax + 0x30]
mov rcx, qword [rbx + 0x16b0]
test rcx, rcx
jne 0x1400a308d
lea rcx, [rbx + 0x16b8]
mov rax, qword [rcx]
xor edx, edx
call qword [rax + 0x58]
cmp dword [rbx + 0x800], 0
je 0x1400a30c6
xor edx, edx
lea r8d, [rdx + 1]
lea rcx, [rbx + 0x1888]
call fcn.1400392c0
test rax, rax
je 0x1400a30c6
test byte [rbx + 0x9d8], 1
je 0x1400a30c6
mov rcx, rbx
call fcn.1400aeaf0
lea rcx, [0x1402de0c8]
call fcn.1400b6450
test rax, rax
je 0x1400a3106
test byte [rbx + 0x9dc], 1
je 0x1400a3106
lea rcx, [0x1402de0c8]
call fcn.1400b6450
mov rcx, rax
call fcn.1400b62b0
mov dword [rbx + 0x7f0], eax
test eax, eax
je 0x1400a3106
mov rcx, rbx
call fcn.1400aeb90
mov rcx, rbx
call fcn.1400b2d50
test eax, eax
jne 0x1400a312f
lea r9, [0x1400b29c0]
mov edx, 0xfffe
lea r8d, [rax + 0x64]
mov rcx, qword [0x1402dd258]
call qword [sym.imp.USER32.dll_SetTimer]
lea rdi, [rbx + 0x1740]
mov dword [rdi], r12d
mov dword [rsp + 0x28], r12d
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnh
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0x10]
call fcn.1400f7af0
test eax, eax
je 0x1400a31cb
mov qword [rsp + 0x20], r12
mov r9, rdi
mov r8, rdi
lea rdx, str.MonitorScreenSaver
lea rcx, [rbp + 0x18]
call fcn.14011b090
test eax, eax
je 0x1400a31cb
cmp dword [rdi], 0
je 0x1400a31cb
xor edx, edx
lea rcx, str.SynTPEnhWndClass
call qword [sym.imp.USER32.dll_FindWindowW]
mov r14, rax
lea rdi, [rbx + 0x1748]
mov rcx, rdi
call fcn.1400a1410
mov rcx, rdi
call fcn.1400a1490
call fcn.140117f10
test eax, eax
je 0x1400a31cb
xor r9d, r9d
mov r8, r14
xor edx, edx
lea rcx, str.SynSSHookRun.exe
call fcn.140119960
mov dword [rsp + 0x20], r12d
xor r9d, r9d
lea r8, str.SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem
mov rdx, 0xffffffff80000002
lea rcx, [rbp + 0xd8]
call fcn.1400f79f0
nop
mov eax, dword [rbx + 0x16a4]
mov dword [rbp + 0x780], eax
mov qword [rsp + 0x20], r12
xor r9d, r9d
lea r8, [rbp + 0x780]
lea rdx, str.EnableLUA
lea rcx, [rbp + 0xe0]
call fcn.14011b090
test eax, eax
je 0x1400a322c
mov eax, dword [rbp + 0x780]
mov dword [rbx + 0x16a4], eax
mov dword [rsp + 0x30], 0x101
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x110]
call qword [sym.imp.ADVAPI32.dll_GetUserNameW]
lea r9, [rbp + 0x110]
lea r8, str..pipe_s00781D6E_0417_44d2_8082_9257B2CA9E0A
mov edx, 0x200
lea rcx, [rbp + 0x320]
call fcn.1401216e0
lea r9, [0x140167e60]
lea r8, [0x1401853e4]
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.140117800
cmp qword [rax + 0x10], 0
setne dil
cmp qword [rbp - 8], 8
jb 0x1400a3297
mov rcx, qword [rbp - 0x20]
call fcn.14011f898
test dil, dil
je 0x1400a32f3
lea r9, [0x140167e60]
lea r8, [0x1401853e4]
xor edx, edx
lea rcx, [rbp - 0x20]
call fcn.140117800
cmp qword [rax + 0x18], 8
jb 0x1400a32bf
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x320]
lea r8, str._s_s
mov edx, 0x200
lea rcx, [rbp + 0x320]
call fcn.1401216e0
cmp qword [rbp - 8], 8
jb 0x1400a32f3
mov rcx, qword [rbp - 0x20]
call fcn.14011f898
mov edx, 0x3d
lea rcx, [rbp + 0x320]
call fcn.1400029d0
mov qword [rbx + 0x17d0], rax
test rax, rax
je 0x1400a331c
lea rdx, [rbx + 8]
mov rcx, rax
call fcn.140002780
lea rdx, [0x140165848]
lea rcx, [rbx + 0xa10]
call fcn.1400cf290
test eax, eax
js 0x1400a3346
mov rcx, qword [rbx + 0xa10]
test rcx, rcx
je 0x1400a3346
call fcn.1400cf660
jmp 0x1400a3367
test byte [0x1402d741c], 1
je 0x1400a3367
lea r8, str.Failed_to_create_the_WMI_event_object__n
mov edx, 1
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
call fcn.14006c740
cmp dword [rax + 4], 0
je 0x1400a337f
call fcn.14006c740
mov rcx, rax
call fcn.14009e0d0
lea rcx, [rbx + 0x1888]
call fcn.140036ee0
xor ecx, ecx
call fcn.140116270
cmp eax, 0xb
je 0x1400a33a3
xor ecx, ecx
call fcn.140116270
cmp eax, 0xc
jne 0x1400a33af
lea rcx, [rbx + 0x1888]
call fcn.1400387f0
mov edx, 1
mov rcx, rbx
call fcn.1400b0990
mov esi, 1
lea rcx, [rbp + 0xd8]
call fcn.1400f7a90
jmp 0x1400a33f0
lea r8, str.Failed_to_register_our_plugins__n
jmp 0x1400a33df
lea r8, str.Failed_to_init_plugin_list__n
xor edx, edx
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
mov esi, r12d
lea rcx, [rbp + 0x48]
call fcn.1400f7a90
nop
lea rcx, [rbp + 0x10]
call fcn.1400f7a90
nop
lea rcx, [rbp - 0x58]
call fcn.1400f7a90
jmp 0x1400a3433
test byte [0x1402d741c], 1
je 0x1400a3430
lea r8, str.Failed_to_init_registry_key__n
mov edx, 1
lea rcx, str.CSynTPEnh::Init
call fcn.14011a490
mov esi, r12d
mov qword [rsp + 0x50], r13
mov rbx, qword [rsp + 0x58]
test rbx, rbx
je 0x1400a34ab
test rbx, rbx
je 0x1400a34ab
mov rcx, qword [rbx + 0x10]
mov rax, qword [rbx + 8]
test rcx, rcx
je 0x1400a345a
mov qword [rcx + 8], rax
jmp 0x1400a345f
mov qword [rsp + 0x58], rax
mov rcx, qword [rbx + 8]
mov rax, qword [rbx + 0x10]
test rcx, rcx
je 0x1400a3472
mov qword [rcx + 0x10], rax
jmp 0x1400a3477
mov qword [rsp + 0x60], rax
mov rdi, qword [rbx + 8]
cmp dword [rsp + 0x6c], 0
je 0x1400a3497
mov rcx, qword [rbx]
test rcx, rcx
je 0x1400a3497
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rbx], r12
mov rcx, rbx
call fcn.14011f898
mov rbx, rdi
dec dword [rsp + 0x68]
test rdi, rdi
jne 0x1400a3442
lea rcx, [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
nop
lea rcx, [rbp + 0xa8]
call fcn.1400f7a90
nop
lea rcx, [rbp + 0x78]
call fcn.1400f7a90
mov eax, esi
add rsp, 0x828
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret