Function at 0x1000efb0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
cmp byte [0x101d64cc], 0
push esi
je 0x1000f236
push dword [0x101d64c8]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1000f236
mov eax, dword [0x101d639c]
mov ecx, dword [eax]
test ecx, ecx
je 0x1000f236
call fcn.10077420
cmp eax, 8
je 0x1000f236
mov eax, dword [0x101d639c]
mov ecx, dword [eax]
call fcn.10010cf0
test byte [eax], 1
jne 0x1000f236
mov eax, dword [0x101d639c]
mov ecx, dword [eax]
call fcn.10010e80
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 0x1000f041
sqrtsd xmm0, xmm0
jmp 0x1000f046
call fcn.100d3ef0
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
movss xmm0, dword [0x10102a44]
comiss xmm0, xmm1
ja 0x1000f236
push ecx
lea ecx, [esp + 0xb]
movss dword [esp], xmm1
call fcn.1000edf0
fstp dword [esp + 0x10]
movss xmm0, dword [esp + 0x10]
ucomiss xmm0, dword [0x101016a0]
lahf
test ah, 0x44
jnp 0x1000f236
mov esi, dword [ebp + 8]
mov eax, dword [0x101d639c]
movss xmm0, dword [esi + 0x10]
mulss xmm0, dword [0x10102a40]
mov ecx, dword [eax]
divss xmm0, dword [0x10102a68]
movss dword [esp + 0x14], xmm0
call fcn.10010e80
movss xmm0, dword [eax]
mov eax, dword [0x101d639c]
movss dword [esp + 0x18], xmm0
mov ecx, dword [eax]
call fcn.10010e80
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.100d9b10
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 [0x101029a0]
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.100d9b10
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.100d9b1a
movss xmm3, dword [0x10102a4c]
add esp, 4
test ax, ax
jg 0x1000f1a2
movss xmm0, dword [esp + 0x14]
sub esp, 8
mov dword [esp + 4], 0x40c90fdb
movss dword [esp], xmm0
call fcn.100d9ae3
movss xmm3, dword [0x10102a4c]
add esp, 8
fstp dword [esp + 0x14]
movss xmm1, dword [esp + 0x14]
jmp 0x1000f1a5
xorps xmm1, xmm1
movss xmm0, dword [esp + 8]
xorps xmm2, xmm2
comiss xmm0, dword [esp + 0x18]
jbe 0x1000f1c4
comiss xmm1, dword [0x10102a40]
jb 0x1000f1db
subss xmm1, xmm3
jmp 0x1000f1db
movss xmm0, dword [0x10102a7c]
comiss xmm0, xmm1
movss xmm0, dword [esp + 8]
jb 0x1000f1db
addss xmm1, xmm3
comiss xmm2, xmm1
jbe 0x1000f1e8
addss xmm0, dword [esp + 0x10]
jmp 0x1000f1ee
subss xmm0, dword [esp + 0x10]
movss dword [esp + 8], xmm0
cvtps2pd xmm0, xmm0
call fcn.100da480
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
mulss xmm1, dword [0x10102a70]
movss dword [esi + 0x24], xmm1
movss xmm1, dword [esp + 8]
cvtps2pd xmm0, xmm1
call fcn.100da640
cvtsd2ss xmm0, xmm0
xorps xmm0, xmmword [0x101029a0]
mulss xmm0, dword [0x10102a70]
movss dword [esi + 0x28], xmm0
pop esi
mov esp, ebp
pop ebp
ret