VmInitSystem

NTSTATUS __stdcall VmInitSystem(INT64 a1, INT64 a2){
  NTSTATUS result; 
  UINT64 v3; 
  VOID *Free; 
  VOID *v5; 
  _LOOKASIDE_LIST_EX *v6; 
  INT64 v7; 
  INT64 RegistrationInfo; 
  UINT64 v9; 
  INT64 Tag; 
  __int128 v11; 

  if( (_DWORD)a1 )
  {
    if( (_DWORD)a1 == 2 )
    {
      TraceLoggingRegisterEx_EtwRegister_EtwSetInformation(&unk_140CFA458);
      VmpTraceLoggingProvider = (INT64)&unk_140CFA458;
    }
  }
  else
  {
    v9 = 512i64;
    RegistrationInfo = 0x100110008i64;
    v11 = 0i64;
    Tag = (INT64)&VmpHostInterface;
    result = ExRegisterHost(&VmpExtensionHost, a2, &RegistrationInfo);
    if( result < 0 )
      return result;
    LODWORD(v6) = 0;
    LOWORD(v5) = 0;
    LODWORD(Free) = 1649175894;
    LODWORD(v3) = 0;
    ExInitializeLookasideListExInternal(
      (_LOOKASIDE_LIST_EX *)&VmpLargeFaultBatchLookasideList,
      0i64,
      NonPagedPool,
      0x200ui64,
      v3,
      (_LOOKASIDE_LIST_EX *)0x8020,
      Free,
      v5,
      v6,
      v7,
      RegistrationInfo,
      v9,
      Tag,
      v11,
      *((UINT64 *)&v11 + 1));
  }
  return 0;
}

Referenced by:

Phase1InitializationIoReady