HalpLaAddReservation

INT64 __fastcall HalpLaAddReservation(INT64 a1, INT64 a2){
  _QWORD *v4; 
  INT64 v5; 
  _QWORD *v6; 
  INT64 result; 
  v4 = (_QWORD *)HalpMmAllocCtxAlloc(a1, 32i64);
  if( !v4 )
    return 3221225626i64;
  v4[2] = a1 - (a1 & 0xFFF);
  v5 = (a1 & 0xFFF) + a2;
  v4[3] = v5;
  if( (v5 & 0xFFF) != 0 )
    v4[3] = v5 + 4096 - (v5 & 0xFFF);
  v6 = off_140C043E8;
  if( *(void ***)off_140C043E8 != &HalpLaReservedRanges )
    __fastfail(3u);
  v4[1] = off_140C043E8;
  *v4 = &HalpLaReservedRanges;
  *v6 = v4;
  result = 0i64;
  off_140C043E8 = v4;
  return result;
}

Referenced by:

HalpDmaInit