MiUpdateZeroFreeBitmap

INT64 __fastcall MiUpdateZeroFreeBitmap(INT64 a1, INT64 a2, UINT64 a3, INT64 a4){
  unsigned __int64 v5; 
  unsigned __int64 v6; 
  char v7; 
  unsigned __int64 v8; 
  unsigned int v9; 
  INT64 result; 
  __int64 v11; 
  v5 = (unsigned int)a3;
  v6 = (unsigned int)a3 & dword_140C4DC38;
  v7 = v6;
  v8 = v6 >> 5;
  v9 = 1 << (v7 & 0x1F);
  result = *(_QWORD *)(a1 + 16);
  v11 = *(_QWORD *)(result + 16 * ((int)a2 + 284 * (v5 >> byte_140C4DBCC)) + 4040);
  if( (_DWORD)a4 )
    _InterlockedOr((volatile signed __int32 *)(v11 + 4 * v8), v9);
  else
    _InterlockedAnd((volatile signed __int32 *)(v11 + 4 * v8), ~v9);
  return result;
}

Referenced by:

MiReplenishPageSlist