KiEnterDeferredReadyState
NTSTATUS __stdcall KiEnterDeferredReadyState(INT64 a1){
NTSTATUS result;
result = *(unsigned __int8 *)(a1 + 388);
if( (_BYTE)result == 1 )
{
*(_DWORD *)(a1 + 116) |= 2u;
*(_BYTE *)(a1 + 388) = 7;
}
else
{
if( (_BYTE)result == 5 )
{
result = KUSER_SHARED_DATA.TickCount.LowPart - *(_DWORD *)(a1 + 436);
if( *(_BYTE *)(a1 + 391) )
*(_QWORD *)(a1 + 1000) += (unsigned int)result;
else
*(_QWORD *)(a1 + 992) += (unsigned int)result;
}
*(_BYTE *)(a1 + 388) = 7;
}
return result;
}Referenced by:
KiFastReadyThread
KiInsertDeferredReadyList
KiQueueReadyThread
KiReadyOutSwappedThreads
KiSearchForNewThread
KiSearchForNewThreadOnProcessor
KiSetThreadSchedulingGroup
KiSwapThread