VfPacketCreateAndLock

_IOV_REQUEST_PACKET *__stdcall VfPacketCreateAndLock(_IRP *Irp){
  _IOV_REQUEST_PACKET *result; 
  INT64 v3; 
  _IOV_REQUEST_PACKET *v4; 
  _IOV_REQUEST_PACKET *v5; 
  _IOV_REQUEST_PACKET *v6; 

  result = (_IOV_REQUEST_PACKET *)ExAllocateFromNPagedLookasideList(&ViPacketLookaside);
  v4 = result;
  if( result )
  {
    result[14] = 0;
    v5 = result;
    v6 = result + 16;
    *((_QWORD *)v6 + 1) = v6;
    *(_QWORD *)v6 = v6;
    LOBYTE(v6) = Irp->StackCount;
    *((_QWORD *)v4 + 12) = 0i64;
    *((_BYTE *)v4 + 104) = 0;
    *((_QWORD *)v4 + 14) = 0i64;
    *((_WORD *)v4 + 92) = 0;
    *((_BYTE *)v4 + 186) = 0;
    v4[47] = 0;
    *((_QWORD *)v4 + 30) = 0i64;
    v4[21] = 0;
    *((_QWORD *)v4 + 11) = 0i64;
    *((_QWORD *)v4 + 24) = 0i64;
    *((_QWORD *)v4 + 25) = 0i64;
    v4[52] = 0;
    *((_QWORD *)v4 + 27) = 0i64;
    *((_QWORD *)v4 + 31) = 0i64;
    *((_QWORD *)v4 + 28) = 0i64;
    *((_BYTE *)v4 + 80) = (_BYTE)v6;
    v4[58] = MmVerifierData;
    VfIrpDatabaseEntryInsertAndLock((UINT64)Irp, v3, (INT64)v5);
    return v4;
  }
  return result;
}

Referenced by:

IovpCallDriver1
VfIoAllocateIrp2
ViIrpAllocateLockedPacket