HalpIvtpInitializeReservedDomain
NTSTATUS __stdcall HalpIvtpInitializeReservedDomain(INT64 a1, INT64 a2){
_QWORD *v2;
_DWORD *v5;
NTSTATUS v6;
NTSTATUS result;
UINT64 v8;
INT64 v9;
_DWORD *v10;
UINT64 v11;
INT64 v12;
INT64 v13;
INT64 v14;
INT64 v15[10];
v2 = *(_QWORD **)(a2 + 8);
v5 = (_DWORD *)*v2;
if( *(_DWORD *)*v2 != 1 )
return 0;
if( *((unsigned __int16 *)v5 + 4) != *(_DWORD *)(a1 + 212) )
return -1073741811;
result = IvtAllocateContextTable(a1, *((unsigned __int16 *)v5 + 6));
v6 = result;
if( result < 0 )
return result;
memset(v15, 0i64, sizeof(v15));
LODWORD(v15[3]) = *(_DWORD *)a2;
v15[2] = v2[2];
v10 = (_DWORD *)*v2;
v15[0] = 0x200000001i64;
v11 = *((unsigned __int16 *)v10 + 6);
if( (*(_DWORD *)(a1 + 184) & 0x1000000) != 0 )
{
LODWORD(v14) = 1;
IvtUpdateExtendedContextEntry(a1, v11, v8, v9, (INT64)v15, v13, v14, 0i64);
}
else
{
LODWORD(v12) = 1;
IvtUpdateContextEntry(a1, v11, (INT64)v15, v9, v12, 0i64);
}
return v6;
}Referenced by:
IvtProcessDeviceExceptions