// CpuTypeToTableIndex - addr:0xffdaf95e
int __cdecl CpuTypeToTableIndex(int a1, unsigned __int8 a2, unsigned __int8 n20, unsigned __int8 n6, char n2, int a6)
{
int v6; // ebp
int v7; // ecx
int n6_2; // eax
int n6_1; // [esp-4h] [ebp-14h]
v6 = 0;
v7 = a1;
if ( (((1 << a2) & *(_DWORD *)(a6 + 46)) == 0 || n20 == 20) && (((1 << a2) & *(_DWORD *)(a6 + 50)) == 0 || n20 != 20) )
{
CpuDeadLoopEx(a1, "\nInvalid Socket Id %d. \n", a2);
v7 = a1;
}
switch ( n20 )
{
case 7u:
case 0xBu:
case 8u:
case 6u:
return *(unsigned __int8 *)(6 * (a2 + 1) + a6);
case 0x13u:
case 0xDu:
case 0x10u:
return *(unsigned __int8 *)(6 * a2 + a6 + 4);
case 0xEu:
goto LABEL_26;
}
if ( n20 != 17 )
{
if ( n20 == 15 )
{
if ( !n6 )
{
n6_1 = 0;
goto LABEL_23;
}
LOBYTE(n6_2) = (n6 - 1) / 4 + 1;
if ( (unsigned __int8)n6_2 >= 6u )
{
n6_1 = n6;
LABEL_23:
CpuDeadLoopEx(v7, "\nInvalid BOX_IIO_PCIE_NTB BoxInstance %d. \n", n6_1);
return v6;
}
LABEL_36:
n6_2 = (unsigned __int8)n6_2;
return *(unsigned __int8 *)(n6_2 + a6 + 6 * a2 + 4);
}
if ( n20 != 18 )
{
if ( n20 < 6u )
return *(unsigned __int8 *)(6 * a2 + a6 + 5);
if ( n20 == 12 || n20 == 9 || n20 == 10 )
return *(unsigned __int8 *)(6 * a2 + a6 + 7);
if ( n20 != 20 )
{
CpuDeadLoopEx(v7, "\nInvalid BoxType %d. \n", n20);
return v6;
}
return *(unsigned __int8 *)(6 * a2 + a6 + 4);
}
if ( n2 )
{
if ( n2 == 2 || n2 == 4 )
{
LOBYTE(n6_2) = n6;
if ( n6 >= 6u )
return v6;
goto LABEL_36;
}
if ( n2 != 5 && n2 != 1 && n2 != 3 )
{
CpuDeadLoopEx(v7, "\nInvalid BoxType %d, Functional block %d. \n", 18);
return v6;
}
return *(unsigned __int8 *)(6 * a2 + a6 + 4);
}
LABEL_26:
if ( n6 )
{
LOBYTE(n6_2) = (n6 - 1) / 4 + 1;
if ( (unsigned __int8)n6_2 >= 6u )
{
CpuDeadLoopEx(v7, "\nInvalid IIO_PCIE BoxInstance %d. \n", n6);
return v6;
}
goto LABEL_36;
}
return *(unsigned __int8 *)(6 * a2 + a6 + 4);
}
n6_2 = n6;
if ( n6 < 6u )
return *(unsigned __int8 *)(n6_2 + a6 + 6 * a2 + 4);
CpuDeadLoopEx(v7, "\nInvalid BOX_IIO_VTD BoxInstance %d. \n", n6);
return v6;
}