private bool SubtreeEndsInInstructionCode(InstructionBlock entryBlock, IEnumerable <Code> operationCodes) { V_0 = true; V_1 = new Queue <InstructionBlock>(); V_2 = new HashSet <int>(); V_1.Enqueue(entryBlock); while (V_1.get_Count() > 0 & V_0) { V_3 = V_1.Dequeue(); if (V_2.Contains(V_3.get_First().get_Offset())) { continue; } dummyVar0 = V_2.Add(V_3.get_First().get_Offset()); if (V_3.get_Successors().Length != 0) { V_8 = V_3.get_Successors(); V_9 = 0; while (V_9 < (int)V_8.Length) { V_1.Enqueue(V_8[V_9]); V_9 = V_9 + 1; } } else { V_4 = false; V_5 = operationCodes.GetEnumerator(); try { while (V_5.MoveNext()) { V_6 = V_5.get_Current(); V_7 = V_3.get_Last().get_OpCode(); V_4 = V_4 | V_7.get_Code() == V_6; } } finally { if (V_5 != null) { V_5.Dispose(); } } V_0 = V_0 & V_4; } } return(V_0); }