HalpIommuMarkHiberPhase
VOID __fastcall HalpIommuMarkHiberPhase(PVOID MemoryMap){
INT64 *i;
_QWORD *j;
_QWORD *k;
void(__fastcall *v5)(PVOID, INT64, INT64 *);
UINT64 Tag;
UINT64 Taga;
for( i = (INT64 *)qword_140C49B50; i != &qword_140C49B50; i = (INT64 *)*i )
{
v5 = (void(__fastcall *)(PVOID, INT64, INT64 *))i[38];
if( v5 )
v5(MemoryMap, i[2], i + 46);
}
if( MemoryMap )
{
LODWORD(Tag) = 1231839560;
PoSetHiberRange(MemoryMap, 2ui64, (char *)&CmpDummyThreadEvent + 4152, 8ui64, Tag);
for( j = (_QWORD *)*(&CmpDummyThreadEvent + 520);
j != (_QWORD *)((char *)&CmpDummyThreadEvent + 4160);
j = (_QWORD *)*j )
{
LODWORD(Taga) = 1231839560;
PoSetHiberRange(MemoryMap, 2ui64, j, 0x40ui64, Taga);
for( k = (_QWORD *)j[6]; k != j + 6; k = (_QWORD *)*k )
{
LODWORD(Taga) = 1231839560;
PoSetHiberRange(MemoryMap, 2ui64, k, 0x68ui64, Taga);
}
}
}
}Referenced by:
HaliLocateHiberRanges