Function at 0x1400017f0
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rbp
push rsi
push rdi
push r14
sub rsp, 0xa0
movaps xmmword [rax - 0x28], xmm6
xor esi, esi
cmp dword [rcx + 0x20], esi
mov rbp, rdx
movaps xmmword [rax - 0x38], xmm7
mov rdi, rcx
movaps xmmword [rax - 0x48], xmm8
setne sil
movaps xmmword [rax - 0x58], xmm9
mov rax, qword gs:[0x58]
mov r14d, 4
mov rbx, qword [rax]
mov eax, dword [r14 + rbx]
cmp dword [0x14014f390], eax
jle 0x140001897
lea rcx, [0x14014f390]
call fcn.140051fc0
cmp dword [0x14014f390], 0xffffffff
jne 0x140001897
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xor ecx, ecx
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea rcx, [0x14014f390]
movss dword [0x14014f39c], xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x14014f398], xmm0
call fcn.140051f60
mov r9d, esi
lea rdx, [rsp + 0x30]
mov r8, rbp
call fcn.1400519b0
mov eax, dword [r14 + rbx]
cmp dword [0x14014f390], eax
jle 0x140001905
lea rcx, [0x14014f390]
call fcn.140051fc0
cmp dword [0x14014f390], 0xffffffff
jne 0x140001905
mov ecx, 1
call qword [sym.imp.USER32.dll_GetSystemMetrics]
xor ecx, ecx
movd xmm6, eax
cvtdq2ps xmm6, xmm6
call qword [sym.imp.USER32.dll_GetSystemMetrics]
lea rcx, [0x14014f390]
movss dword [0x14014f39c], xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x14014f398], xmm0
call fcn.140051f60
movsd xmm0, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov eax, dword [rsp + 0x38]
lea rdx, [rsp + 0xc0]
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
call fcn.140051af0
movss xmm9, dword [rsp + 0xc0]
xorps xmm7, xmm7
ucomiss xmm9, xmm7
movss xmm8, dword [rsp + 0xc4]
jp 0x140001956
jne 0x140001956
ucomiss xmm8, xmm7
jp 0x140001956
je 0x140001ac5
xor ecx, ecx
movaps xmmword [rsp + 0x50], xmm10
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
mov ecx, 1
sub eax, edx
sar eax, 1
mov esi, eax
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
sub eax, edx
sar eax, 1
cvtps2pd xmm0, xmm8
mov ebp, eax
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm1
movsd xmm1, qword [0x14005b200]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [0x14005b200]
movaps xmm10, xmm0
movd xmm2, esi
cvtdq2pd xmm2, xmm2
cvtps2pd xmm0, xmm9
subsd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm10, xmm0
xorps xmm1, xmm1
ucomisd xmm1, xmm10
ja 0x1400019d4
xorps xmm2, xmm2
sqrtsd xmm2, xmm10
jmp 0x1400019e0
movaps xmm0, xmm10
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrt
movaps xmm2, xmm0
mov eax, dword [rdi + 4]
xorps xmm6, xmm6
movaps xmm10, xmmword [rsp + 0x50]
test eax, eax
jle 0x140001a2f
ucomiss xmm9, xmm7
movd xmm1, eax
cvtdq2ps xmm1, xmm1
jp 0x1400019ff
je 0x140001a12
movd xmm0, esi
movaps xmm6, xmm9
cvtdq2ps xmm0, xmm0
subss xmm6, xmm0
divss xmm6, xmm1
ucomiss xmm8, xmm7
jp 0x140001a1a
je 0x140001a4d
movd xmm0, ebp
movaps xmm7, xmm8
cvtdq2ps xmm0, xmm0
subss xmm7, xmm0
divss xmm7, xmm1
jmp 0x140001a4d
movd xmm0, esi
movaps xmm6, xmm9
movd xmm1, ebp
movaps xmm7, xmm8
cvtdq2ps xmm0, xmm0
cvtdq2ps xmm1, xmm1
subss xmm6, xmm0
subss xmm7, xmm1
movd xmm0, dword [rdi]
cvtdq2pd xmm0, xmm0
comisd xmm0, xmm2
jbe 0x140001ac5
mov eax, dword [r14 + rbx]
cmp dword [0x14014f0f0], eax
jle 0x140001a92
lea rcx, [0x14014f0f0]
call fcn.140051fc0
cmp dword [0x14014f0f0], 0xffffffff
jne 0x140001a92
lea rcx, [0x14014f0f0]
mov dword [0x14014f0e8], 0
call fcn.140051f60
mov ecx, dword [0x14014f0ec]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
bt ax, 0xf
jae 0x140001ac5
xor r9d, r9d
mov qword [rsp + 0x20], 0
cvttss2si r8, xmm7
lea ecx, [r9 + 1]
cvttss2si rdx, xmm6
call qword [sym.imp.USER32.dll_mouse_event]
lea r11, [rsp + 0xa0]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r14
pop rdi
pop rsi
ret