IopAllocateIrpWithExtension

_IRP *__stdcall IopAllocateIrpWithExtension(
        _DEVICE_OBJECT *DeviceObject,
        CHAR StackSize,
        UINT8 ChargeQuota,
        PVOID ReturnAddress){
  _IRP *IrpPrivate; 
  _IRP *v5; 
  __int64 v6; 
  IrpPrivate = IopAllocateIrpPrivate(0i64, StackSize + 1, ChargeQuota, ReturnAddress);
  v5 = IrpPrivate;
  if( IrpPrivate )
  {
    *((_QWORD *)IrpPrivate + 23) -= 72i64;
    v6 = *((_QWORD *)IrpPrivate + 23);
    --*((_BYTE *)IrpPrivate + 67);
    --*((_BYTE *)IrpPrivate + 66);
    *((_QWORD *)IrpPrivate + 25) = v6;
    if( IopIsActivityTracingEnabled() )
      IopInitActivityIdIrp(v5);
  }
  return v5;
}

Referenced by:

IoAllocateIrp
IoAllocateIrpEx
IopAllocateIrpExReturn
IopInitializeReserveIrps
IopMountVolume