MiIdentifyPatchImageWritablePages

INT64 __fastcall MiIdentifyPatchImageWritablePages(_QWORD *a1){
  _CONTROL_AREA *v2; 
  __int64 v3; 
  __int64 v4; 
  unsigned int v6; 
  char *i; 
  v2 = MiSectionControlArea(*(_SECTION **)(*a1 + 112i64));
  v3 = *(unsigned int *)(*(_QWORD *)v2 + 8i64);
  LODWORD(v4) = MiAllocatePool((struct _SLIST_ENTRY *)0x40);
  if( !v4 )
    return 3221225626i64;
  a1[5] = v3;
  v6 = 0;
  a1[6] = v4;
  for( i = (char *)v2 + 128; i; i = (char *)*((_QWORD *)i + 2) )
  {
    if( (i[32] & 8) != 0 )
      RtlSetBitsEx((INT64)(a1 + 5), v6, *((unsigned int *)i + 11));
    v6 += *((_DWORD *)i + 11);
  }
  return 1i64;
}

Referenced by:

MiApplyDriverHotPatch