Function at 0x1000e2e0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
cmp byte [0x102fefa4], 0
push esi
jne 0x1000e308
push dword [0x102fefa0]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
jne 0x1000e562
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
test ecx, ecx
je 0x1000e562
call fcn.10088af0
cmp eax, 8
je 0x1000e562
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
call fcn.10011280
test byte [eax], 1
jne 0x1000e562
mov eax, dword [0x102ff478]
mov ecx, dword [eax]
call fcn.10011400
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
xorps xmm1, xmm1
cvtps2pd xmm0, xmm0
ucomisd xmm1, xmm0
ja 0x1000e36d
sqrtsd xmm0, xmm0
jmp 0x1000e372
call fcn.100979e0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [0x100c1020]
comiss xmm0, xmm1
ja 0x1000e562
push ecx
lea ecx, [esp + 0xb]
movss dword [esp], xmm1
call fcn.1000e120
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
ucomiss xmm0, dword [0x100bc6f8]
lahf
test ah, 0x44
jnp 0x1000e562
mov esi, dword [ebp + 8]
mov eax, dword [0x102ff478]
movss xmm0, dword [esi + 0x10]
mulss xmm0, dword [0x100c1018]
mov ecx, dword [eax]
divss xmm0, dword [0x100bc610]
movss dword [esp + 0x14], xmm0
call fcn.10011400
movss xmm0, dword [eax]
mov eax, dword [0x102ff478]
movss dword [esp + 0x18], xmm0
mov ecx, dword [eax]
call fcn.10011400
movss xmm0, dword [eax + 4]
cvtps2pd xmm0, xmm0
movsd qword [esp + 8], xmm0
movss xmm0, dword [esp + 0x18]
fld qword [esp + 8]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
call fcn.10097070
fstp qword [esp + 0x18]
movsd xmm0, qword [esp + 0x18]
cvtpd2ps xmm0, xmm0
subss xmm0, dword [esp + 0x14]
movss dword [esp + 8], xmm0
movss xmm0, dword [esi + 0x28]
xorps xmm0, xmmword [0x100bc630]
cvtss2sd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
movss xmm0, dword [esi + 0x24]
fld qword [esp + 0x18]
cvtps2pd xmm0, xmm0
movsd qword [esp + 0x18], xmm0
fld qword [esp + 0x18]
call fcn.10097070
movss xmm1, dword [esp + 8]
fstp dword [esp + 0x18]
subss xmm1, dword [esp + 0x18]
push ecx
movss dword [esp + 0x18], xmm1
fld dword [esp + 0x18]
fstp dword [esp]
call fcn.1009707a
movss xmm3, dword [0x100c1028]
add esp, 4
test ax, ax
jg 0x1000e4ce
movss xmm0, dword [esp + 0x14]
sub esp, 8
mov dword [esp + 4], 0x40c90fdb
movss dword [esp], xmm0
call fcn.1009704f
movss xmm3, dword [0x100c1028]
add esp, 8
fstp dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
jmp 0x1000e4d1
xorps xmm1, xmm1
movss xmm0, dword [esp + 8]
xorps xmm2, xmm2
comiss xmm0, dword [esp + 0x18]
jbe 0x1000e4f0
comiss xmm1, dword [0x100c1018]
jb 0x1000e507
subss xmm1, xmm3
jmp 0x1000e507
movss xmm0, dword [0x100c1490]
comiss xmm0, xmm1
movss xmm0, dword [esp + 8]
jb 0x1000e507
addss xmm1, xmm3
comiss xmm2, xmm1
jbe 0x1000e514
addss xmm0, dword [esp + 0x10]
jmp 0x1000e51a
subss xmm0, dword [esp + 0x10]
movss dword [esp + 8], xmm0
cvtps2pd xmm0, xmm0
call fcn.100986a0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, dword [0x100c1480]
movss dword [esi + 0x24], xmm1
movss xmm1, dword [esp + 8]
cvtps2pd xmm0, xmm1
call fcn.10098860
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x100bc630]
mulss xmm0, dword [0x100c1480]
movss dword [esi + 0x28], xmm0
pop esi
mov esp, ebp
pop ebp
ret