KiIntSteerInit
INT64 __stdcall KiIntSteerInit(){
bool v0;
INT64 result;
int v2;
v0 = 0;
*(_DWORD *)&KiIntSteerMask.Count = 1310721;
KiIntTrackRootCount = 0;
qword_140C2AED8 = (__int64)&KiIntTrackRootList;
KiIntTrackRootList = (INT64)&KiIntTrackRootList;
KiIntTrackSpinlock = 0i64;
memset((INT64)&KiIntSteerMask.Reserved, 0i64);
KeAddProcessorAffinityEx(&KiIntSteerMask, 0);
KiIntSteerAffinitizedInterrupts[0] = 1310721;
memset((INT64)&dword_140C2AFC4, 0i64);
v2 = 0;
((void(__fastcall *)(__int64, __int64, int *, int *))off_140C00A68[0])(39i64, 4i64, &KiInterruptControllerInfo, &v2);
if( !KiInterruptSteeringDisabled
&& (unsigned __int16)KiActiveGroups <= 1u
&& (unsigned int)KeQueryActiveProcessorCountEx(0) >= 2
&& !(_BYTE)dword_140CFA19C
&& !HviIsXboxNanovisorPresent() )
{
if( (_BYTE)HvlHypervisorConnected )
{
if( (HvlpFlags & 2) != 0 && (HvlpRootFlags & 0x400) == 0 )
goto LABEL_8;
}
else if( !(unsigned __int8)HviIsAnyHypervisorPresent() )
{
LABEL_8:
v0 = (unsigned int)KeQueryActiveProcessorCountEx(0) <= 0x10;
}
}
result = 0i64;
KiIntSteerEnabled = v0;
return result;
}Referenced by:
KeInitSystem