HalpBlkInitSystem

VOID __stdcall HalpBlkInitSystem(INT64 a1){
  NTSTATUS v1; 
  _EXT_SET_PARAMETERS_V0 Parameters; 

  if( (_DWORD)a1 == 12 )
  {
    qword_140C00A08 = (__int64)HalpBlkPoGetPowerInterface;
    qword_140C00A10 = (__int64)HalpBlkPoGetPackageId;
    qword_140C00A18 = (__int64)HalpBlkPoGetProcessorCount;
    qword_140C00A20 = (__int64)HalpBlkPoGetApicIdByIndex;
    qword_140C00A28 = (__int64)HalpBlkPoRegisterIdleState;
    if( *(&CmpDummyThreadEvent + 1780) && *(&CmpDummyThreadEvent + 7092) )
    {
      v1 = HalpBlkInitializeVirtualAddressSpace();
      if( v1 < 0 )
        KeBugCheckEx(0x1DAu, (PVOID)1, (PVOID)v1, 0i64, 0i64);
      HalpBlkWdInitialize();
    }
  }
  else if( *(&CmpDummyThreadEvent + 1780) && (_DWORD)a1 == 21 )
  {
    if( *(&CmpDummyThreadEvent + 7092) )
    {
      *(_QWORD *)&Parameters.Version = 0i64;
      Parameters.NoWakeTolerance = -1i64;
      KeSetTimer2((INT64)&CmpDummyThreadEvent + 3584, -30000000i64, 30000000i64, (INT64)&Parameters);
    }
  }
}

Referenced by:

HalpProcInitSystem