auto animstate = uintptr_t( this->GetPlayerAnimState( ) );
float duckammount = *( float* )( animstate + 0xA4 );
float speedfraction = std::fmax ( 0, std::fmin ( *reinterpret_cast< float* >( animstate + 0xF8 ), 1 ) );
float speedfactor = std::fmax ( 0, std::fmin ( 1, *reinterpret_cast< float* > ( animstate + 0xFC ) ) );
float unk1 = ( ( *reinterpret_cast< float* > ( animstate + 0x11C ) * -0.30000001 ) - 0.19999999 ) * speedfraction;
float unk2 = unk1 + 1.f;
float unk3;
if ( duckammount > 0 )
unk2 += ( ( duckammount * speedfactor ) * ( 0.5f - unk2 ) );
unk3 = *( float* )( animstate + 0x334 ) * unk2;
return unk3;
}