HalpGetAvailableProximityId
INT64 __stdcall HalpGetAvailableProximityId(){
unsigned int v0;
unsigned int v1;
unsigned int v2;
__int64 v3;
unsigned int *v4;
unsigned int v5;
unsigned int v6;
unsigned int v8;
__int64 v9;
v0 = 0;
v1 = -1;
v2 = *(_DWORD *)(HalpNumaConfig + 56);
if( !v2 )
return v1 - 1;
v3 = v2;
v4 = *(unsigned int **)(HalpNumaConfig + 24);
do
{
v5 = *v4;
v6 = *v4++;
if( v1 <= v5 )
v6 = v1;
v1 = v6;
if( v0 >= v5 )
v5 = v0;
v0 = v5;
--v3;
}
while( v3 );
if( v6 )
return v1 - 1;
if( v5 != -1 )
return v5 + 1;
v8 = -2;
while( 1 )
{
v9 = 0i64;
do
{
if( v8 == *(_DWORD *)(*(_QWORD *)(HalpNumaConfig + 24) + 4 * v9) )
break;
v9 = (unsigned int)(v9 + 1);
}
while( (unsigned int)v9 < v2 );
if( (_DWORD)v9 == v2 )
break;
if( !--v8 )
return 0i64;
}
return v8;
}Referenced by:
HalpNumaInitializeStaticConfiguration