Newer
Older
AMI-Aptio-BIOS-Reversed / RegAccessPeim / decompiled / TranslateAddressWalk.c
@Ajax Dong Ajax Dong 2 days ago 717 bytes Init
// TranslateAddressWalk - addr:0xffdaf85a
int __cdecl TranslateAddressWalk(int n2, int a2, int a3)
{
  unsigned __int8 v3; // bl
  int v4; // edi
  unsigned __int8 n20; // [esp+10h] [ebp-8h]
  unsigned __int8 n6; // [esp+14h] [ebp-4h]

  v3 = *(_BYTE *)(n2 + 5);
  v4 = *(_DWORD *)(n2 + 12);
  n20 = *(_BYTE *)(n2 + 3);
  n6 = *(_BYTE *)(n2 + 4);
  LOBYTE(n2) = *(_BYTE *)(n2 + 2);
  *(_DWORD *)a3 ^= (*(_DWORD *)a3 ^ (CpuTypeToTableIndex(v4, v3, n20, n6, n2, a2) << 20)) & 0xFF00000;
  *(_DWORD *)a3 ^= (*(_DWORD *)a3 ^ (CpuTypeToDeviceIndex(v4, n20, n6, n2, a2) << 15)) & 0xF8000;
  *(_DWORD *)a3 ^= (*(_DWORD *)a3 ^ (FuncBlockToIndex(v4, n20, n6, n2, a2) << 12)) & 0x7000;
  *(_WORD *)(a3 + 4) = v3;
  return v3;
}