HalpUpdateNumaConfiguration

NTSTATUS __stdcall HalpUpdateNumaConfiguration(INT64 a1, UINT16 a2){
  unsigned int v2; 
  __int64 v3; 
  unsigned int v4; 
  int v5; 
  __int64 v6; 
  int v7; 

  v2 = 0;
  if( *(&CmpDummyThreadEvent + 876) )
  {
    v3 = *(_QWORD *)(*(&CmpDummyThreadEvent + 876) + 24i64);
    v4 = *(_DWORD *)(*(&CmpDummyThreadEvent + 876) + 60i64);
    v5 = *(_DWORD *)(v3 + 4i64 * a2);
    v6 = 1280i64;
    if( v4 )
    {
      while( 1 )
      {
        v7 = *(_DWORD *)(**(&CmpDummyThreadEvent + 876) + 4i64 * v2);
        if( v7 == (_DWORD)a1 )
          break;
        v3 = *(_QWORD *)(*(&CmpDummyThreadEvent + 876) + 16i64);
        if( *(_DWORD *)(v3 + 4i64 * v2) == v5 && v7 == -1 )
          v6 = v2;
        if( ++v2 >= v4 )
          goto LABEL_8;
      }
    }
    else
    {
LABEL_8:
      LODWORD(v3) = *(&CmpDummyThreadEvent + 1752);
      *(_DWORD *)(**(&CmpDummyThreadEvent + 876) + 4 * v6) = a1;
    }
  }
  return v3;
}

Referenced by:

HalStartDynamicProcessor