HalpDpInitDiscard
VOID __stdcall HalpDpInitDiscard(_LOADER_PARAMETER_BLOCK *LoaderBlock){
_LARGE_INTEGER *Table;
_LARGE_INTEGER *v3;
_LARGE_INTEGER *v4;
unsigned __int64 v5;
__int64 v6;
_LARGE_INTEGER *v7;
_LARGE_INTEGER v8;
Table = HalpAcpiGetTable(LoaderBlock, (const UINT8 *)0x54415253, 0i64);
v3 = HalpAcpiGetTable(LoaderBlock, (const UINT8 *)0x5443534D, 0i64);
if( Table )
{
v4 = Table + 6;
v5 = (unsigned __int64)Table + (unsigned int)Table->anonymous_0.HighPart;
if( (unsigned __int64)&Table[6] + 2 <= v5 )
{
do
{
v6 = BYTE1(v4->anonymous_0.LowPart);
if( (unsigned __int8)v6 < 2u )
break;
v7 = (_LARGE_INTEGER *)((char *)v4 + v6);
if( (unsigned __int64)v4 + v6 > v5 )
break;
if( LOBYTE(v4->anonymous_0.LowPart) == 1 && (unsigned __int8)v6 >= 0x28u )
{
v8 = v4[2];
if( (BYTE4(v4[3].QuadPart) & 3) == 3 && v8.QuadPart && v8.QuadPart + v4[1].QuadPart - 1 > qword_140C4AD20 )
qword_140C4AD20 = v8.QuadPart + v4[1].QuadPart - 1;
}
v4 = v7;
}
while( (unsigned __int64)v7 + 2 <= v5 );
}
if( v3 && v3[6].QuadPart > qword_140C4AD20 )
qword_140C4AD20 = v3[6].QuadPart;
}
if( qword_140C4AD20 > (unsigned __int64)qword_140C4BA18 )
qword_140C4BA18 = qword_140C4AD20;
}Referenced by:
HalpDpInitSystem