Function at 0x100239d0
Capabilities:
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1002e351
mov eax, dword fs:[0]
push eax
sub esp, 0x34
mov eax, dword [0x10085040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [0x10085fec]
mov ebx, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [ecx]
mov eax, dword [eax + 0x6c]
call eax
test al, al
je 0x10023cfd
mov ecx, dword [0x10085fec]
mov eax, dword [ecx]
mov eax, dword [eax + 0x68]
call eax
test al, al
je 0x10023cfd
mov ecx, ebx
call fcn.10013390
mov eax, dword [eax]
and al, 1
cmp byte [0x10085f72], 0
je 0x10023cfd
test al, al
jne 0x10023cfd
push 0x20
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x10023cfd
test dword [edi + 0x24], 0x618
jne 0x10023cfd
mov eax, dword fs:[0x2c]
mov ecx, dword [0x10085f50]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x10086580]
cmp eax, dword [ecx + 4]
jle 0x10023aca
push 0x10086580
call fcn.1002b2a6
add esp, 4
cmp dword [0x10086580], 0xffffffff
jne 0x10023aca
push str.m_hGroundEntity
push str.CBasePlayer
mov dword [ebp - 4], 0
call fcn.10027eb0
push 0x10086580
mov dword [0x10086588], eax
mov dword [ebp - 4], 0xffffffff
call fcn.1002b255
add esp, 4
mov ecx, dword [0x10085fe8]
push ecx
mov eax, dword [ecx]
mov esi, dword [eax + 0x10]
mov eax, dword [0x10086588]
mov edx, dword [ebx + eax]
mov eax, esp
mov dword [eax], edx
call esi
test eax, eax
jne 0x10023cfd
mov ecx, ebx
call fcn.10013390
test byte [eax], 1
jne 0x10023cfd
cmp dword [ebx + 0x178], 2
jne 0x10023cfd
cmp byte [0x10086584], 0
vxorps xmm2, xmm2, xmm2
sete al
mov byte [0x10086584], al
vmovss dword [edi + 0x18], xmm2
test al, al
je 0x10023b2f
vmovss xmm0, dword [0x1007f544]
jmp 0x10023b37
vmovss xmm0, dword [0x1007f56c]
mov ecx, ebx
vmovss dword [edi + 0x1c], xmm0
call fcn.10022c60
mov esi, eax
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x40]
push eax
vmovss xmm0, dword [esi]
vmovss dword [ebp - 0x40], xmm0
vmovss xmm0, dword [esi + 4]
vmovss dword [ebp - 0x3c], xmm0
vmovss xmm0, dword [esi + 8]
vmovss dword [ebp - 0x38], xmm0
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x24], xmm0
call fcn.1002a120
vxorps xmm0, xmm0, xmm0
vmovss dword [ebp - 0x14], xmm0
vmovss xmm0, dword [esi + 4]
vmulss xmm1, xmm0, xmm0
vmovss xmm0, dword [esi]
vmulss xmm0, xmm0, xmm0
vaddss xmm0, xmm1, xmm0
call fcn.10022bb0
vmovaps xmm1, xmm0
vmovss xmm0, dword [0x1007f508]
call fcn.10022b10
vmulss xmm1, xmm0, dword [0x1007f518]
vmovss xmm0, dword [0x1007f510]
vcomiss xmm1, xmm0
lea eax, [ebp - 0x1c]
lea ecx, [ebp - 0x18]
cmovbe ecx, eax
mov eax, dword [0x10085ffc]
vmovss dword [ebp - 0x1c], xmm1
vmovss dword [ebp - 0x18], xmm0
vxorps xmm2, xmm2, xmm2
vmovss xmm1, dword [eax + 0x1c]
vmovss xmm0, dword [ecx]
vcomiss xmm0, xmm2
lea eax, [ebp - 0x14]
cmova eax, ecx
cmp byte [0x10086584], 0
vmulss xmm0, xmm1, dword [eax]
vdivss xmm0, xmm0, xmm1
vmovss dword [ebp - 0x14], xmm0
jne 0x10023c12
vmulss xmm0, xmm0, dword [0x1007f558]
vmovss dword [ebp - 0x14], xmm0
vmovss xmm0, dword [edi + 0x10]
vmovss xmm1, dword [ebp - 0x24]
vsubss xmm1, xmm1, xmm0
vmovss dword [ebp - 0x30], xmm1
fld dword [ebp - 0x30]
push ecx
fstp dword [esp]
vmovss dword [ebp - 0x34], xmm0
vmovss dword [ebp - 0x2c], xmm0
call sub.api_ms_win_crt_math_l1_1_0.dll__fdclass
add esp, 4
test ax, ax
jg 0x10023c78
vmovss xmm0, dword [0x1007f540]
sub esp, 8
vmovss dword [esp + 4], xmm0
vmovss xmm0, dword [ebp - 0x30]
vmovss dword [esp], xmm0
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_remainderf]
vmovss xmm0, dword [edi + 0x10]
fstp st(0)
add esp, 8
vmovss dword [ebp - 0x34], xmm0
vmovss dword [ebp - 0x2c], xmm0
vmovss xmm0, dword [ebp - 0x30]
call fcn.10022b70
vmovss xmm1, dword [0x1007f4e8]
vcomiss xmm1, xmm0
jbe 0x10023c9c
vmovss xmm1, dword [ebp - 0x34]
vmovss xmm0, dword [ebp - 0x24]
jmp 0x10023ca5
vmovss xmm0, dword [ebp - 0x2c]
vmovaps xmm1, xmm0
vaddss xmm0, xmm0, dword [ebp - 0x14]
vsubss xmm0, xmm1, xmm0
vmulss xmm0, xmm0, dword [0x1007f464]
vmovss dword [ebp - 0x14], xmm0
call fcn.10022b50
vmovss dword [ebp - 0x2c], xmm0
vmovss xmm0, dword [ebp - 0x14]
call fcn.10022b90
vmovss xmm3, dword [edi + 0x18]
vmovss xmm5, dword [ebp - 0x2c]
vmulss xmm1, xmm0, dword [edi + 0x1c]
vmulss xmm2, xmm5, xmm3
vsubss xmm1, xmm2, xmm1
vmovss dword [edi + 0x18], xmm1
vmulss xmm1, xmm0, xmm3
vmulss xmm0, xmm5, dword [edi + 0x1c]
vaddss xmm0, xmm1, xmm0
vmovss dword [edi + 0x1c], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002ae9c
mov esp, ebp
pop ebp
ret 8