ExpAeThresholdInitialization
UINT8 __fastcall ExpAeThresholdInitialization(){
unsigned __int64 v0;
unsigned __int64 v1;
unsigned __int8 CurrentIrql;
__int64 v3;
unsigned __int64 v4;
unsigned int v5;
char v6;
unsigned __int64 v7;
int v8;
unsigned int v10;
int v11[16];
v0 = (unsigned __int64)v11 & 0xFFFFFFFFFFFFFFC0ui64;
*(_DWORD *)((unsigned __int64)v11 & 0xFFFFFFFFFFFFFFC0ui64) = 0;
memset(((unsigned __int64)v11 & 0xFFFFFFFFFFFFFFC0ui64) + 64, 0i64);
v1 = 0i64;
CurrentIrql = KeGetCurrentIrql();
__writecr8(2ui64);
do
v1 += ExpAeMeasureContention((INT64 *)(v0 + 64));
while( v3 != 1 );
__writecr8(CurrentIrql);
v4 = v1 >> 10;
KeGenericCallDpc((PKDEFERRED_ROUTINE)ExpAeThresholdInitWorker, (PVOID)(v0 + 64));
if( *(_QWORD *)(((unsigned __int64)v11 & 0xFFFFFFFFFFFFFFC0ui64) + 0xC0)
/ 1024i64
/ (unsigned __int64)*(int *)(((unsigned __int64)v11 & 0xFFFFFFFFFFFFFFC0ui64) + 0xC8) < 4 * v4 )
{
v8 = -1;
ExpAeCycleCountScaler = -1;
ExpAeCycleCountThreshold = -1;
}
else
{
if( HIDWORD(v4) )
{
_BitScanReverse(&v10, HIDWORD(v4));
v5 = v10 + 32;
}
else
{
_BitScanReverse(&v5, v4);
}
if( v5 < 2 )
v6 = 0;
else
v6 = v5 - 2;
ExpAeCycleCountScaler = v6;
v7 = (v4 + (v4 >> 2)) << 7 >> v6;
if( v7 > 0xFFFFFFFF )
LODWORD(v7) = -1;
v8 = 15728640;
ExpAeCycleCountThreshold = v7;
}
ExpAeSamplingPeriodMask = v8;
return 1;
}Referenced by:
ExpInitSystemPhase1