예제 #1
0
        public AuthPacket(byte[] data, int size)
        {
            while (true)
            {
IL_C9:
                uint arg_A5_0 = 1445719530u;
                while (true)
                {
                    uint num;
                    switch ((num = (arg_A5_0 ^ 859620147u)) % 6u)
                    {
                    case 1u:
                        this.Header.Message = this.Read <byte>(6);
                        arg_A5_0            = (num * 1334912898u ^ 628600217u);
                        continue;

                    case 2u:
                        arg_A5_0 = ((this.Read <bool>(1) ? 393606493u : 137688773u) ^ num * 4214401147u);
                        continue;

                    case 3u:
                        this.stream = AuthPacket.smethod_3(AuthPacket.smethod_2(data));
                        this.Header = new AuthPacketHeader();
                        arg_A5_0    = (num * 515657235u ^ 1769185713u);
                        continue;

                    case 4u:
                        this.Header.Channel = (AuthChannel)this.Read <byte>(4);
                        arg_A5_0            = (num * 2930748750u ^ 179895641u);
                        continue;

                    case 5u:
                        goto IL_C9;
                    }
                    goto Block_2;
                }
            }
Block_2:
            this.Data = new byte[size];
            AuthPacket.smethod_4(data, 0, this.Data, 0, size);
        }