MiCloneLargeFileOnlyVad
INT64 __fastcall MiCloneLargeFileOnlyVad(INT64 a1){
__int64 v1;
__int64 v2;
__int64 *v4;
INT64 *v5;
__int64 v6;
INT64 *v8;
_SUBSECTION *ContainingSubsection;
v1 = *(unsigned __int8 *)(a1 + 32);
v2 = *(unsigned int *)(a1 + 24);
v8 = 0i64;
ContainingSubsection = 0i64;
MiGetProtoPteAddress((_MMVAD *)a1, v2 | (v1 << 32), 0i64, (_SUBSECTION **)&v8);
MiGetProtoPteAddress(
(_MMVAD *)a1,
*(unsigned int *)(a1 + 28) | ((unsigned __int64)*(unsigned __int8 *)(a1 + 33) << 32),
0i64,
&ContainingSubsection);
v4 = v8;
v5 = v8;
if( (unsigned int)MiIncrementLargeSubsections(v8, *((unsigned int *)v8 + 11)) != -1 )
{
do
{
if( v5 == (INT64 *)ContainingSubsection )
return 0i64;
v6 = (__int64)v5;
v5 = (INT64 *)v5[2];
}
while( (unsigned int)MiIncrementLargeSubsections(v5, *((unsigned int *)v5 + 11)) != -1 );
if( v6 )
MiDecrementLargeSubsections(v4, v6);
}
return 3221225626i64;
}Referenced by:
MiAllocateChildVads