MiCallCreateSectionFilters
NTSTATUS __fastcall MiCallCreateSectionFilters(int *a1){
NTSTATUS result;
NTSTATUS v3;
char v4;
unsigned int v5;
int v6;
int v7;
int v8;
UINT64 CompressionAlignment;
unsigned int v10;
LODWORD(CompressionAlignment) = 0;
v10 = 0;
if( (*a1 & 1) != 0 )
return 0;
result = FsRtlAcquireToCreateMappedSection(
*((_FILE_OBJECT **)a1 + 7),
(unsigned int)a1[7],
0i64,
&CompressionAlignment);
v3 = result;
if( result >= 0 )
{
v4 = CompressionAlignment;
if( (CompressionAlignment & 6) != 0 )
{
if( (a1[4] & 0x1000000) != 0 )
{
v8 = *a1 | 0x10000;
*a1 = v8;
if( (v4 & 4) == 0 )
{
v8 |= 0x20000u;
*a1 = v8;
}
if( (v4 & 8) == 0 )
*a1 = v8 | 0x40000;
}
else if( (CompressionAlignment & 2) != 0 )
{
*a1 |= 0x10000u;
}
}
v5 = v10;
if( v10 )
{
if( ((v10 - 1) & v10) == 0 )
{
*a1 |= 0x2000u;
if( v5 < *(&stru_140C4DB30 + 984) )
*(&stru_140C4DB30 + 984) = v5;
}
}
v6 = *a1;
if( v3 == 298 || v3 != 299 )
v7 = v6 & 0xFFFFFF7F;
else
v7 = v6 | 0x80;
*a1 = v7;
return v3;
}
return result;
}Referenced by:
MiCreateImageOrDataSection