VfPacketCreateAndLock
int __fastcall VfPacketCreateAndLock(unsigned __int64 a1){
INT64 v2;
INT64 v3;
INT64 v4;
INT64 v5;
_QWORD *v6;
LODWORD(v2) = ExAllocateFromNPagedLookasideList((NPAGED_LOOKASIDE_LIST *)ViPacketLookaside);
v4 = v2;
if( v2 )
{
*(_DWORD *)(v2 + 56) = 0;
v5 = v2;
v6 = (_QWORD *)(v2 + 64);
v6[1] = v6;
*v6 = v6;
LOBYTE(v6) = *(_BYTE *)(a1 + 66);
*(_QWORD *)(v4 + 96) = 0i64;
*(_BYTE *)(v4 + 104) = 0;
*(_QWORD *)(v4 + 112) = 0i64;
*(_WORD *)(v4 + 184) = 0;
*(_BYTE *)(v4 + 186) = 0;
*(_DWORD *)(v4 + 188) = 0;
*(_QWORD *)(v4 + 240) = 0i64;
*(_DWORD *)(v4 + 84) = 0;
*(_QWORD *)(v4 + 88) = 0i64;
*(_QWORD *)(v4 + 192) = 0i64;
*(_QWORD *)(v4 + 200) = 0i64;
*(_DWORD *)(v4 + 208) = 0;
*(_QWORD *)(v4 + 216) = 0i64;
*(_QWORD *)(v4 + 248) = 0i64;
*(_QWORD *)(v4 + 224) = 0i64;
*(_BYTE *)(v4 + 80) = (_BYTE)v6;
*(_DWORD *)(v4 + 232) = MmVerifierData;
VfIrpDatabaseEntryInsertAndLock(a1, v3, v5);
LODWORD(v2) = v4;
}
return v2;
}Referenced by:
IovpCallDriver1
VfIoAllocateIrp2
ViIrpAllocateLockedPacket