Function at 0x463b60
Capabilities:
Create thread

Disassembly:
mov rax, rsp
sub rsp, 0xf8
mov qword [rsp + 0xb8], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rdi, rcx
lea rbx, [0x004eabc0]
mov qword [rsp + 0x60], rbx
lea rcx, [rax - 0x78]
call qword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
mov dword [rsp + 0x7c], 1
xor esi, esi
mov qword [rsp + 0x68], rsi
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x78], esi
lea rax, vtable.r.0
mov qword [rsp + 0x60], rax
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 1
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnh
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x60]
call fcn.00493570
test eax, eax
je 0x46413b
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 1
lea r9d, [rsi + 1]
lea r8, str.SoftwareSynapticsSynTPEnh
mov rdx, 0xffffffff80000001
lea rcx, [rsp + 0x60]
call fcn.00493570
test eax, eax
je 0x46413b
lea rcx, [rsp + 0x38]
call fcn.004926d0
nop
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPCpl
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x40]
call fcn.0049da30
test eax, eax
je 0x463c70
lea r8, [rdi + 0xda8]
mov qword [rsp + 0x20], rsi
mov r9, r8
lea rdx, str.UIStyle
lea rcx, [rsp + 0x40]
call fcn.0049d2a0
call fcn.0049de50
cmp eax, 9
jl 0x463cb4
lea rdx, [rdi + 0x1b8]
mov rcx, qword [rdi + 0x1b0]
call qword [sym.imp.USER32.dll_GetWindowThreadProcessId]
mov dword [rsp + 0x30], esi
lea rax, [rsp + 0x30]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
mov r9, rdi
lea r8, [0x00460fd0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rcx, rdi
call fcn.0045f4d0
mov r11, qword [rdi]
mov edx, 2
mov rcx, rdi
call qword [r11 + 0x10]
mov qword [rdi + 0xdc8], rax
test rax, rax
jne 0x463cf3
lea rcx, [rsp + 0x38]
call fcn.00490620
nop
lea rcx, [rsp + 0x60]
call fcn.00415fb0
xor eax, eax
jmp 0x4641d2
lea rcx, [rdi + 0x28]
call fcn.0045fc30
test eax, eax
jne 0x463d1c
lea rcx, [rsp + 0x38]
call fcn.00490620
nop
lea rcx, [rsp + 0x60]
call fcn.00415fb0
xor eax, eax
jmp 0x4641d2
mov rax, qword [rdi + 0x58]
test rax, rax
je 0x46411f
call rax
test eax, eax
je 0x46411f
mov rcx, rdi
call fcn.0045f0b0
mov rax, qword [rdi + 0x50]
test rax, rax
je 0x463d4e
mov edx, dword [rdi + 0x16c]
xor ecx, ecx
call rax
mov rax, qword [rdi + 0x30]
test rax, rax
je 0x464103
xor r8d, r8d
mov rdx, qword [rdi + 0x1b0]
lea rcx, str.SynTP
call rax
test eax, eax
je 0x464103
mov rax, qword [rdi + 0x100]
test rax, rax
je 0x463d84
call rax
lea rcx, [rdi + 0xe48]
call fcn.004254e0
test eax, eax
jne 0x463db0
lea rcx, [rsp + 0x38]
call fcn.00490620
nop
lea rcx, [rsp + 0x60]
call fcn.00415fb0
xor eax, eax
jmp 0x4641d2
lea rcx, [rdi + 0x3f0]
call fcn.00405dd0
test eax, eax
jne 0x463ddc
lea rcx, [rsp + 0x38]
call fcn.00490620
nop
lea rcx, [rsp + 0x60]
call fcn.00415fb0
xor eax, eax
jmp 0x4641d2
mov rax, qword [rdi]
mov edx, 3
mov rcx, rdi
call qword [rax + 0x10]
mov qword [rdi + 0xdd0], rax
test rax, rax
jne 0x463e12
lea rcx, [rsp + 0x38]
call fcn.00490620
nop
lea rcx, [rsp + 0x60]
call fcn.00415fb0
xor eax, eax
jmp 0x4641d2
mov rax, qword [rdi]
mov edx, 1
mov rcx, rdi
call qword [rax + 0x10]
mov qword [rdi + 0xde0], rax
test rax, rax
jne 0x463e48
lea rcx, [rsp + 0x38]
call fcn.00490620
nop
lea rcx, [rsp + 0x60]
call fcn.00415fb0
xor eax, eax
jmp 0x4641d2
mov rax, qword [rdi]
mov edx, 4
mov rcx, rdi
call qword [rax + 0x10]
mov qword [rdi + 0xdd8], rax
test rax, rax
jne 0x463e7e
lea rcx, [rsp + 0x38]
call fcn.00490620
nop
lea rcx, [rsp + 0x60]
call fcn.00415fb0
xor eax, eax
jmp 0x4641d2
call fcn.0049de50
cmp eax, 8
jne 0x463ef1
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnh
mov rdx, 0xffffffff80000001
lea rcx, [rsp + 0xc0]
call fcn.004905c0
nop
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x20], rsi
lea r9, [rsp + 0x30]
lea r8, [rsp + 0x30]
lea rdx, str.XP64VideoOn
lea rcx, [rsp + 0xc8]
call fcn.0049d2a0
mov r11d, esi
cmp dword [rsp + 0x30], esi
setne r11b
mov dword [rdi + 0xf20], r11d
lea rcx, [rsp + 0xc0]
call fcn.00490620
call fcn.0049ede0
mov rdx, rax
mov rcx, qword [rdi + 0xde0]
call fcn.00407b90
mov rdx, qword [rdi + 0xdd0]
mov rcx, qword [rdi + 0xdc8]
call fcn.00431570
test eax, eax
jne 0x463f38
lea rcx, [rsp + 0x38]
call fcn.00490620
nop
lea rcx, [rsp + 0x60]
call fcn.00415fb0
xor eax, eax
jmp 0x4641d2
cmp dword [rdi + 0xda8], 0x237c
jne 0x463f6c
mov rcx, rdi
call fcn.0045efa0
test eax, eax
jne 0x463f6c
lea rcx, [rsp + 0x38]
call fcn.00490620
nop
lea rcx, [rsp + 0x60]
call fcn.00415fb0
xor eax, eax
jmp 0x4641d2
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], esi
mov r9, rdi
lea r8, [0x00460620]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov edx, 1
mov rcx, rdi
call fcn.00463a50
cmp dword [rdi + 0xc], 0
je 0x463fc8
xor edx, edx
lea rcx, [rdi + 0xe48]
call fcn.0040d630
test rax, rax
je 0x463fc8
test byte [rdi + 0x18c], 1
je 0x463fc8
mov rcx, rdi
call fcn.00463970
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPTouchPadPS2
mov rdx, 0xffffffff80000001
lea rcx, [rsp + 0x40]
call fcn.0049da30
mov dword [rdi + 0x198], eax
mov rcx, rdi
call fcn.0045f710
test eax, eax
jne 0x46401a
lea r9, [0x0045f820]
mov edx, 0xfffe
lea r8d, [rax + 0x64]
mov rcx, qword [0x00526530]
call qword [sym.imp.USER32.dll_SetTimer]
mov dword [rdi + 0xe9c], esi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, str.SoftwareSynapticsSynTPEnh
mov rdx, 0xffffffff80000002
lea rcx, [rsp + 0x40]
call fcn.0049da30
test eax, eax
je 0x4640bf
mov qword [rsp + 0x20], rsi
lea r9, [rdi + 0xe9c]
lea r8, [rdi + 0xe9c]
lea rdx, str.MonitorScreenSaver
lea rcx, [rsp + 0x40]
call fcn.0049d2a0
test eax, eax
je 0x4640bf
cmp dword [rdi + 0xe9c], 0
je 0x4640bf
xor edx, edx
lea rcx, str.SynTPEnhWndClass
call qword [sym.imp.USER32.dll_FindWindowW]
mov rsi, rax
lea rcx, [rdi + 0xea0]
call fcn.0045eda0
lea rcx, [rdi + 0xea0]
call fcn.0045ee20
call fcn.0049e070
test eax, eax
je 0x4640bf
xor r9d, r9d
mov r8, rsi
xor edx, edx
lea rcx, str.SynSSHookRun.exe
call fcn.0049f3d0
call fcn.00442be0
cmp dword [rax + 4], 0
je 0x4640d7
call fcn.00442be0
mov rcx, rax
call fcn.0045dcf0
mov rcx, qword [rdi + 0xdd8]
call fcn.0046c740
nop
lea rcx, [rsp + 0x38]
call fcn.00490620
nop
lea rcx, [rsp + 0x60]
call fcn.00415fb0
mov eax, 1
jmp 0x4641d2
lea rcx, [rsp + 0x38]
call fcn.00490620
nop
lea rcx, [rsp + 0x60]
call fcn.00415fb0
xor eax, eax
jmp 0x4641d2
lea rcx, [rsp + 0x38]
call fcn.00490620
nop
lea rcx, [rsp + 0x60]
call fcn.00415fb0
xor eax, eax
jmp 0x4641d2
mov qword [rsp + 0x60], rbx
mov rbx, qword [rsp + 0x68]
test rbx, rbx
je 0x4641c2
nop
nop
test rbx, rbx
je 0x4641c2
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x464168
mov rax, qword [rbx + 8]
mov qword [rcx + 8], rax
jmp 0x464171
mov rax, qword [rbx + 8]
mov qword [rsp + 0x68], rax
mov rcx, qword [rbx + 8]
test rcx, rcx
je 0x464184
mov rax, qword [rbx + 0x10]
mov qword [rcx + 0x10], rax
jmp 0x46418d
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x70], rax
mov rdi, qword [rbx + 8]
cmp dword [rsp + 0x7c], 0
je 0x4641ad
mov rcx, qword [rbx]
test rcx, rcx
je 0x4641ad
mov rax, qword [rcx]
mov edx, 1
call qword [rax]
mov qword [rbx], rsi
mov rcx, rbx
call fcn.004a6f90
mov rbx, rdi
add dword [rsp + 0x78], 0xffffffff
test rdi, rdi
jne 0x464150
lea rcx, [rsp + 0x80]
call qword [sym.imp.KERNEL32.dll_DeleteCriticalSection]
xor eax, eax
mov rbx, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x118]
add rsp, 0xf8
ret