KeSetUmsThreadKernelLock
NTSTATUS __stdcall KeSetUmsThreadKernelLock(INT64 a1, UINT64 *a2){
signed __int64 v2;
NTSTATUS v4;
signed __int64 v5;
v4 = 0;
_m_prefetchw((const void *)(a1 + 1272));
v2 = *(_QWORD *)(a1 + 1272);
while( (v2 & 3) != 3 )
{
v5 = v2;
v2 = _InterlockedCompareExchange64((volatile signed __int64 *)(a1 + 1272), v2 + 1, v2);
if( v2 == v5 )
goto LABEL_6;
}
v4 = -1073741823;
LABEL_6:
if( a2 )
*a2 = v2 & 0xFFFFFFFFFFFFFFFCui64;
return v4;
}Referenced by:
PspInsertThread
PspRundownUmsThreadForApcDelivery
PspUmsInitThread
PspUmsUnInitThread