HalpGenInitialRead
CHAR __fastcall HalpGenInitialRead(INT64 a1){
INT64 v1;
INT64 ***v2;
INT64 *GhesEntry;
int v4;
__int64 v5;
_QWORD v7[5];
v1 = *(unsigned int *)(a1 + 28);
v7[0] = &HalpGenericPeiErrorSourceListHead;
v2 = (INT64 ***)v7;
v7[1] = &HalpGenericNmiErrorSourceListHead;
v7[2] = &HalpGenericSeaErrorSourceListHead;
v7[3] = &HalpGenericSdeiErrorSourceListHead;
v7[4] = &HalpGenericSeiErrorSourceListHead;
while( 1 )
{
GhesEntry = HalpFindGhesEntry(v1, *v2);
if( GhesEntry )
break;
v2 = (INT64 ***)(v5 + 8);
if( (unsigned int)(v4 + 1) >= 5 )
return(char)GhesEntry;
}
LOBYTE(GhesEntry) = HalpCheckAndReportGhes((INT64)GhesEntry);
return(char)GhesEntry;
}Referenced by:
HalpInitializeGenericErrorSource