HvlpGetLogicalProcessorProperty

NTSTATUS __stdcall HvlpGetLogicalProcessorProperty(
        UINT64 LpIndex,
        _HV_LOGICAL_PROCESSOR_PROPERTY_TYPE Type,
        _HV_LOGICAL_PROCESSOR_PROPERTY *Property){
  NTSTATUS v3; 
  int v6; 
  _DWORD *v7; 
  VOID *v8; 
  __int16 v9; 
  __int128 PageInfo[2]; 
  _HVLP_HYPERCALL_PAGE_INFO v12[4]; 
  __int128 v13; 

  v3 = 0;
  v6 = LpIndex;
  *(_OWORD *)v12 = 0i64;
  v13 = 0i64;
  memset(PageInfo, 0, sizeof(PageInfo));
  v7 = HvlpAcquireHypercallPage((PHYSICAL_ADDRESS *)v12, 1ui64, 0i64, 8ui64);
  v8 = HvlpAcquireHypercallPage((PHYSICAL_ADDRESS *)PageInfo, 2ui64, 0i64, 0xCB8ui64);
  *v7 = v6;
  v7[1] = Type;
  HvcallInitiateHypercall();
  if( v9 )
    v3 = -1073741823;
  else
    memmove(Property, v8, 0xCB8u);
  HvlpReleaseHypercallPage((_HVLP_HYPERCALL_PAGE_INFO *)PageInfo);
  HvlpReleaseHypercallPage(v12);
  return v3;
}

Referenced by:

HvlLpGetMachineCheckContext
HvlpLogMicrocodeUpdateStatus