ExInitSystem

UINT8 __fastcall ExInitSystem(){
  if( *(_DWORD *)InitializationPhase )
  {
    if( *(_DWORD *)InitializationPhase != 1 )
      KeBugCheckEx(0x33u, 3ui64, *(unsigned int *)InitializationPhase, 0i64, 0i64);
    return ExpInitSystemPhase1();
  }
  else
  {
    ExpStringCheck(
      L"\\Registry\\Machine\\System\\Setup",
      L"SetupType",
      L"SystemPrefix",
      L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\ProductOptions",
      L"ProductType",
      L"LanmanNT",
      L"ServerNT",
      L"WinNT",
      L"ProductSuite",
      L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\LicenseInfoSuites",
      L"ConcurrentLimit",
      L"Small Business",
      L"Enterprise",
      L"CommunicationServer",
      L"BackOffice",
      L"Small Business(Restricted)",
      L"Terminal Server",
      L"EmbeddedNT",
      L"DataCenter",
      L"Personal",
      L"Blade",
      L"Embedded(Restricted)",
      L"Security Appliance",
      L"Storage Server",
      L"Compute Server",
      L"WH Server",
      L"SystemSetupInProgress",
      L"PhoneNT");
    return ExpInitSystemPhase0();
  }
}

Referenced by:

InitBootProcessor
Phase1InitializationDiscard