KiCompareVarMtrr

UINT8 __stdcall KiCompareVarMtrr(){
  unsigned int v1; 
  __int64 v2; 
  unsigned int i; 
  unsigned __int64 v4; 
  unsigned __int64 v5; 
  __int64 v6; 
  __int64 v7; 

  if( KeGetCurrentPrcb()->Number )
    return 1;
  v1 = 0;
  if( !(_BYTE)qword_140C2B128 )
    return 1;
  v2 = 0i64;
  for( i = 513; ; i += 2 )
  {
    v4 = __readmsr(i - 1);
    v5 = __readmsr(i);
    v6 = 2 * v2;
    v7 = (v5 >> 11) & 1;
    if( v7 != ((*((_QWORD *)qword_140C2B138 + v6 + 1) >> 11) & 1i64)
      || v7 && (v4 != *((_QWORD *)qword_140C2B138 + v6) || v5 != *((_QWORD *)qword_140C2B138 + v6 + 1)) )
    {
      break;
    }
    v2 = ++v1;
    if( v1 >= (unsigned __int64)(unsigned __int8)qword_140C2B128 )
      return 1;
  }
  return 0;
}

Referenced by:

KeLoadMTRR