public unsafe int _0001(byte[] v, int visZ)
        {
            //Discarded unreachable code: IL_0002
            //IL_0003: Incompatible stack heights: 0 vs 1
            int classList = m_ClassList;
            int num;

            if (5u != 0)
            {
                num = classList;
            }
            if (!recordList)
            {
                if (num < m_EventList)
                {
                    throw new ProxyList("data too short");
                }
                int num2 = num - m_EventList;
                if (0 == 0)
                {
                    num = num2;
                }
            }
            if (num > 0)
            {
                byte[] array  = new byte[16];
                byte[] array2 = default(byte[]);
                if (0 == 0)
                {
                    array2 = array;
                }
                byte[] issuerList       = m_IssuerList;
                byte[] destinationArray = array2;
                int    length           = num;
                if (true)
                {
                    Array.Copy(issuerList, destinationArray, length);
                }
                byte[] config   = array2;
                int    num_cust = num;
                if (0 == 0)
                {
                    FillDic(config, num_cust, v, visZ);
                }
            }
            byte[] array3 = new byte[16];
            byte[] array4;
            if (5u != 0)
            {
                array4 = array3;
            }
            IntPtr intPtr = (IntPtr)(void *)m_InstanceList.LongLength;
            int    num3;
            int    num4;

            if (0 == 0)
            {
                num3 = (int)(long)intPtr;
                if (false)
                {
                    goto IL_01a7;
                }
                CompareDic((ulong)((long)num3 * 8L), array4, 0);
                CompareDic(requestList * 8, array4, 8);
                do
                {
                    MappingIteratorMapping.ValidateDic(m_ClientList, array4);
                }while (5 == 0);
                procFilter._0002(m_ClientList);
                byte[] array5 = new byte[16];
                _ComparatorFilter._0001(_PropertyList, 0, array5, 0);
                MappingIteratorMapping.ValidateDic(array5, m_ClientList);
                num4         = num;
                m_ReaderList = new byte[m_EventList];
                Array.Copy(array5, m_ReaderList, m_EventList);
                if (recordList)
                {
                    Array.Copy(m_ReaderList, 0, v, visZ + m_ClassList, m_EventList);
                    num4 += m_EventList;
                    goto IL_019e;
                }
                byte[] array6 = new byte[m_EventList];
                Array.Copy(m_IssuerList, num, array6, 0, m_EventList);
                intPtr = (IntPtr)(RegistryList.StopDic(m_ReaderList, array6) ? 1 : 0);
            }
            if (intPtr == (IntPtr)0)
            {
                throw new ProxyList("mac check in GCM failed");
            }
            goto IL_019e;
IL_01a7:
            return(num3);

IL_019e:
            ResolveDic(useident: false);
            num3 = num4;
            goto IL_01a7;
        }