Function at 0x10008cd0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [0x10148b08]
sub esp, 0xc
push esi
mov esi, ecx
mov ecx, dword [eax]
mov eax, dword [ecx + 0x25c]
cmp eax, 9
je 0x10008f52
cmp eax, 8
je 0x10008f52
call fcn.10007e10
mov eax, dword [eax]
mov dword [0x1011f7d0], eax
mov eax, dword [0x10148b08]
mov ecx, dword [eax]
call fcn.10008130
movss xmm0, dword [eax + 8]
mov eax, dword [0x10148b08]
movss dword [0x1011f7e0], xmm0
mov ecx, dword [eax]
call fcn.10007c70
movss xmm0, dword [eax]
movss dword [0x1011d780], xmm0
movss xmm0, dword [eax + 4]
movss dword [0x1011d784], xmm0
movss xmm0, dword [eax + 8]
mov eax, dword [0x10148b08]
movss dword [0x1011d788], xmm0
mov ecx, dword [eax]
call fcn.10008130
mov ecx, dword [0x10145458]
push str.sv_gravity
movss xmm0, dword [eax]
movss dword [0x1011d774], xmm0
movss xmm0, dword [eax + 4]
movss dword [0x1011d778], xmm0
movss xmm0, dword [eax + 8]
movss dword [0x1011d77c], xmm0
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
fmul dword [0x100da468]
mov eax, dword [0x10145448]
mov ecx, dword [0x1011f470]
fstp dword [esp + 8]
movss xmm0, dword [esp + 8]
mulss xmm0, dword [eax + 0x20]
mov eax, dword fs:[0x2c]
movss dword [0x1011f7d4], xmm0
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10149050]
cmp eax, dword [ecx + 4]
jle 0x10008e10
push 0x10149050
call fcn.10073f08
add esp, 4
cmp dword [0x10149050], 0xffffffff
jne 0x10008e10
movss xmm0, dword [0x1011f7e0]
push 0x10149050
movss dword [0x10149060], xmm0
call fcn.10073eb7
add esp, 4
push dword [0x10148ba4]
mov byte [0x10145908], 0
mov dword [0x1011f7e4], 0
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x10008ec3
movss xmm0, dword [0x1011f7d4]
xorps xmm0, xmmword [0x100dadd0]
comiss xmm0, dword [0x10149060]
jbe 0x10008ebc
mov eax, dword [0x10148b08]
mov ecx, dword [eax]
call fcn.10008130
push ecx
fld dword [eax + 8]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
fstp dword [esp + 0x10]
fld dword [0x1011f7d4]
fstp dword [esp]
call sub.api_ms_win_crt_math_l1_1_0.dll_roundf
movss xmm0, dword [esp + 0x10]
add esp, 4
fstp dword [esp + 8]
movss xmm1, dword [esp + 8]
xorps xmm1, xmmword [0x100dadd0]
ucomiss xmm0, xmm1
lahf
test ah, 0x44
jp 0x10008ebc
mov eax, dword [0x10148b08]
mov eax, dword [eax]
cmp dword [eax + 0x25c], 9
je 0x10008ebc
mov eax, dword [0x1011f7e4]
mov byte [0x10145908], 1
mov dword [esi + 0x30], eax
jmp 0x10008ec3
mov byte [0x10145908], 0
mov ecx, dword [0x10148b08]
movss xmm0, dword [0x1011f7e0]
movss dword [0x10149060], xmm0
mov ecx, dword [ecx]
call fcn.10007e10
cmp byte [0x10145930], 0
je 0x10008efe
mov eax, dword [0x10148b08]
mov ecx, dword [eax]
call fcn.10007e10
test byte [eax], 1
jne 0x10008efe
or dword [esi + 0x30], 4
mov eax, dword [0x10148b08]
mov ecx, dword [eax]
call fcn.10007e10
test byte [eax], 1
je 0x10008f2d
mov eax, dword [0x10148b08]
mov ecx, dword [eax]
call fcn.10008130
movss xmm0, dword [eax + 8]
ucomiss xmm0, dword [0x100da3c4]
lahf
test ah, 0x44
jnp 0x10008f4b
mov eax, dword [0x10148b08]
mov ecx, dword [eax]
call fcn.10008130
movss xmm0, dword [eax + 8]
ucomiss xmm0, dword [0x100da6a0]
lahf
test ah, 0x44
jnp 0x10008f52
mov byte [0x10145930], 0
pop esi
mov esp, ebp
pop ebp
ret