public void _0001(byte[] config) { //Discarded unreachable code: IL_0002 //IL_0003: Incompatible stack heights: 0 vs 1 _ThreadFilter[0] = new uint[16][]; _ThreadFilter[1] = new uint[16][]; _ThreadFilter[0][0] = new uint[4]; _ThreadFilter[1][0] = new uint[4]; _ThreadFilter[1][8] = MappingIteratorMapping.DisableDic(config); int num = default(int); if (0 == 0) { num = 4; } uint[] array = default(uint[]); while (true) { if (num >= 1) { uint[] obj = (uint[])_ThreadFilter[1][num + num].Clone(); if (0 == 0) { array = obj; } uint[] first = array; if (0 == 0) { MappingIteratorMapping.VerifyDic(first); } _ThreadFilter[1][num] = array; int num2 = num >> 1; if (4u != 0) { num = num2; } continue; } uint[] obj2 = (uint[])_ThreadFilter[1][1].Clone(); uint[] array2; if (5u != 0) { array2 = obj2; } if (0 == 0) { MappingIteratorMapping.VerifyDic(array2); } _ThreadFilter[0][8] = array2; for (int num3 = 4; num3 >= 1; num3 >>= 1) { uint[] array3 = (uint[])_ThreadFilter[0][num3 + num3].Clone(); MappingIteratorMapping.VerifyDic(array3); _ThreadFilter[0][num3] = array3; } int num4 = 0; while (true) { for (int i = 2; i < 16; i += i) { for (int j = 1; j < i; j++) { uint[] array4 = (uint[])_ThreadFilter[num4][i].Clone(); MappingIteratorMapping.OrderDic(array4, _ThreadFilter[num4][j]); _ThreadFilter[num4][i + j] = array4; } } if (++num4 == 32) { return; } if (false) { break; } if (num4 > 1) { _ThreadFilter[num4] = new uint[16][]; _ThreadFilter[num4][0] = new uint[4]; for (int num5 = 8; num5 > 0; num5 >>= 1) { uint[] array5 = (uint[])_ThreadFilter[num4 - 2][num5].Clone(); MappingIteratorMapping.PatchDic(array5); _ThreadFilter[num4][num5] = array5; } } } } }
public virtual void _0001(bool isinit, AccountFilter cfg) { //Discarded unreachable code: IL_0002 //IL_0003: Incompatible stack heights: 0 vs 1 recordList = isinit; m_ReaderList = null; DescriptorListAnnotation descriptorListAnnotation = default(DescriptorListAnnotation); if (cfg is DescriptorListAnnotation) { DescriptorListAnnotation obj = (DescriptorListAnnotation)cfg; if (3u != 0) { descriptorListAnnotation = obj; } } else { if (!(cfg is TemplateIssuerImporter)) { throw new ArgumentException("invalid parameters passed to GCM"); } TemplateIssuerImporter obj2 = (TemplateIssuerImporter)cfg; TemplateIssuerImporter templateIssuerImporter; if (uint.MaxValue != 0) { templateIssuerImporter = obj2; } m_FilterList = templateIssuerImporter.EnableDic(); m_InstanceList = null; if (0 == 0) { m_EventList = 16; _DicList = (MapperList)templateIssuerImporter._0001(); goto IL_00f6; } } m_FilterList = descriptorListAnnotation._0002(); m_InstanceList = descriptorListAnnotation._0001(); int num = descriptorListAnnotation._0001(); goto IL_0048; IL_00f6: num = (isinit ? 16 : (16 + m_EventList)); while (5u != 0) { int num2; if (2u != 0) { num2 = num; } m_IssuerList = new byte[num2]; if (m_FilterList != null) { int num3 = m_FilterList.Length; int num4 = 1; while (num3 >= num4) { if (m_InstanceList == null) { m_InstanceList = new byte[0]; } ParamsIssuerImporter comparatorFilter = _ComparatorFilter; MapperList dicList = _DicList; if (8u != 0) { comparatorFilter._0001(isv: true, dicList); } _ErrorList = new byte[16]; num = _ComparatorFilter._0001(_ErrorList, 0, _ErrorList, 0); if (4 == 0) { goto IL_010c; } SchemaFilter schemaFilter = procFilter; byte[] errorList = _ErrorList; if (0 == 0) { schemaFilter._0001(errorList); } _ComposerList = RunDic(m_InstanceList); if (0 == 0) { num3 = m_FilterList.Length; num4 = 12; if (num4 == 0) { continue; } if (num3 != num4) { _PropertyList = RunDic(m_FilterList); byte[] array = new byte[16]; CompareDic((ulong)((long)m_FilterList.Length * 8L), array, 8); MappingIteratorMapping.ValidateDic(_PropertyList, array); procFilter._0002(_PropertyList); goto IL_0269; } _PropertyList = new byte[16]; } Array.Copy(m_FilterList, 0, _PropertyList, 0, m_FilterList.Length); _PropertyList[15] = 1; goto IL_0269; IL_0269: m_ClientList = RegistryList.CloneDic(_ComposerList); broadcasterList = RegistryList.CloneDic(_PropertyList); m_ClassList = 0; requestList = 0uL; return; } } throw new ArgumentException("IV must be at least 1 byte"); IL_010c :; } goto IL_0048; IL_0048: int num5 = default(int); if (0 == 0) { num5 = num; } if (num5 < 96 || num5 > 128 || num5 % 8 != 0) { throw new ArgumentException("Invalid value for MAC size: " + num5); } m_EventList = num5 / 8; _DicList = descriptorListAnnotation._0001(); goto IL_00f6; }
private void FillDic(byte[] config, int num_cust, byte[] role, int var12_amount) { //Discarded unreachable code: IL_0002 //IL_0003: Incompatible stack heights: 0 vs 1 int num = default(int); if (0 == 0) { num = 15; } while (true) { int num2 = num; if (false) { goto IL_00e2; } byte[] array; IntPtr intPtr; if (num2 >= 12) { byte[] array2 = array = broadcasterList; int num3 = num; intPtr = (IntPtr)num3; byte b; array2[num3] = (b = (byte)(array[(long)intPtr] + 1)); if (b == 0) { int num4 = num - 1; if (uint.MaxValue != 0) { num = num4; } continue; } } byte[] array3 = new byte[16]; byte[] array4; if (8u != 0) { array4 = array3; } byte[] cust; int num5; if (0 == 0) { _ComparatorFilter._0001(broadcasterList, 0, array4, 0); if (recordList) { byte[] consumerFilter = _ConsumerFilter; int length = 16 - num_cust; if (0 == 0) { Array.Copy(consumerFilter, num_cust, array4, num_cust, length); } if (5 == 0) { continue; } if (3u != 0) { cust = array4; } } else { if (8 == 0) { continue; } if (8u != 0) { cust = config; } } num5 = num_cust - 1; } goto IL_00e5; IL_00e5: if (num5 < 0) { MappingIteratorMapping.ValidateDic(m_ClientList, cust); break; } byte[] array5 = array = array4; int num6 = num5; intPtr = (IntPtr)num6; array5[num6] = (byte)(array[(long)intPtr] ^ config[num5]); role[var12_amount + num5] = array4[num5]; if (5 == 0) { break; } num2 = num5; goto IL_00e2; IL_00e2: num5 = num2 - 1; goto IL_00e5; } procFilter._0002(m_ClientList); requestList += (ulong)num_cust; }
private byte[] RunDic(byte[] value) { //Discarded unreachable code: IL_0002 //IL_0003: Incompatible stack heights: 0 vs 1 byte[] array2; if (0 == 0) { byte[] array = new byte[16]; if (3u != 0) { array2 = array; } } int num = default(int); if (0 == 0) { num = 0; } if (0 == 0) { } int num5 = default(int); while (num < value.Length) { byte[] array3 = new byte[16]; byte[] array4; if (8u != 0) { array4 = array3; } int num2 = value.Length - num; int num3 = 16; if (num3 != 0) { int num4 = Math.Min(num2, num3); if (0 == 0) { num5 = num4; } int sourceIndex = num; int length = num5; if (0 == 0) { Array.Copy(value, sourceIndex, array4, 0, length); } if (uint.MaxValue != 0) { MappingIteratorMapping.ValidateDic(array2, array4); } procFilter._0002(array2); num2 = num; goto IL_0079; } goto IL_007b; IL_007b: num2 += num3; if (5u != 0) { num = num2; continue; } goto IL_0079; IL_0079: num3 = 16; goto IL_007b; } return(array2); }
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; }