Function at 0x14001a360
Capabilities:
Log keystrokes via polling

Disassembly:
mov r11, rsp
mov qword [r11 + 0x20], rbx
mov qword [r11 + 0x18], r8
push rdi
sub rsp, 0x80
movaps xmmword [rsp + 0x70], xmm6
movaps xmmword [r11 - 0x48], xmm9
mov rax, qword [0x14015c100]
xor rax, rsp
mov qword [rsp + 0x30], rax
mov rax, qword gs:[0x58]
mov rbx, r8
mov qword [r11 + 8], rsi
mov rdi, rcx
mov qword [r11 + 0x10], r14
mov r14d, 4
mov rsi, qword [rax]
mov eax, dword [r14 + rsi]
cmp dword [0x140181958], eax
jle 0x14001a3f4
lea rcx, [0x140181958]
call fcn.1400c68f8
cmp dword [0x140181958], 0xffffffff
jne 0x14001a3f4
mov rax, qword [0x140181018]
lea rcx, [0x140181958]
movsd xmm0, qword [rax + 0x3e20]
cvtpd2ps xmm0, xmm0
movss dword [0x140181980], xmm0
call fcn.1400c688c
movss xmm0, dword [0x140181980]
mov rax, qword [0x140181018]
cvtps2pd xmm0, xmm0
movsd xmm2, qword [rax + 0x3e20]
mov eax, dword [r14 + rsi]
movaps xmm1, xmm2
cmp dword [0x140181930], eax
subsd xmm1, xmm0
mov r14, qword [rsp + 0x98]
mov rsi, qword [rsp + 0x90]
cvtpd2ps xmm0, xmm2
cvtpd2ps xmm9, xmm1
movss dword [0x140181980], xmm0
jle 0x14001a479
lea rcx, [0x140181930]
call fcn.1400c68f8
cmp dword [0x140181930], 0xffffffff
jne 0x14001a479
lea rdx, [0x140114a04]
xor ecx, ecx
call qword [sym.imp.USER32.dll_FindWindowA]
lea rcx, [0x140181930]
mov qword [0x140181950], rax
call fcn.1400c688c
cmp qword [0x140181950], 0
xorps xmm6, xmm6
movaps xmmword [rsp + 0x60], xmm7
movaps xmmword [rsp + 0x50], xmm8
jne 0x14001a49a
xorps xmm7, xmm7
xorps xmm8, xmm8
jmp 0x14001a4cb
lea rcx, [rsp + 0x28]
call qword [sym.imp.USER32.dll_GetCursorPos]
mov rcx, qword [0x140181950]
lea rdx, [rsp + 0x28]
call qword [sym.imp.USER32.dll_ScreenToClient]
movd xmm7, dword [rsp + 0x28]
movd xmm8, dword [rsp + 0x2c]
cvtdq2ps xmm7, xmm7
cvtdq2ps xmm8, xmm8
mov ecx, 2
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x14001a6fa
cmp dword [rdi + 0x1a0], 2
lea rdx, [0x1401811a8]
movss xmm3, dword [0x14013baf0]
movss xmm0, dword [0x1401811a8]
mov dword [rsp + 0x20], 0
jne 0x14001a523
comiss xmm6, xmm0
lea rax, [rdi + 0x9c]
lea rcx, [rsp + 0x20]
cmovbe rcx, rdx
comiss xmm0, dword [rax]
cmova rcx, rax
jmp 0x14001a543
comiss xmm6, xmm0
lea rax, [rsp + 0x20]
mov dword [rsp + 0x28], 0x3f800000
lea rcx, [rsp + 0x28]
cmovbe rax, rdx
comiss xmm0, xmm3
cmovbe rcx, rax
cmp byte [0x140181006], 0
movss xmm2, dword [rcx]
movss dword [0x1401811a8], xmm2
je 0x14001a6fa
mov ecx, dword [rdi + 0x1a0]
test ecx, ecx
je 0x14001a6f0
sub ecx, 1
je 0x14001a63b
cmp ecx, 1
jne 0x14001a704
movss xmm1, dword [0x14013bc2c]
movaps xmm0, xmm2
addss xmm0, xmm2
subss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
mulss xmm1, xmm0
movss xmm0, dword [rsp + 0xa0]
subss xmm3, xmm1
mulss xmm0, xmm1
mulss xmm7, xmm3
mulss xmm8, xmm3
movss xmm3, dword [0x14013ba34]
addss xmm7, xmm0
movss xmm0, dword [rsp + 0xa4]
mulss xmm0, xmm1
movss xmm1, dword [0x140180f5c]
addss xmm1, xmm9
movss dword [rsp + 0x28], xmm7
addss xmm8, xmm0
comiss xmm1, xmm3
movss dword [rsp + 0x2c], xmm8
movss dword [0x140180f5c], xmm1
jb 0x14001a62c
nop dword [rax]
movss xmm0, dword [rdi + 0x98]
subss xmm1, xmm3
mulss xmm0, xmm3
comiss xmm1, xmm3
addss xmm0, xmm2
movss dword [0x1401811a8], xmm0
movaps xmm2, xmm0
jae 0x14001a600
movss dword [0x140180f5c], xmm1
mov r8, qword [rsp + 0x28]
call fcn.14001aaf0
jmp 0x14001a704
movss xmm1, dword [0x14013bc2c]
movaps xmm0, xmm2
addss xmm0, xmm2
subss xmm1, xmm0
movaps xmm0, xmm2
mulss xmm0, xmm2
mulss xmm1, xmm0
movss xmm0, dword [rsp + 0xa0]
subss xmm3, xmm1
mulss xmm0, xmm1
mulss xmm7, xmm3
mulss xmm8, xmm3
movss xmm3, dword [0x14013ba34]
addss xmm7, xmm0
movss xmm0, dword [rsp + 0xa4]
mulss xmm0, xmm1
movss xmm1, dword [0x140180fb0]
addss xmm1, xmm9
movss dword [rsp + 0x28], xmm7
addss xmm8, xmm0
comiss xmm1, xmm3
movss dword [rsp + 0x2c], xmm8
movss dword [0x140180fb0], xmm1
jb 0x14001a6e4
movsd xmm4, qword [0x14013baf8]
cvtps2pd xmm0, xmm2
subss xmm1, xmm3
addsd xmm0, xmm4
comiss xmm1, xmm3
cvtpd2ps xmm2, xmm0
jae 0x14001a6c0
movss dword [0x1401811a8], xmm2
movss dword [0x140180fb0], xmm1
mov r8, qword [rsp + 0x28]
call fcn.14001aaf0
jmp 0x14001a704
mov r8, rbx
call fcn.14001aaf0
jmp 0x14001a704
mov dword [0x1401811a8], 0
movaps xmm8, xmmword [rsp + 0x50]
movaps xmm7, xmmword [rsp + 0x60]
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
call fcn.1400c6580
mov rbx, qword [rsp + 0xa8]
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm9, xmmword [rsp + 0x40]
add rsp, 0x80
pop rdi
ret