MiValidateUserCallTarget

INT64 __fastcall MiValidateUserCallTarget(UINT64 a1, INT64 a2){
  char v3; 
  unsigned int v4; 
  int v5; 
  int v6; 
  int v8; 
  bool v9; 
  v3 = a1;
  v4 = 0;
  v5 = CfgAddressToBitState(a1, *(const INT64 **)a2);
  if( v5 )
  {
    v6 = v5 - 1;
    if( v6 )
    {
      v8 = v6 - 1;
      if( v8 )
      {
        v9 = v8 == 1;
      }
      else
      {
        if( MiIsProcessCfgExportSuppressionEnabled() )
          return v4;
        v9 = (v3 & 0xF) == (unsigned __int64)*(unsigned int *)(a2 + 24);
      }
      if( v9 )
        return 1;
    }
    else
    {
      return(v3 & 0xF) == (unsigned __int64)*(unsigned int *)(a2 + 24);
    }
  }
  return v4;
}

Referenced by:

MiCfgMarkValidEntries
MmValidateUserCallTarget