HalpAllocateNumaConfigData
VOID __stdcall HalpAllocateNumaConfigData(_LOADER_PARAMETER_BLOCK *LoaderBlock){
int v1;
int v2;
unsigned int v3;
int v4;
__int64 v5;
unsigned int v6;
__int64 v7;
unsigned int v8;
unsigned int v9;
int v10;
signed int v11;
UINT64 v12;
INT64 v13;
__int64 v14;
unsigned __int64 v15;
unsigned __int64 v16;
unsigned __int64 v17;
unsigned __int64 v18;
unsigned __int64 v19;
unsigned __int64 v20;
unsigned __int64 v21;
__int64 v22;
int v23;
int v24;
v23 = v2;
v4 = v1;
v5 = (unsigned int)(4 * v1);
v6 = v3;
v7 = (unsigned int)(4 * v2);
v8 = 2 * v1 * v1;
v9 = v8
+ ((((((((((v7 + ((v7 + 79) & 0xFFFFFFF8) + 7) & 0xFFFFFFF8) + v7 + 7) & 0xFFFFFFF8) + v5 + 7) & 0xFFFFFFF8)
+ v5
+ 7) & 0xFFFFFFF8)
+ v5
+ 7) & 0xFFFFFFF8);
if( v3 )
{
v6 = v3 + 1;
v9 = 16 * (v3 + 1) + ((v9 + 7) & 0xFFFFFFF8);
}
v10 = v24;
if( v24 )
{
v10 = v24 + 1;
v9 = 16 * (v24 + 1) + ((v9 + 7) & 0xFFFFFFF8);
}
v11 = (v9 + 4095) >> 12;
v12 = HalpAllocPhysicalMemory(LoaderBlock, 0i64);
if( v12 )
{
v13 = HalpMap((LARGE_INTEGER)v12, (MEMORY_CACHING_TYPE)v11, 1u);
v14 = v13;
if( v13 )
{
memset(v13, 0i64);
v15 = (v14 + 79) & 0xFFFFFFFFFFFFFFF8ui64;
HalpNumaConfig = v14;
*(_QWORD *)v14 = v15;
*(_DWORD *)(v14 + 64) = v4;
v16 = (v15 + v7 + 7) & 0xFFFFFFFFFFFFFFF8ui64;
*(_QWORD *)(v14 + 8) = v16;
v17 = (v16 + v7 + 7) & 0xFFFFFFFFFFFFFFF8ui64;
*(_QWORD *)(v14 + 16) = v17;
v18 = (v17 + v7 + 7) & 0xFFFFFFFFFFFFFFF8ui64;
*(_QWORD *)(v14 + 24) = v18;
v19 = ((unsigned int)v5 + 7i64 + v18) & 0xFFFFFFFFFFFFFFF8ui64;
*(_QWORD *)(v14 + 32) = v19;
v20 = (v19 + v5 + 7) & 0xFFFFFFFFFFFFFFF8ui64;
*(_QWORD *)(v14 + 40) = v20;
v21 = (v20 + v5 + 7) & 0xFFFFFFFFFFFFFFF8ui64;
*(_QWORD *)(v14 + 48) = v21;
v22 = v8 + v21;
*(_DWORD *)(v14 + 68) = v23;
if( v6 )
{
*(_QWORD *)&HalpNumaMemoryRanges = (v22 + 7) & 0xFFFFFFFFFFFFFFF8ui64;
v22 = 16i64 * v6 + *(_QWORD *)&HalpNumaMemoryRanges;
}
if( v10 )
{
HalpChannelMemoryRangeCount = v10;
HalpChannelMemoryRanges = (WCHAR *)((v22 + 7) & 0xFFFFFFFFFFFFFFF8ui64);
}
}
}
}Referenced by:
HalpInitializeConfigurationFromMadt
HalpNumaInitializeStaticConfiguration