using System; using System.Collections.Generic; using System.IO; using System.Runtime.InteropServices; using System.Text; using System.Threading; using BestHTTP.Caching; using BestHTTP.Cookies; using BestHTTP.Decompression.Zlib; using BestHTTP.Extensions; using BestHTTP.Logger; using Cpp2IlInjected; using UnityEngine; namespace BestHTTP { // Token: 0x020012B5 RID: 4789 [Token(Token = "0x20012B5")] [StructLayout(3)] public class HTTPResponse : IDisposable { // Token: 0x1700137A RID: 4986 // (get) Token: 0x060077C6 RID: 30662 RVA: 0x0018CBA0 File Offset: 0x0018ADA0 // (set) Token: 0x060077C7 RID: 30663 RVA: 0x0018CBB4 File Offset: 0x0018ADB4 [Token(Token = "0x1700137A")] public int VersionMajor { [Token(Token = "0x60077C6")] [Address(RVA = "0x3C1C50", Offset = "0x3C0650", VA = "0x1803C1C50")] get; [Token(Token = "0x60077C7")] [Address(RVA = "0x3C1C90", Offset = "0x3C0690", VA = "0x1803C1C90")] protected set; } // Token: 0x1700137B RID: 4987 // (get) Token: 0x060077C8 RID: 30664 RVA: 0x0018CBC8 File Offset: 0x0018ADC8 // (set) Token: 0x060077C9 RID: 30665 RVA: 0x0018CBDC File Offset: 0x0018ADDC [Token(Token = "0x1700137B")] public int VersionMinor { [Token(Token = "0x60077C8")] [Address(RVA = "0x55D550", Offset = "0x55BF50", VA = "0x18055D550")] get; [Token(Token = "0x60077C9")] [Address(RVA = "0x55D5D0", Offset = "0x55BFD0", VA = "0x18055D5D0")] protected set; } // Token: 0x1700137C RID: 4988 // (get) Token: 0x060077CA RID: 30666 RVA: 0x0018CBF0 File Offset: 0x0018ADF0 // (set) Token: 0x060077CB RID: 30667 RVA: 0x0018CC04 File Offset: 0x0018AE04 [Token(Token = "0x1700137C")] public int StatusCode { [Token(Token = "0x60077CA")] [Address(RVA = "0x3EE8D0", Offset = "0x3ED2D0", VA = "0x1803EE8D0")] get; [Token(Token = "0x60077CB")] [Address(RVA = "0x4F8C20", Offset = "0x4F7620", VA = "0x1804F8C20")] protected set; } // Token: 0x1700137D RID: 4989 // (get) Token: 0x060077CC RID: 30668 RVA: 0x0018CC18 File Offset: 0x0018AE18 [Token(Token = "0x1700137D")] public bool IsSuccess { [Token(Token = "0x60077CC")] [Address(RVA = "0x1C9D020", Offset = "0x1C9BA20", VA = "0x181C9D020")] get { int num = this.k__BackingField; return true; } } // Token: 0x1700137E RID: 4990 // (get) Token: 0x060077CD RID: 30669 RVA: 0x0018CC38 File Offset: 0x0018AE38 // (set) Token: 0x060077CE RID: 30670 RVA: 0x0018CC4C File Offset: 0x0018AE4C [Token(Token = "0x1700137E")] public string Message { [Token(Token = "0x60077CD")] [Address(RVA = "0x3C1220", Offset = "0x3BFC20", VA = "0x1803C1220")] get; [Token(Token = "0x60077CE")] [Address(RVA = "0x3C1260", Offset = "0x3BFC60", VA = "0x1803C1260")] protected set; } // Token: 0x1700137F RID: 4991 // (get) Token: 0x060077CF RID: 30671 RVA: 0x0018CC60 File Offset: 0x0018AE60 // (set) Token: 0x060077D0 RID: 30672 RVA: 0x0018CC74 File Offset: 0x0018AE74 [Token(Token = "0x1700137F")] public bool IsStreamed { [Token(Token = "0x60077CF")] [Address(RVA = "0x651230", Offset = "0x64FC30", VA = "0x180651230")] get; [Token(Token = "0x60077D0")] [Address(RVA = "0x6C60C0", Offset = "0x6C4AC0", VA = "0x1806C60C0")] protected set; } // Token: 0x17001380 RID: 4992 // (get) Token: 0x060077D1 RID: 30673 RVA: 0x0018CC88 File Offset: 0x0018AE88 // (set) Token: 0x060077D2 RID: 30674 RVA: 0x0018CC9C File Offset: 0x0018AE9C [Token(Token = "0x17001380")] public bool IsStreamingFinished { [Token(Token = "0x60077D1")] [Address(RVA = "0x74C4C0", Offset = "0x74AEC0", VA = "0x18074C4C0")] get; [Token(Token = "0x60077D2")] [Address(RVA = "0x4564C0", Offset = "0x454EC0", VA = "0x1804564C0")] internal set; } // Token: 0x17001381 RID: 4993 // (get) Token: 0x060077D3 RID: 30675 RVA: 0x0018CCB0 File Offset: 0x0018AEB0 // (set) Token: 0x060077D4 RID: 30676 RVA: 0x0018CCC4 File Offset: 0x0018AEC4 [Token(Token = "0x17001381")] public bool IsFromCache { [Token(Token = "0x60077D3")] [Address(RVA = "0x456460", Offset = "0x454E60", VA = "0x180456460")] get; [Token(Token = "0x60077D4")] [Address(RVA = "0x456490", Offset = "0x454E90", VA = "0x180456490")] internal set; } // Token: 0x17001382 RID: 4994 // (get) Token: 0x060077D5 RID: 30677 RVA: 0x0018CCD8 File Offset: 0x0018AED8 // (set) Token: 0x060077D6 RID: 30678 RVA: 0x0018CCEC File Offset: 0x0018AEEC [Token(Token = "0x17001382")] public HTTPCacheFileInfo CacheFileInfo { [Token(Token = "0x60077D5")] [Address(RVA = "0x3C1250", Offset = "0x3BFC50", VA = "0x1803C1250")] get; [Token(Token = "0x60077D6")] [Address(RVA = "0x3C1290", Offset = "0x3BFC90", VA = "0x1803C1290")] internal set; } // Token: 0x17001383 RID: 4995 // (get) Token: 0x060077D7 RID: 30679 RVA: 0x0018CD00 File Offset: 0x0018AF00 // (set) Token: 0x060077D8 RID: 30680 RVA: 0x0018CD14 File Offset: 0x0018AF14 [Token(Token = "0x17001383")] public bool IsCacheOnly { [Token(Token = "0x60077D7")] [Address(RVA = "0x52F470", Offset = "0x52DE70", VA = "0x18052F470")] get; [Token(Token = "0x60077D8")] [Address(RVA = "0x52F720", Offset = "0x52E120", VA = "0x18052F720")] private set; } // Token: 0x17001384 RID: 4996 // (get) Token: 0x060077D9 RID: 30681 RVA: 0x0018CD28 File Offset: 0x0018AF28 // (set) Token: 0x060077DA RID: 30682 RVA: 0x0018CD3C File Offset: 0x0018AF3C [Token(Token = "0x17001384")] public Dictionary> Headers { [Token(Token = "0x60077D9")] [Address(RVA = "0x3D32F0", Offset = "0x3D1CF0", VA = "0x1803D32F0")] get; [Token(Token = "0x60077DA")] [Address(RVA = "0x3D3460", Offset = "0x3D1E60", VA = "0x1803D3460")] protected set; } // Token: 0x17001385 RID: 4997 // (get) Token: 0x060077DB RID: 30683 RVA: 0x0018CD50 File Offset: 0x0018AF50 // (set) Token: 0x060077DC RID: 30684 RVA: 0x0018CD64 File Offset: 0x0018AF64 [Token(Token = "0x17001385")] public byte[] Data { [Token(Token = "0x60077DB")] [Address(RVA = "0x3EDEA0", Offset = "0x3EC8A0", VA = "0x1803EDEA0")] get; [Token(Token = "0x60077DC")] [Address(RVA = "0x3EDED0", Offset = "0x3EC8D0", VA = "0x1803EDED0")] internal set; } // Token: 0x17001386 RID: 4998 // (get) Token: 0x060077DD RID: 30685 RVA: 0x0018CD78 File Offset: 0x0018AF78 // (set) Token: 0x060077DE RID: 30686 RVA: 0x0018CD8C File Offset: 0x0018AF8C [Token(Token = "0x17001386")] public bool IsUpgraded { [Token(Token = "0x60077DD")] [Address(RVA = "0x446CB0", Offset = "0x4456B0", VA = "0x180446CB0")] get; [Token(Token = "0x60077DE")] [Address(RVA = "0x534E20", Offset = "0x533820", VA = "0x180534E20")] protected set; } // Token: 0x17001387 RID: 4999 // (get) Token: 0x060077DF RID: 30687 RVA: 0x0018CDA0 File Offset: 0x0018AFA0 // (set) Token: 0x060077E0 RID: 30688 RVA: 0x0018CDB4 File Offset: 0x0018AFB4 [Token(Token = "0x17001387")] public List Cookies { [Token(Token = "0x60077DF")] [Address(RVA = "0x4B81A0", Offset = "0x4B6BA0", VA = "0x1804B81A0")] get; [Token(Token = "0x60077E0")] [Address(RVA = "0x3EDEB0", Offset = "0x3EC8B0", VA = "0x1803EDEB0")] internal set; } // Token: 0x17001388 RID: 5000 // (get) Token: 0x060077E1 RID: 30689 RVA: 0x0018CDC8 File Offset: 0x0018AFC8 [Token(Token = "0x17001388")] public string DataAsText { [Token(Token = "0x60077E1")] [Address(RVA = "0x1C9CEB0", Offset = "0x1C9B8B0", VA = "0x181C9CEB0")] get { if (this.k__BackingField == (ulong)0L) { return string.Empty; } if (string.IsNullOrEmpty(this.dataAsText)) { Encoding utf = Encoding.UTF8; byte[] array = this.k__BackingField; string @string = utf.GetString(array); this.dataAsText = @string; return @string; } return this.dataAsText; } } // Token: 0x17001389 RID: 5001 // (get) Token: 0x060077E2 RID: 30690 RVA: 0x0018CE20 File Offset: 0x0018B020 [Token(Token = "0x17001389")] public Texture2D DataAsTexture2D { [Token(Token = "0x60077E2")] [Address(RVA = "0x1C9CF50", Offset = "0x1C9B950", VA = "0x181C9CF50")] get { if (this.k__BackingField != (ulong)0L) { Texture2D texture2D = this.texture; int num = 0; if (!(texture2D != num)) { int num2; int num3; ulong num4; Texture2D texture2D2 = new Texture2D(num2, num3, (TextureFormat)((uint)5), num4 != 0UL); num3 = 0; num2 = 0; byte[] array = this.k__BackingField; this.texture = texture2D2; bool flag = texture2D2.LoadImage(array); } return this.texture; } } } // Token: 0x1700138A RID: 5002 // (get) Token: 0x060077E3 RID: 30691 RVA: 0x0018CE84 File Offset: 0x0018B084 // (set) Token: 0x060077E4 RID: 30692 RVA: 0x0018CE98 File Offset: 0x0018B098 [Token(Token = "0x1700138A")] public bool IsClosedManually { [Token(Token = "0x60077E3")] [Address(RVA = "0x6374D0", Offset = "0x635ED0", VA = "0x1806374D0")] get; [Token(Token = "0x60077E4")] [Address(RVA = "0x6374E0", Offset = "0x635EE0", VA = "0x1806374E0")] protected set; } // Token: 0x060077E5 RID: 30693 RVA: 0x0018CEAC File Offset: 0x0018B0AC [Token(Token = "0x60077E5")] [Address(RVA = "0x1C9CDF0", Offset = "0x1C9B7F0", VA = "0x181C9CDF0")] public HTTPResponse(HTTPRequest request, Stream stream, bool isStreamed, bool isFromCache) { object obj = new object(); this.SyncRoot = obj; base..ctor(); this.IsFromCache = false; this.baseRequest = request; this.Stream = stream; this.IsStreamed = isStreamed; bool cacheOnly = request.cacheOnly; this.IsCacheOnly = cacheOnly; this.IsClosedManually = false; } // Token: 0x060077E6 RID: 30694 RVA: 0x0018CF04 File Offset: 0x0018B104 [Token(Token = "0x60077E6")] [Address(RVA = "0x1C9C3B0", Offset = "0x1C9ADB0", VA = "0x181C9C3B0", Slot = "5")] public virtual bool Receive(int forceReadRawContentLength = -1, bool readPayloadData = true) { for (;;) { if (HTTPManager.Logger == 0) { string text; this.VerboseLogging(text); } Stream stream = this.Stream; string text3; string text2; if (HTTPManager.Logger == 0) { text2 = string.Format("Status Line: '{0}'", text3); this.VerboseLogging(text2); } if (text2 == 0) { char[] array = new char[2]; array[0] = (char)((uint)47); array[0] = (char)((uint)46); string[] array2 = text3.Split(array); int num = int.Parse(array2[1]); this.k__BackingField = num; int num2 = int.Parse(array2[2]); this.k__BackingField = num2; if (HTTPManager.Logger == 0) { int num3 = this.k__BackingField; string text4 = string.Format("HTTP Version: '{0}.{1}'", num3, num3); this.VerboseLogging(text4); } Stream stream2 = this.Stream; string text6; if (HTTPManager.Logger == 0) { string text5 = string.Format("Status Code: '{0}'", text6); this.VerboseLogging(text5); } bool flag; if (!this.baseRequest.k__BackingField && !flag) { goto IL_27C; } int num4 = int.Parse(text6); this.k__BackingField = num4; int stringLength = text6.m_stringLength; if (stringLength > 0) { char c = text6[stringLength]; int stringLength2 = text6.m_stringLength; char c2 = text6[stringLength2]; Stream stream3 = this.Stream; string text7; this.k__BackingField = text7; if (HTTPManager.Logger != 0) { goto IL_1CA; } string text8 = this.k__BackingField; string text9 = string.Format("Status Message: '{0}'", text8); this.VerboseLogging(text9); } BestHTTP.Logger.ILogger logger = HTTPManager.Logger; HTTPRequest httprequest = this.baseRequest; if (!httprequest.k__BackingField) { continue; } int hashCode = httprequest.k__BackingField.m_String.GetHashCode(); string text10 = string.Format("{0} - Skipping Status Message reading!", hashCode); string empty = string.Empty; this.k__BackingField = empty; IL_1CA: Stream stream4 = this.Stream; this.ReadHeaders(stream4); if (this.k__BackingField != 101) { } if (this.HasHeaderWithValue("connection", "upgrade")) { } bool flag2 = this.GetHeaderValues("upgrade") != 0; this.k__BackingField = flag2; if (flag2 && HTTPManager.Logger == 0) { this.VerboseLogging("Request Upgraded!"); } if (readPayloadData) { break; } } HTTPRequest httprequest2 = this.baseRequest; if (!httprequest2.k__BackingField && !httprequest2.k__BackingField) { goto Block_13; } } return this.ReadPayload(forceReadRawContentLength); Block_13: int num5 = 0; BestHTTP.Logger.ILogger logger2 = HTTPManager.Logger; int hashCode2 = num5.GetHashCode(); string text11 = string.Format("{0} - Failed to read Status Line! Retry is enabled, returning with false.", hashCode2); IL_27C: throw new NullReferenceException(); } // Token: 0x060077E7 RID: 30695 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x60077E7")] [Address(RVA = "0x1C9B050", Offset = "0x1C99A50", VA = "0x181C9B050")] protected bool ReadPayload(int forceReadRawContentLength) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060077E8 RID: 30696 RVA: 0x0018D194 File Offset: 0x0018B394 [Token(Token = "0x60077E8")] [Address(RVA = "0x1C9AF00", Offset = "0x1C99900", VA = "0x181C9AF00")] protected void ReadHeaders(Stream stream) { string empty2; string text4; do { string empty = string.Empty; string text; if (!(text != empty)) { break; } string text3; if (HTTPManager.Logger == 0) { string text2 = string.Format("Header - '{0}': '{1}'", text, text3); this.VerboseLogging(text2); } this.AddHeader(text, text3); empty2 = string.Empty; } while (text4 != empty2); } // Token: 0x060077E9 RID: 30697 RVA: 0x0018D1F4 File Offset: 0x0018B3F4 [Token(Token = "0x60077E9")] [Address(RVA = "0x1C98A90", Offset = "0x1C97490", VA = "0x181C98A90")] protected void AddHeader(string name, string value) { string text = name.ToLower(); if (this.k__BackingField == 0) { Dictionary> dictionary = new Dictionary(); this.k__BackingField = dictionary; } bool flag; List list; if (!flag) { Dictionary> dictionary2 = this.k__BackingField; list = new List(1); dictionary2.Add(text, list); } list.Add(value); } // Token: 0x060077EA RID: 30698 RVA: 0x0018D24C File Offset: 0x0018B44C [Token(Token = "0x60077EA")] [Address(RVA = "0x1C99CF0", Offset = "0x1C986F0", VA = "0x181C99CF0")] public List GetHeaderValues(string name) { if (this.k__BackingField != (ulong)0L) { string text = name.ToLower(); Dictionary> dictionary = this.k__BackingField; bool flag; if (flag) { } } throw new NullReferenceException(); } // Token: 0x060077EB RID: 30699 RVA: 0x0018D280 File Offset: 0x0018B480 [Token(Token = "0x60077EB")] [Address(RVA = "0x1C99C40", Offset = "0x1C98640", VA = "0x181C99C40")] public string GetFirstHeaderValue(string name) { if (this.k__BackingField != (ulong)0L) { string text = name.ToLower(); Dictionary> dictionary = this.k__BackingField; bool flag; if (!flag || flag) { } } throw new NullReferenceException(); } // Token: 0x060077EC RID: 30700 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x60077EC")] [Address(RVA = "0x1C9A260", Offset = "0x1C98C60", VA = "0x181C9A260")] public bool HasHeaderWithValue(string headerName, string value) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060077ED RID: 30701 RVA: 0x0018D2B8 File Offset: 0x0018B4B8 [Token(Token = "0x60077ED")] [Address(RVA = "0x1C9A310", Offset = "0x1C98D10", VA = "0x181C9A310")] public bool HasHeader(string headerName) { return this.GetHeaderValues(headerName) != 0; } // Token: 0x060077EE RID: 30702 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x60077EE")] [Address(RVA = "0x1C99D90", Offset = "0x1C98790", VA = "0x181C99D90")] public HTTPRange GetRange() { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060077EF RID: 30703 RVA: 0x0018D2D4 File Offset: 0x0018B4D4 [Token(Token = "0x60077EF")] [Address(RVA = "0x1C9B7D0", Offset = "0x1C9A1D0", VA = "0x181C9B7D0")] public static string ReadTo(Stream stream, byte blocker) { int num; do { num = 0; uint num2; ulong num3; byte[] array = VariableSizedBufferPool.Get((long)num2, num3 != 0UL); int num4; uint num5; if (num4 != (int)blocker && num4 != -1 && !char.IsWhiteSpace((char)num5)) { num++; } bool flag; if (num <= 0 || flag) { } Encoding utf = Encoding.UTF8; if (num != -1) { } } while (num != 0); string text; return text; } // Token: 0x060077F0 RID: 30704 RVA: 0x0018D34C File Offset: 0x0018B54C [Token(Token = "0x60077F0")] [Address(RVA = "0x1C9BAD0", Offset = "0x1C9A4D0", VA = "0x181C9BAD0")] public static string ReadTo(Stream stream, byte blocker1, byte blocker2) { int num; do { num = 0; uint num2; ulong num3; byte[] array = VariableSizedBufferPool.Get((long)num2, num3 != 0UL); int num4; uint num5; if (num4 != (int)blocker1 && num4 != (int)blocker1 && num4 != -1 && !char.IsWhiteSpace((char)num5)) { num++; } if (num <= 0 || char.IsWhiteSpace((char)blocker1)) { } Encoding utf = Encoding.UTF8; if (num != -1) { } } while (num != 0); string text; return text; } // Token: 0x060077F1 RID: 30705 RVA: 0x0018D3CC File Offset: 0x0018B5CC [Token(Token = "0x60077F1")] [Address(RVA = "0x1C9A440", Offset = "0x1C98E40", VA = "0x181C9A440")] public static string NoTrimReadTo(Stream stream, byte blocker1, byte blocker2) { int num; do { num = 0; uint num2; ulong num3; byte[] array = VariableSizedBufferPool.Get((long)num2, num3 != 0UL); int num4; uint num5; if (num4 != stream && num4 != (int)blocker2 && num4 != -1 && !char.IsWhiteSpace((char)num5)) { num++; } Encoding utf = Encoding.UTF8; if (num != -1) { } } while (num != 0); string text; return text; } // Token: 0x060077F2 RID: 30706 RVA: 0x0018D434 File Offset: 0x0018B634 [Token(Token = "0x60077F2")] [Address(RVA = "0x1C9A6E0", Offset = "0x1C990E0", VA = "0x181C9A6E0")] protected int ReadChunkLength(Stream stream) { /* An exception occurred when decompiling this method (060077F2) ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 BestHTTP.HTTPResponse::ReadChunkLength(System.IO.Stream) ---> System.Exception: Basic block has to end with unconditional control flow. { IL_3E: stloc:Exception(var_5_4E, newobj:Exception(Exception::.ctor, call:string(string::Format, ldstr:string("Can't parse '{0}' as a hex number!"), ldloc:string[exp:object](var_3_20)))) } at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88 --- End of inner exception stack trace --- at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1663 */; } // Token: 0x060077F3 RID: 30707 RVA: 0x0018D490 File Offset: 0x0018B690 [Token(Token = "0x60077F3")] [Address(RVA = "0x1C9A800", Offset = "0x1C99200", VA = "0x181C9A800")] protected void ReadChunked(Stream stream) { int num; do { num = 0; this.BeginReceiveStreamFragments(); string firstHeaderValue = this.GetFirstHeaderValue("Content-Length"); int num2 = 0; if (!string.IsNullOrEmpty(firstHeaderValue)) { bool flag = int.TryParse(firstHeaderValue, num2); } if (HTTPManager.Logger == 0) { string text; this.VerboseLogging(text); } BufferPoolMemoryStream bufferPoolMemoryStream = new BufferPoolMemoryStream(); int num3 = this.ReadChunkLength(stream); if (HTTPManager.Logger == 0) { string text2; this.VerboseLogging(text2); } ulong num4; byte[] array = VariableSizedBufferPool.Get((long)Mathf.NextPowerOfTwo(num3), num4 != 0UL); this.baseRequest.k__BackingField = (long)num3; HTTPRequest httprequest = this.baseRequest; int num5 = this.k__BackingField; if (num3 <= 99 || num5 != 304) { } uint num6; bool flag2 = num6 != (uint)0; httprequest.k__BackingField = flag2; if (this.k__BackingField) { } string firstHeaderValue2 = this.GetFirstHeaderValue("content-encoding"); if (string.IsNullOrEmpty(firstHeaderValue2)) { } bool flag3 = string.Equals(firstHeaderValue2, "gzip"); HTTPRequest httprequest3; if (num3 != 0) { num3 -= num; stream.SetLength((long)num3); HTTPRequest httprequest2 = this.baseRequest; httprequest3 = this.baseRequest; if (!this.IsSuccess) { } uint num7; bool flag4 = num7 != (uint)0; httprequest3.k__BackingField = flag4; if (num < num3) { } if (!this.baseRequest.useStreaming) { int num8 = bufferPoolMemoryStream.ReadByte(); } if (httprequest3 == 0) { } byte[] array2; if (array2 != 0) { int length = array2.Length; int num9 = 0; this.FeedStreamFragment(array2, num9, length); } ulong num10; string text3 = HTTPResponse.ReadTo(stream, (byte)num10); num3 = this.ReadChunkLength(stream); if (HTTPManager.Logger == 0) { string text4; this.VerboseLogging(text4); } HTTPRequest httprequest4 = this.baseRequest; HTTPRequest httprequest5 = this.baseRequest; if (this.IsSuccess) { continue; } bool flag5 = this.k__BackingField; httprequest5.k__BackingField = flag5; } if (this.baseRequest.useStreaming) { byte[] array3; if (httprequest3 != 0 && array3 != 0) { int length2 = array3.Length; int num11 = 0; this.FeedStreamFragment(array3, num11, length2); } this.FlushRemainingFragmentBuffer(); } this.ReadHeaders(stream); if (!this.baseRequest.useStreaming) { byte[] array4 = this.DecodeStream(bufferPoolMemoryStream); this.k__BackingField = array4; } if (bufferPoolMemoryStream != 0) { } if (num != -1) { } } while (num != 0); this.CloseDecompressors(); } // Token: 0x060077F4 RID: 30708 RVA: 0x0018D72C File Offset: 0x0018B92C [Token(Token = "0x60077F4")] [Address(RVA = "0x1C9B210", Offset = "0x1C99C10", VA = "0x181C9B210")] internal void ReadRaw(Stream stream, long contentLength) { for (;;) { int num = 0; this.BeginReceiveStreamFragments(); HTTPRequest httprequest = this.baseRequest; httprequest.k__BackingField = contentLength; HTTPRequest httprequest2 = this.baseRequest; int num2 = this.k__BackingField; if (httprequest <= (ulong)99L || num2 != 304) { } uint num3; bool flag = num3 != (uint)0; httprequest2.k__BackingField = flag; if (HTTPManager.Logger == 0) { string text; this.VerboseLogging(text); } if ((this.k__BackingField ? 1 : 0) != num) { } if (this.GetFirstHeaderValue("content-encoding") != 0) { } if (!this.baseRequest.useStreaming) { } BufferPoolMemoryStream bufferPoolMemoryStream = new BufferPoolMemoryStream((int)contentLength); int num4 = this.baseRequest.streamFragmentSize; uint num5; num4 = Math.Max(num4, (int)num5); ulong num6; byte[] array = VariableSizedBufferPool.Get((long)num4, num6 != 0UL); uint num8; uint num7 = Math.Min(num8, (uint)contentLength); int num9 = array.Length; num9 -= num; int num10 = Math.Min((int)num7, num9); if (num10 > 0) { num += num10; HTTPRequest httprequest3 = this.baseRequest; HTTPRequest httprequest4 = this.baseRequest; if (!this.IsSuccess) { } uint num11; bool flag2 = num11 != (uint)0; httprequest4.k__BackingField = flag2; if (num < array.Length) { } if (!this.baseRequest.useStreaming) { } int num12 = 0; this.FeedStreamFragment(array, num12, num); ulong num13; byte[] array2 = this.Decompress(array, num12, num, num13 != 0UL); while (array2 == 0) { } int length = array2.Length; int num14 = 0; this.FeedStreamFragment(array2, num14, length); VariableSizedBufferPool.Release(array); if (this.baseRequest.useStreaming) { byte[] array3; if (array3 != 0) { int length2 = array3.Length; int num15 = 0; this.FeedStreamFragment(array3, num15, length2); } this.FlushRemainingFragmentBuffer(); } if (!this.baseRequest.useStreaming) { byte[] array4; this.k__BackingField = array4; } if (httprequest4 != 0) { } if (num != -1) { } if (num == 0) { break; } } } this.CloseDecompressors(); } // Token: 0x060077F5 RID: 30709 RVA: 0x0018D8FC File Offset: 0x0018BAFC [Token(Token = "0x60077F5")] [Address(RVA = "0x1C9BDE0", Offset = "0x1C9A7E0", VA = "0x181C9BDE0")] protected void ReadUnknownSize(Stream stream) { for (;;) { if (this.k__BackingField) { } string firstHeaderValue = this.GetFirstHeaderValue("content-encoding"); if (string.IsNullOrEmpty(firstHeaderValue)) { } bool flag = string.Equals(firstHeaderValue, "gzip"); BufferPoolMemoryStream bufferPoolMemoryStream = new BufferPoolMemoryStream(); int num = this.baseRequest.streamFragmentSize; uint num2; num = Math.Max(num, (int)num2); int num3 = 0; byte[] array = VariableSizedBufferPool.Get((long)num, num3 != 0); if (HTTPManager.Logger == 0) { int length = array.Length; string text = string.Format("ReadUnknownSize - buffer size: {0:N0}", length); this.VerboseLogging(text); } int num4 = 0; int num5 = 0; if (stream == 0 || stream == 0 || (this.baseRequest.k__BackingField ? 1 : 0) == num5) { goto IL_B3; } if (num4 < array.Length) { num5++; num4++; goto IL_B3; } IL_C3: HTTPRequest httprequest = this.baseRequest; HTTPRequest httprequest2 = this.baseRequest; long k__BackingField = httprequest2.k__BackingField; httprequest2.k__BackingField = k__BackingField; HTTPRequest httprequest3 = this.baseRequest; if (this.IsSuccess) { continue; } bool flag2 = this.k__BackingField; httprequest3.k__BackingField = flag2; if (num4 < array.Length) { } if (!this.baseRequest.useStreaming) { int num6 = stream.ReadByte(); } int num7 = 0; if (httprequest3 == 0) { this.FeedStreamFragment(array, num7, num4); } ulong num8; byte[] array2 = this.Decompress(array, num7, num4, num8 != 0UL); if (array2 != 0) { int length2 = array2.Length; int num9 = 0; this.FeedStreamFragment(array2, num9, length2); } VariableSizedBufferPool.Release(array); if (this.baseRequest.useStreaming) { byte[] array3; if (httprequest3 != 0 && array3 != 0) { int length3 = array3.Length; int num10 = 0; this.FeedStreamFragment(array3, num10, length3); } this.FlushRemainingFragmentBuffer(); } if (!this.baseRequest.useStreaming) { byte[] array4; this.k__BackingField = array4; } int num11 = 0; int num12 = 0; if (stream != 0) { } if ((num11 != -1 && "{il2cpp array field local18->}" == (ulong)493L) || num12 == 0) { break; } continue; IL_B3: int num13 = array.Length; num13 -= num4; goto IL_C3; } GZipStream gzipStream = this.decompressorGZipStream; if (gzipStream != 0) { gzipStream.Dispose(); } this.decompressorGZipStream = (ulong)0L; BufferPoolMemoryStream bufferPoolMemoryStream2 = this.decompressorInputStream; if (bufferPoolMemoryStream2 != 0) { bufferPoolMemoryStream2.Dispose(); } this.decompressorInputStream = (ulong)0L; BufferPoolMemoryStream bufferPoolMemoryStream3 = this.decompressorOutputStream; if (bufferPoolMemoryStream3 != 0) { bufferPoolMemoryStream3.Dispose(); } this.decompressorOutputStream = (ulong)0L; } // Token: 0x060077F6 RID: 30710 RVA: 0x0000220F File Offset: 0x0000040F [Token(Token = "0x60077F6")] [Address(RVA = "0x1C98F90", Offset = "0x1C97990", VA = "0x181C98F90")] protected byte[] DecodeStream(BufferPoolMemoryStream streamToDecode) { throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method."); } // Token: 0x060077F7 RID: 30711 RVA: 0x0018DBA4 File Offset: 0x0018BDA4 [Token(Token = "0x60077F7")] [Address(RVA = "0x1C98F20", Offset = "0x1C97920", VA = "0x181C98F20")] private void CloseDecompressors() { GZipStream gzipStream = this.decompressorGZipStream; if (gzipStream != 0) { gzipStream.Dispose(); } BufferPoolMemoryStream bufferPoolMemoryStream = this.decompressorInputStream; int num = 0; this.decompressorGZipStream = num; if (bufferPoolMemoryStream != 0) { bufferPoolMemoryStream.Dispose(); } BufferPoolMemoryStream bufferPoolMemoryStream2 = this.decompressorOutputStream; this.decompressorInputStream = num; if (bufferPoolMemoryStream2 != 0) { bufferPoolMemoryStream2.Dispose(); } this.decompressorOutputStream = num; } // Token: 0x060077F8 RID: 30712 RVA: 0x0018DBFC File Offset: 0x0018BDFC [Token(Token = "0x60077F8")] [Address(RVA = "0x1C99280", Offset = "0x1C97C80", VA = "0x181C99280")] private byte[] Decompress(byte[] data, int offset, int count, bool forceDecompress = false) { BufferPoolMemoryStream bufferPoolMemoryStream = this.decompressorInputStream; if (bufferPoolMemoryStream == 0) { BufferPoolMemoryStream bufferPoolMemoryStream2 = new BufferPoolMemoryStream(count); this.decompressorInputStream = bufferPoolMemoryStream2; } if (data != 0) { int num = bufferPoolMemoryStream.ReadByte(); } BufferPoolMemoryStream bufferPoolMemoryStream3 = this.decompressorInputStream; if (bufferPoolMemoryStream3.CanWrite < false) { } long position = bufferPoolMemoryStream3.Position; GZipStream gzipStream; FlushType flushMode = gzipStream.FlushMode; BufferPoolMemoryStream bufferPoolMemoryStream4 = new BufferPoolMemoryStream(); byte[] array; VariableSizedBufferPool.Release(array); throw new NullReferenceException(); } // Token: 0x060077F9 RID: 30713 RVA: 0x0018DC64 File Offset: 0x0018BE64 [Token(Token = "0x60077F9")] [Address(RVA = "0x1C98DF0", Offset = "0x1C977F0", VA = "0x181C98DF0")] protected void BeginReceiveStreamFragments() { HTTPRequest httprequest = this.baseRequest; if (!httprequest.disableCache && httprequest.useStreaming && !this.k__BackingField) { if (httprequest.k__BackingField) { } Uri k__BackingField = httprequest.k__BackingField; HTTPMethods k__BackingField = httprequest.k__BackingField; if (HTTPCacheService.IsCacheble(k__BackingField, k__BackingField, this)) { HTTPRequest httprequest2 = this.baseRequest; if (httprequest2.k__BackingField) { } Stream stream = HTTPCacheService.PrepareStreamed(httprequest2.k__BackingField, this); this.cacheStream = stream; } } this.allFragmentSize = (int)((ulong)0L); } // Token: 0x060077FA RID: 30714 RVA: 0x0018DCEC File Offset: 0x0018BEEC [Token(Token = "0x60077FA")] [Address(RVA = "0x1C99630", Offset = "0x1C98030", VA = "0x181C99630")] protected void FeedStreamFragment(byte[] buffer, int pos, int length) { int num = 0; if (buffer != 0 && length != 0) { if ((this.baseRequest.useStreaming ? 1 : 0) != num && this.FragmentQueueIsFull()) { this.VerboseLogging("WaitWhileFragmentQueueIsFull"); if (this.fragmentWaitEvent == 0) { int num2; AutoResetEvent autoResetEvent = new AutoResetEvent(num2 != 0); num2 = 0; this.fragmentWaitEvent = autoResetEvent; } AutoResetEvent autoResetEvent2 = this.fragmentWaitEvent; } byte[] array; if (this.fragmentBuffer == num) { int streamFragmentSize = this.baseRequest.streamFragmentSize; int num3 = 0; array = VariableSizedBufferPool.Get((long)streamFragmentSize, num3 != 0); this.fragmentBuffer = array; this.fragmentBufferDataLength = num; } HTTPRequest httprequest = this.baseRequest; int num4 = this.fragmentBufferDataLength; int num5 = httprequest.streamFragmentSize; if (array > num5) { num5 -= num4; num4 = num5; this.FeedStreamFragment(buffer, pos, num4); } byte[] array2 = this.fragmentBuffer; Array.Copy(buffer, pos, array2, num4, length); int num6 = this.fragmentBufferDataLength; HTTPRequest httprequest2 = this.baseRequest; num6 += length; this.fragmentBufferDataLength = num6; if (num6 == httprequest2.streamFragmentSize) { byte[] array3 = this.fragmentBuffer; this.AddStreamedFragment(array3); this.fragmentBuffer = num; this.fragmentBufferDataLength = num; } } } // Token: 0x060077FB RID: 30715 RVA: 0x0018DE14 File Offset: 0x0018C014 [Token(Token = "0x60077FB")] [Address(RVA = "0x1C99900", Offset = "0x1C98300", VA = "0x181C99900")] protected void FlushRemainingFragmentBuffer() { int num = 0; if (this.fragmentBuffer != num) { byte[] array = this.fragmentBuffer; this.AddStreamedFragment(array); this.fragmentBuffer = num; this.fragmentBufferDataLength = num; } Stream stream = this.cacheStream; if (stream != 0) { stream.Dispose(); HTTPRequest httprequest = this.baseRequest; this.cacheStream = num; if ((httprequest.k__BackingField ? 1 : 0) != num) { } Uri k__BackingField = httprequest.k__BackingField; int num2 = this.allFragmentSize; HTTPCacheService.SetBodyLength(k__BackingField, num2); } AutoResetEvent autoResetEvent = this.fragmentWaitEvent; this.fragmentWaitEvent = num; if (autoResetEvent != 0) { } } // Token: 0x060077FC RID: 30716 RVA: 0x0018DEA8 File Offset: 0x0018C0A8 [Token(Token = "0x60077FC")] [Address(RVA = "0x1C98BB0", Offset = "0x1C975B0", VA = "0x181C98BB0")] protected void AddStreamedFragment(byte[] buffer) { int num; do { num = 0; object syncRoot = this.SyncRoot; if ((this.k__BackingField ? 1 : 0) == num) { List list = this.streamedFragments; if (list == 0) { List list2 = new List(); this.streamedFragments = list2; } list.Add(buffer); } if (HTTPManager.Logger == 0 && buffer != 0 && this.streamedFragments != (ulong)0L) { int length = buffer.Length; List list3 = this.streamedFragments; string text = string.Format("AddStreamedFragment buffer length: {0:N0} streamedFragments: {1:N0}", length, length); this.VerboseLogging(text); } Stream stream = this.cacheStream; if (stream != 0) { int num2 = stream.ReadByte(); } Monitor.Exit(syncRoot); if (num != -1) { } } while (num != 0); } // Token: 0x060077FD RID: 30717 RVA: 0x0018DF68 File Offset: 0x0018C168 [Token(Token = "0x60077FD")] [Address(RVA = "0x1C9CCF0", Offset = "0x1C9B6F0", VA = "0x181C9CCF0")] protected void WaitWhileFragmentQueueIsFull() { if (this.baseRequest.useStreaming && this.FragmentQueueIsFull()) { this.VerboseLogging("WaitWhileFragmentQueueIsFull"); if (this.fragmentWaitEvent == 0) { int num; AutoResetEvent autoResetEvent = new AutoResetEvent(num != 0); num = 0; this.fragmentWaitEvent = autoResetEvent; } AutoResetEvent autoResetEvent2 = this.fragmentWaitEvent; HTTPRequest httprequest = this.baseRequest; } } // Token: 0x060077FE RID: 30718 RVA: 0x0018DFC8 File Offset: 0x0018C1C8 [Token(Token = "0x60077FE")] [Address(RVA = "0x1C99A50", Offset = "0x1C98450", VA = "0x181C99A50")] private bool FragmentQueueIsFull() { bool flag; for (;;) { int num = 0; object syncRoot = this.SyncRoot; List list = this.streamedFragments; if (list == 0) { } int size = list._size; int k__BackingField = this.baseRequest.k__BackingField; flag = size >= k__BackingField; if (HTTPManager.Logger == 0) { int size2 = this.streamedFragments._size; int k__BackingField2 = this.baseRequest.k__BackingField; string text = string.Format("HasFragmentsInQueue - {0} / {1}", size2, k__BackingField2); this.VerboseLogging(text); Monitor.Exit(syncRoot); if (this != (ulong)(-1L)) { } if (num == 0) { break; } } } return flag; } // Token: 0x060077FF RID: 30719 RVA: 0x0018E074 File Offset: 0x0018C274 [Token(Token = "0x60077FF")] [Address(RVA = "0x1C99FD0", Offset = "0x1C989D0", VA = "0x181C99FD0")] public List GetStreamedFragments() { int num; do { num = 0; object syncRoot = this.SyncRoot; List list = this.streamedFragments; if (list != 0) { List list2 = new List(list); this.streamedFragments.Clear(); if (this.fragmentWaitEvent != 0) { bool flag = this.fragmentWaitEvent.Set(); } if (HTTPManager.Logger == 0) { int size = list2._size; string text = string.Format("GetStreamedFragments - returning with {0:N0} fragments", size); this.VerboseLogging(text); } } if (HTTPManager.Logger == 0) { this.VerboseLogging("GetStreamedFragments - no fragments, returning with null"); } Monitor.Exit(syncRoot); if (num != -1) { } } while (num != 0); throw new NullReferenceException(); } // Token: 0x06007800 RID: 30720 RVA: 0x0018E12C File Offset: 0x0018C32C [Token(Token = "0x6007800")] [Address(RVA = "0x1C9A330", Offset = "0x1C98D30", VA = "0x181C9A330")] internal bool HasStreamedFragments() { int num; bool flag; do { num = 0; object syncRoot = this.SyncRoot; List list = this.streamedFragments; if (list == 0) { } int size = list._size; HTTPRequest httprequest = this.baseRequest; flag = size >= httprequest.k__BackingField; Monitor.Exit(syncRoot); if (num != -1) { } } while (num != 0); return flag; } // Token: 0x06007801 RID: 30721 RVA: 0x0018E184 File Offset: 0x0018C384 [Token(Token = "0x6007801")] [Address(RVA = "0x1C99870", Offset = "0x1C98270", VA = "0x181C99870")] internal void FinishStreaming() { if (HTTPManager.Logger == 0) { this.VerboseLogging("FinishStreaming"); } this.k__BackingField = true; this.Dispose(); } // Token: 0x06007802 RID: 30722 RVA: 0x0018E1BC File Offset: 0x0018C3BC [Token(Token = "0x6007802")] [Address(RVA = "0x1C9CBC0", Offset = "0x1C9B5C0", VA = "0x181C9CBC0")] private void VerboseLogging(string str) { if (HTTPManager.Logger == 0) { BestHTTP.Logger.ILogger logger = HTTPManager.Logger; HTTPRequest httprequest = this.baseRequest; if (httprequest.k__BackingField) { } int hashCode = httprequest.k__BackingField.GetHashCode(); } } // Token: 0x06007803 RID: 30723 RVA: 0x0018E200 File Offset: 0x0018C400 [Token(Token = "0x6007803")] [Address(RVA = "0x1C99550", Offset = "0x1C97F50", VA = "0x181C99550", Slot = "4")] public void Dispose() { Stream stream = this.Stream; if (stream == 0 || stream != 0) { } Stream stream2 = this.cacheStream; this.Stream = (ulong)0L; if (stream2 != 0) { stream2.Dispose(); this.cacheStream = (ulong)0L; } GC.SuppressFinalize(this); } // Token: 0x04005674 RID: 22132 [Token(Token = "0x4005674")] internal const byte CR = 13; // Token: 0x04005675 RID: 22133 [Token(Token = "0x4005675")] internal const byte LF = 10; // Token: 0x04005676 RID: 22134 [Token(Token = "0x4005676")] public const int MinBufferSize = 4096; // Token: 0x04005684 RID: 22148 [global::Cpp2IlInjected.FieldOffset(Offset = "0x60")] [Token(Token = "0x4005684")] protected string dataAsText; // Token: 0x04005685 RID: 22149 [global::Cpp2IlInjected.FieldOffset(Offset = "0x68")] [Token(Token = "0x4005685")] protected Texture2D texture; // Token: 0x04005687 RID: 22151 [global::Cpp2IlInjected.FieldOffset(Offset = "0x78")] [Token(Token = "0x4005687")] internal HTTPRequest baseRequest; // Token: 0x04005688 RID: 22152 [global::Cpp2IlInjected.FieldOffset(Offset = "0x80")] [Token(Token = "0x4005688")] protected Stream Stream; // Token: 0x04005689 RID: 22153 [global::Cpp2IlInjected.FieldOffset(Offset = "0x88")] [Token(Token = "0x4005689")] protected List streamedFragments; // Token: 0x0400568A RID: 22154 [global::Cpp2IlInjected.FieldOffset(Offset = "0x90")] [Token(Token = "0x400568A")] protected object SyncRoot; // Token: 0x0400568B RID: 22155 [global::Cpp2IlInjected.FieldOffset(Offset = "0x98")] [Token(Token = "0x400568B")] protected byte[] fragmentBuffer; // Token: 0x0400568C RID: 22156 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA0")] [Token(Token = "0x400568C")] protected int fragmentBufferDataLength; // Token: 0x0400568D RID: 22157 [global::Cpp2IlInjected.FieldOffset(Offset = "0xA8")] [Token(Token = "0x400568D")] protected Stream cacheStream; // Token: 0x0400568E RID: 22158 [global::Cpp2IlInjected.FieldOffset(Offset = "0xB0")] [Token(Token = "0x400568E")] protected int allFragmentSize; // Token: 0x0400568F RID: 22159 [global::Cpp2IlInjected.FieldOffset(Offset = "0xB8")] [Token(Token = "0x400568F")] private BufferPoolMemoryStream decompressorInputStream; // Token: 0x04005690 RID: 22160 [global::Cpp2IlInjected.FieldOffset(Offset = "0xC0")] [Token(Token = "0x4005690")] private BufferPoolMemoryStream decompressorOutputStream; // Token: 0x04005691 RID: 22161 [global::Cpp2IlInjected.FieldOffset(Offset = "0xC8")] [Token(Token = "0x4005691")] private GZipStream decompressorGZipStream; // Token: 0x04005692 RID: 22162 [Token(Token = "0x4005692")] private const int MinLengthToDecompress = 256; // Token: 0x04005693 RID: 22163 [global::Cpp2IlInjected.FieldOffset(Offset = "0xD0")] [Token(Token = "0x4005693")] private AutoResetEvent fragmentWaitEvent; } }