MiEmptyPte

INT64 __fastcall MiEmptyPte(INT64 a1, UINT64 a2, INT64 a3){
  int *v3; 
  int v6; 
  unsigned __int64 v7; 
  UNICODE_STRING *v8; 
  UINT8 v9; 
  PWCHAR v10; 
  int v11; 
  INT64 v13; 
  v3 = *(int **)(a1 + 168);
  v6 = *v3;
  if( (*v3 & 2) != 0 )
  {
    if( (_DWORD)a3 )
      return 0i64;
    v13 = MI_READ_PTE_LOCK_FREE(a2);
    v7 = MI_READ_PTE_LOCK_FREE((INT64)&v13);
    LOBYTE(v11) = MI_PFN_IS_PROTO((UNICODE_STRING *)MmGetPfnDb() + 3 * ((v7 >> 12) & 0xFFFFFFFFFi64), v8, v9, v10);
    if( v11 )
      return 0i64;
LABEL_7:
    MiEmptyWorkingSetHelper(*(_QWORD *)(a1 + 24), a2, (INT64)(v3 + 2), v6 & 4);
    return 0i64;
  }
  if( (v6 & 1) == 0 || !(_DWORD)a3 )
    goto LABEL_7;
  return 0i64;
}

Referenced by:

No references.