HvlpLogIommuInitStatus

VOID __fastcall HvlpLogIommuInitStatus(){
  LONGLONG *v0; 
  LONGLONG *v1; 
  __int16 v2; 
  int v3; 
  int v4; 
  PHYSICAL_ADDRESS v5[4]; 
  PHYSICAL_ADDRESS v6[4]; 
  __int128 v7; 
  __int128 v8; 
  __int128 v9; 
  struct _EVENT_DATA_DESCRIPTOR UserData; 
  int *v11; 
  __int64 v12; 
  __int64 v13; 
  __int64 v14; 
  __int128 *v15; 
  __int64 v16; 
  __int64 v17; 
  __int64 v18; 
  __int128 *v19; 
  __int64 v20; 
  __int64 v21; 
  __int64 v22; 
  char v23[16]; 
  char v24[2064]; 
  memset(v6, 0, sizeof(v6));
  memset(v5, 0, sizeof(v5));
  v7 = 0i64;
  v8 = 0i64;
  v9 = 0i64;
  v0 = HvlpAcquireHypercallPage(v6, 1, (__int64)v23, 8i64);
  v1 = HvlpAcquireHypercallPage(v5, 2, (__int64)v24, 1032i64);
  *(_DWORD *)v0 = 5;
  HvcallInitiateHypercall();
  if( !v2 )
  {
    v7 = *(_OWORD *)v1;
    v8 = *((_OWORD *)v1 + 1);
    v9 = *((_OWORD *)v1 + 2);
  }
  HvlpReleaseHypercallPage((unsigned int *)v5);
  HvlpReleaseHypercallPage((unsigned int *)v6);
  v3 = (unsigned __int8)v7;
  *(_QWORD *)&UserData.Size = 4i64;
  UserData.Ptr = (unsigned __int64)&v3;
  v4 = BYTE1(v7);
  v11 = &v4;
  v13 = (__int64)&v7 + 8;
  v15 = &v8;
  v17 = (__int64)&v8 + 8;
  v19 = &v9;
  v21 = (__int64)&v9 + 8;
  v12 = 4i64;
  v14 = 8i64;
  v16 = 8i64;
  v18 = 8i64;
  v20 = 8i64;
  v22 = 8i64;
  HvlpWriteEventLog((EVENT_DESCRIPTOR *)&HV_EVENTLOG_IOMMU_INIT, 7ui64, &UserData);
  if( BYTE1(v7) && *((_QWORD *)&v7 + 1) == 1i64 )
  {
    if( (_QWORD)v9 )
      HvlpWriteEventLog((EVENT_DESCRIPTOR *)&HV_EVENTLOG_IOMMU_INIT_POLICY_ENABLE, 0i64, 0i64);
  }
}

Referenced by:

HvlPhase2Initialize