IopLiveDumpTraceMmDuplicateMemoryFailure

UINT8 __fastcall IopLiveDumpTraceMmDuplicateMemoryFailure(__int64 a1, int a2){
  UINT8 result; 
  __int64 v3; 
  ULONG64 ActivityId; 
  const _EVENT_DESCRIPTOR *v5; 
  _BOOL4 v6; 
  _EVENT_DATA_DESCRIPTOR UserData; 
  _BOOL4 *v8; 
  __int64 v9; 
  int v10; 

  v10 = a2;
  v6 = a2 == 258;
  result = IopLiveDumpIsTracingEnabled();
  if( result )
  {
    *(_QWORD *)&UserData.Size = 4i64;
    UserData.Ptr = (unsigned __int64)&v10;
    v5 = (const _EVENT_DESCRIPTOR *)LIVEDUMP_EVENT_SIZING_WORKFLOW_MM_DUPLICATE_MEMORY_FAILURE;
    v9 = 4i64;
    v8 = &v6;
    if( (*(_DWORD *)(v3 + 80) & 1) == 0 )
      v5 = &LIVEDUMP_EVENT_CAPTURE_PAGES_WORKFLOW_MM_DUPLICATE_MEMORY_FAILURE;
    return EtwWriteEx(*(&stru_140CF2E80 + 602), v5, ActivityId, 0, ActivityId, ActivityId, 2u, &UserData);
  }
  return result;
}

Referenced by:

IopLiveDumpCaptureMemoryPages
IopLiveDumpEstimateMemoryPages