示例#1
0
        internal unsafe void method_0(IAsyncResult iasyncResult_0)
        {
            // ISSUE: untyped stack allocation
            void *voidPtr = (void *)__untypedstackalloc(52);

            try
            {
                *(int *)voidPtr = this.socket_0.EndReceive(iasyncResult_0);
                *(sbyte *)((IntPtr)voidPtr + 42) = (sbyte)(*(int *)voidPtr > 0);
                if (*(sbyte *)((IntPtr)voidPtr + 42) != (sbyte)0)
                {
                    Class4 class40 = this.class4_0;
                    byte[] byte0   = this.byte_0;
                    Class73.smethod_70(0, class40, *(int *)voidPtr, byte0);
                    List <Class1> class1List = Class73.smethod_192(this.class4_0);
                    *(sbyte *)((IntPtr)voidPtr + 43) = (sbyte)(class1List != null);
                    if (*(sbyte *)((IntPtr)voidPtr + 43) != (sbyte)0)
                    {
                        foreach (Class1 class1_0_1 in class1List)
                        {
                            Class73.smethod_131(false, class1_0_1, this);
                            *(short *)((IntPtr)voidPtr + 36) = (short)Class73.smethod_89(class1_0_1);
                            if (*(ushort *)((IntPtr)voidPtr + 36) <= (ushort)20480)
                            {
                                if (*(ushort *)((IntPtr)voidPtr + 36) != (ushort)8193)
                                {
                                    if (*(ushort *)((IntPtr)voidPtr + 36) != (ushort)8994)
                                    {
                                        if (*(ushort *)((IntPtr)voidPtr + 36) != (ushort)20480)
                                        {
                                            continue;
                                        }
                                    }
                                    else
                                    {
                                        Class73.smethod_163(Class73.smethod_255(class1_0_1));
                                        Class1 class1_0_2 = new Class1((ushort)25379);
                                        Class73.smethod_120(class1_0_2, this.string_3);
                                        this.method_1(class1_0_2);
                                        continue;
                                    }
                                }
                                else
                                {
                                    *(sbyte *)((IntPtr)voidPtr + 51) = (sbyte)(Class73.smethod_87(class1_0_1) == "GatewayServer");
                                    if (*(sbyte *)((IntPtr)voidPtr + 51) != (sbyte)0)
                                    {
                                        Class1 class1_0_2 = new Class1((ushort)24832, true, false);
                                        Class73.smethod_173((object)this.uint_0, class1_0_2);
                                        Class73.smethod_120(class1_0_2, "SR_Client");
                                        Class73.smethod_9(class1_0_2, this.uint_1);
                                        this.method_1(class1_0_2);
                                        continue;
                                    }
                                    continue;
                                }
                            }
                            else if (*(ushort *)((IntPtr)voidPtr + 36) != (ushort)36864)
                            {
                                switch (*(ushort *)((IntPtr)voidPtr + 36))
                                {
                                case 41216:
                                    *(sbyte *)((IntPtr)voidPtr + 49) = (sbyte)(Class73.smethod_16(class1_0_1) == (byte)1);
                                    if (*(sbyte *)((IntPtr)voidPtr + 49) != (sbyte)0)
                                    {
                                        this.method_1(new Class1((ushort)24833, true));
                                    }
                                    *(sbyte *)((IntPtr)voidPtr + 50) = (sbyte)(Class25.class19_0 == null);
                                    if (*(sbyte *)((IntPtr)voidPtr + 50) != (sbyte)0)
                                    {
                                        Class1 class1_0_2 = new Class1((ushort)24834);
                                        Class73.smethod_162((byte)22, class1_0_2);
                                        Class73.smethod_120(class1_0_2, this.string_0);
                                        Class73.smethod_120(class1_0_2, this.string_1);
                                        Class73.smethod_65((ushort)64, class1_0_2);
                                        this.method_1(class1_0_2);
                                        continue;
                                    }
                                    continue;

                                case 41217:
                                    *(sbyte *)((IntPtr)voidPtr + 48) = (sbyte)(Class73.smethod_16(class1_0_1) == (byte)1);
                                    if (*(sbyte *)((IntPtr)voidPtr + 48) != (sbyte)0)
                                    {
                                        *(int *)((IntPtr)voidPtr + 16) = (int)Class73.smethod_16(class1_0_1);
                                        Class73.smethod_87(class1_0_1);
                                        *(int *)((IntPtr)voidPtr + 20) = (int)Class73.smethod_165(class1_0_1);
                                        Class73.smethod_87(class1_0_1);
                                        *(int *)((IntPtr)voidPtr + 24)   = (int)Class73.smethod_11(class1_0_1);
                                        *(int *)((IntPtr)voidPtr + 28)   = (int)Class73.smethod_11(class1_0_1);
                                        *(int *)((IntPtr)voidPtr + 32)   = (int)Class73.smethod_16(class1_0_1);
                                        *(short *)((IntPtr)voidPtr + 40) = (short)Class73.smethod_11(class1_0_1);
                                        Class73.smethod_0(*(uint *)((IntPtr)voidPtr + 32), *(int *)((IntPtr)voidPtr + 28), *(int *)((IntPtr)voidPtr + 24), this);
                                        continue;
                                    }
                                    continue;

                                case 41218:
                                    *(int *)((IntPtr)voidPtr + 4)    = (int)Class73.smethod_16(class1_0_1);
                                    *(sbyte *)((IntPtr)voidPtr + 45) = (sbyte)(*(uint *)((IntPtr)voidPtr + 4) == 1U);
                                    if (*(sbyte *)((IntPtr)voidPtr + 45) != (sbyte)0)
                                    {
                                        *(int *)((IntPtr)voidPtr + 8) = (int)Class73.smethod_165(class1_0_1);
                                        string string_6 = Class73.smethod_87(class1_0_1);
                                        *(short *)((IntPtr)voidPtr + 38) = (short)Class73.smethod_11(class1_0_1);
                                        Class19 class19 = new Class19(string_6, *(ushort *)((IntPtr)voidPtr + 38), this.uint_1, this.uint_0, this.string_0, this.string_1, this.string_2, *(uint *)((IntPtr)voidPtr + 8));
                                        continue;
                                    }
                                    *(sbyte *)((IntPtr)voidPtr + 46) = (sbyte)(*(uint *)((IntPtr)voidPtr + 4) == 2U);
                                    if (*(sbyte *)((IntPtr)voidPtr + 46) != (sbyte)0)
                                    {
                                        *(int *)((IntPtr)voidPtr + 12) = (int)Class73.smethod_16(class1_0_1);
                                        string[] strArray = new string[12]
                                        {
                                            "Bilinmeyen Hata",
                                            "ID veya şifre hatalı",
                                            "Üyelik girişi server tarafından reddedildi",
                                            "Karakter zaten oyunda.",
                                            "Server full. Tekrar deneyin. / veya server Check.",
                                            "(C7) Bağlantı hatası",
                                            "(C8) Bağlantı hatası",
                                            "Karakter IP limit sınırına takıldı.",
                                            "Bilinmiyor",
                                            "18 yaş hatası( [GM] girişi için yetkili ip ayarlanmamış olabilir ! )",
                                            "12 yaş hatası( [GM] girişi için yetkili ip ayarlanmamış olabilir ! )",
                                            "18 yaş hatası( [GM] girişi için yetkili ip ayarlanmamış olabilir ! )"
                                        };
                                        *(sbyte *)((IntPtr)voidPtr + 47) = (sbyte)(*(uint *)((IntPtr)voidPtr + 12) == 1U);
                                        if (*(sbyte *)((IntPtr)voidPtr + 47) != (sbyte)0)
                                        {
                                            ++Class25.int_0;
                                        }
                                        if ((*(uint *)((IntPtr)voidPtr + 12) < 1U ? 0 : (*(uint *)((IntPtr)voidPtr + 12) <= 11U ? 1 : 0)) != 0)
                                        {
                                            Class73.smethod_245(this, strArray[(int)*(uint *)((IntPtr)voidPtr + 12)]);
                                            continue;
                                        }
                                        Class73.smethod_245(this, strArray[0]);
                                        continue;
                                    }
                                    Class73.smethod_245(this, "Bilinmeyen hata kodu => 0xa102 uint8 != 1");
                                    continue;

                                default:
                                    if (*(ushort *)((IntPtr)voidPtr + 36) == (ushort)41763)
                                    {
                                        *(sbyte *)((IntPtr)voidPtr + 44) = (sbyte)(Class73.smethod_16(class1_0_1) == (byte)2);
                                        if (*(sbyte *)((IntPtr)voidPtr + 44) != (sbyte)0)
                                        {
                                            ++Class25.int_0;
                                            Class73.smethod_245(this, "Captcha kodu hatalı");
                                            continue;
                                        }
                                        continue;
                                    }
                                    continue;
                                }
                            }
                            this.method_1((Class1)null);
                        }
                    }
                    Class73.smethod_63(this);
                }
                else
                {
                    Class73.smethod_245(this, "nReceived < 1");
                }
            }
            catch (Exception ex)
            {
                Class73.smethod_245(this, ex.ToString());
            }
        }