コード例 #1
0
ファイル: PacketReader.cs プロジェクト: drolean/Arctium-RE
        public PacketReader(byte[] data, bool worldPacket = true, bool initiated = true) : base(PacketReader.smethod_0(data))
        {
            while (true)
            {
IL_1D2:
                uint arg_189_0 = 3156641816u;
                while (true)
                {
                    uint num;
                    switch ((num = (arg_189_0 ^ 3864136495u)) % 15u)
                    {
                    case 0u:
                        goto IL_1D2;

                    case 1u:
                        this.Size = this.Read <uint>();
                        arg_189_0 = 2743092977u;
                        continue;

                    case 2u:
                        arg_189_0 = (((!initiated) ? 3590482912u : 2412903487u) ^ num * 2994934353u);
                        continue;

                    case 3u:
                        this.Storage = new byte[this.Size - 2u];
                        arg_189_0    = (num * 1087116174u ^ 2139534886u);
                        continue;

                    case 4u:
                        goto IL_1D9;

                    case 5u:
                        arg_189_0 = (((this.Size <= 2u) ? 4116359952u : 3109502271u) ^ num * 334575575u);
                        continue;

                    case 6u:
                        this.Opcode = (ClientMessage)PacketReader.smethod_1(this);
                        arg_189_0   = (num * 1057443353u ^ 93166561u);
                        continue;

                    case 7u:
                        this.Size = this.Read <uint>();
                        arg_189_0 = (num * 3494330189u ^ 4069919854u);
                        continue;

                    case 8u:
                        this.Opcode  = (ClientMessage)PacketReader.smethod_1(this);
                        this.Storage = new byte[this.Size - 2u];
                        arg_189_0    = (num * 1597543789u ^ 4404019u);
                        continue;

                    case 9u:
                        arg_189_0 = (worldPacket ? 2554908325u : 2897364664u);
                        continue;

                    case 10u:
                        goto IL_1F0;

                    case 11u:
                        this.Opcode = (ClientMessage)PacketReader.smethod_1(this);
                        arg_189_0   = (num * 4166718346u ^ 391895848u);
                        continue;

                    case 12u:
                        PacketReader.smethod_2(data, 6, this.Storage, 0, (int)(this.Size - 2u));
                        arg_189_0 = (num * 1810940774u ^ 357029026u);
                        continue;

                    case 14u:
                        this.Storage = new byte[data.Length];
                        arg_189_0    = (num * 247058560u ^ 451953824u);
                        continue;
                    }
                    goto Block_4;
                }
            }
Block_4:
            return;

IL_1D9:
            PacketReader.smethod_2(data, 6, this.Storage, 0, (int)(this.Size - 2u));
            return;

IL_1F0:
            PacketReader.smethod_2(data, 0, this.Storage, 0, data.Length);
        }