EtwpGetPmcCpuHierarchyRegistry
NTSTATUS __fastcall EtwpGetPmcCpuHierarchyRegistry(PWCHAR Path, _DWORD *a2, INT64 a3){
char *v6;
__int64 *v7;
char *v8;
char *v9;
__int64 v10;
__int64 v11;
NTSTATUS v12;
__int64 v13[4];
char v14;
char v15;
int v16;
_DWORD *v17;
INT64 result[3];
char v19;
INT64(__stdcall *v20)(WCHAR *, UINT64, PVOID, UINT64, PVOID, PVOID);
const WCHAR *v21;
int *v22;
int v23;
v13[0] = (__int64)L"Family";
v13[1] = (__int64)L"Model";
v13[2] = (__int64)L"Stepping";
memset((INT64)result, 0i64);
v6 = &v15;
v7 = v13;
*(_QWORD *)a3 = -1i64;
v8 = &v19;
*(_DWORD *)(a3 + 8) = -1;
v9 = &v14;
v10 = 3i64;
do
{
v11 = *v7++;
*(_QWORD *)v8 = v9;
v9 += 16;
*(_QWORD *)v6 = a3;
a3 += 4i64;
*((_QWORD *)v8 - 3) = EtwpQueryRegistryCallback;
*((_QWORD *)v8 - 1) = v11;
*((_DWORD *)v8 + 2) = 4;
v8 += 56;
*((_DWORD *)v6 - 2) = 4;
v6 += 16;
--v10;
}
while( v10 );
*a2 = -1;
v22 = &v16;
v20 = EtwpQueryRegistryCallback;
v21 = L"Architecture";
v23 = 4;
v16 = 4;
v17 = a2;
LOBYTE(v12) = RtlpQueryRegistryValues((_KTRAP_FRAME *)0x40000000, (_KEXCEPTION_FRAME *)Path);
return v12;
}Referenced by:
EtwpFindMatchingPmcRegistryGroup
EtwpLoadMicroarchitecturalProfileGroup