XmExecuteInt1a
CHAR __fastcall XmExecuteInt1a(INT64 a1){
unsigned int v1;
unsigned int v2;
unsigned int v3;
unsigned int v4;
bool v5;
char v6;
if( XmPciBiosPresent && *(_BYTE *)(a1 + 25) == 0xB1 )
{
v1 = *(unsigned __int8 *)(a1 + 24);
if( v1 > 0xA )
{
if( v1 <= 0xD )
{
XmInt1aWriteConfigRegister(a1);
return 1;
}
if( v1 == 14 )
goto LABEL_10;
v5 = v1 == 15;
}
else
{
if( v1 >= 8 )
{
XmInt1aReadConfigRegister(a1);
return 1;
}
v2 = v1 - 1;
if( !v2 )
{
v6 = XmNumberPciBusses;
*(_DWORD *)(a1 + 16) &= ~1u;
*(_BYTE *)(a1 + 28) = v6;
*(_DWORD *)(a1 + 32) = 541672272;
*(_WORD *)(a1 + 24) = 0;
*(_WORD *)(a1 + 36) = 528;
return 1;
}
v3 = v2 - 1;
if( !v3 )
{
XmInt1aFindPciDevice(a1);
return 1;
}
v4 = v3 - 1;
if( !v4 )
{
XmInt1aFindPciClassCode(a1);
return 1;
}
v5 = v4 == 3;
}
if( v5 )
{
LABEL_10:
*(_DWORD *)(a1 + 16) |= 1u;
*(_BYTE *)(a1 + 25) = -127;
return 1;
}
}
return 0;
}Referenced by:
XmIntOp