HvlpSetupSchedulerAssist

PSLIST_ENTRY __stdcall HvlpSetupSchedulerAssist(INT64 a1){
  PSLIST_ENTRY result; 
  _DWORD *v2; 
  _DWORD *v3; 
  __int64 v4; 
  __int128 PageInfo[2]; 
  void *retaddr; 

  result = (PSLIST_ENTRY)&retaddr;
  v2 = *(_DWORD **)(a1 + 33976);
  memset(PageInfo, 0, sizeof(PageInfo));
  if( v2 )
  {
    *v2 = 2056;
    v2[1] = 0;
    v3 = HvlpAcquireHypercallPage((PHYSICAL_ADDRESS *)PageInfo, 1ui64, 0i64, 0x10ui64);
    *v3 = 4;
    v3[1] = 1;
    LODWORD(v4) = MmGetPhysicalAddress((UINT64)v2);
    *((_QWORD *)v3 + 1) = v4;
    HvcallInitiateHypercall();
    HvlpReleaseHypercallPage((_HVLP_HYPERCALL_PAGE_INFO *)PageInfo);
  }
  return result;
}

Referenced by:

HvlEnlightenProcessor