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;
}