public uint UnSigma1(uint x)
{
uint a = ROTATE(x, 26);
uint b = ROTATE(x, 21);
uint c = ROTATE(x, 7);
uint val = a ^ b ^ c;
for (ulong i = 0; i < 0x100000000; i++)
{
a = ROTATE_R((uint)i, 26);
b = ROTATE_R((uint)i, 21);
c = ROTATE_R((uint)i, 7);
uint tval = a ^ b ^ c;
if (tval == val)
{
Console.WriteLine("Potential solution: 0x{0:X2}", tval);
}
}
return val;
}