Function at 0x1400017f0
Capabilities:
Log keystrokes via polling

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r14
sub rsp, 0x90
mov eax, dword [rcx + 0x20]
mov rbp, rdx
movaps xmmword [rsp + 0x60], xmm8
mov rsi, rcx
movaps xmmword [rsp + 0x50], xmm9
mov r14d, 1
test eax, eax
jne 0x14000182e
xor ebx, ebx
jmp 0x14000183c
mov ebx, dword [rsp + 0xb0]
cmp eax, r14d
cmove ebx, r14d
mov rax, qword gs:[0x58]
mov r12d, 4
movaps xmmword [rsp + 0x80], xmm6
mov rdi, qword [rax]
mov eax, dword [r12 + rdi]
cmp dword [0x140065e20], eax
jle 0x1400018b2
lea rcx, [0x140065e20]
call fcn.140052ec0
cmp dword [0x140065e20], 0xffffffff
jne 0x1400018b2
mov ecx, r14d
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, [0x140065e20]
movss dword [0x140065e2c], xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x140065e28], xmm0
call fcn.140052e54
mov r9d, ebx
lea rdx, [rsp + 0x30]
mov r8, rbp
call fcn.140052990
mov eax, dword [r12 + rdi]
cmp dword [0x140065e20], eax
jle 0x14000191e
lea rcx, [0x140065e20]
call fcn.140052ec0
cmp dword [0x140065e20], 0xffffffff
jne 0x14000191e
mov ecx, r14d
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, [0x140065e20]
movss dword [0x140065e2c], xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x140065e28], xmm0
call fcn.140052e54
movsd xmm0, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov eax, dword [rsp + 0x38]
lea rdx, [rsp + 0xb0]
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
call fcn.140052ad0
movss xmm9, dword [rsp + 0xb0]
xorps xmm0, xmm0
ucomiss xmm9, xmm0
movss xmm8, dword [rsp + 0xb4]
jp 0x14000196f
jne 0x14000196f
ucomiss xmm8, xmm0
jp 0x14000196f
je 0x140001a7e
xor ecx, ecx
movaps xmmword [rsp + 0x70], xmm7
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
mov ecx, r14d
sub eax, edx
sar eax, 1
mov ebx, 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 [0x14005c220]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [0x14005c220]
movaps xmm7, xmm0
movd xmm2, ebx
cvtdq2pd xmm2, xmm2
cvtps2pd xmm0, xmm9
subsd xmm0, xmm2
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
addsd xmm7, xmm0
xorps xmm1, xmm1
xorps xmm0, xmm0
cvtsd2ss xmm0, xmm7
movaps xmm7, xmmword [rsp + 0x70]
ucomiss xmm1, xmm0
ja 0x1400019ee
sqrtss xmm0, xmm0
jmp 0x1400019f3
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movd xmm1, dword [rsi]
cvtdq2ps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x140001a7e
mov eax, dword [r12 + rdi]
cmp dword [0x140065b80], eax
jle 0x140001a36
lea rcx, [0x140065b80]
call fcn.140052ec0
cmp dword [0x140065b80], 0xffffffff
jne 0x140001a36
lea rcx, [0x140065b80]
mov dword [0x140065b78], 0
call fcn.140052e54
mov ecx, dword [0x140065b7c]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x140001a7e
movd xmm0, ebp
xor r9d, r9d
movd xmm1, ebx
mov ecx, r14d
cvtdq2ps xmm0, xmm0
mov qword [rsp + 0x20], 0
cvtdq2ps xmm1, xmm1
subss xmm8, xmm0
subss xmm9, xmm1
cvttss2si r8, xmm8
cvttss2si rdx, xmm9
call qword [sym.imp.USER32.dll_mouse_event]
movaps xmm6, xmmword [rsp + 0x80]
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x28]
mov rbp, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
mov rsp, r11
pop r14
pop r12
pop rdi
ret