Newer
Older
AMI-Aptio-BIOS-Reversed / PurleySktPkg / SouthClusterLbg / SiInit / Pei / SiInitPreMem / decompiled / ffd7fbc7.c
@Ajax Dong Ajax Dong 7 days ago 1 KB Recovering names
int __cdecl RecordPerformanceEntry(int a1, __int64 a2)
{
  _DWORD *v2; // ecx
  int v3; // edx
  int v5; // edi
  int v6; // esi
  int v7; // eax
  int v8; // edx
  unsigned __int64 v9; // rax
  int v10; // [esp+8h] [ebp-8h] BYREF
  _DWORD *v11; // [esp+Ch] [ebp-4h] BYREF

  GetPerformanceLogBuffer((int *)&v11, &v10); /*0xffd7fbd4*/
  v2 = v11; /*0xffd7fbd9*/
  v3 = *v11; /*0xffd7fbdc*/
  if ( *v11 < 0x3E8u ) /*0xffd7fbe4*/
  {
    v5 = HIDWORD(a2); /*0xffd7fbfe*/
    v6 = 10 * v3; /*0xffd7fc04*/
    *v11 = v3 + 1; /*0xffd7fc07*/
    v2[v6 + 3] = 0; /*0xffd7fc0b*/
    v2[v6 + 10] = 0; /*0xffd7fc0f*/
    v2[v6 + 11] = 0; /*0xffd7fc13*/
    v7 = v10; /*0xffd7fc17*/
    v2[v6 + 2] = &unk_FFD97F8C; /*0xffd7fc1a*/
    *(_DWORD *)(v7 + 4 * v3) = 20704; /*0xffd7fc22*/
    v8 = a2; /*0xffd7fc29*/
    if ( !a2 ) /*0xffd7fc30*/
    {
      v9 = __rdtsc(); /*0xffd7fc32*/
      v5 = HIDWORD(v9); /*0xffd7fc34*/
      v8 = v9; /*0xffd7fc36*/
    }
    v2[v6 + 8] = v8; /*0xffd7fc38*/
    v2[v6 + 9] = v5; /*0xffd7fc3e*/
    return 0; /*0xffd7fc3c*/
  }
  else
  {
    DebugPrint(0x80000000, (int)"PEI performance log array out of resources\n"); /*0xffd7fbf0*/
    return -2147483639; /*0xffd7fbf7*/
  }
}