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