HaliLocateHiberRanges
VOID __stdcall HaliLocateHiberRanges(PVOID MemoryMap){
unsigned int ActiveProcessorCount;
__int64 v3;
__int64 v4;
unsigned int i;
unsigned __int64 v6;
VOID *v7;
UINT64 Tag;
UINT64 Taga;
UINT64 Tagc;
UINT64 Tagb;
if( MemoryMap )
{
if( MasterAdapter.MapBufferSize )
{
LODWORD(Tag) = 1835819368;
PoSetHiberRange(
MemoryMap,
0xC000ui64,
(VOID *)((unsigned __int64)MasterAdapter.MapBufferPhysicalAddress.anonymous_0.LowPart >> 12),
(unsigned __int64)MasterAdapter.MapBufferSize >> 12,
Tag);
}
if( stru_140C4BA20.MapBufferSize )
{
LODWORD(Tag) = 1835819368;
PoSetHiberRange(
MemoryMap,
0xC000ui64,
(VOID *)((unsigned __int64)stru_140C4BA20.MapBufferPhysicalAddress.anonymous_0.LowPart >> 12),
(unsigned __int64)stru_140C4BA20.MapBufferSize >> 12,
Tag);
}
if( stru_140C4B940.MapBufferSize )
{
LODWORD(Tag) = 1835819368;
PoSetHiberRange(
MemoryMap,
0xC000ui64,
(VOID *)(stru_140C4B940.MapBufferPhysicalAddress.QuadPart >> 12),
(unsigned __int64)stru_140C4B940.MapBufferSize >> 12,
Tag);
}
if( stru_140C4BB00.MapBufferSize )
{
LODWORD(Tag) = 1835819368;
PoSetHiberRange(
MemoryMap,
0xC000ui64,
(VOID *)(stru_140C4BB00.MapBufferPhysicalAddress.QuadPart >> 12),
(unsigned __int64)stru_140C4BB00.MapBufferSize >> 12,
Tag);
}
HalpPciMarkHiberPhase(MemoryMap);
HalpIommuMarkHiberPhase(MemoryMap);
HalpExtEnvMarkHiberRegions(MemoryMap);
HalpDmaMarkHiberAdapter();
}
else
{
HalpMmAllocCtxMarkHiberPhase(0i64);
HalpDmaMarkHiberAdapter();
HalpIommuMarkHiberPhase(0i64);
HalpExtEnvMarkHiberRegions(0i64);
ActiveProcessorCount = KeQueryActiveProcessorCountEx(0xFFFFu);
if( ActiveProcessorCount )
{
v3 = 0i64;
v4 = ActiveProcessorCount;
do
{
LODWORD(Tag) = 1953259880;
PoSetHiberRange(0i64, 0x10000ui64, *(VOID **)(v3 + *(&CmpDummyThreadEvent + 865)), 0x1000ui64, Tag);
v3 += 8i64;
--v4;
}
while( v4 );
}
LODWORD(Tag) = 1953259880;
PoSetHiberRange(0i64, 0x10000ui64, HaliLocateHiberRanges, 0i64, Tag);
for( i = 0; i < dword_140C49CA0; ++i )
{
v6 = qword_140C49C98 + ((unsigned __int64)i << 6);
v7 = *(VOID **)(v6 + 48);
if( v7 )
{
LODWORD(Taga) = 1164730696;
PoSetHiberRange(0i64, 0x10000ui64, v7, *(unsigned int *)(v6 + 56), Taga);
}
}
if( qword_140C50540 )
{
LODWORD(Taga) = 1953259880;
PoSetHiberRange(0i64, 0x10000ui64, (VOID *)qword_140C50540, 0x3CCui64, Taga);
}
if( qword_140C50530 )
{
LODWORD(Taga) = 1953259880;
PoSetHiberRange(0i64, 0x10000ui64, (VOID *)qword_140C50530, 0x3CCui64, Taga);
}
PshedMarkHiberPhase();
LODWORD(Taga) = 1668047208;
PoSetHiberRange(0i64, 0x10000ui64, *(VOID **)(qword_140C507B0 + 8), 0i64, Taga);
(*(void(**)(void))(qword_140C507B0 + 32))();
LODWORD(Tagc) = 1668047208;
PoSetHiberRange(0i64, 0x10000ui64, off_140C007C0, 0i64, Tagc);
off_140C00800[0]();
if( *(&CmpDummyThreadEvent + 862) )
{
LODWORD(Tagb) = 1668047208;
PoSetHiberRange(0i64, 0x10000ui64, *(&CmpDummyThreadEvent + 862), 0i64, Tagb);
}
if( *(&CmpDummyThreadEvent + 861) )
{
LODWORD(Tagb) = 1668047208;
PoSetHiberRange(0i64, 0x10000ui64, *(&CmpDummyThreadEvent + 861), *(&CmpDummyThreadEvent + 1726), Tagb);
}
HalpTimerMarkHiberPhase(0i64);
*(&stru_140CF2E80 + 7376) = byte_140C4A328;
if( byte_140C4A328 )
byte_140C4A328 = 0;
}
}Referenced by:
No references.