HvlpInitializeBootProcessor

NTSTATUS __stdcall HvlpInitializeBootProcessor(_LOADER_PARAMETER_BLOCK *LoaderBlock){
  INT64 v1; 
  INT64 v2; 
  INT64 *v3; 
  __int64 v4; 
  struct _KPRCB *CurrentPrcb; 
  __int64 v7; 
  __int64 v9; 
  int v10[12]; 
  __int128 v11; 
  __int64 v12; 
  __int64 v13; 
  __int64 v14; 
  v4 = 0i64;
  if( (_BYTE)HvlHypervisorConnected )
  {
    CurrentPrcb = KeGetCurrentPrcb();
    _InterlockedOr(v10, 0);
    v13 = 0i64;
    v14 = 0i64;
    v12 = 0i64;
    if( (HvlpFlags & 0x80000) != 0 && (HvlpFlags & 2) == 0 )
    {
      v7 = ((__int64(__fastcall *)(_LOADER_PARAMETER_BLOCK *, __int64, __int64 *, __int64))qword_140C00718)(
             LoaderBlock,
             1i64,
             &v13,
             4i64);
      if( !v7 )
        return -1073741670;
      *((_QWORD *)CurrentPrcb + 4209) = v7;
    }
    if( (HvlpFlags & 2) == 0 && (HvlpFlags & 0x8000) != 0 )
    {
      v9 = ((__int64(__fastcall *)(_LOADER_PARAMETER_BLOCK *, __int64, __int64 *))qword_140C00718)(
             LoaderBlock,
             1i64,
             &v14);
      if( v9 )
        *((_QWORD *)CurrentPrcb + 4247) = v9;
    }
    if( (HvlpRootFlags & 0x10) != 0 )
    {
      v11 = 0i64;
      if( (int)HvlpMapStatisticsPage(2, &v11, &v12) >= 0 )
        v4 = ((__int64(__fastcall *)(__int64, __int64, __int64))qword_140C00720)(v12, 1i64, 4i64);
      *((_QWORD *)CurrentPrcb + 4202) = v4;
    }
    HvlEnlightenProcessor(0, v1, v2, v3);
  }
  return 0;
}

Referenced by:

HvlPhase0Initialize