HalpAuditEnumerateRsdts

__int64 __fastcall HalpAuditEnumerateRsdts(__int64 a1, PVOID *a2){
  __int64 v3; 
  int RsdtArrayTable; 
  unsigned int a3; 
  int v7; 
  PVOID P; 
  __int64 a2a; 
  v7 = HIDWORD(a1);
  a2a = 0i64;
  a3 = 0;
  P = 0i64;
  RsdtArrayTable = HalpAuditAllocateRsdtArrayTable((int **)&P);
  if( RsdtArrayTable >= 0 )
  {
    if( (int)HalpAuditGetExtendedBiosDataArea(v3, &a2a, &a3) < 0
      || (RsdtArrayTable = HalpAuditEnumerateRsdtsInRange(a2a, a3, 1, (int **)&P), RsdtArrayTable >= 0) )
    {
      RsdtArrayTable = HalpAuditEnumerateRsdtsInRange(917504i64, 0x20000u, 0, (int **)&P);
    }
  }
  if( RsdtArrayTable < 0 )
  {
    if( P )
      ExFreePoolWithTag(P, 0);
  }
  else
  {
    *a2 = P;
  }
  return(unsigned int)RsdtArrayTable;
}

Referenced by:

HalpAuditAcpiTables