PipDmgGetDeviceDmarPolicy

NTSTATUS __stdcall PipDmgGetDeviceDmarPolicy(INT64 **a1){
  __int64 v1; 
  INT64 **v2; 
  NTSTATUS v4; 
  INT64 *v5; 
  NTSTATUS DriverDmarCompatLevel; 
  INT64 v8; 
  __int128 v9; 

  v1 = 6i64;
  v2 = a1 + 2;
  v9 = 0i64;
  v4 = 1;
  do
  {
    v5 = *v2;
    while( v5 )
    {
      DriverDmarCompatLevel = PipDmgGetDriverDmarCompatLevel(*v5);
      v5 = (INT64 *)v5[1];
      ++*((_DWORD *)&v9 + DriverDmarCompatLevel);
    }
    ++v2;
    --v1;
  }
  while( v1 );
  if( !DWORD1(v9) )
  {
    if( HIDWORD(v9) )
    {
      v8 = (*a1)[90];
      if( v8 && (*(_BYTE *)(v8 + 16) & 0x24) != 0 )
        return 2;
      else
        return 0;
    }
    else
    {
      return DWORD2(v9) != 0 ? 2 : 0;
    }
  }
  return v4;
}

Referenced by:

PiDmaGuardProcessPreAddDevice