IopIrpHasValidCombinationOfExtensionTypes

UINT8 __stdcall IopIrpHasValidCombinationOfExtensionTypes(_IRP *Irp, UINT64 Type){
  int v2; 
  __int64 v3; 
  int v4; 
  __int16 v5; 
  v2 = Type;
  if( *((char *)Irp + 71) < 0 )
    return 1;
  v3 = *((_QWORD *)Irp + 25);
  if( !v3 )
    return 1;
  v4 = 1 << Type;
  if( (v4 & 0xB2) == 0 )
    return 1;
  v5 = *(_WORD *)(v3 + 2);
  if( (v5 & 0xB2) == 0 || (v5 & 0xB2) == v4 )
    return 1;
  if( v2 != 1 && (v5 & 2) != 0 )
  {
    *(_QWORD *)(v3 + 40) = 0i64;
    *(_WORD *)(v3 + 2) = v5 & 0xFFFE;
    return 1;
  }
  return 0;
}

Referenced by:

IoSetAdapterCryptoEngineExtension
IoSetFsTrackOffsetState
IoSetFsZeroingOffsetRequired
IopPerfCallDriver