internal static int FindIndex(byte[] data, uint val, uint instances, uint start)
{
if (val == UNKNOWNVAL)
return -1;
int ofs = (int)start;
int times = 0;
uint v = (BitConverter.ToUInt32(data, ofs));
while ((v != val || times != instances) && ofs + 4 < data.Length)
{
ofs++;
if (v == val)
times++;
v = (BitConverter.ToUInt32(data, ofs));
}
if (ofs + 4 != data.Length) return ofs + 4;
Console.WriteLine("Failed to find " + val.ToString("X8"));
return -1;
}
}