HalpAcpiGetCachedTable

_LIST_ENTRY **__fastcall HalpAcpiGetCachedTable(UINT64 Signature, UINT8 *OemId, UINT8 *OemTableId){
  __int64 *v3; 
  int v6; 
  _LIST_ENTRY **v7; 

  v3 = (__int64 *)*(&WheapErrorSourceTable + 133);
  v6 = Signature;
  v7 = 0i64;
  while( v3 != (__int64 *)((char *)&WheapErrorSourceTable + 1064) )
  {
    if( *((_DWORD *)v3 + 6) == v6
      && (!OemId || !strncmp((INT8 *)OemId, (INT8 *)v3 + 34, 6ui64))
      && (!OemTableId || !strncmp((INT8 *)OemTableId, (INT8 *)v3 + 40, 8ui64)) )
    {
      return(_LIST_ENTRY **)(v3 + 3);
    }
    v3 = (__int64 *)*v3;
  }
  return v7;
}

Referenced by:

HalpAcpiGetRsdt
HalpAcpiGetTableWork
HalpAcpiTableCacheInit