WheaReportFatalHwErrorDeviceDriverEx

NTSTATUS __stdcall WheaReportFatalHwErrorDeviceDriverEx(PVOID AtomTableHandle, UINT16 Atom){
  UINT8 *v2; 
  unsigned int v3; 
  UINT64 v4; 
  UINT8 *v5; 
  _DWORD *HwErrorReportDeviceDriver; 
  _DWORD *v7; 
  NTSTATUS v8; 
  UINT8 *v10[2]; 
  NTSTRSAFE_PSTR pszDest[2]; 
  _BYTE *v12; 
  UINT8 *Src; 
  unsigned int Size; 
  _OWORD *v15; 
  CHAR *pszSrc; 
  INT64 v17; 
  v4 = v3;
  v5 = v2;
  *(_OWORD *)v10 = 0i64;
  *(_OWORD *)pszDest = 0i64;
  v12 = 0i64;
  HwErrorReportDeviceDriver = WheaCreateHwErrorReportDeviceDriver((UINT64)AtomTableHandle);
  v7 = HwErrorReportDeviceDriver;
  if( !HwErrorReportDeviceDriver )
    return -1073741670;
  WheaHwErrorReportSetFatalSeverityDeviceDriver((INT64)HwErrorReportDeviceDriver, v17);
  WheaHwErrorReportGetLogDataBufferDeviceDriver(v7);
  memmove(0i64, Src, Size);
  v8 = WheaAddHwErrorReportSectionDeviceDriver(v7, v4, (__int64)v10);
  if( v8 >= 0 )
  {
    memmove(*(UINT8 **)((char *)v10 + 4), v5, v4);
    *(_OWORD *)pszDest[0] = *v15;
    *v12 = 1;
    if( pszSrc )
      RtlStringCchCopyA(pszDest[1], 0x14ui64, pszSrc);
    return WheaHwErrorReportSubmitDeviceDriver((INT64)v7);
  }
  else
  {
    WheaHwErrorReportAbandonDeviceDriver(v7);
  }
  return v8;
}

Referenced by:

No references.