HalpNumaQueryProcessorNode

NTSTATUS __stdcall HalpNumaQueryProcessorNode(UINT64 ProcessorIndex, UINT64 *Identifier, UINT16 *Node){
  INT64 v3; 
  int v4; 
  unsigned int v5; 
  NTSTATUS result; 
  unsigned int v9; 
  unsigned int v10; 
  unsigned int v11; 
  INT64 v12; 

  v4 = *(_DWORD *)Identifier;
  v5 = 0;
  LODWORD(v12) = 0;
  if( v4 == -1 )
  {
    result = HalpInterruptGetIdentifiers(ProcessorIndex, (INT64)&v12, 0i64, v3);
    if( result < 0 )
      return result;
    v4 = v12;
    *(_DWORD *)Identifier = v12;
  }
  if( *(&CmpDummyThreadEvent + 869) )
  {
    v9 = 0;
    v10 = *(_DWORD *)(*(&CmpDummyThreadEvent + 876) + 60i64);
    if( !v10 )
      return -1073741275;
    while( *(_DWORD *)(**(&CmpDummyThreadEvent + 876) + 4i64 * v9) != v4 )
    {
      if( ++v9 >= v10 )
        return -1073741275;
    }
    v11 = *(_DWORD *)(*(&CmpDummyThreadEvent + 876) + 56i64);
    if( !v11 )
      return -1073741275;
    while( *(_DWORD *)(*(_QWORD *)(*(&CmpDummyThreadEvent + 876) + 24i64) + 4i64 * v5) != *(_DWORD *)(*(_QWORD *)(*(&CmpDummyThreadEvent + 876) + 16i64) + 4i64 * v9) )
    {
      if( ++v5 >= v11 )
        return -1073741275;
    }
    *Node = v5;
  }
  else
  {
    *Node = -1;
  }
  return 0;
}

Referenced by:

No references.