INT64 __fastcall HalpIommuConstructReservedPageTables(INT64 a1, _DWORD *a2, UINT64 a3){
INT64 result;
__int64 v4;
unsigned int i;
result = 0i64;
v4 = 0i64;
for( i = a3; (unsigned int)v4 < *a2; v4 = (unsigned int)(v4 + 1) )
{
result = HalpIommuConstructReservedPageTable(a1, *(LARGE_INTEGER **)&a2[2 * v4 + 2], i);
if( (int)result < 0 )
break;
}
return result;
}