KiCheckAndApplyCacheIsolation

INT64 __fastcall KiCheckAndApplyCacheIsolation(INT64 a1, INT64 a2){
  __int64 v2; 
  int v3; 
  int v4; 
  _BOOL8 v5; 
  INT64 result; 
  v2 = *(_QWORD *)(a2 + 544);
  v3 = 1;
  v4 = *(_DWORD *)(v2 + 632) & 0x40;
  v5 = v4 != 0;
  result = (*(_DWORD *)(a1 + 236) >> 10) & 1;
  if( v5 != (_DWORD)result )
  {
    result = 0i64;
    *(_DWORD *)(a1 + 236) = *(_DWORD *)(a1 + 236) & 0xFFFFFBFF | (v5 << 10);
    if( !v4 )
      v3 = 0;
    __writemsr(0xC8Fu, __PAIR64__(v3, 0));
  }
  return result;
}

Referenced by:

SwapContext