IoGetGenericIrpExtension

VOID __fastcall IoGetGenericIrpExtension(_IRP *Irp, UINT8 *GenericExtensionData, UINT16 GenericExtensionDataSize){
  __int64 v4; 
  UINT8 *v5; 
  if( GenericExtensionDataSize <= 4u )
  {
    v4 = *((_QWORD *)Irp + 25);
    if( *((char *)Irp + 71) < 0 )
    {
      v5 = (UINT8 *)Irp + 196;
    }
    else
    {
      if( !v4 || (*(_BYTE *)(v4 + 2) & 4) == 0 )
        return;
      v5 = (UINT8 *)*((_QWORD *)Irp + 25);
    }
    memmove(GenericExtensionData, v5 + 4, GenericExtensionDataSize);
  }
}

Referenced by:

StRtlIoStorInfoSetNvCachePriority