HalpDpSortApicList

VOID __fastcall HalpDpSortApicList(INT64 a1, UINT64 a2){
  unsigned int v2; 
  unsigned int v3; 
  __int64 v4; 
  unsigned int v5; 
  unsigned int v6; 
  if( (unsigned int)a2 >= 2 )
  {
    v2 = 0;
    v3 = a2 - 1;
    do
    {
      v4 = v2 + 1;
      v5 = *(_DWORD *)(a1 + 4 * v4);
      v6 = *(_DWORD *)(a1 + 4i64 * v2);
      if( v5 < v6 )
      {
        *(_DWORD *)(a1 + 4 * v4) = v6;
        LODWORD(v4) = v2 - 1;
        *(_DWORD *)(a1 + 4i64 * v2) = v5;
        if( !v2 )
          LODWORD(v4) = 0;
      }
      v2 = v4;
    }
    while( (unsigned int)v4 < v3 );
  }
}

Referenced by:

HalpDpReplaceBegin