// Token: 0x06000C1D RID: 3101 RVA: 0x0005347C File Offset: 0x0005167C
        private static bool TryMailToParse(MessageItem mailToMessage, string mailTo)
        {
            char[] separators = new char[]
            {
                ',',
                '?'
            };
            char[] separators2 = new char[]
            {
                ',',
                '&'
            };
            int num = 0;

            if (!mailTo.StartsWith("mailto:", StringComparison.OrdinalIgnoreCase))
            {
                return(false);
            }
            num += "mailto:".Length;
            MailToParser.ProcessingFlags processType = MailToParser.ProcessingFlags.ProcessTo;
            num = MailToParser.ProcessTokensFromCommaSeparatedString(mailToMessage, mailTo, processType, num, separators, '?');
            if (num < 0 && num >= mailTo.Length)
            {
                return(true);
            }
            while (num >= 0 && num < mailTo.Length)
            {
                processType = MailToParser.ProcessingFlags.None;
                if (object.Equals(mailTo[num], 'b') || object.Equals(mailTo[num], 'B'))
                {
                    if (mailTo.Length > num + "bcc=".Length && string.Compare(mailTo, num, "bcc=", 0, "bcc=".Length, StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        num        += "bcc=".Length;
                        processType = MailToParser.ProcessingFlags.ProcessBcc;
                    }
                    else if (mailTo.Length > num + "body=".Length && string.Compare(mailTo, num, "body=", 0, "body=".Length, StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        num        += "body=".Length;
                        processType = MailToParser.ProcessingFlags.ProcessBody;
                    }
                }
                else if (object.Equals(mailTo[num], 'c') || object.Equals(mailTo[num], 'C'))
                {
                    if (mailTo.Length > num + "cc=".Length && string.Compare(mailTo, num, "cc=", 0, "cc=".Length, StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        num        += "cc=".Length;
                        processType = MailToParser.ProcessingFlags.ProcessCc;
                    }
                }
                else if (object.Equals(mailTo[num], 's') || object.Equals(mailTo[num], 'S'))
                {
                    if (mailTo.Length > num + "subject=".Length && string.Compare(mailTo, num, "subject=", 0, "subject=".Length, StringComparison.OrdinalIgnoreCase) == 0)
                    {
                        num        += "subject=".Length;
                        processType = MailToParser.ProcessingFlags.ProcessSubject;
                    }
                }
                else if ((object.Equals(mailTo[num], 't') || object.Equals(mailTo[num], 'T')) && mailTo.Length > num + "to=".Length && string.Compare(mailTo, num, "to=", 0, "to=".Length, StringComparison.OrdinalIgnoreCase) == 0)
                {
                    num        += "to=".Length;
                    processType = MailToParser.ProcessingFlags.ProcessTo;
                }
                num = MailToParser.ProcessTokensFromCommaSeparatedString(mailToMessage, mailTo, processType, num, separators2, '&');
            }
            return(true);
        }