示例#1
0
 public static Class41 smethod_1(byte[] byte_3, int int_4)
 {
     try
     {
         Class41 class2 = new Class41();
         int     index  = int_4;
         class2.byte_1 = byte_3[index];
         index++;
         class2.byte_2 = byte_3[index];
         index++;
         class2.ushort_0 = BitConverter.ToUInt16(byte_3, index);
         index          += 2;
         class2.int_2    = BitConverter.ToInt32(byte_3, index);
         index          += 4;
         class2.int_3    = BitConverter.ToInt32(byte_3, index);
         index          += 4;
         byte num2 = byte_3[index];
         index++;
         class2.string_0 = Class84.smethod_0().imethod_8(byte_3, index, num2);
         index          += int_0;
         byte num3 = byte_3[index];
         index++;
         class2.string_1 = Class84.smethod_0().imethod_8(byte_3, index, num3);
         index          += int_0;
         return(class2);
     }
     catch
     {
         return(null);
     }
 }
示例#2
0
    // Token: 0x0600069E RID: 1694 RVA: 0x0002C0FC File Offset: 0x0002A2FC
    public override Action <Fu5NDKQjdwdau68ILj6, object> vmethod_6 <Fu5NDKQjdwdau68ILj6>(PropertyInfo propertyInfo_0)
    {
        Class101.smethod_0(propertyInfo_0, "propertyInfo");
        if (propertyInfo_0.DeclaringType.smethod_13())
        {
            return(Class84.smethod_0().vmethod_6 <Fu5NDKQjdwdau68ILj6>(propertyInfo_0));
        }
        Type typeFromHandle  = typeof(Fu5NDKQjdwdau68ILj6);
        Type typeFromHandle2 = typeof(object);
        ParameterExpression parameterExpression  = Expression.Parameter(typeFromHandle, "instance");
        ParameterExpression parameterExpression2 = Expression.Parameter(typeFromHandle2, "value");
        Expression          expression           = this.method_3(parameterExpression2, propertyInfo_0.PropertyType, false);
        MethodInfo          setMethod            = propertyInfo_0.GetSetMethod(true);
        Expression          body;

        if (setMethod.IsStatic)
        {
            body = Expression.Call(setMethod, expression);
        }
        else
        {
            body = Expression.Call(this.method_3(parameterExpression, propertyInfo_0.DeclaringType, false), setMethod, new Expression[]
            {
                expression
            });
        }
        return((Action <Fu5NDKQjdwdau68ILj6, object>)Expression.Lambda(typeof(Action <Fu5NDKQjdwdau68ILj6, object>), body, new ParameterExpression[]
        {
            parameterExpression,
            parameterExpression2
        }).Compile());
    }
示例#3
0
 // Token: 0x0600069D RID: 1693 RVA: 0x0002C028 File Offset: 0x0002A228
 public override Action <aO5jiiQTN2H7SNbj5Xi, object> vmethod_5 <aO5jiiQTN2H7SNbj5Xi>(FieldInfo fieldInfo_0)
 {
     Class101.smethod_0(fieldInfo_0, "fieldInfo");
     if (!fieldInfo_0.DeclaringType.smethod_13() && !fieldInfo_0.IsInitOnly)
     {
         ParameterExpression parameterExpression  = Expression.Parameter(typeof(aO5jiiQTN2H7SNbj5Xi), "source");
         ParameterExpression parameterExpression2 = Expression.Parameter(typeof(object), "value");
         Expression          expression;
         if (fieldInfo_0.IsStatic)
         {
             expression = Expression.Field(null, fieldInfo_0);
         }
         else
         {
             expression = Expression.Field(this.method_3(parameterExpression, fieldInfo_0.DeclaringType, false), fieldInfo_0);
         }
         Expression       right = this.method_3(parameterExpression2, expression.Type, false);
         BinaryExpression body  = Expression.Assign(expression, right);
         return((Action <aO5jiiQTN2H7SNbj5Xi, object>)Expression.Lambda(typeof(Action <aO5jiiQTN2H7SNbj5Xi, object>), body, new ParameterExpression[]
         {
             parameterExpression,
             parameterExpression2
         }).Compile());
     }
     return(Class84.smethod_0().vmethod_5 <aO5jiiQTN2H7SNbj5Xi>(fieldInfo_0));
 }
示例#4
0
 // Token: 0x06000A05 RID: 2565 RVA: 0x0000959E File Offset: 0x0000779E
 public static Class81 smethod_19()
 {
     if (Class124.smethod_17())
     {
         return(Class82.smethod_0());
     }
     return(Class84.smethod_0());
 }
