.
void helperSdr(DWORD offset,DWORD op0)
{
QWORD data;
data=iMemReadQWord((DWORD)(offset & 0xfffffff8));
switch(7-(offset %

)
{
case 7:
iMemWriteQWord(*(QWORD *)&r->GPR[op0*2], offset & 0xfffffff8);
break;
case 6:
iMemWriteQWord((data & 0x00000000000000ff) | (*(QWORD *)&r->GPR[op0*2] <<

, offset & 0xfffffff8);
break;
case 5:
iMemWriteQWord((data & 0x000000000000ffff) | (*(QWORD *)&r->GPR[op0*2] << 16), offset & 0xfffffff8);
break;
case 4:
iMemWriteQWord((data & 0x0000000000ffffff) | (*(QWORD *)&r->GPR[op0*2] << 24), offset & 0xfffffff8);
break;
case 3:
iMemWriteQWord((data & 0x00000000ffffffff) | (*(QWORD *)&r->GPR[op0*2] << 32), offset & 0xfffffff8);
break;
case 2:
iMemWriteQWord((data & 0x000000ffffffffff) | (*(QWORD *)&r->GPR[op0*2] << 40), offset & 0xfffffff8);
break;
case 1:
iMemWriteQWord((data & 0x0000ffffffffffff) | (*(QWORD *)&r->GPR[op0*2] << 48), offset & 0xfffffff8);
break;
case 0:
iMemWriteQWord((data & 0x00ffffffffffffff) | (*(QWORD *)&r->GPR[op0*2] << 56), offset & 0xfffffff8);
break;
} /* switch(offset %

*/
}
, after that, I must admit likklebaer was right, soft filters is slow and doesn t change anything, so I removed it and again some boost
.
.
.