ExpSvmDereferenceAsid

VOID __stdcall ExpSvmDereferenceAsid(UINT64 Asid){
  int v1; 
  UINT8 *v2; 
  bool v3; 
  struct _KLOCK_QUEUE_HANDLE LockHandle; 
  v1 = Asid;
  memset(&LockHandle, 0, sizeof(LockHandle));
  KeAcquireInStackQueuedSpinLock(&qword_140C166D8, &LockHandle);
  v2 = &qword_140C166D0[16 * v1];
  v3 = --*((_QWORD *)v2 + 1) < 0;
  if( v3 && (*((_QWORD *)v2 + 1) & 0x7FFFFFFFFFFFFFFFi64) == 0 )
  {
    *(_QWORD *)v2 = 0i64;
    ObfDereferenceObjectWithTag(0i64, 0x746C6644ui64);
    --dword_140C166C8;
  }
  KeReleaseInStackQueuedSpinLockFromDpcLevel(&LockHandle);
  __writecr8(LockHandle.OldIrql);
}

Referenced by:

No references.