Function at 0x140002e10
Capabilities:
Log keystrokes via polling

Disassembly:
mov rax, rsp
push rbx
push rsi
push rdi
push r12
push r15
sub rsp, 0xa0
movaps xmmword [rax - 0x58], xmm8
mov rdi, rcx
movaps xmmword [rax - 0x68], xmm9
mov r15d, 1
movaps xmmword [rax - 0x78], xmm10
mov qword [rax + 0x10], rbp
mov rbp, rdx
mov eax, dword [rcx + 0x28]
test eax, eax
jne 0x140002e4b
xor ebx, ebx
jmp 0x140002e59
mov ebx, dword [rsp + 0xd0]
cmp eax, r15d
cmove ebx, r15d
mov rax, qword gs:[0x58]
mov r12d, 4
movaps xmmword [rsp + 0x90], xmm6
mov rsi, qword [rax]
mov eax, dword [r12 + rsi]
cmp dword [0x1400a3200], eax
jle 0x140002ecf
lea rcx, [0x1400a3200]
call fcn.14005c4c0
cmp dword [0x1400a3200], 0xffffffff
jne 0x140002ecf
mov ecx, r15d
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, [0x1400a3200]
movss dword [0x1400a343c], xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x1400a3438], xmm0
call fcn.14005c454
mov r9d, ebx
lea rdx, [rsp + 0x30]
mov r8, rbp
call fcn.140059670
mov eax, dword [r12 + rsi]
cmp dword [0x1400a3200], eax
mov rbp, qword [rsp + 0xd8]
jle 0x140002f43
lea rcx, [0x1400a3200]
call fcn.14005c4c0
cmp dword [0x1400a3200], 0xffffffff
jne 0x140002f43
mov ecx, r15d
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, [0x1400a3200]
movss dword [0x1400a343c], xmm6
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [0x1400a3438], xmm0
call fcn.14005c454
movsd xmm0, qword [rsp + 0x30]
lea r8, [rsp + 0x40]
mov eax, dword [rsp + 0x38]
lea rdx, [rsp + 0xd0]
movsd qword [rsp + 0x40], xmm0
mov dword [rsp + 0x48], eax
call fcn.140059820
movss xmm10, dword [rsp + 0xd0]
xorps xmm8, xmm8
ucomiss xmm10, xmm8
movss xmm9, dword [rsp + 0xd4]
jp 0x140002f95
jne 0x140002f95
ucomiss xmm9, xmm8
jp 0x140002f95
je 0x1400031b2
mov qword [rsp + 0xe0], r14
xor ecx, ecx
movaps xmmword [rsp + 0x80], xmm7
call qword [sym.imp.USER32.dll_GetSystemMetrics]
cdq
mov ecx, r15d
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, xmm9
mov r14d, eax
movd xmm1, eax
cvtdq2pd xmm1, xmm1
subsd xmm0, xmm1
movsd xmm1, qword [0x140069088]
call sub.api_ms_win_crt_math_l1_1_0.dll_pow
movsd xmm1, qword [0x140069088]
movaps xmm7, xmm0
movd xmm2, ebx
cvtdq2pd xmm2, xmm2
cvtps2pd xmm0, xmm10
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
ucomiss xmm1, xmm0
ja 0x14000301e
xorps xmm3, xmm3
sqrtss xmm3, xmm0
jmp 0x140003026
call sub.api_ms_win_crt_math_l1_1_0.dll_sqrtf
movaps xmm3, xmm0
ucomiss xmm10, xmm8
movss xmm4, dword [0x140069420]
xorps xmm7, xmm7
xorps xmm6, xmm6
jp 0x14000303c
je 0x1400030a8
movd xmm2, ebx
cvtdq2ps xmm2, xmm2
comiss xmm10, xmm2
jbe 0x14000307d
mov eax, dword [rdi + 4]
movaps xmm7, xmm2
inc eax
subss xmm7, xmm10
movaps xmm1, xmm2
movd xmm0, eax
lea eax, [rbx + rbx]
cvtdq2ps xmm0, xmm0
xorps xmm7, xmm4
divss xmm7, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm7
comiss xmm1, xmm0
jbe 0x14000307d
xorps xmm7, xmm7
comiss xmm2, xmm10
jbe 0x1400030a8
mov eax, dword [rdi + 4]
movaps xmm7, xmm10
inc eax
subss xmm7, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm7, xmm0
addss xmm2, xmm7
comiss xmm8, xmm2
jbe 0x1400030a8
xorps xmm7, xmm7
ucomiss xmm9, xmm8
jp 0x1400030b0
je 0x14000311e
movd xmm2, r14d
cvtdq2ps xmm2, xmm2
comiss xmm9, xmm2
jbe 0x1400030f3
mov eax, dword [rdi + 4]
movaps xmm6, xmm2
inc eax
subss xmm6, xmm9
movaps xmm1, xmm2
movd xmm0, eax
lea eax, [r14 + r14]
cvtdq2ps xmm0, xmm0
xorps xmm6, xmm4
divss xmm6, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
addss xmm1, xmm6
comiss xmm1, xmm0
jbe 0x1400030f3
xorps xmm6, xmm6
comiss xmm2, xmm9
jbe 0x14000311e
mov eax, dword [rdi + 4]
movaps xmm6, xmm9
inc eax
subss xmm6, xmm2
movd xmm0, eax
cvtdq2ps xmm0, xmm0
divss xmm6, xmm0
addss xmm2, xmm6
comiss xmm8, xmm2
jbe 0x14000311e
xorps xmm6, xmm6
movd xmm0, dword [rdi]
mov r14, qword [rsp + 0xe0]
cvtdq2ps xmm0, xmm0
comiss xmm0, xmm3
jbe 0x1400031aa
mov eax, dword [r12 + rsi]
cmp dword [0x1400a28c0], eax
jle 0x14000317a
lea rcx, [0x1400a28c0]
call fcn.14005c4c0
cmp dword [0x1400a28c0], 0xffffffff
jne 0x14000317a
lea rcx, [0x1400a28c0]
mov dword [0x1400a28a8], r15d
mov dword [0x1400a28ac], 2
mov dword [0x1400a28b0], 3
call fcn.14005c454
mov ecx, dword [0x1400a28b4]
call qword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jns 0x1400031aa
cvttss2si r8, xmm6
xor r9d, r9d
mov ecx, r15d
mov qword [rsp + 0x20], 0
cvttss2si rdx, xmm7
call qword [sym.imp.USER32.dll_mouse_event]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm6, xmmword [rsp + 0x90]
movaps xmm8, xmmword [rsp + 0x70]
movaps xmm9, xmmword [rsp + 0x60]
movaps xmm10, xmmword [rsp + 0x50]
add rsp, 0xa0
pop r15
pop r12
pop rdi
pop rsi
pop rbx
ret