ExpInitSystemPhase0

UINT8 __fastcall ExpInitSystemPhase0(){
  bool v0; 
  unsigned __int64 v1; 
  UINT8 result; 
  __int128 v3; 
  ExpTimeout = -40000000i64;
  KUSER_SHARED_DATA.CyclesPerYield = 10;
  qword_140C16948 = (__int64)ExpSystemResourcesList;
  *(_QWORD *)ExpSystemResourcesList = ExpSystemResourcesList;
  ExpEnvironmentLock.Event.Header.WaitListHead.Blink = &ExpEnvironmentLock.Event.Header.WaitListHead;
  ExpEnvironmentLock.Event.Header.WaitListHead.Flink = &ExpEnvironmentLock.Event.Header.WaitListHead;
  ExNPagedLookasideListHead.Blink = &ExNPagedLookasideListHead;
  ExNPagedLookasideListHead.Flink = &ExNPagedLookasideListHead;
  ExPagedLookasideListHead.Blink = &ExPagedLookasideListHead;
  ExPagedLookasideListHead.Flink = &ExPagedLookasideListHead;
  qword_140C19618 = (__int64)&ExpFirmwareTableProviderListHead;
  ExpFirmwareTableProviderListHead = (__int64)&ExpFirmwareTableProviderListHead;
  ExpEnvironmentLock.Count = 1;
  ExpEnvironmentLock.Owner = 0i64;
  ExpEnvironmentLock.Contention = 0;
  LOWORD(ExpEnvironmentLock.Event.Header.Lock) = 1;
  ExpEnvironmentLock.Event.Header.Size = 6;
  ExpEnvironmentLock.Event.Header.SignalState = 0;
  ExNPagedLookasideLock[0] = 0i64;
  ExPagedLookasideLock = 0i64;
  ExInitializeResourceLite(&ExpFirmwareTableResource);
  v0 = (*((_DWORD *)KeLoaderBlock_0 + 66) & 4) != 0;
  ExpConDrvLoadLock = 0i64;
  ExpFirmwarePageProtectionSupported = v0;
  if( CmSuiteBufferType == 7 )
    KUSER_SHARED_DATA.SuiteMask = ExGetSuiteMask(&CmSuiteBuffer, ExpMultiUserTS);
  v1 = (unsigned __int64)(unsigned int)ExGenRandom(1i64) << 32;
  RtlpHeapKey = v1 | (unsigned int)ExGenRandom(1i64);
  RtlHpGlobalsInitialize();
  result = 1;
  v3 = 0i64;
  LOBYTE(v3) = 2;
  RtlpHpLegacyEnvHandle = v3;
  return result;
}

Referenced by:

ExInitSystem