ExpSvmDereferenceAsid

VOID __stdcall ExpSvmDereferenceAsid(UINT64 Asid){
  unsigned int v1; 
  _QWORD *v2; 
  bool v3; 
  _KLOCK_QUEUE_HANDLE LockHandle; 

  v1 = Asid;
  memset(&LockHandle, 0, sizeof(LockHandle));
  KeAcquireInStackQueuedSpinLock((PKSPIN_LOCK)&WheapDeferredInternalLogsEventLock + 291, &LockHandle);
  v2 = (_QWORD *)(*(&WheapDeferredInternalLogsEventLock + 290) + 16i64 * v1);
  v3 = --v2[1] < 0;
  if( v3 && (v2[1] & 0x7FFFFFFFFFFFFFFFi64) == 0 )
  {
    *v2 = 0i64;
    ObfDereferenceObjectWithTag(0i64, 0x746C6644ui64);
    --*(&WheapDeferredInternalLogsEventLock + 578);
  }
  KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
  __writecr8(LockHandle.OldIrql);
}

Referenced by:

No references.