HalpInitMemoryCachingRequirementsTable

INT64 __fastcall HalpInitMemoryCachingRequirementsTable(INT64 a1){
  __int64 v1; 
  UINT8 *v2; 
  __int64 v3; 
  UINT8 *v4; 
  v1 = *(_QWORD *)(a1 + 240);
  v2 = *(UINT8 **)(v1 + 336);
  if( !v2 || (v3 = *(unsigned int *)(v1 + 328), !(_DWORD)v3) )
  {
    HalpCachingRequirementsEntryCount = 0;
    HalpCachingRequirements = 0i64;
    return 0i64;
  }
  v4 = (UINT8 *)HalpMmAllocCtxAlloc(a1, 24 * v3);
  HalpCachingRequirements = (__int64)v4;
  if( v4 )
  {
    HalpCachingRequirementsEntryCount = v3;
    memmove(v4, v2, 24 * v3);
    return 0i64;
  }
  return 3221225626i64;
}

Referenced by:

HalpMmInitSystem