public static bool bigloo_strcmp_ci_at(byte[] s1, byte[] s2, int d)
{
int n1 = s1.Length;
int n2 = s2.Length;
if (d < 0 || (n1 < n2 + d))
return false;
for (int i = 0; i < n2; ++i)
if (toupper(s1[i + d]) != toupper(s2[i]))
return false;
return true;
}