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.