__int64 __fastcall IommuGetConfiguration(UINT64 a1, _DWORD *a2, unsigned int *a3, VOID ***a4){
INT64 *v4;
unsigned int v6;
VOID **SystemContext;
INT64 *v9;
v4 = (INT64 *)qword_140C49B50;
v6 = -1;
while( v4 != &qword_140C49B50 )
{
v9 = v4;
v4 = (INT64 *)*v4;
if( (v9[57] & 0x20) != 0 && *((_DWORD *)v9 + 124) < v6 )
v6 = *((_DWORD *)v9 + 124);
}
*a2 = dword_140C49B24;
*a3 = v6;
SystemContext = IommupGetSystemContext(a1);
*a4 = SystemContext;
return SystemContext == 0i64 ? 0xC000009A : 0;
}