KiGetHalNumaConversionFactor

UINT64 __stdcall KiGetHalNumaConversionFactor(INT64 *a1){
  int v1; 
  unsigned int v3; 
  __int64 v4; 
  unsigned __int64 v5; 
  unsigned __int64 v6; 
  UINT64 result; 
  int v8; 
  unsigned __int64 v9; 

  v1 = 0;
  if( KeNumberNodes )
  {
    while( 2 )
    {
      v3 = 0;
      do
      {
        v4 = v3 + v1 * (unsigned __int16)KeNumberNodes;
        v5 = *(_QWORD *)(*(&KiSwapEvent + 58) + 8 * v4);
        if( v5 - 1 <= 0xFFFFFFFFFFFFFFFDui64 )
        {
          v6 = *((unsigned int *)KeNodeDistance + v4);
          if( (unsigned int)v6 > 1 )
          {
            if( v6 < v5 )
            {
              v9 = 100 * v5;
              v8 = 2;
              result = v9 / v6;
            }
            else
            {
              result = (unsigned int)(100 * v6) / v5;
              v8 = 3;
            }
            *(_DWORD *)a1 = v8;
            return result;
          }
        }
        ++v3;
      }
      while( v3 < (unsigned __int16)KeNumberNodes );
      if( ++v1 < (unsigned int)(unsigned __int16)KeNumberNodes )
        continue;
      break;
    }
  }
  *(_DWORD *)a1 = 1;
  return 0i64;
}

Referenced by:

KiComputeNumaCosts