IoInitializeIrp

VOID __stdcall IoInitializeIrp(_IRP *Irp, UINT16 PacketSize, CHAR StackSize){
  __int64 v4; 
  char v6; 
  VOID *retaddr; 
  v4 = StackSize;
  if( (MmVerifierData & 0x10) != 0 )
    IovInitializeIrp(Irp, PacketSize, StackSize, retaddr);
  memset((INT64)Irp, 0i64);
  *((_WORD *)Irp + 1) = PacketSize;
  *(_WORD *)Irp = 6;
  *((_BYTE *)Irp + 67) = v4 + 1;
  *((_BYTE *)Irp + 66) = v4;
  v6 = *((_BYTE *)KeGetCurrentThread() + 586);
  *((_QWORD *)Irp + 5) = (char *)Irp + 32;
  *((_QWORD *)Irp + 4) = (char *)Irp + 32;
  *((_BYTE *)Irp + 70) = v6;
  *((_QWORD *)Irp + 23) = (char *)Irp + 64 * v4 + 8 * v4 + 208;
}

Referenced by:

IoInitializeIrpEx
IopAllocateBackpocketIrp
IopAllocateReserveIrp
SmStorePhysicalRequestIssue
ViIrpAllocateLockedPacket
WmipSendWmiIrpToTraceDeviceList