public WorldClass() { while (true) { IL_42: uint arg_2A_0 = 182109382u; while (true) { uint num; switch ((num = (arg_2A_0 ^ 516975182u)) % 3u) { case 0u: goto IL_42; case 1u: this.DataBuffer = new byte[8192]; arg_2A_0 = (num * 3173822914u ^ 4165667664u); continue; } goto Block_1; } } Block_1: this.PacketQueue = WorldClass.smethod_0(); this.Crypt = new WoWCrypt(); }
public void OnConnect() { PacketWriter arg_2E_0 = new PacketWriter(); WorldClass.smethod_7(this.clientSocket, this.DataBuffer, 0, this.DataBuffer.Length, SocketFlags.None, new AsyncCallback(this.Receive), null); arg_2E_0.WriteString(Module.smethod_37 <string>(1753682996u), true); byte[] array = arg_2E_0.ReadDataToSend(true).Concat(new byte[] { 10 }).ToArray <byte>(); while (true) { IL_99: uint arg_81_0 = 2467266083u; while (true) { uint num; switch ((num = (arg_81_0 ^ 3013151267u)) % 3u) { case 0u: goto IL_99; case 1u: WorldClass.smethod_8(this.clientSocket, array, 0, array.Length, SocketFlags.None); arg_81_0 = (num * 4049714595u ^ 726147954u); continue; } return; } } }
public void OnData() { PacketReader packetReader = null; while (true) { IL_FB: uint arg_D3_0 = 1616354313u; while (true) { uint num; switch ((num = (arg_D3_0 ^ 2111674241u)) % 7u) { case 0u: arg_D3_0 = (num * 2069654396u ^ 1403410597u); continue; case 2u: arg_D3_0 = (((WorldClass.smethod_1(this.PacketQueue) > 0) ? 3604674588u : 3317756979u) ^ num * 4268029870u); continue; case 3u: goto IL_FB; case 4u: packetReader = new PacketReader(this.DataBuffer, false, this.initiated); arg_D3_0 = 2040588781u; continue; case 5u: WorldClass.smethod_6(WorldClass.smethod_4((IPEndPoint)WorldClass.smethod_3(this.clientSocket)), Module.smethod_35 <string>(2164558557u), WorldClass.smethod_5((IPEndPoint)WorldClass.smethod_3(this.clientSocket))); PacketManager.InvokeHandler(ref packetReader, this); arg_D3_0 = 897637803u; continue; case 6u: packetReader = (PacketReader)WorldClass.smethod_2(this.PacketQueue); arg_D3_0 = (num * 1511168572u ^ 2447408611u); continue; } return; } } }
public void Send(ref PacketWriter packet) { byte[] array = packet.ReadDataToSend(false); try { Log.Message(LogType.Packet, Module.smethod_36 <string>(593506430u), new object[] { packet.Opcode, packet.Size }); byte[] array2; int int_; uint uint_; PacketWriter packetWriter2; while (true) { IL_155: uint arg_123_0 = 2199929490u; while (true) { uint num; switch ((num = (arg_123_0 ^ 3311393667u)) % 9u) { case 1u: { array2 = null; byte[] array3; int_ = array3.Length; uint_ = WorldClass.Adler32(array3); arg_123_0 = (num * 68058880u ^ 2153398968u); continue; } case 2u: goto IL_155; case 3u: { PacketWriter packetWriter = new PacketWriter(ServerMessage.ResetCompressionContext, true); arg_123_0 = (num * 1834449402u ^ 1107624411u); continue; } case 4u: if (this.Crypt.IsInitialized) { arg_123_0 = (num * 3545686980u ^ 39507906u); continue; } goto IL_374; case 5u: { PacketWriter packetWriter; this.Send(ref packetWriter); packetWriter2 = new PacketWriter(ServerMessage.Compression, true); arg_123_0 = (num * 1258462980u ^ 4146404091u); continue; } case 6u: { byte[] array3; byte[] array4; array3[1] = array4[1]; arg_123_0 = (num * 2425788949u ^ 3606182965u); continue; } case 7u: { byte[] array4 = WorldClass.smethod_15((ushort)packet.Opcode); byte[] array3 = new byte[array.Length - 4]; WorldClass.smethod_13(array, 4, array3, 0, array3.Length); array3[0] = array4[0]; arg_123_0 = (num * 2814429138u ^ 762017105u); continue; } case 8u: goto IL_3F8; } goto Block_4; } } uint arg_3B6_0; while (true) { IL_3B1: uint num; switch ((num = (arg_3B6_0 ^ 3311393667u)) % 13u) { case 0u: array2 = array2.Combine(new byte[] { 0, 0, 255, 255 }); arg_3B6_0 = 4135719112u; continue; case 1u: goto IL_374; case 2u: { WorldClass.smethod_23(packetWriter2, uint_); uint uint_2; WorldClass.smethod_23(packetWriter2, uint_2); WorldClass.smethod_24(packetWriter2, array2); arg_3B6_0 = (num * 4105965725u ^ 4017603929u); continue; } case 3u: { uint uint_2 = WorldClass.Adler32(array2); arg_3B6_0 = (num * 977288196u ^ 864158354u); continue; } case 4u: array[1] = (byte)(255 & array.Length - 4 >> 8); this.Crypt.Encrypt(array, 4); arg_3B6_0 = (num * 3558555324u ^ 1587990696u); continue; case 5u: array = packetWriter2.ReadDataToSend(false); arg_3B6_0 = (num * 1269215262u ^ 3837774562u); continue; case 6u: arg_3B6_0 = ((((array2[array2.Length - 1] & 8) != 8) ? 3170777306u : 2567516264u) ^ num * 894815154u); continue; case 7u: WorldClass.smethod_25(packet); arg_3B6_0 = (num * 214185292u ^ 269952291u); continue; case 9u: goto IL_3F8; case 10u: array2 = array2.Combine(new byte[1]); arg_3B6_0 = (num * 2738487785u ^ 951591865u); continue; case 11u: goto IL_271; case 12u: WorldClass.smethod_22(packetWriter2, int_); arg_3B6_0 = (num * 891587732u ^ 1040375321u); continue; } break; } return; Block_4: MemoryStream memoryStream = WorldClass.smethod_16(); try { DeflateStream deflateStream = WorldClass.smethod_17(memoryStream, CompressionLevel.Fastest); try { byte[] array3; WorldClass.smethod_18(deflateStream, array3, 0, array3.Length); while (true) { IL_1B0: uint arg_197_0 = 3252342619u; while (true) { uint num; switch ((num = (arg_197_0 ^ 3311393667u)) % 3u) { case 1u: WorldClass.smethod_19(deflateStream); arg_197_0 = (num * 3667174594u ^ 498565863u); continue; case 2u: goto IL_1B0; } goto Block_11; } } Block_11 :; } finally { if (deflateStream != null) { while (true) { IL_1F2 : uint arg_1D9_0 = 2488757830u; while (true) { uint num; switch ((num = (arg_1D9_0 ^ 3311393667u)) % 3u) { case 0u: goto IL_1F2; case 2u: WorldClass.smethod_20(deflateStream); arg_1D9_0 = (num * 1032679818u ^ 1481471478u); continue; } goto Block_14; } } Block_14 :; } } array2 = WorldClass.smethod_21(memoryStream); } finally { if (memoryStream != null) { while (true) { IL_23E: uint arg_225_0 = 4248991174u; while (true) { uint num; switch ((num = (arg_225_0 ^ 3311393667u)) % 3u) { case 1u: WorldClass.smethod_20(memoryStream); arg_225_0 = (num * 4155117569u ^ 3966915401u); continue; case 2u: goto IL_23E; } goto Block_17; } } Block_17 :; } } byte[] expr_24E_cp_0 = array2; int expr_24E_cp_1 = 0; expr_24E_cp_0[expr_24E_cp_1] -= 1; IL_271: arg_3B6_0 = 2766555372u; goto IL_3B1; IL_374: WorldClass.smethod_8(this.clientSocket, array, 0, array.Length, SocketFlags.None); arg_3B6_0 = 3877238322u; goto IL_3B1; IL_3F8: array[0] = (byte)(255 & array.Length - 4); arg_3B6_0 = 4257648992u; goto IL_3B1; } catch (Exception exception_) { while (true) { IL_48F: uint arg_41C_0 = 3929711820u; while (true) { uint num; switch ((num = (arg_41C_0 ^ 3311393667u)) % 4u) { case 0u: goto IL_48F; case 2u: WorldClass.smethod_27(this.clientSocket); CharacterHandler.chatRunning = false; arg_41C_0 = (num * 1852355598u ^ 3988322590u); continue; case 3u: Log.Message(LogType.Error, Module.smethod_36 <string>(3490486299u), new object[] { WorldClass.smethod_26(exception_) }); Log.Message(); arg_41C_0 = (num * 3844434002u ^ 3766579695u); continue; } goto Block_19; } } Block_19 :; } }
public void Receive(IAsyncResult result) { try { int num = WorldClass.smethod_9(this.clientSocket, result); while (true) { IL_303: uint arg_2A1_0 = 2144244013u; while (true) { uint num2; switch ((num2 = (arg_2A1_0 ^ 2097752605u)) % 21u) { case 0u: arg_2A1_0 = (((this.DataBuffer[0] == 10) ? 3516801827u : 2700854910u) ^ num2 * 2847739512u); continue; case 1u: this.OnData(); arg_2A1_0 = 1349214829u; continue; case 2u: { PacketReader packetReader = new PacketReader(WorldClass.smethod_11(WorldClass.smethod_10(), Module.smethod_36 <string>(3253257661u)), false, false); arg_2A1_0 = 1263277281u; continue; } case 3u: this.Decode(ref this.DataBuffer); arg_2A1_0 = 337671581u; continue; case 4u: goto IL_303; case 5u: { byte[] array; int num3; WorldClass.smethod_13(this.DataBuffer, 0, array, 0, num3); arg_2A1_0 = (num2 * 916870607u ^ 1297900287u); continue; } case 6u: arg_2A1_0 = ((num <= 0) ? 194039135u : 1722859564u); continue; case 7u: arg_2A1_0 = (num2 * 2848342300u ^ 737308501u); continue; case 8u: arg_2A1_0 = (num2 * 1649544107u ^ 2180403397u); continue; case 9u: { int num3 = (int)(WorldClass.smethod_12(this.DataBuffer, 0) + 4); arg_2A1_0 = (num2 * 766592189u ^ 1651164332u); continue; } case 10u: arg_2A1_0 = ((!this.Crypt.IsInitialized) ? 1207177178u : 1132968486u); continue; case 11u: arg_2A1_0 = (((num == 1) ? 1586097055u : 2122513536u) ^ num2 * 3467687789u); continue; case 12u: arg_2A1_0 = ((this.DataBuffer[num - 1] != 10) ? 1349214829u : 656592899u); continue; case 13u: arg_2A1_0 = (((num == 0) ? 687461565u : 434568810u) ^ num2 * 663281082u); continue; case 14u: { byte[] array; PacketReader object_ = new PacketReader(array, true, true); WorldClass.smethod_14(this.PacketQueue, object_); int num3; num -= num3; WorldClass.smethod_13(this.DataBuffer, num3, this.DataBuffer, 0, num); this.OnData(); arg_2A1_0 = (num2 * 789004399u ^ 1857816743u); continue; } case 15u: { int num3; byte[] array = new byte[num3]; arg_2A1_0 = (num2 * 152044841u ^ 3418251853u); continue; } case 16u: arg_2A1_0 = (num2 * 354584314u ^ 3821096739u); continue; case 18u: WorldClass.smethod_7(this.clientSocket, this.DataBuffer, 0, this.DataBuffer.Length, SocketFlags.None, new AsyncCallback(this.Receive), null); arg_2A1_0 = 466592861u; continue; case 19u: arg_2A1_0 = ((this.initiated ? 1275411404u : 788338040u) ^ num2 * 4152913669u); continue; case 20u: { PacketReader packetReader; AuthenticationHandler.HandleAuthChallenge(ref packetReader, this); arg_2A1_0 = (num2 * 2478836290u ^ 3479432470u); continue; } } goto Block_9; } } Block_9 :; } catch (Exception) { while (true) { IL_343 : uint arg_314_0 = 794464263u; while (true) { uint num2; switch ((num2 = (arg_314_0 ^ 2097752605u)) % 3u) { case 0u: goto IL_343; case 2u: CharacterHandler.chatRunning = false; arg_314_0 = (num2 * 2798643116u ^ 1282738044u); continue; } goto Block_11; } } Block_11 :; } }