IoInitializeIrp

VOID __stdcall IoInitializeIrp(PIRP Irp, UINT16 PacketSize, _CCHAR StackSize){
  __int64 v4; 
  size_t v5; 
  unsigned __int8 ApcStateIndex; 
  VOID *retaddr; 

  v4 = (char)StackSize;
  v5 = PacketSize;
  if( (MmVerifierData & 0x10) != 0 )
    IovInitializeIrp(Irp, (VOID *)PacketSize, StackSize, retaddr);
  memset(Irp, 0i64, v5);
  Irp->Size = v5;
  Irp->Type = 6;
  Irp->CurrentLocation = v4 + 1;
  Irp->StackCount = v4;
  ApcStateIndex = KeGetCurrentThread()->ApcStateIndex;
  Irp->ThreadListEntry.Blink = &Irp->ThreadListEntry;
  Irp->ThreadListEntry.Flink = &Irp->ThreadListEntry;
  Irp->ApcEnvironment = ApcStateIndex;
  Irp->Tail.CurrentStackLocation = (_IO_STACK_LOCATION *)((char *)&Irp[1] + 64 * v4 + 8 * v4);
}

Referenced by:

IoInitializeIrpEx
IopAllocateBackpocketIrp
IopAllocateReserveIrp
SmStorePhysicalRequestIssue
ViIrpAllocateLockedPacket
WmipSendWmiIrpToTraceDeviceList