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*/
}
}