MiInitializeCfg
INT64 __fastcall MiInitializeCfg(){
INT64 result;
__int64 *v1;
int v2;
_SECTION *v3;
UINT64 SectionPageProtection;
UINT64 SectionPageProtectiona;
UINT64 AllocationAttributes;
UINT64 AllocationAttributesa;
_SECTION *Section;
LARGE_INTEGER InputMaximumSize;
Section = 0i64;
LODWORD(AllocationAttributes) = 0x4000000;
LODWORD(SectionPageProtection) = 4;
InputMaximumSize.QuadPart = 0x20000000000i64;
LODWORD(result) = MmCreateSection(
(PVOID *)&Section,
0xF001Fui64,
0i64,
&InputMaximumSize,
SectionPageProtection,
AllocationAttributes,
0i64,
0i64);
if( (int)result >= 0 )
{
::Section = (INT64)Section;
qword_140C4C968 = (__int64)MiSectionControlArea(Section);
v1 = &qword_140C4C900;
v2 = 0;
InputMaximumSize.QuadPart = 0x4000000i64;
while( 1 )
{
LODWORD(AllocationAttributesa) = 0x4000000;
LODWORD(SectionPageProtectiona) = 4;
LODWORD(result) = MmCreateSection(
(PVOID *)&Section,
0xF001Fui64,
0i64,
&InputMaximumSize,
SectionPageProtectiona,
AllocationAttributesa,
0i64,
0i64);
if( (int)result < 0 )
break;
v3 = Section;
*(v1 - 1) = (__int64)Section;
*v1 = (__int64)MiSectionControlArea(v3);
++v2;
v1 += 8;
if( v2 )
return 0i64;
}
}
return result;
}Referenced by:
MiInitSystem