HalpReadGenericErrorInfo
NTSTATUS __stdcall HalpReadGenericErrorInfo(INT64 a1){
_LARGE_INTEGER *v2;
_DWORD *v3;
_DWORD *v4;
v2 = *(_LARGE_INTEGER **)(a1 + 40);
if( v2->QuadPart != -1 )
{
v3 = *(_DWORD **)(a1 + 56);
if( v3
|| (v4 = MmMapIoSpaceEx(*v2, *(unsigned int *)(a1 + 48), 0x204ui64), *(_QWORD *)(a1 + 56) = v4, (v3 = v4) != 0i64) )
{
if( (*v3 & 2) != 0 )
{
HalpExtractGenericErrorData(a1);
if( *(_DWORD *)(a1 + 96) != 12 )
{
*v3 &= ~2u;
return 0;
}
LABEL_9:
*v3 = 0;
return 0;
}
if( (*v3 & 1) != 0 )
{
HalpExtractGenericErrorData(a1);
if( *(_DWORD *)(a1 + 96) != 12 )
{
*v3 &= ~1u;
return 0;
}
goto LABEL_9;
}
}
}
return -1073741275;
}Referenced by:
HalpCheckAndReportGhes