示例#5
0
    public MessageHandler method_11()
    {
        if (!this.nullable_0.HasValue)
        {
            string str = Class84.smethod_0().imethod_8(this.byte_0, 0, this.int_4);
            if (str.Length == 1)
            {
                return(null);
            }
            this.nullable_0 = new bool?(str.ToLower().Contains("websocket"));
            if (this.nullable_0.Value)
            {
                Class9 class7 = new Class9(str);
                this.int_4 = 0;
                byte[] buffer = Class84.smethod_0().imethod_9(class7.method_2());
                base.GetStream().Write(buffer, 0, buffer.Length);
                return(null);
            }
        }
        if (this.nullable_0.Value)
        {
            int     num    = 0;
            Class12 class4 = Class12.smethod_0(this.byte_0, this.int_4, out num);
            if (class4 == null)
            {
                return(null);
            }
            if (class4.Header.method_4() == 8)
            {
                this.bool_1 = true;
                return(null);
            }
            this.method_12(num);
            Class41 class3 = Class41.smethod_1(class4.method_1(), 0);
            class3.SetClientType((base.GetStream() is SslStream) ? ClientType.WebSocket_SSL : ClientType.WebSocket);
            return(new MessageHandler(class3, class4.method_1(), class3.imethod_4(), base.GetIPEndPoint()));
        }
        if (this.int_4 < this.int_3)
        {
            return(null);
        }
        Class41 class6 = Class41.smethod_1(this.byte_0, 0);

        if (class6.imethod_5() == 0)
        {
            this.method_12(class6.imethod_4());
            return(new MessageHandler(class6, null, base.GetIPEndPoint()));
        }
        if (this.int_4 < (this.int_3 + class6.imethod_5()))
        {
            return(null);
        }
        byte[] dst = new byte[class6.imethod_5()];
        Buffer.BlockCopy(this.byte_0, class6.imethod_4(), dst, 0, class6.imethod_5());
        this.method_12(class6.imethod_4() + class6.imethod_5());
        return(new MessageHandler(class6, dst, 0, base.GetIPEndPoint()));
    }
示例#6
0
    public byte[] ToStream()
    {
        int num2;

        byte[] buffer = new byte[this.imethod_4()];
        int    index  = 0;

        buffer[0] = this.byte_1;
        index     = 1;
        buffer[1] = this.byte_2;
        index     = 2;
        byte[] bytes = BitConverter.GetBytes(this.ushort_0);
        for (num2 = 0; num2 < bytes.Length; num2++)
        {
            buffer[index + num2] = bytes[num2];
        }
        index += 2;
        byte[] buffer5 = BitConverter.GetBytes(this.int_2);
        for (num2 = 0; num2 < buffer5.Length; num2++)
        {
            buffer[index + num2] = buffer5[num2];
        }
        index += 4;
        byte[] buffer4 = BitConverter.GetBytes(this.int_3);
        for (num2 = 0; num2 < buffer4.Length; num2++)
        {
            buffer[index + num2] = buffer4[num2];
        }
        index += 4;
        byte[] buffer6 = Class84.smethod_0().imethod_9(this.string_0);
        if (buffer6.Length > int_0)
        {
            throw new Exception(string.Format("Length of UserID [{0}] exceed limited !", this.string_0));
        }
        buffer[index] = (byte)buffer6.Length;
        index++;
        for (num2 = 0; num2 < buffer6.Length; num2++)
        {
            buffer[index + num2] = buffer6[num2];
        }
        index += int_0;
        byte[] buffer3 = Class84.smethod_0().imethod_9(this.string_1);
        if (buffer3.Length > int_0)
        {
            throw new Exception(string.Format("Length of DestUserID [{0}] exceed limited !", this.string_1));
        }
        buffer[index] = (byte)buffer3.Length;
        index++;
        for (num2 = 0; num2 < buffer3.Length; num2++)
        {
            buffer[index + num2] = buffer3[num2];
        }
        index += int_0;
        return(buffer);
    }
示例#7
0
 public Interface10 imethod_2()
 {
     return(Class84.smethod_0());
 }
示例#8
0
 public byte[] imethod_9(string string_0)
 {
     return(Class84.smethod_0().imethod_9(string_0));
 }
示例#9
0
 public string imethod_8(byte[] byte_1, int int_1, int int_2)
 {
     return(Class84.smethod_0().imethod_8(byte_1, int_1, int_2));
 }