private static string ParseString(string json, ref int index, ref bool success) { if (PlayFabSimpleJson._parseStringBuilder == null) { PlayFabSimpleJson._parseStringBuilder = new StringBuilder(2000); } PlayFabSimpleJson._parseStringBuilder.Length = 0; PlayFabSimpleJson.EatWhitespace(json, ref index); char c = json[index++]; bool flag = false; while (!flag) { if (index == json.Length) { break; } c = json[index++]; if (c == '"') { flag = true; break; } if (c == '\\') { if (index == json.Length) { break; } c = json[index++]; if (c == '"') { PlayFabSimpleJson._parseStringBuilder.Append('"'); } else if (c == '\\') { PlayFabSimpleJson._parseStringBuilder.Append('\\'); } else if (c == '/') { PlayFabSimpleJson._parseStringBuilder.Append('/'); } else if (c == 'b') { PlayFabSimpleJson._parseStringBuilder.Append('\b'); } else if (c == 'f') { PlayFabSimpleJson._parseStringBuilder.Append('\f'); } else if (c == 'n') { PlayFabSimpleJson._parseStringBuilder.Append('\n'); } else if (c == 'r') { PlayFabSimpleJson._parseStringBuilder.Append('\r'); } else if (c == 't') { PlayFabSimpleJson._parseStringBuilder.Append('\t'); } else if (c == 'u') { int num = json.Length - index; if (num < 4) { break; } uint num2; if (!(success = uint.TryParse(json.Substring(index, 4), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out num2))) { return(string.Empty); } if (55296u <= num2 && num2 <= 56319u) { index += 4; num = json.Length - index; uint num3; if (num < 6 || !(json.Substring(index, 2) == "\\u") || !uint.TryParse(json.Substring(index + 2, 4), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out num3) || 56320u > num3 || num3 > 57343u) { success = false; return(string.Empty); } PlayFabSimpleJson._parseStringBuilder.Append((char)num2); PlayFabSimpleJson._parseStringBuilder.Append((char)num3); index += 6; } else { PlayFabSimpleJson._parseStringBuilder.Append(PlayFabSimpleJson.ConvertFromUtf32((int)num2)); index += 4; } } } else { PlayFabSimpleJson._parseStringBuilder.Append(c); } } if (!flag) { success = false; return(null); } return(PlayFabSimpleJson._parseStringBuilder.ToString()); }