public static void GCD(ref BigIntegerBuilder reg1, ref BigIntegerBuilder reg2)
{
if (((reg1._iuLast > 0) && (reg1._rgu[0] == 0)) || ((reg2._iuLast > 0) && (reg2._rgu[0] == 0)))
{
int num = reg1.MakeOdd();
int num2 = reg2.MakeOdd();
LehmerGcd(ref reg1, ref reg2);
int cbit = Math.Min(num, num2);
if (cbit > 0)
{
reg1.ShiftLeft(cbit);
}
}
else
{
LehmerGcd(ref reg1, ref reg2);
}
}