PnpInitializeBootStartDriver

__int64 __fastcall PnpInitializeBootStartDriver(
        _UNICODE_STRING *DriverName,
        INT64 a2,
        INT64 a3,
        INT64 a4,
        _LIST_ENTRY *ModuleListHead,
        CHAR a5,
        int a7,
        int a8,
        INT64 a6){
  int v13; 
  __int128 v14; 
  __int128 v15; 
  int v16; 
  __int128 v17; 
  __int64 v18; 
  __int128 v19; 
  unsigned int inited; 
  int v21; 
  _QWORD v23[14]; 

  memset(v23, 0i64, 0x68u);
  v13 = 0;
  a8 = 0;
  if( a7 )
  {
    if( a4 )
    {
      v14 = *(_OWORD *)(a4 + 72);
      v15 = *(_OWORD *)(a4 + 176);
      HIDWORD(v23[0]) = *(_DWORD *)(a4 + 224) & 1;
      LODWORD(v23[11]) = *(_DWORD *)(a4 + 208);
      LODWORD(v23[12]) = *(_DWORD *)(a4 + 216);
      v23[9] = *(_QWORD *)(a4 + 192);
      v16 = *(_DWORD *)(a4 + 212);
      *(_OWORD *)&v23[1] = v14;
      HIDWORD(v23[11]) = v16;
      v17 = *(_OWORD *)a2;
      HIDWORD(v23[12]) = *(_DWORD *)(a4 + 220);
      v18 = *(_QWORD *)(a4 + 200);
      *(_OWORD *)&v23[3] = v17;
      v23[10] = v18;
      v19 = *(_OWORD *)(a4 + 160);
      *(_OWORD *)&v23[7] = v15;
      *(_OWORD *)&v23[5] = v19;
    }
    else
    {
      *(_UNICODE_STRING *)&v23[1] = *DriverName;
    }
    PnpNotifyEarlyLaunchImageLoad((__int64)v23, (__int64)&a8);
    v13 = a8;
  }
  if( PnpDoPolicyCheck(v13, 1) || !a7 )
  {
    inited = VfDriverInitStarting();
    PnpDiagnosticTraceObject(&KMPnPEvt_BootInit_Start, &DriverName->Length);
    v21 = IopInitializeBuiltinDriver(DriverName, a2, a3, a4, a5, a6);
    PnpDiagnosticTraceObjectWithStatus(&KMPnPEvt_BootInit_Stop, &DriverName->Length, v21);
    if( v21 >= 0 )
      VfDriverInitSuccess(inited, ModuleListHead);
  }
  else
  {
    return(unsigned int)-1073741790;
  }
  return(unsigned int)v21;
}

Referenced by:

IopInitializeBootDrivers
PipInitializeCoreDriversByGroup
PipInitializeEarlyLaunchDrivers
PnpLoadBootFilterDriver