WheapFillOutErrorRecord

INT64 __fastcall WheapFillOutErrorRecord(UINT64 a1, INT64 a2, INT64 a3, INT64 a4){
  unsigned int v6; 
  __int64(__fastcall *ErrorSourceFunction)(INT64, INT64, INT64, _QWORD, _QWORD); 
  INT64 result; 
  v6 = a1;
  ErrorSourceFunction = (__int64(__fastcall *)(INT64, INT64, INT64, _QWORD, _QWORD))WheapGetErrorSourceFunction(
                                                                                       a3,
                                                                                       2i64,
                                                                                       0);
  if( ErrorSourceFunction )
    result = ErrorSourceFunction(a3 + 96, a2, a4, v6, *(_QWORD *)(a3 + 56));
  else
    result = 3221225474i64;
  _InterlockedDecrement((volatile signed __int32 *)(a3 + 92));
  return result;
}

Referenced by:

WheaReportHwError