HalpAcpiDetectMachineSpecificActions

VOID __stdcall HalpAcpiDetectMachineSpecificActions(_LOADER_PARAMETER_BLOCK *LoaderBlock, _FADT *Fadt){
  unsigned int v2; 
  int *v3; 
  _LARGE_INTEGER *Table; 
  unsigned int v6; 

  v2 = 0;
  v3 = &dword_140A98CFC;
  Table = 0i64;
  do
  {
    v6 = *(v3 - 1);
    if( v6 != v2 )
    {
      Table = HalpAcpiGetTable(LoaderBlock, (const UINT8 *)v6, 0i64);
      v2 = v6;
    }
    if( Table
      && (*(_BYTE *)v3 != 1
       || !memcmp((char *)&Table[1] + 2, *(const VOID **)(v3 + 1), (unsigned int)v3[3])
       && (*((_BYTE *)v3 + 16) != 1
        || !memcmp(&Table[2], *(const VOID **)(v3 + 5), (unsigned int)v3[7])
        && (*((_BYTE *)v3 + 32) != 1 || Table[3].anonymous_0.LowPart == v3[9]))) )
    {
      (*(void(__fastcall **)(int *, _LARGE_INTEGER *))(v3 - 3))(v3 - 3, Table);
    }
    v3 += 14;
  }
  while( *(_QWORD *)(v3 - 3) );
}

Referenced by:

HalpSetupAcpiPhase0