WheapFillOutErrorRecord

NTSTATUS __stdcall WheapFillOutErrorRecord(UINT64 a1, INT64 a2, INT64 a3, INT64 a4){
  unsigned int v6; 
  __int64(__fastcall *v8)(INT64, INT64, INT64, _QWORD, _QWORD); 
  NTSTATUS result; 

  v6 = a1;
  LODWORD(v8) = WheapGetErrorSourceFunction(a3, 2i64, 0);
  if( v8 )
    result = v8(a3 + 96, a2, a4, v6, *(_QWORD *)(a3 + 56));
  else
    result = -1073741822;
  _InterlockedDecrement((volatile signed __int32 *)(a3 + 92));
  return result;
}

Referenced by:

WheaReportHwError