PfFbBufferListInitialize
VOID __stdcall PfFbBufferListInitialize(
_PFFB_BUFFER_LIST *BufferList,
_PFFB_BUFFER_LIST_PARAMS *Params,
UINT8 Reinitialize){
unsigned int v6;
__int128 v7;
__int64 v8;
if( Reinitialize )
{
*((_QWORD *)BufferList + 13) = 0i64;
BufferList[28] = 0;
}
else
{
memset(BufferList, 0i64, 0x80u);
}
InitializeSListHead((PSLIST_HEADER)BufferList + 1);
InitializeSListHead((PSLIST_HEADER)BufferList + 2);
InitializeSListHead((PSLIST_HEADER)BufferList + 3);
v6 = Params[3];
v7 = *((_OWORD *)Params + 1);
*((_OWORD *)BufferList + 4) = *(_OWORD *)Params;
if( v6 < 0x30 )
v6 = 48;
v8 = *((_QWORD *)Params + 4);
*((_OWORD *)BufferList + 5) = v7;
*((_QWORD *)BufferList + 12) = v8;
BufferList[19] = v6;
if( Reinitialize )
_InterlockedExchange64((volatile __int64 *)BufferList, 0i64);
else
ExInitializePushLock((PULONG_PTR)BufferList);
}Referenced by:
PfTInitialize