I initially encountered this problem in the SpaceHeroes CTF competition. Upon first glance, it was clear that there was no way I would solve this with mental math or like a standard equation. Giving more context to this problem, the user had to input three numbers passed into this function.
// Decompiled With Ghidra
int FUN_001012ce(int param_1,int param_2,int param_3)
{
return
(param_1 + param_2 + param_3 << ((byte)(param_1 % param_2) & 0x1f))
/
(int)((2 << ((byte)param_1 & 0x1f) ^ 3U) * param_3);
}
I