IoEnableIrpCredits
UINT64 __stdcall IoEnableIrpCredits(){
INT64 v0;
UINT64 result;
unsigned int v2;
int v3;
_KPRCB **v4;
__int128 v5;
__int128 v6;
result = (unsigned int)IopIrpCreditsEnabled;
v5 = 0i64;
v6 = 0i64;
if( IopIrpCreditsEnabled < 1 )
{
result = (unsigned int)_InterlockedCompareExchange(&IopIrpCreditsEnabled, 1, 0);
if( !(_DWORD)result )
{
IopQueryProcessorInitValues((__int64)&v5, v0);
KeSynchronizeWithDynamicProcessors();
result = KeQueryActiveProcessorCountEx(0xFFFFu);
v2 = 0;
if( (_DWORD)result )
{
v3 = HIDWORD(v6);
v4 = &KiProcessorBlock;
do
{
if( *((_DWORD *)*v4 + 2919) != 0x7FFFFFFF )
break;
++v2;
*((_DWORD *)*v4++ + 2919) = v3;
}
while( v2 < (unsigned int)result );
}
_InterlockedAdd(&IopIrpCreditsEnabled, 1u);
}
}
return result;
}Referenced by:
PspInitializeQuotaBlock