KiTpSetFlagsAdd
NTSTATUS __stdcall KiTpSetFlagsAdd(INT64 a1, INT64 a2, INT64 a3, INT64 a4, INT64 a5){
char v5;
INT64 v6;
v5 = *(_BYTE *)(a1 + 1);
*(_DWORD *)(*(_QWORD *)(a2 + 8) + 68i64) &= 0xFFFFF7EF;
--v5;
v6 = ~(a5 ^ a4);
*(_DWORD *)(*(_QWORD *)(a2 + 8) + 68i64) |= 16
* (((((v6 & (a4 ^ a3)) >> v5) & 1) << 7) | ((unsigned __int8)((a4 >> 3) & (v6 >> 3)) | (unsigned __int8)((~a3 >> 3) & ((a4 >> 3) ^ (a5 >> 3)))) & 1);
*(_DWORD *)(*(_QWORD *)(a2 + 8) + 68i64) &= ~1u;
*(_DWORD *)(*(_QWORD *)(a2 + 8) + 68i64) |= ((a4 & v6 | ~a3 & (a5 ^ a4)) >> v5) & 1;
return KiTpSetFlagsZeroSignParity(a1, a2, a3);
}Referenced by:
KiTpEmulateGroup0Instruction
KiTpEmulateGroup1Instruction