ObReferenceObjectExWithTag

NTSTATUS __stdcall ObReferenceObjectExWithTag(VOID *Object, UINT64 Count, UINT64 Tag){
  unsigned __int64 v4; 
  __int64 v5; 

  v4 = (int)Count;
  if( ObpTraceFlags )
    ObpPushStackInfo((_OBJECT_HEADER *)((char *)Object - 48), 1u, (unsigned int)Count, 0x746C6644ui64);
  v5 = _InterlockedExchangeAdd64((volatile signed __int64 *)Object - 6, v4);
  if( v5 <= 0 )
    KeBugCheckEx(0x18u, 0i64, Object, (PVOID)0x10, (PVOID)(v4 + v5));
  return v4 + v5;
}

Referenced by:

MiCompleteProtoPteFault
MiCreateImageOrDataSection
MiEmptyPageAccessLog
MiReferenceControlAreaFile
ObFastReferenceObject
ObFastReplaceObject
ObInitializeFastReference
ObpCreateHandle
PspInsertThread