public static Vector2 smethod_0(Vector2 vector2_0, Vector2 vector2_1, float float_0, Vector2?nullable_0 = null, float float_1 = 0.5f) { Vector2 vector = default(Vector2); if (nullable_0 != null) { Vector2 value = nullable_0.Value; PointF left = GClass878.smethod_1(vector2_1.X, vector2_1.Y, float_0, new PointF(value.X, value.Y), new PointF(vector2_1.X, vector2_1.Y)); if (left != PointF.Empty) { vector = new Vector2(left.X, left.Y); } } if (vector == default(Vector2)) { double num = Math.Atan2((double)(vector2_0.X - vector2_1.X), (double)(vector2_0.Y - vector2_1.Y)) + (double)float_1; vector = GClass873.smethod_8(vector2_1, float_0, (float)num); } return(vector); }