WheapCallErrorSourceInitialize
NTSTATUS __stdcall WheapCallErrorSourceInitialize(INT64 a1, UINT64 a2){
unsigned int v2;
__int64(__fastcall *v4)(_QWORD, INT64, _QWORD);
NTSTATUS result;
__int64(__fastcall *v6)(_QWORD, _QWORD);
__int64(__fastcall *v7)(_QWORD, _QWORD);
v2 = a2;
if( *(_DWORD *)(a1 + 40) == 16 )
{
LODWORD(v6) = WheapGetErrorSourceFunction(a1, 1i64, 0);
v7 = v6;
result = 0;
if( v7 )
result = v7(*(_QWORD *)(a1 + 56), *(unsigned int *)(a1 + 124));
}
else
{
LODWORD(v4) = WheapGetErrorSourceFunction(a1, 1i64, 0);
if( v4 )
result = v4(v2, a1 + 96, *(_QWORD *)(a1 + 56));
else
result = -1073741822;
}
_InterlockedDecrement((volatile signed __int32 *)(a1 + 92));
return result;
}Referenced by:
WheaAddErrorSource
WheaInitialize
WheaInitializeProcessor
WheapInitializeDeferredErrorSources