IommuGetLibraryContext
INT64 __fastcall IommuGetLibraryContext(INT64 a1, UINT64 a2, UINT8 **a3){
int v3;
int v5;
VOID **SystemContext;
__int64 v7;
__int64 v8;
__int64 v9;
INT64 result;
__int64 v11;
*a3 = 0i64;
v3 = a1;
v5 = a2;
SystemContext = IommupGetSystemContext((unsigned int)a2);
v9 = HalpMmAllocCtxAlloc(v7, 56i64);
if( !v9 )
return 3221225626i64;
v11 = HalpMmAllocCtxAlloc(v8, 16i64);
if( !v11 )
{
HalpMmAllocCtxFree(0i64, v9);
return 3221225626i64;
}
*(_QWORD *)v9 = 0i64;
*(_QWORD *)(v9 + 8) = 0i64;
*(_QWORD *)(v9 + 48) = 0i64;
*(_QWORD *)(v9 + 32) = 0i64;
*(_QWORD *)(v9 + 48) = v9 + 40;
*(_QWORD *)(v9 + 40) = v9 + 40;
*(_QWORD *)(v9 + 24) = 0i64;
*(_DWORD *)(v9 + 16) = v3;
result = 0i64;
*(_DWORD *)(v9 + 20) = v5;
*(_QWORD *)v11 = SystemContext;
*(_QWORD *)(v11 + 8) = v9;
*a3 = (UINT8 *)v11;
return result;
}Referenced by:
No references.