WheaAddHwErrorReportSectionDeviceDriver

NTSTATUS __fastcall WheaAddHwErrorReportSectionDeviceDriver(INT64 a1, UINT64 a2, INT64 a3){
  __int64 v4; 
  __int64 v5; 
  INT64 v6; 
  UINT64 v7; 
  NTSTATUS v8; 
  _WHEAP_ERROR_SOURCE *ErrorSource; 
  __int64 v10; 
  __int64 v11; 

  v4 = (unsigned int)a2;
  if( !WheapErrorHandleIsValid((_DWORD *)a1) )
    return -1073741816;
  ErrorSource = WheapGetErrorSource(
                  (_WHEAP_ERROR_SOURCE_TABLE *)&WheapErrorSourceTable,
                  *(unsigned int *)(v5 + 12),
                  v6,
                  v7);
  if( ((unsigned __int64)&ErrorSource->Descriptor & ((unsigned __int128)-(__int128)(unsigned __int64)ErrorSource >> 64)) == 0 )
    return -1073741130;
  if( *(_DWORD *)(v10 + 4) >= *(_DWORD *)(((unsigned __int64)&ErrorSource->Descriptor & ((unsigned __int128)-(__int128)(unsigned __int64)ErrorSource >> 64))
                                         + 0x8C)
    || (unsigned int)v4 > *(_DWORD *)(((unsigned __int64)&ErrorSource->Descriptor & ((unsigned __int128)-(__int128)(unsigned __int64)ErrorSource >> 64))
                                    + 0x88)
    || (unsigned int)(v4 + *(_DWORD *)(v10 + 8)) > *(_DWORD *)(((unsigned __int64)&ErrorSource->Descriptor & ((unsigned __int128)-(__int128)(unsigned __int64)ErrorSource >> 64))
                                                             + 0x10) )
  {
    return -1073741670;
  }
  **(_DWORD **)(v10 + 16) ^= ((unsigned __int16)**(_DWORD **)(v10 + 16) ^ (unsigned __int16)(**(_DWORD **)(v10 + 16) + 16)) & 0x3FF0;
  v11 = *(_QWORD *)(v10 + 24);
  *(_DWORD *)(v11 + 16) = *(_DWORD *)(v10 + 52);
  *(_DWORD *)(v11 + 24) = v4;
  *(_WORD *)(v11 + 20) = 768;
  *(_QWORD *)(a3 + 24) = v11 + 44;
  *(_QWORD *)(a3 + 16) = v11;
  *(_BYTE *)(v11 + 22) |= 2u;
  ++*(_DWORD *)(v10 + 4);
  *(_QWORD *)(a3 + 32) = v11 + 23;
  *(_QWORD *)(a3 + 4) = v11 + 72;
  *(_DWORD *)(a3 + 12) = v4;
  *(_QWORD *)(v10 + 24) = v11 + 72 + v4;
  *(_DWORD *)(v10 + 8) += v4 + 72;
  *(_DWORD *)a3 = 1;
  return v8;
}

Referenced by:

WheaReportFatalHwErrorDeviceDriverEx
WheaReportHwErrorDeviceDriverEx