HalpAcpiCacheOverrideTables
VOID **__fastcall HalpAcpiCacheOverrideTables(INT64 a1, INT64 a2, UINT64 a3, UINT64 *a4, UINT64 a5){
VOID **result;
unsigned int v6;
unsigned int v8;
__int64 v10;
unsigned int v11;
void *retaddr;
result = &retaddr;
v6 = a5;
v8 = a3;
while( v6 >= 0x24 )
{
v10 = *((unsigned int *)a4 + 1);
v11 = (v10 + 31) & 0xFFFFFFF8;
if( v8 < v11 || v6 < (unsigned int)v10 )
break;
*(_QWORD *)(a2 + 16) = 0i64;
memmove((VOID *)(a2 + 24), a4, v10);
HalpAcpiCacheTable((_LOADER_PARAMETER_BLOCK *)a1, (VOID *)(a2 + 24));
result = (VOID **)v11;
v8 -= v11;
a2 += v11;
v6 -= v10;
a4 = (UINT64 *)((char *)a4 + v10);
}
return result;
}Referenced by:
HalpAcpiTableCacheInit