Function at 0x140001000
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
push rbp
lea rbp, [r11 - 0x5f]
sub rsp, 0xa0
mov rax, qword [0x1401a8040]
xor rax, rsp
mov qword [rbp + 0x2f], rax
cmp byte [0x1401a8288], 0
je 0x14000188d
mov rcx, qword [0x1401a88e0]
lea rdx, [0x1401a8288]
movss xmm1, dword [0x1401a82b4]
mov r8d, 0x12a
movss xmm0, dword [0x1401a82b0]
unpcklps xmm0, xmm1
xorps xmm1, xmm1
mov eax, dword [rcx + 0x1dc0]
movsd qword [rcx + 0x1dd4], xmm0
or eax, 1
mov dword [rcx + 0x1dc0], eax
or eax, 0x42
mov dword [rcx + 0x1dc4], 2
mov byte [rcx + 0x1dfc], 1
mov qword [r11 + 0x10], rsi
movaps xmmword [r11 - 0x18], xmm6
movaps xmmword [r11 - 0x28], xmm7
xorps xmm7, xmm7
unpcklps xmm1, xmm7
movsd qword [rcx + 0x1ddc], xmm1
movss xmm0, dword [0x1401a82b8]
movss xmm1, dword [0x1401a82bc]
movss dword [rcx + 0x1de4], xmm0
movss dword [rcx + 0x1de8], xmm1
mov dword [rcx + 0x1dc0], eax
mov dword [rcx + 0x1dc8], 1
mov dword [rcx + 0x1e20], 0x3f800000
lea rcx, [0x140172690]
call fcn.14000f9f0
mov rcx, qword [0x1401a88e0]
lea rdx, str.buttons
mov dword [rbp - 9], 0x42c80000
mov dword [rbp - 5], 0x43848000
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rcx, qword [rcx + 0x1d18]
call fcn.140006a10
xor esi, esi
lea r8, [rbp - 9]
mov edx, eax
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea rcx, str.buttons
call fcn.14000c810
mov rcx, qword [0x1401a88e0]
lea rdx, [rbp - 9]
movss xmm6, dword [0x14019f324]
mov dword [rbp - 9], 0x42700000
mov dword [rbp - 5], 0x42700000
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
movss xmm0, dword [rax + 0x130]
movss xmm1, dword [rax + 0x50]
subss xmm1, dword [rax + 0x9c]
addss xmm1, xmm6
movss dword [rax + 0x118], xmm1
maxss xmm0, xmm1
movss dword [rax + 0x130], xmm0
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
lea rcx, str.__n_n___n_1
movss xmm0, dword [rax + 0x134]
movss xmm1, dword [rax + 0x54]
subss xmm1, dword [rax + 0xa0]
addss xmm1, dword [0x14019f334]
maxss xmm0, xmm1
movss dword [rax + 0x11c], xmm1
movss dword [rax + 0x134], xmm0
call fcn.1400457c0
test al, al
je 0x1400011f1
mov dword [0x1401a828c], esi
mov rcx, qword [0x1401a88e0]
lea rdx, [rbp - 9]
mov dword [rbp - 9], 0x42700000
mov dword [rbp - 5], 0x42700000
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
lea rcx, str.__n_n____n_2
movss xmm0, dword [rax + 0x130]
movss xmm1, dword [rax + 0x50]
subss xmm1, dword [rax + 0x9c]
addss xmm1, xmm6
maxss xmm0, xmm1
movss dword [rax + 0x118], xmm1
movss dword [rax + 0x130], xmm0
call fcn.1400457c0
test al, al
je 0x140001266
mov dword [0x1401a828c], 1
mov rcx, qword [0x1401a88e0]
lea rdx, [rbp - 9]
mov dword [rbp - 9], 0x42700000
mov dword [rbp - 5], 0x42700000
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
lea rcx, str.__n_n___n_3
movss xmm0, dword [rax + 0x130]
movss xmm1, dword [rax + 0x50]
subss xmm1, dword [rax + 0x9c]
addss xmm1, xmm6
maxss xmm0, xmm1
movss dword [rax + 0x118], xmm1
movss dword [rax + 0x130], xmm0
call fcn.1400457c0
test al, al
je 0x1400012dc
mov qword [0x1401a828c], 2
call fcn.14000ca40
movss xmm1, dword [0x14019f3c0]
xorps xmm0, xmm0
call fcn.140014bf0
mov rcx, qword [0x1401a88e0]
lea rdx, str.pages
mov dword [rbp - 9], 0x43be0000
mov dword [rbp - 5], 0x43848000
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
movss xmm0, dword [rax + 0x130]
movss xmm1, dword [rax + 0x50]
subss xmm1, dword [rax + 0x9c]
addss xmm1, dword [0x14019f350]
movss dword [rax + 0x118], xmm1
maxss xmm0, xmm1
movss dword [rax + 0x130], xmm0
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rcx, qword [rcx + 0x1d18]
call fcn.140006a10
mov edx, eax
mov dword [rsp + 0x20], esi
xor r9d, r9d
lea r8, [rbp - 9]
lea rcx, str.pages
call fcn.14000c810
cmp dword [0x1401a828c], esi
movss xmm6, dword [0x14019f2fc]
movaps xmm7, xmmword [rsp + 0x80]
jne 0x14000171a
mov rcx, qword [0x1401a88e0]
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
movss xmm0, dword [rax + 0x130]
movss xmm1, dword [rax + 0x50]
subss xmm1, dword [rax + 0x9c]
addss xmm1, xmm6
movss dword [rax + 0x118], xmm1
maxss xmm0, xmm1
movss dword [rax + 0x130], xmm0
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
lea rcx, [0x140172640]
movss xmm0, dword [rax + 0x134]
movss xmm1, dword [rax + 0x54]
subss xmm1, dword [rax + 0xa0]
addss xmm1, xmm6
maxss xmm0, xmm1
movss dword [rax + 0x11c], xmm1
movss dword [rax + 0x134], xmm0
call fcn.140044ea0
mov rcx, qword [0x1401a88e0]
lea rdx, [0x1401a894c]
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
movss xmm0, dword [rax + 0x130]
movss xmm1, dword [rax + 0x50]
subss xmm1, dword [rax + 0x9c]
addss xmm1, xmm6
movss dword [rax + 0x118], xmm1
maxss xmm0, xmm1
movss dword [rax + 0x130], xmm0
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
lea rcx, str.Enable
movss xmm0, dword [rax + 0x134]
movss xmm1, dword [rax + 0x54]
subss xmm1, dword [rax + 0xa0]
addss xmm1, dword [0x14019f32c]
maxss xmm0, xmm1
movss dword [rax + 0x11c], xmm1
movss dword [rax + 0x134], xmm0
call fcn.140047070
mov rcx, qword [0x1401a88e0]
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
movss xmm0, dword [rax + 0x158]
addss xmm0, xmm6
movss dword [rax + 0x158], xmm0
addss xmm0, dword [rax + 0x50]
addss xmm0, dword [rax + 0x15c]
movss dword [rax + 0x118], xmm0
call fcn.140049600
lea rax, [rbp - 1]
mov dword [rbp - 1], 0x14
lea r9, [rbp - 9]
mov qword [rsp + 0x20], rax
lea r8, [0x1401a8954]
mov dword [rbp - 9], esi
lea rcx, str.Linear_Speed
call fcn.14004ac70
lea rax, [rbp - 9]
mov dword [rbp - 9], 0x14
lea r9, [rbp - 1]
mov qword [rsp + 0x20], rax
lea r8, [0x1401a8948]
mov dword [rbp - 1], esi
lea rcx, str.Jitter_Offset
call fcn.14004ac70
mov rcx, qword [0x1401a88e0]
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
movss xmm0, dword [rax + 0x158]
subss xmm0, dword [rcx + 0x16a0]
movss dword [rax + 0x158], xmm0
addss xmm0, dword [rax + 0x50]
addss xmm0, dword [rax + 0x15c]
movss dword [rax + 0x118], xmm0
cmp byte [0x1401a894c], sil
je 0x14000171a
mov eax, dword [0x1401a8950]
mov qword [rsp + 0xb0], rbx
test eax, eax
jne 0x140001651
mov ebx, dword [0x1401a8954]
lea ecx, [rax + 1]
mov dword [rbp + 7], esi
mov dword [rbp + 0x1b], 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140001712
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140001712
mov r8d, 0x28
mov dword [rbp + 0xf], esi
lea rdx, [rbp + 7]
mov dword [rbp + 0x13], ebx
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 0xa
call qword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x140001603
jmp 0x140001712
cmp eax, 1
jne 0x140001712
mov qword [rsp + 0xc0], rdi
mov ecx, eax
mov edi, dword [0x1401a8948]
mov dword [rbp + 7], esi
mov dword [rbp + 0x1b], eax
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000170a
nop
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x14000170a
mov ebx, edi
mov ecx, 2
neg ebx
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r8d, 0x28
mov dword [rbp + 0xf], edi
lea rdx, [rbp + 7]
mov dword [rbp + 0x13], edi
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 2
call qword [sym.imp.KERNEL32.dll_Sleep]
mov r8d, 0x28
mov dword [rbp + 0xf], ebx
lea rdx, [rbp + 7]
mov dword [rbp + 0x13], ebx
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov r8d, 0x28
mov qword [rbp + 0xf], rsi
lea rdx, [rbp + 7]
lea ecx, [r8 - 0x27]
call qword [sym.imp.USER32.dll_SendInput]
mov ecx, 1
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
js 0x140001680
mov rdi, qword [rsp + 0xc0]
mov rbx, qword [rsp + 0xb0]
cmp dword [0x1401a828c], 2
jne 0x140001873
mov rcx, qword [0x1401a88e0]
lea rdx, [rbp - 9]
mov qword [rbp - 9], rsi
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
movss xmm0, dword [rax + 0x130]
movss xmm1, dword [rax + 0x50]
subss xmm1, dword [rax + 0x9c]
addss xmm1, xmm6
movss dword [rax + 0x118], xmm1
maxss xmm0, xmm1
movss dword [rax + 0x130], xmm0
mov rax, qword [rcx + 0x1d18]
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
lea rcx, str.Colorssubpage
movss xmm0, dword [rax + 0x134]
movss xmm1, dword [rax + 0x54]
subss xmm1, dword [rax + 0xa0]
addss xmm1, xmm6
maxss xmm0, xmm1
movss dword [rax + 0x11c], xmm1
movss dword [rax + 0x134], xmm0
call fcn.1400457c0
test al, al
je 0x1400017d0
mov dword [0x1401a8290], esi
mov rcx, qword [0x1401a88e0]
mov rax, qword [rcx + 0x1d18]
cmp byte [rax + 0xd4], sil
jne 0x140001800
mov eax, dword [rax + 0x1f4]
neg eax
sbb ecx, ecx
add ecx, 6
call fcn.140047ee0
mov rcx, qword [0x1401a88e0]
cmp dword [0x1401a8290], esi
jne 0x140001873
mov rax, qword [rcx + 0x1d18]
lea rdx, [0x1401a8298]
xor r9d, r9d
mov r8d, 0x4000120
mov byte [rax + 0xd1], 1
mov rax, qword [rcx + 0x1d18]
lea rcx, str.Colors
movss xmm0, dword [rax + 0x130]
movss xmm1, dword [rax + 0x50]
subss xmm1, dword [rax + 0x9c]
addss xmm1, dword [0x14019f33c]
maxss xmm0, xmm1
movss dword [rax + 0x118], xmm1
movss dword [rax + 0x130], xmm0
call fcn.140052820
test al, al
je 0x140001873
call fcn.140001960
call fcn.14000ca40
call fcn.140012af0
movaps xmm6, xmmword [rsp + 0x90]
mov rsi, qword [rsp + 0xb8]
mov rcx, qword [rbp + 0x2f]
xor rcx, rsp
call fcn.14016fe30
add rsp, 0xa0
pop rbp
ret