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