while I'm doing RE using ghidra i saw this code
byte bVar1;
byte bVar2;
uint uVar3;
uVar3 = 0;
while (bVar2 = (byte)uVar3, (char)bVar2 < '\b') {
bVar1 = *(byte *)(uVar3 + param_1) ^ *(byte *)(uVar3 + param_2);
*(byte *)(uVar3 + param_1) = (bVar1 << (bVar2 & 7) | bVar1 >> 8 - (bVar2 & 7)) - bVar2;
uVar3 = (uint)(byte)(bVar2 + 1);
}
return;
i know the code rotate shift but i don't think it's the same i know it's kinda diffrent here not a simple bit movement
so write a python code will make the bit-roll here make sense