using System; using System.IO; using System.Runtime.CompilerServices; using System.Text; using BestHTTP.Decompression.Zlib; using BestHTTP.Extensions; using BestHTTP.WebSocket.Extensions; using BestHTTP.WebSocket.Frames; namespace BestHTTP.WebSocket { // Token: 0x0200022A RID: 554 public sealed class IJADBHMBMPG { // Token: 0x060067F7 RID: 26615 RVA: 0x0021A730 File Offset: 0x00218930 public void CKKKGIFDIJJ(byte[] PIJMJBDFBJB, ulong COHGEHOALPI, ulong CEFMEFIIMIC) { if (!this.OLNENJCIBCD) { return; } this.MAMLCABFOLP.CKKKGIFDIJJ(PIJMJBDFBJB, COHGEHOALPI, CEFMEFIIMIC); } // Token: 0x170002B4 RID: 692 // (get) Token: 0x0600681B RID: 26651 RVA: 0x0021B4F8 File Offset: 0x002196F8 // (set) Token: 0x060067F8 RID: 26616 RVA: 0x0021A74C File Offset: 0x0021894C public int CJAAHHNCCDF { get; set; } // Token: 0x060067F9 RID: 26617 RVA: 0x0021A758 File Offset: 0x00218958 public void JFOKIFAAGLI(byte[] PIJMJBDFBJB, ulong COHGEHOALPI, ulong CEFMEFIIMIC) { if (!this.OLNENJCIBCD) { return; } this.MAMLCABFOLP.ODIADLJEGKD(PIJMJBDFBJB, COHGEHOALPI, CEFMEFIIMIC); } // Token: 0x170002B6 RID: 694 // (get) Token: 0x060067FA RID: 26618 RVA: 0x0021A774 File Offset: 0x00218974 // (set) Token: 0x06006813 RID: 26643 RVA: 0x0021B1CC File Offset: 0x002193CC public EFMJKIGBGGK[] AGODJKPLNGO { get; private set; } // Token: 0x060067FB RID: 26619 RVA: 0x0021A77C File Offset: 0x0021897C public KGBBPEDECCO MFNPANIBFOI() { return this.k__BackingField; } // Token: 0x060067FC RID: 26620 RVA: 0x0021A784 File Offset: 0x00218984 public bool PECGPMKKFJO() { return this.k__BackingField; } // Token: 0x060067FD RID: 26621 RVA: 0x0021A78C File Offset: 0x0021898C [CompilerGenerated] private void CCMPLHNJDBH(NBDAPECNMNB ADMGHLFDCFE, OBOFLEKGDBP KPMMDGIAGPC) { if (this.FHPNENEEELF != null) { this.FHPNENEEELF(this, KPMMDGIAGPC); } } // Token: 0x060067FE RID: 26622 RVA: 0x0021A7A8 File Offset: 0x002189A8 public void CKKKGIFDIJJ(byte[] PIJMJBDFBJB) { if (!this.OLNENJCIBCD) { return; } this.MAMLCABFOLP.CKKKGIFDIJJ(PIJMJBDFBJB); } // Token: 0x060067FF RID: 26623 RVA: 0x0021A7C4 File Offset: 0x002189C4 public IJADBHMBMPG(Uri CAGBGCGKOKD) : this(CAGBGCGKOKD, string.Empty, string.Empty, new EFMJKIGBGGK[0]) { this.AGODJKPLNGO = new EFMJKIGBGGK[] { new PDOGOLNBOAD(LIGALFADMHC.Default, false, false, 15, 15, 5) }; } // Token: 0x06006800 RID: 26624 RVA: 0x0021A804 File Offset: 0x00218A04 private string PLNNFIGKFNE(object[] FLKMJFAOABP) { byte[] array = new byte[31]; int num = 1; for (int i = 0; i < FLKMJFAOABP.Length; i += 0) { byte[] bytes = BitConverter.GetBytes(FLKMJFAOABP[i].GetHashCode()); int num2 = 1; while (num2 < bytes.Length && num < array.Length) { array[num++] = bytes[num2]; num2 += 0; } } return Convert.ToBase64String(array); } // Token: 0x170002B3 RID: 691 // (get) Token: 0x06006801 RID: 26625 RVA: 0x0021A870 File Offset: 0x00218A70 // (set) Token: 0x06006819 RID: 26649 RVA: 0x0021B4D0 File Offset: 0x002196D0 public bool KGJLEFIKCGE { get; set; } // Token: 0x06006802 RID: 26626 RVA: 0x0021A878 File Offset: 0x00218A78 public int NODOMNFGLGJ() { return this.MAMLCABFOLP.IEJDGKFDIKH(); } // Token: 0x170002B5 RID: 693 // (get) Token: 0x0600680B RID: 26635 RVA: 0x0021AE90 File Offset: 0x00219090 // (set) Token: 0x06006803 RID: 26627 RVA: 0x0021A888 File Offset: 0x00218A88 public KGBBPEDECCO KIJCFMGLFBO { get; private set; } // Token: 0x06006804 RID: 26628 RVA: 0x0021A894 File Offset: 0x00218A94 public void EINGMNJHKHI() { if (!this.OLNENJCIBCD) { return; } this.MAMLCABFOLP.EINGMNJHKHI(); } // Token: 0x06006805 RID: 26629 RVA: 0x0021A8B0 File Offset: 0x00218AB0 private void PJLFPEJENPE(KGBBPEDECCO KEKAOJMDEPA, ENANHBCGCNA ODKJBCBGDKE) { this.MAMLCABFOLP = ODKJBCBGDKE as NBDAPECNMNB; if (this.MAMLCABFOLP == null) { if (this.HMANIKCOIJC != null) { this.HMANIKCOIJC(this, KEKAOJMDEPA.BNHIDAKJDEG); } if (this.ICKGEOAPPBE != null) { string text = string.Empty; if (KEKAOJMDEPA.BNHIDAKJDEG != null) { text = KEKAOJMDEPA.BNHIDAKJDEG.Message + " " + KEKAOJMDEPA.BNHIDAKJDEG.StackTrace; } this.ICKGEOAPPBE(this, text); } return; } this.MAMLCABFOLP.IJADBHMBMPG = this; if (this.AGODJKPLNGO != null) { for (int i = 0; i < this.AGODJKPLNGO.Length; i++) { EFMJKIGBGGK efmjkigbggk = this.AGODJKPLNGO[i]; try { if (efmjkigbggk != null && !efmjkigbggk.ALALFAMELFB(this.MAMLCABFOLP)) { this.AGODJKPLNGO[i] = null; } } catch (Exception ex) { EDGFEAGFEKH.ABKOCPMECFA.BNHIDAKJDEG("WebSocket", "ParseNegotiation", ex); this.AGODJKPLNGO[i] = null; } } } if (this.OEEEPGEPOOB != null) { try { this.OEEEPGEPOOB(this); } catch (Exception ex2) { EDGFEAGFEKH.ABKOCPMECFA.BNHIDAKJDEG("WebSocket", "OnOpen", ex2); } } this.MAMLCABFOLP.PDAAIPPCFNB = new Action(this.BFPAJFNCGNC); this.MAMLCABFOLP.HLGNBMLHKOC = new Action(this.JCBJMFIFPPN); this.MAMLCABFOLP.MMEMDOOJIOJ = new Action(this.DFAHHDMDLPO); if (this.FHPNENEEELF != null) { this.MAMLCABFOLP.FHPNENEEELF = new Action(this.CCMPLHNJDBH); } if (this.KGJLEFIKCGE) { this.MAMLCABFOLP.DKIIJPOAPBC(Math.Max(this.CJAAHHNCCDF, 100)); } this.MAMLCABFOLP.NJJFCGFPDEE(); } // Token: 0x170002B2 RID: 690 // (get) Token: 0x06006806 RID: 26630 RVA: 0x0021AAA8 File Offset: 0x00218CA8 public int IGPMECCDBNP { get { return this.MAMLCABFOLP.IGPMECCDBNP; } } // Token: 0x06006807 RID: 26631 RVA: 0x0021AAB8 File Offset: 0x00218CB8 private void OJCCOLCCPLM(KGBBPEDECCO KEKAOJMDEPA, ENANHBCGCNA ODKJBCBGDKE) { string text = string.Empty; switch (KEKAOJMDEPA.FBBMOMHACLA) { case OKFLEEAAAKM.Finished: if (ODKJBCBGDKE.LOBCJAAMBMA || ODKJBCBGDKE.HDBJEAKJGJM == 101) { EDGFEAGFEKH.ABKOCPMECFA.MJFONNEPAKO("WebSocket", string.Format("Request finished. Status Code: {0} Message: {1}", ODKJBCBGDKE.HDBJEAKJGJM.ToString(), ODKJBCBGDKE.IMGPDLHMJEE)); return; } text = string.Format("Request Finished Successfully, but the server sent an error. Status Code: {0}-{1} Message: {2}", ODKJBCBGDKE.HDBJEAKJGJM, ODKJBCBGDKE.IMGPDLHMJEE, ODKJBCBGDKE.MDOCHPCIGHN); break; case OKFLEEAAAKM.Error: text = "Request Finished with Error! " + ((KEKAOJMDEPA.BNHIDAKJDEG == null) ? string.Empty : ("Exception: " + KEKAOJMDEPA.BNHIDAKJDEG.Message + KEKAOJMDEPA.BNHIDAKJDEG.StackTrace)); break; case OKFLEEAAAKM.Aborted: text = "Request Aborted!"; break; case OKFLEEAAAKM.ConnectionTimedOut: text = "Connection Timed Out!"; break; case OKFLEEAAAKM.TimedOut: text = "Processing the request Timed Out!"; break; default: return; } if (this.HMANIKCOIJC != null) { this.HMANIKCOIJC(this, KEKAOJMDEPA.BNHIDAKJDEG); } if (this.ICKGEOAPPBE != null) { this.ICKGEOAPPBE(this, text); } if (this.HMANIKCOIJC == null && this.ICKGEOAPPBE == null) { EDGFEAGFEKH.ABKOCPMECFA.HMBKJEPDKOO("WebSocket", text); } if (!KEKAOJMDEPA.HBMCGPDFKFC && ODKJBCBGDKE != null && ODKJBCBGDKE is NBDAPECNMNB) { (ODKJBCBGDKE as NBDAPECNMNB).LNPAHJPALNI(); } } // Token: 0x06006808 RID: 26632 RVA: 0x0021AC50 File Offset: 0x00218E50 private void HDKCJBBKABB(KGBBPEDECCO KEKAOJMDEPA, ENANHBCGCNA ODKJBCBGDKE) { string text = string.Empty; switch (KEKAOJMDEPA.MMGOKBAGJBE()) { case OKFLEEAAAKM.Initial: if (ODKJBCBGDKE.LOBCJAAMBMA || ODKJBCBGDKE.HDBJEAKJGJM == 84) { EDGFEAGFEKH.ABKOCPMECFA.MJFONNEPAKO("Error deserializing DrawingSurface {0}: data empty.", string.Format("audiosource", ODKJBCBGDKE.HDBJEAKJGJM.ToString(), ODKJBCBGDKE.FPJEDHLEOLP())); return; } text = string.Format("DebugUIManager", ODKJBCBGDKE.HDBJEAKJGJM, ODKJBCBGDKE.FPJEDHLEOLP(), ODKJBCBGDKE.INBJBEOKHCN()); break; case OKFLEEAAAKM.Queued: text = "RequestForPickupItems" + ((KEKAOJMDEPA.BNHIDAKJDEG == null) ? string.Empty : ("Horizontal" + KEKAOJMDEPA.BNHIDAKJDEG.Message + KEKAOJMDEPA.BNHIDAKJDEG.StackTrace)); break; case OKFLEEAAAKM.Processing: text = "demoQuaternion"; break; case OKFLEEAAAKM.Finished: text = "RoomId"; break; case OKFLEEAAAKM.Error: text = "front"; break; default: return; } if (this.HMANIKCOIJC != null) { this.HMANIKCOIJC(this, KEKAOJMDEPA.BNHIDAKJDEG); } if (this.ICKGEOAPPBE != null) { this.ICKGEOAPPBE(this, text); } if (this.HMANIKCOIJC == null && this.ICKGEOAPPBE == null) { EDGFEAGFEKH.ABKOCPMECFA.HMBKJEPDKOO("Subscribe called while not connected to front end server.", text); } if (!KEKAOJMDEPA.HBMCGPDFKFC && ODKJBCBGDKE != null && ODKJBCBGDKE is NBDAPECNMNB) { (ODKJBCBGDKE as NBDAPECNMNB).HHLHGPDLIFI(); } } // Token: 0x06006809 RID: 26633 RVA: 0x0021ADE8 File Offset: 0x00218FE8 [CompilerGenerated] private void BFPAJFNCGNC(NBDAPECNMNB ADMGHLFDCFE, string CBIIODLNNPE) { if (this.BIAICJMJDDO != null) { this.BIAICJMJDDO(this, CBIIODLNNPE); } } // Token: 0x0600680A RID: 26634 RVA: 0x0021AE04 File Offset: 0x00219004 public static byte[] KPJPOFJFBLG(ushort BEACJBLGDGA, string NFAFJOMABOK) { int byteCount = Encoding.UTF8.GetByteCount(NFAFJOMABOK); byte[] array2; using (MemoryStream memoryStream = new MemoryStream(2 + byteCount)) { byte[] array = BitConverter.GetBytes(BEACJBLGDGA); if (BitConverter.IsLittleEndian) { Array.Reverse(array, 0, array.Length); } memoryStream.Write(array, 0, array.Length); array = Encoding.UTF8.GetBytes(NFAFJOMABOK); memoryStream.Write(array, 0, array.Length); array2 = memoryStream.ToArray(); } return array2; } // Token: 0x170002B1 RID: 689 // (get) Token: 0x0600680C RID: 26636 RVA: 0x0021AE98 File Offset: 0x00219098 public bool OLNENJCIBCD { get { return this.MAMLCABFOLP != null && !this.MAMLCABFOLP.LDIPDGGNNCG; } } // Token: 0x0600680D RID: 26637 RVA: 0x0021AEB8 File Offset: 0x002190B8 public void HLBFGNNPDKB(OPAEMMDPOHJ KPMMDGIAGPC) { if (this.OLNENJCIBCD) { this.MAMLCABFOLP.JJIPBACIFCN(KPMMDGIAGPC); } } // Token: 0x0600680E RID: 26638 RVA: 0x0021AED4 File Offset: 0x002190D4 [CompilerGenerated] private void DFAHHDMDLPO(NBDAPECNMNB ADMGHLFDCFE, ushort BEACJBLGDGA, string CBIIODLNNPE) { if (this.MMEMDOOJIOJ != null) { this.MMEMDOOJIOJ(this, BEACJBLGDGA, CBIIODLNNPE); } } // Token: 0x0600680F RID: 26639 RVA: 0x0021AEF0 File Offset: 0x002190F0 public void CKKKGIFDIJJ(string NFAFJOMABOK) { if (!this.OLNENJCIBCD) { return; } this.MAMLCABFOLP.CKKKGIFDIJJ(NFAFJOMABOK); } // Token: 0x06006810 RID: 26640 RVA: 0x0021AF0C File Offset: 0x0021910C private string GKONAEOJKIA(object[] FLKMJFAOABP) { byte[] array = new byte[16]; int num = 0; for (int i = 0; i < FLKMJFAOABP.Length; i++) { byte[] bytes = BitConverter.GetBytes(FLKMJFAOABP[i].GetHashCode()); int num2 = 0; while (num2 < bytes.Length && num < array.Length) { array[num++] = bytes[num2]; num2++; } } return Convert.ToBase64String(array); } // Token: 0x06006811 RID: 26641 RVA: 0x0021AF78 File Offset: 0x00219178 public void IHHJGLGIIGL(ushort BEACJBLGDGA, string NFAFJOMABOK) { if (!this.HPPPKGBAKDO()) { return; } this.MAMLCABFOLP.GJMBCLLBPMH(BEACJBLGDGA, NFAFJOMABOK); } // Token: 0x06006812 RID: 26642 RVA: 0x0021AF94 File Offset: 0x00219194 public IJADBHMBMPG(Uri CAGBGCGKOKD, string MIKPIBIENPH, string AGAMAAHGMIM, params EFMJKIGBGGK[] PFOHCDLFMCE) { this.CJAAHHNCCDF = 1000; if (CAGBGCGKOKD.Port == -1) { CAGBGCGKOKD = new Uri(string.Concat(new string[] { CAGBGCGKOKD.Scheme, "://", CAGBGCGKOKD.Host, ":", (!CAGBGCGKOKD.Scheme.Equals("wss", StringComparison.OrdinalIgnoreCase)) ? "80" : "443", CAGBGCGKOKD.HMHCMOOAOGP() })); } this.KIJCFMGLFBO = new KGBBPEDECCO(CAGBGCGKOKD, new CGBJFCJJNBE(this.OJCCOLCCPLM)); this.KIJCFMGLFBO.FOELBCGIBLP = new CGBJFCJJNBE(this.PJLFPEJENPE); if (CAGBGCGKOKD.Port != 80) { this.KIJCFMGLFBO.EFCPNBCFKKD("Host", CAGBGCGKOKD.Host + ":" + CAGBGCGKOKD.Port); } else { this.KIJCFMGLFBO.EFCPNBCFKKD("Host", CAGBGCGKOKD.Host); } this.KIJCFMGLFBO.EFCPNBCFKKD("Upgrade", "websocket"); this.KIJCFMGLFBO.EFCPNBCFKKD("Connection", "keep-alive, Upgrade"); this.KIJCFMGLFBO.EFCPNBCFKKD("Sec-WebSocket-Key", this.GKONAEOJKIA(new object[] { this, this.KIJCFMGLFBO, CAGBGCGKOKD, new object() })); if (!string.IsNullOrEmpty(MIKPIBIENPH)) { this.KIJCFMGLFBO.EFCPNBCFKKD("Origin", MIKPIBIENPH); } this.KIJCFMGLFBO.EFCPNBCFKKD("Sec-WebSocket-Version", "13"); if (!string.IsNullOrEmpty(AGAMAAHGMIM)) { this.KIJCFMGLFBO.EFCPNBCFKKD("Sec-WebSocket-Protocol", AGAMAAHGMIM); } this.KIJCFMGLFBO.EFCPNBCFKKD("Cache-Control", "no-cache"); this.KIJCFMGLFBO.EFCPNBCFKKD("Pragma", "no-cache"); this.AGODJKPLNGO = PFOHCDLFMCE; this.KIJCFMGLFBO.LBFICACMFMG = true; if (EDGFEAGFEKH.EIGELCAHPCH != null) { this.KIJCFMGLFBO.EIGELCAHPCH = new ENJHJOLPJKH(EDGFEAGFEKH.EIGELCAHPCH.JHFECOIBEGK, EDGFEAGFEKH.EIGELCAHPCH.CIOJJDGDOND, false, false, EDGFEAGFEKH.EIGELCAHPCH.NMJGGBJAIKD); } } // Token: 0x06006814 RID: 26644 RVA: 0x0021B1D8 File Offset: 0x002193D8 public void IOOKOMFIBCG() { if (this.DMCKBGPGHDG) { throw new InvalidOperationException("Open already called! You can't reuse this WebSocket instance!"); } if (this.AGODJKPLNGO != null) { try { for (int i = 0; i < this.AGODJKPLNGO.Length; i++) { EFMJKIGBGGK efmjkigbggk = this.AGODJKPLNGO[i]; if (efmjkigbggk != null) { efmjkigbggk.OIGAJKCCFGA(this.KIJCFMGLFBO); } } } catch (Exception ex) { EDGFEAGFEKH.ABKOCPMECFA.BNHIDAKJDEG("WebSocket", "Open", ex); } } this.KIJCFMGLFBO.CKKKGIFDIJJ(); this.DMCKBGPGHDG = true; } // Token: 0x06006815 RID: 26645 RVA: 0x0021B280 File Offset: 0x00219480 private void AOPCDADNCPJ(KGBBPEDECCO KEKAOJMDEPA, ENANHBCGCNA ODKJBCBGDKE) { this.MAMLCABFOLP = ODKJBCBGDKE as NBDAPECNMNB; if (this.MAMLCABFOLP == null) { if (this.HMANIKCOIJC != null) { this.HMANIKCOIJC(this, KEKAOJMDEPA.BNHIDAKJDEG); } if (this.ICKGEOAPPBE != null) { string text = string.Empty; if (KEKAOJMDEPA.BNHIDAKJDEG != null) { text = KEKAOJMDEPA.BNHIDAKJDEG.Message + "LAST_REVIVE_OTHER_TIME" + KEKAOJMDEPA.BNHIDAKJDEG.StackTrace; } this.ICKGEOAPPBE(this, text); } return; } this.MAMLCABFOLP.FCAKDPLHLCP(this); if (this.AGODJKPLNGO != null) { for (int i = 1; i < this.AGODJKPLNGO.Length; i++) { EFMJKIGBGGK efmjkigbggk = this.AGODJKPLNGO[i]; try { if (efmjkigbggk != null && !efmjkigbggk.ALALFAMELFB(this.MAMLCABFOLP)) { this.AGODJKPLNGO[i] = null; } } catch (Exception ex) { EDGFEAGFEKH.ABKOCPMECFA.BNHIDAKJDEG("_Color", "Create CubeGrid", ex); this.AGODJKPLNGO[i] = null; } } } if (this.OEEEPGEPOOB != null) { try { this.OEEEPGEPOOB(this); } catch (Exception ex2) { EDGFEAGFEKH.ABKOCPMECFA.BNHIDAKJDEG("{0}v2/acceptfriendrequest?id={1}", " not found when trying to remove on player leave", ex2); } } this.MAMLCABFOLP.PDAAIPPCFNB = new Action(this.BFPAJFNCGNC); this.MAMLCABFOLP.HLGNBMLHKOC = new Action(this.JCBJMFIFPPN); this.MAMLCABFOLP.MMEMDOOJIOJ = new Action(this.DFAHHDMDLPO); if (this.FHPNENEEELF != null) { this.MAMLCABFOLP.FHPNENEEELF = new Action(this.CCMPLHNJDBH); } if (this.PECGPMKKFJO()) { this.MAMLCABFOLP.FHIIIMJBKJC(Math.Max(this.CJAAHHNCCDF, -45)); } this.MAMLCABFOLP.LDCOOMLFDBI(); } // Token: 0x06006816 RID: 26646 RVA: 0x0021B478 File Offset: 0x00219678 [CompilerGenerated] private void JCBJMFIFPPN(NBDAPECNMNB ADMGHLFDCFE, byte[] EOKGKPLNGNC) { if (this.HLGNBMLHKOC != null) { this.HLGNBMLHKOC(this, EOKGKPLNGNC); } } // Token: 0x06006817 RID: 26647 RVA: 0x0021B494 File Offset: 0x00219694 public bool HPPPKGBAKDO() { return this.MAMLCABFOLP == null || this.MAMLCABFOLP.BBKNIJDDHGB(); } // Token: 0x06006818 RID: 26648 RVA: 0x0021B4B4 File Offset: 0x002196B4 public void FLGPCEODAPL() { if (!this.HPPPKGBAKDO()) { return; } this.MAMLCABFOLP.LIIMPEMIBHC(); } // Token: 0x0600681A RID: 26650 RVA: 0x0021B4DC File Offset: 0x002196DC public void CKKKGIFDIJJ(OPAEMMDPOHJ KPMMDGIAGPC) { if (this.OLNENJCIBCD) { this.MAMLCABFOLP.CKKKGIFDIJJ(KPMMDGIAGPC); } } // Token: 0x0600681C RID: 26652 RVA: 0x0021B500 File Offset: 0x00219700 public void EINGMNJHKHI(ushort BEACJBLGDGA, string NFAFJOMABOK) { if (!this.OLNENJCIBCD) { return; } this.MAMLCABFOLP.EINGMNJHKHI(BEACJBLGDGA, NFAFJOMABOK); } // Token: 0x04000DED RID: 3565 public LLMFNDFADJG OEEEPGEPOOB; // Token: 0x04000DEE RID: 3566 public DGJJEJEONIM BIAICJMJDDO; // Token: 0x04000DEF RID: 3567 public IEGFENEHBBA HLGNBMLHKOC; // Token: 0x04000DF0 RID: 3568 public BAJKJANIHCK MMEMDOOJIOJ; // Token: 0x04000DF1 RID: 3569 public DEAGINMGAIE HMANIKCOIJC; // Token: 0x04000DF2 RID: 3570 public JEEOBMDGBDH ICKGEOAPPBE; // Token: 0x04000DF3 RID: 3571 public BPIJAIFKHNK FHPNENEEELF; // Token: 0x04000DF4 RID: 3572 private bool DMCKBGPGHDG; // Token: 0x04000DF5 RID: 3573 private NBDAPECNMNB MAMLCABFOLP; } }