AlpcpReferenceBlob

NTSTATUS __stdcall AlpcpReferenceBlob(PVOID Blob){
  __int64 BugCheckParameter4; 
  __int64 v2; 
  _m_prefetchw((char *)Blob - 24);
  BugCheckParameter4 = *((_QWORD *)Blob - 3);
  while( BugCheckParameter4 > 0 )
  {
    v2 = BugCheckParameter4;
    BugCheckParameter4 = _InterlockedCompareExchange64(
                           (volatile signed __int64 *)Blob - 3,
                           BugCheckParameter4 + 1,
                           BugCheckParameter4);
    if( BugCheckParameter4 == v2 )
    {
      LODWORD(BugCheckParameter4) = BugCheckParameter4 + 1;
      return BugCheckParameter4;
    }
  }
  if( BugCheckParameter4 )
    KeBugCheckEx(0x18u, 0i64, (ULONG_PTR)Blob, 0x20ui64, BugCheckParameter4);
  return BugCheckParameter4;
}

Referenced by:

AlpcReferenceBlobByHandle
AlpcpAcceptConnectPort
AlpcpCancelMessagesByRequestor
AlpcpCleanupProcessViews
AlpcpCreateRegion
AlpcpCreateReserve
AlpcpCreateSection
AlpcpCreateSecurityContext
AlpcpCreateView
AlpcpExposeAttributes
AlpcpExposeViewAttribute
AlpcpExposeViewAttributeInSenderContext
AlpcpFlushMessagesByRequestor
AlpcpFlushQueue
AlpcpFormatConnectionRequest
AlpcpPrepareViewForDelivery
AlpcpReceiveMessagePort
AlpcpReferenceMessageByWaitingThreadPortQueue
AlpcpViewSearchCallbackFunction