HalpInterruptSortProcessorTable
VOID __fastcall HalpInterruptSortProcessorTable(INT64 a1, UINT64 a2){
unsigned int v2;
unsigned int v3;
unsigned __int64 v4;
unsigned __int64 v5;
unsigned int v6;
__int128 v7;
__int128 v8;
__int128 v9;
__int128 v10;
__int128 v11;
__int128 v12;
__int128 v13;
if( (unsigned int)a2 > 1 )
{
v2 = 0;
v3 = a2 - 1;
do
{
v4 = (unsigned __int64)(v2 + 1) << 6;
v5 = (unsigned __int64)v2 << 6;
if( *(_DWORD *)(v5 + a1 + 8) > *(_DWORD *)(v4 + a1 + 8) )
{
v6 = v2 - 1;
v7 = *(_OWORD *)(v4 + a1 + 16);
if( !v2 )
v6 = 0;
v8 = *(_OWORD *)(v5 + a1);
v2 = v6;
v9 = *(_OWORD *)(v5 + a1 + 16);
v10 = *(_OWORD *)(v5 + a1 + 32);
v11 = *(_OWORD *)(v5 + a1 + 48);
*(_OWORD *)(v5 + a1) = *(_OWORD *)(v4 + a1);
v12 = *(_OWORD *)(v4 + a1 + 32);
*(_OWORD *)(v5 + a1 + 16) = v7;
v13 = *(_OWORD *)(v4 + a1 + 48);
*(_OWORD *)(v4 + a1) = v8;
*(_OWORD *)(v4 + a1 + 16) = v9;
*(_OWORD *)(v5 + a1 + 32) = v12;
*(_OWORD *)(v4 + a1 + 32) = v10;
*(_OWORD *)(v5 + a1 + 48) = v13;
*(_OWORD *)(v4 + a1 + 48) = v11;
}
else
{
++v2;
}
}
while( v2 < v3 );
}
}Referenced by:
HalpInterruptParseMadt