public static void SetIssuer(TextWriter reference, string col, char control, bool wantord2, bool[] ord3, GraphGroupStyle attr4, GDBD.Workers.WrapperComposerWorker <char> instance5, ref char[] result6)
        {
            //Discarded unreachable code: IL_0002
            //IL_0003: Incompatible stack heights: 0 vs 1
            if (wantord2)
            {
                reference.Write(control);
            }
            if (!SetterTest.StartReader(col))
            {
                int num = RemoveIssuer(col, ord3, attr4);
                if (num == -1)
                {
                    reference.Write(col);
                }
                else
                {
                    if (num != 0)
                    {
                        if (result6 == null || result6.Length < num)
                        {
                            result6 = ValueFilterResolver.SearchIssuer(instance5, num, result6);
                        }
                        col.CopyTo(0, result6, 0, num);
                        reference.Write(result6, 0, num);
                    }
                    int num2;
                    for (int i = num; i < col.Length; i++)
                    {
                        char c = col[i];
                        if (c < ord3.Length && !ord3[c])
                        {
                            continue;
                        }
                        string text;
                        switch (c)
                        {
                        case '\t':
                            text = "\\t";
                            break;

                        case '\n':
                            text = "\\n";
                            break;

                        case '\r':
                            text = "\\r";
                            break;

                        case '\f':
                            text = "\\f";
                            break;

                        case '\b':
                            text = "\\b";
                            break;

                        case '\\':
                            text = "\\\\";
                            break;

                        case '\u0085':
                            text = "\\u0085";
                            break;

                        case '\u2028':
                            text = "\\u2028";
                            break;

                        case '\u2029':
                            text = "\\u2029";
                            break;

                        default:
                            if (c < ord3.Length || attr4 == (GraphGroupStyle)1)
                            {
                                if (c == '\'' && attr4 != (GraphGroupStyle)2)
                                {
                                    text = "\\'";
                                    break;
                                }
                                if (c == '"' && attr4 != (GraphGroupStyle)2)
                                {
                                    text = "\\\"";
                                    break;
                                }
                                if (result6 == null || result6.Length < 6)
                                {
                                    result6 = ValueFilterResolver.SearchIssuer(instance5, 6, result6);
                                }
                                SetterTest.PrintReader(c, result6);
                                text = "!";
                            }
                            else
                            {
                                text = null;
                            }
                            break;
                        }
                        if (text == null)
                        {
                            continue;
                        }
                        bool flag = string.Equals(text, "!", StringComparison.Ordinal);
                        if (i > num)
                        {
                            num2 = i - num + (flag ? 6 : 0);
                            int num3 = flag ? 6 : 0;
                            if (result6 == null || result6.Length < num2)
                            {
                                char[] array = ValueFilterResolver.RegisterIssuer(instance5, num2);
                                if (flag)
                                {
                                    Array.Copy(result6, array, 6);
                                }
                                ValueFilterResolver.RestartIssuer(instance5, result6);
                                result6 = array;
                            }
                            col.CopyTo(num, result6, num3, num2 - num3);
                            reference.Write(result6, num3, num2 - num3);
                        }
                        num = i + 1;
                        if (!flag)
                        {
                            reference.Write(text);
                        }
                        else
                        {
                            reference.Write(result6, 0, 6);
                        }
                    }
                    num2 = col.Length - num;
                    if (num2 > 0)
                    {
                        if (result6 == null || result6.Length < num2)
                        {
                            result6 = ValueFilterResolver.SearchIssuer(instance5, num2, result6);
                        }
                        col.CopyTo(num, result6, 0, num2);
                        reference.Write(result6, 0, num2);
                    }
                }
            }
            if (wantord2)
            {
                reference.Write(control);
            }
        }