HalpInitMemoryCachingRequirementsTable

NTSTATUS __stdcall HalpInitMemoryCachingRequirementsTable(INT64 a1){
  __int64 v1; 
  const VOID *v2; 
  __int64 v3; 
  UINT8 *v4; 

  v1 = *(_QWORD *)(a1 + 240);
  v2 = *(const VOID **)(v1 + 336);
  if( !v2 || (v3 = *(unsigned int *)(v1 + 328), !(_DWORD)v3) )
  {
    dword_140C4AD50 = 0;
    qword_140C4AD48 = 0i64;
    return 0;
  }
  v4 = HalpMmAllocCtxAlloc((_HALP_ALLOC_CONTEXT *)a1, 24 * v3);
  qword_140C4AD48 = (__int64)v4;
  if( v4 )
  {
    dword_140C4AD50 = v3;
    memmove(v4, v2, 24 * v3);
    return 0;
  }
  return -1073741670;
}

Referenced by:

HalpMmInitSystem