XmInt1aWriteConfigRegister
VOID __stdcall XmInt1aWriteConfigRegister(UINT64 NumberOfPtes){
char v1;
int v3;
int v4;
int v5;
int v6;
int v7;
int v8;
int v9;
unsigned int v10;
int v11;
v1 = 0;
v3 = *(unsigned __int8 *)(NumberOfPtes + 24);
v11 = 0;
if( (_BYTE)v3 == 12 && (*(_BYTE *)(NumberOfPtes + 36) & 1) != 0
|| (_BYTE)v3 == 13 && (*(_BYTE *)(NumberOfPtes + 36) & 3) != 0 )
{
*(_DWORD *)(NumberOfPtes + 16) |= 1u;
*(_BYTE *)(NumberOfPtes + 25) = -121;
}
v4 = v3 - 11;
if( v4 )
{
v5 = v4 - 1;
if( v5 )
{
if( v5 != 1 )
{
v6 = 0;
goto LABEL_14;
}
v7 = *(_DWORD *)(NumberOfPtes + 28);
v6 = 4;
}
else
{
v7 = *(unsigned __int16 *)(NumberOfPtes + 28);
v6 = 2;
}
}
else
{
v7 = *(unsigned __int8 *)(NumberOfPtes + 28);
v6 = 1;
}
v11 = v7;
LABEL_14:
v8 = ((__int64(__fastcall *)(_QWORD, _QWORD, int *, _QWORD, int))XmSetPciData)(
*(unsigned __int8 *)(NumberOfPtes + 37),
(*(unsigned __int8 *)(NumberOfPtes + 36) >> 3) | (32 * (*(_BYTE *)(NumberOfPtes + 36) & 7u)),
&v11,
*(unsigned __int16 *)(NumberOfPtes + 52),
v6);
v9 = *(_DWORD *)(NumberOfPtes + 16);
if( v8 )
{
v1 = -121;
v10 = v9 | 1;
}
else
{
v10 = v9 & 0xFFFFFFFE;
}
*(_DWORD *)(NumberOfPtes + 16) = v10;
*(_BYTE *)(NumberOfPtes + 25) = v1;
}Referenced by:
XmExecuteInt1a