In InstructionFinder class, line 229 size of the matched pattern is calculated as
int lenExpr = (endExpr - startExpr) + 1;
this is incorrect as endExpr is always given as one past the last index and this function causes the iterator being returned to always have one more instruction then requested. Also this can cause a crash if the pattern requested is at the end of a search list as index goes out of bounds.
suggested fix (I have it working locally with no problems):
int lenExpr = (endExpr - startExpr);