Function at 0x1000c5a0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10076155
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x18
mov eax, dword fs:[0x2c]
mov edx, dword [0x1011f470]
push esi
push edi
mov edi, ecx
mov esi, dword [eax + edx*4]
mov eax, dword [0x1014902c]
mov dword [ebp - 0x18], edi
cmp eax, dword [esi + 4]
jle 0x1000c61f
push 0x1014902c
call fcn.10073f08
add esp, 4
cmp dword [0x1014902c], 0xffffffff
jne 0x1000c61f
push 0x1014902c
mov dword [0x101490a0], 0
mov dword [0x101490a4], 0
mov dword [0x101490a8], 0
call fcn.10073eb7
add esp, 4
cmp byte [0x10148b88], 0
jne 0x1000c63d
push dword [0x10148b84]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x1000c92b
mov eax, dword [0x10148b08]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x25c]
cmp eax, 9
je 0x1000c92b
cmp eax, 8
je 0x1000c92b
call fcn.10007e10
mov al, byte [eax]
not al
and al, 1
mov byte [ebp - 0xd], al
mov eax, dword [0x1014909c]
cmp eax, dword [esi + 4]
jle 0x1000c6c9
push 0x1014909c
call fcn.10073f08
add esp, 4
cmp dword [0x1014909c], 0xffffffff
jne 0x1000c6c9
mov dword [ebp - 4], 0
mov ecx, dword [0x10145458]
push str.cl_sidespeed
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
mov ecx, eax
mov edx, dword [eax]
mov eax, dword [edx + 0x30]
call eax
push 0x1014909c
fstp dword [0x10149088]
mov dword [ebp - 4], 0xffffffff
call fcn.10073eb7
add esp, 4
mov eax, dword [0x10148b08]
mov ecx, dword [eax]
call fcn.10008130
movss xmm1, dword [eax + 4]
movss xmm0, dword [eax]
mulss xmm0, xmm0
mulss xmm1, xmm1
addss xmm0, xmm1
call fcn.10003070
cmp byte [ebp - 0xd], 0
movss dword [ebp - 0x14], xmm0
je 0x1000c92b
mov eax, dword [0x10149040]
cmp eax, dword [esi + 4]
jle 0x1000c7a9
push 0x10149040
call fcn.10073f08
add esp, 4
cmp dword [0x10149040], 0xffffffff
jne 0x1000c7a9
mov dword [ebp - 4], 1
mov eax, dword [0x10148b08]
mov edi, dword [eax]
mov eax, dword [0x10145910]
cmp eax, dword [esi + 4]
jle 0x1000c780
push 0x10145910
call fcn.10073f08
add esp, 4
cmp dword [0x10145910], 0xffffffff
jne 0x1000c780
mov byte [ebp - 4], 2
mov ecx, edi
mov eax, dword [edi]
mov eax, dword [eax + 0x44]
call eax
mov ecx, eax
call fcn.10024da0
push 0x10145910
mov dword [0x10145938], eax
call fcn.10073eb7
add esp, 4
mov eax, dword [0x10145938]
push 0x10149040
movss xmm0, dword [eax + edi]
movss dword [0x1014907c], xmm0
mov dword [ebp - 4], 0xffffffff
call fcn.10073eb7
mov edi, dword [ebp - 0x18]
add esp, 4
mov eax, dword [0x101490d0]
cmp eax, dword [esi + 4]
jle 0x1000c7fe
push 0x101490d0
call fcn.10073f08
add esp, 4
cmp dword [0x101490d0], 0xffffffff
jne 0x1000c7fe
mov dword [ebp - 4], 3
mov ecx, dword [0x10145458]
push str.sv_airaccelerate
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
call eax
push 0x101490d0
mov dword [0x10149028], eax
mov dword [ebp - 4], 0xffffffff
call fcn.10073eb7
add esp, 4
mov ecx, dword [0x10149028]
mov eax, dword [ecx]
mov eax, dword [eax + 0x30]
call eax
movss xmm1, dword [0x100da584]
fstp dword [ebp - 0x18]
divss xmm1, dword [ebp - 0x18]
movss xmm0, dword [0x100da4a8]
divss xmm1, dword [0x1014907c]
mulss xmm1, dword [0x100da5b4]
divss xmm1, dword [ebp - 0x14]
comiss xmm0, xmm1
jbe 0x1000c854
comiss xmm1, dword [0x100da678]
jbe 0x1000c854
cvtps2pd xmm0, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_acos_precise
cvtsd2ss xmm0, xmm0
jmp 0x1000c857
xorps xmm0, xmm0
ucomiss xmm0, dword [0x100da3c4]
movss dword [ebp - 0x14], xmm0
lahf
test ah, 0x44
jnp 0x1000c92b
movss xmm0, dword [edi + 0x10]
mov eax, dword [0x10148b08]
mulss xmm0, dword [0x100da418]
mov ecx, dword [eax]
movss dword [ebp - 0x18], xmm0
call fcn.10008130
movq xmm0, qword [eax]
movq qword [ebp - 0x24], xmm0
movss xmm1, dword [ebp - 0x24]
movss xmm0, dword [ebp - 0x20]
call fcn.10003010
subss xmm0, dword [ebp - 0x18]
movss xmm1, dword [edi + 0x24]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [edi + 0x28]
xorps xmm0, xmmword [0x100dadd0]
call fcn.10003010
movss xmm1, dword [ebp - 0x18]
movaps xmm2, xmm0
call fcn.1000c940
xorps xmm1, xmm1
comiss xmm1, xmm0
jbe 0x1000c8e9
movss xmm0, dword [ebp - 0x14]
addss xmm0, dword [ebp - 0x18]
movss dword [ebp - 0x14], xmm0
jmp 0x1000c8fb
movss xmm1, dword [ebp - 0x18]
subss xmm1, dword [ebp - 0x14]
movaps xmm0, xmm1
movss dword [ebp - 0x14], xmm1
call fcn.10007bd0
mulss xmm0, dword [0x10149088]
movss dword [edi + 0x24], xmm0
movss xmm0, dword [ebp - 0x14]
call fcn.10007bf0
xorps xmm0, xmmword [0x100dadd0]
mulss xmm0, dword [0x10149088]
movss dword [edi + 0x28], xmm0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret