VOID __stdcall MmFreeAccessPfnBuffer(VOID *Buffer, UINT8 DeferDelete){
_ADAPTER_OBJECT *v3;
if( !*((_DWORD *)Buffer + 2) )
{
v3 = (_ADAPTER_OBJECT *)*((_QWORD *)Buffer + 7);
if( (unsigned __int64)v3 > 1 )
{
if( DeferDelete )
ObDereferenceObjectDeferDelete((UINT64)v3);
else
HalPutDmaAdapter(v3);
}
}
ExFreePoolWithTag(Buffer, 0);
}