HsaEnumerateIvmdDevices
NTSTATUS __stdcall HsaEnumerateIvmdDevices(INT64 a1, UINT64 *a2, INT64 a3){
_DWORD *v3;
unsigned int v7;
_QWORD **v9;
__int64 v10;
_QWORD *v11;
INT64 *ReservedDevice;
v3 = *(_DWORD **)(a1 + 208);
v7 = *v3;
if( *(_DWORD *)a2 >= *v3 )
{
v9 = (_QWORD **)(v3 + 2);
v10 = 0i64;
v11 = *v9;
if( *v9 != v9 )
{
while( 1 )
{
v7 = **(_DWORD **)(a1 + 208);
if( (unsigned int)v10 >= v7 )
break;
ReservedDevice = HalpHsaCreateReservedDevice(*(unsigned __int16 *)(a1 + 160), (__int64)v11);
*(_QWORD *)(a3 + 8 * v10) = ReservedDevice;
if( !ReservedDevice )
return -1073741670;
v11 = (_QWORD *)*v11;
v10 = (unsigned int)(v10 + 1);
if( v11 == v9 )
{
v7 = **(_DWORD **)(a1 + 208);
break;
}
}
}
*(_DWORD *)a2 = v7;
return 0;
}
else
{
*(_DWORD *)a2 = v7;
return -1073741789;
}
}Referenced by:
No references.