using System; using System.Collections; using System.Collections.Generic; using System.Globalization; using System.Text; using Cpp2IlInjected; namespace BestHTTP.JSON { // Token: 0x02001F7E RID: 8062 [Token(Token = "0x2001F7E")] public class Json { // Token: 0x0600CC18 RID: 52248 RVA: 0x002EBD48 File Offset: 0x002E9F48 [Token(Token = "0x600CC18")] [Address(RVA = "0x264F3E0", Offset = "0x264E1E0", VA = "0x18264F3E0")] public static object Decode(string json) { if (json == 0) { } char[] array = json.ToCharArray(); object obj; return obj; } // Token: 0x0600CC19 RID: 52249 RVA: 0x002EBD64 File Offset: 0x002E9F64 [Token(Token = "0x600CC19")] [Address(RVA = "0x264F430", Offset = "0x264E230", VA = "0x18264F430")] public static object Decode(string json, ref bool success) { if (json == 0) { } char[] array = json.ToCharArray(); object obj; return obj; } // Token: 0x0600CC1A RID: 52250 RVA: 0x002EBD80 File Offset: 0x002E9F80 [Token(Token = "0x600CC1A")] [Address(RVA = "0x264F510", Offset = "0x264E310", VA = "0x18264F510")] public static string Encode(object json) { StringBuilder stringBuilder = new StringBuilder(2000); if (Json.SerializeValue(json, stringBuilder)) { } throw new NullReferenceException(); } // Token: 0x0600CC1B RID: 52251 RVA: 0x002EBDAC File Offset: 0x002E9FAC [Token(Token = "0x600CC1B")] [Address(RVA = "0x264FC40", Offset = "0x264EA40", VA = "0x18264FC40")] protected static Dictionary ParseObject(char[] json, ref int index, ref bool success) { Dictionary dictionary = new Dictionary(); int num = Json.NextToken(json, ref index); int num2; if (num2 != 0) { if (num2 != 6) { if (num2 == 2) { goto IL_49; } string text = Json.ParseString(json, ref index, ref success); if (Json.NextToken(json, ref index) != 5) { goto IL_52; } object obj = Json.ParseValue(json, ref index, ref success); dictionary[text] = obj; } int num3 = Json.NextToken(json, ref index); IL_49: int num4 = Json.NextToken(json, ref index); } IL_52: throw new NullReferenceException(); } // Token: 0x0600CC1C RID: 52252 RVA: 0x002EBE14 File Offset: 0x002EA014 [Token(Token = "0x600CC1C")] [Address(RVA = "0x264F9D0", Offset = "0x264E7D0", VA = "0x18264F9D0")] protected static List ParseArray(char[] json, ref int index, ref bool success) { List list = new List(); int num = Json.NextToken(json, ref index); int num2; if (num2 != 0) { while (num2 == 6) { } if (num2 != 4) { object obj = Json.ParseValue(json, ref index, ref success); list.Add(obj); } } throw new NullReferenceException(); } // Token: 0x0600CC1D RID: 52253 RVA: 0x002EBE54 File Offset: 0x002EA054 [Token(Token = "0x600CC1D")] [Address(RVA = "0x2650090", Offset = "0x264EE90", VA = "0x182650090")] protected static object ParseValue(char[] json, ref int index, ref bool success) { int num; if (num <= 11) { Dictionary dictionary = new Dictionary(); int num2 = Json.NextToken(json, ref index); int num3; if (num3 != 0) { while (num3 == 6) { } if (num3 != 2) { string text = Json.ParseString(json, ref index, ref success); if (Json.NextToken(json, ref index) == 5) { object obj = Json.ParseValue(json, ref index, ref success); dictionary[text] = obj; } } } int num4 = 0; success.m_value = num4 != 0; List list = new List(); int num5 = Json.NextToken(json, ref index); int num6; if (num6 != 0) { while (num6 == 6) { } if (num6 != 4) { object obj2 = Json.ParseValue(json, ref index, ref success); list.Add(obj2); } } string text2 = Json.ParseString(json, ref index, ref success); Json.EatWhitespace(json, ref index); int length = json.Length; int num7; if (num7 != -1) { } CultureInfo invariantCulture = CultureInfo.InvariantCulture; bool flag; success.m_value = flag; } throw new NullReferenceException(); } // Token: 0x0600CC1E RID: 52254 RVA: 0x002EBF28 File Offset: 0x002EA128 [Token(Token = "0x600CC1E")] [Address(RVA = "0x264FD70", Offset = "0x264EB70", VA = "0x18264FD70")] protected static string ParseString(char[] json, ref int index, ref bool success) { int num = 0; uint num2; StringBuilder stringBuilder = new StringBuilder((int)num2); Json.EatWhitespace(json, ref index); index.m_value = stringBuilder; index.m_value = stringBuilder; int length = json.Length; if (stringBuilder != length) { index.m_value = length; int num3 = json.Length; num3 -= length; CultureInfo invariantCulture = CultureInfo.InvariantCulture; bool flag; success.m_value = flag; if (flag) { string text = char.ConvertFromUtf32(num); StringBuilder stringBuilder2 = stringBuilder.Append(text); } return ""; } success.m_value = num != 0; throw new IndexOutOfRangeException(); } // Token: 0x0600CC1F RID: 52255 RVA: 0x002EBFC0 File Offset: 0x002EA1C0 [Token(Token = "0x600CC1F")] [Address(RVA = "0x264FAD0", Offset = "0x264E8D0", VA = "0x18264FAD0")] protected static double ParseNumber(char[] json, ref int index, ref bool success) { Json.EatWhitespace(json, ref index); int length = json.Length; int num; if (num != -1) { } CultureInfo invariantCulture = CultureInfo.InvariantCulture; bool flag; success.m_value = flag; throw new NullReferenceException(); } // Token: 0x0600CC20 RID: 52256 RVA: 0x002EBFFC File Offset: 0x002EA1FC [Token(Token = "0x600CC20")] [Address(RVA = "0x264F5A0", Offset = "0x264E3A0", VA = "0x18264F5A0")] protected static int GetLastIndexOfNumber(char[] json, int index) { int length = json.Length; if (index < length) { char c = json[index]; int num; if (num != -1) { } } return index - 1; } // Token: 0x0600CC21 RID: 52257 RVA: 0x002EC02C File Offset: 0x002EA22C [Token(Token = "0x600CC21")] [Address(RVA = "0x264F480", Offset = "0x264E280", VA = "0x18264F480")] protected static void EatWhitespace(char[] json, ref int index) { int length = json.Length; int num; if (num != -1) { } } // Token: 0x0600CC22 RID: 52258 RVA: 0x002EC04C File Offset: 0x002EA24C [Token(Token = "0x600CC22")] [Address(RVA = "0x264F630", Offset = "0x264E430", VA = "0x18264F630")] protected static int LookAhead(char[] json, int index) { return Json.NextToken(json, index); } // Token: 0x0600CC23 RID: 52259 RVA: 0x002EC060 File Offset: 0x002EA260 [Token(Token = "0x600CC23")] [Address(RVA = "0x264F650", Offset = "0x264E450", VA = "0x18264F650")] protected static int NextToken(char[] json, ref int index) { Json.EatWhitespace(json, ref index); char c; index.m_value = (int)c; uint num; index.m_value = (int)num; uint num2; index.m_value = (int)num2; uint num3; index.m_value = (int)num3; return 0; } // Token: 0x0600CC24 RID: 52260 RVA: 0x002EC09C File Offset: 0x002EA29C [Token(Token = "0x600CC24")] [Address(RVA = "0x2650A90", Offset = "0x264F890", VA = "0x182650A90")] protected static bool SerializeValue(object value, StringBuilder builder) { for (;;) { int num = 0; if (value == 0 || value == 0 || value != 0) { if (value != 0) { if (value != 0) { StringBuilder stringBuilder = builder.Append("true"); } if (value != 0) { StringBuilder stringBuilder2 = builder.Append("false"); } } if (value != 0) { } StringBuilder stringBuilder3 = builder.Append("null"); double num2 = Convert.ToDouble(value); CultureInfo invariantCulture = CultureInfo.InvariantCulture; string text = Convert.ToString(num2, invariantCulture); StringBuilder stringBuilder4 = builder.Append("["); if (num < stringBuilder4) { if ((ulong)1L == 0UL) { StringBuilder stringBuilder5 = builder.Append(", "); } if (!Json.SerializeValue(stringBuilder4, builder)) { return true; } num++; } if (value != 0) { } StringBuilder stringBuilder6 = builder.Append("{"); if (stringBuilder6 == 0) { break; } int hashCode = stringBuilder6.GetHashCode(); if ((ulong)1L == 0UL) { StringBuilder stringBuilder7 = builder.Append(", "); } StringBuilder stringBuilder8 = builder.Append(":"); if (Json.SerializeValue(hashCode, builder)) { break; } } } StringBuilder stringBuilder9 = builder.Append("}"); return true; } // Token: 0x0600CC25 RID: 52261 RVA: 0x002EC198 File Offset: 0x002EA398 [Token(Token = "0x600CC25")] [Address(RVA = "0x2650680", Offset = "0x264F480", VA = "0x182650680")] protected static bool SerializeObject(IDictionary anObject, StringBuilder builder) { StringBuilder stringBuilder = builder.Append("{"); if (stringBuilder != 0) { int hashCode = stringBuilder.GetHashCode(); if ((ulong)1L == 0UL) { StringBuilder stringBuilder2 = builder.Append(", "); } StringBuilder stringBuilder3 = builder.Append(":"); if (Json.SerializeValue(hashCode, builder)) { } } StringBuilder stringBuilder4 = builder.Append("}"); throw new NullReferenceException(); } // Token: 0x0600CC26 RID: 52262 RVA: 0x002EC1FC File Offset: 0x002EA3FC [Token(Token = "0x600CC26")] [Address(RVA = "0x26504C0", Offset = "0x264F2C0", VA = "0x1826504C0")] protected static bool SerializeArray(IList anArray, StringBuilder builder) { StringBuilder stringBuilder = builder.Append("["); int num = 0; if (num < stringBuilder) { if ((ulong)1L == 0UL) { StringBuilder stringBuilder2 = builder.Append(", "); } if (Json.SerializeValue(stringBuilder, builder)) { num++; } } StringBuilder stringBuilder3 = builder.Append("]"); throw new NullReferenceException(); } // Token: 0x0600CC27 RID: 52263 RVA: 0x002EC250 File Offset: 0x002EA450 [Token(Token = "0x600CC27")] [Address(RVA = "0x26507F0", Offset = "0x264F5F0", VA = "0x1826507F0")] protected static bool SerializeString(string aString, StringBuilder builder) { StringBuilder stringBuilder = builder.Append("\""); char[] array = aString.ToCharArray(); int num = 0; int length = array.Length; if (num < length) { char c = array[num]; string text = Convert.ToString((int)Convert.ToChar((ushort)c), 16); string text3; string text2 = "\\u" + text3; StringBuilder stringBuilder2 = builder.Append(text2); num++; StringBuilder stringBuilder3 = builder.Append(c); num++; StringBuilder stringBuilder4 = builder.Append("\\t"); num++; StringBuilder stringBuilder5 = builder.Append("\\r"); num++; StringBuilder stringBuilder6 = builder.Append("\\n"); num++; StringBuilder stringBuilder7 = builder.Append("\\f"); num++; StringBuilder stringBuilder8 = builder.Append("\\b"); num++; StringBuilder stringBuilder9 = builder.Append("\\\\"); num++; StringBuilder stringBuilder10 = builder.Append("\\\""); num++; } StringBuilder stringBuilder11 = builder.Append("\""); return true; } // Token: 0x0600CC28 RID: 52264 RVA: 0x002EC350 File Offset: 0x002EA550 [Token(Token = "0x600CC28")] [Address(RVA = "0x26505D0", Offset = "0x264F3D0", VA = "0x1826505D0")] protected static bool SerializeNumber(double number, StringBuilder builder) { CultureInfo invariantCulture = CultureInfo.InvariantCulture; string text = Convert.ToString(number, invariantCulture); StringBuilder stringBuilder = builder.Append(text); return true; } // Token: 0x0600CC29 RID: 52265 RVA: 0x002EC37C File Offset: 0x002EA57C [Token(Token = "0x600CC29")] [Address(RVA = "0x3F5100", Offset = "0x3F3F00", VA = "0x1803F5100")] public Json() { } // Token: 0x0400821D RID: 33309 [Token(Token = "0x400821D")] private const int TOKEN_NONE = 0; // Token: 0x0400821E RID: 33310 [Token(Token = "0x400821E")] private const int TOKEN_CURLY_OPEN = 1; // Token: 0x0400821F RID: 33311 [Token(Token = "0x400821F")] private const int TOKEN_CURLY_CLOSE = 2; // Token: 0x04008220 RID: 33312 [Token(Token = "0x4008220")] private const int TOKEN_SQUARED_OPEN = 3; // Token: 0x04008221 RID: 33313 [Token(Token = "0x4008221")] private const int TOKEN_SQUARED_CLOSE = 4; // Token: 0x04008222 RID: 33314 [Token(Token = "0x4008222")] private const int TOKEN_COLON = 5; // Token: 0x04008223 RID: 33315 [Token(Token = "0x4008223")] private const int TOKEN_COMMA = 6; // Token: 0x04008224 RID: 33316 [Token(Token = "0x4008224")] private const int TOKEN_STRING = 7; // Token: 0x04008225 RID: 33317 [Token(Token = "0x4008225")] private const int TOKEN_NUMBER = 8; // Token: 0x04008226 RID: 33318 [Token(Token = "0x4008226")] private const int TOKEN_TRUE = 9; // Token: 0x04008227 RID: 33319 [Token(Token = "0x4008227")] private const int TOKEN_FALSE = 10; // Token: 0x04008228 RID: 33320 [Token(Token = "0x4008228")] private const int TOKEN_NULL = 11; // Token: 0x04008229 RID: 33321 [Token(Token = "0x4008229")] private const int BUILDER_CAPACITY = 2000; } }