MiIdentifyPatchImageWritablePages

NTSTATUS __stdcall MiIdentifyPatchImageWritablePages(INT64 a1){
  _CONTROL_AREA *v2; 
  __int64 TotalNumberOfPtes; 
  VOID *Pool; 
  unsigned int v6; 
  _CONTROL_AREA *i; 

  v2 = MiSectionControlArea(*(_SECTION **)(*(_QWORD *)a1 + 112i64));
  TotalNumberOfPtes = v2->Segment->TotalNumberOfPtes;
  Pool = MiAllocatePool(64i64, (unsigned __int64)(unsigned int)(TotalNumberOfPtes + 7) >> 3, 0x4D424450ui64);
  if( !Pool )
    return -1073741670;
  *(_QWORD *)(a1 + 40) = TotalNumberOfPtes;
  v6 = 0;
  *(_QWORD *)(a1 + 48) = Pool;
  for( i = v2 + 1; i; i = *(_CONTROL_AREA **)&i->gap8[8] )
  {
    if( (i->NumberOfPfnReferences & 8) != 0 )
      RtlSetBitsEx((_RTL_BITMAP_EX *)(a1 + 40), v6, HIDWORD(i->NumberOfMappedViews));
    v6 += HIDWORD(i->NumberOfMappedViews);
  }
  return 1;
}

Referenced by:

MiApplyDriverHotPatch