MiEmptyPte

NTSTATUS __stdcall MiEmptyPte(INT64 a1, UINT64 a2, INT64 a3){
  int *v3; 
  int v6; 
  INT64 v7; 
  unsigned __int64 v8; 
  _UNICODE_STRING *v9; 
  UINT8 v10; 
  PWCHAR v11; 
  int v12; 
  INT64 v14; 

  v3 = *(int **)(a1 + 168);
  v6 = *v3;
  if( (*v3 & 2) != 0 )
  {
    if( (_DWORD)a3 )
      return 0;
    LODWORD(v7) = MI_READ_PTE_LOCK_FREE(a2);
    v14 = v7;
    LODWORD(v8) = MI_READ_PTE_LOCK_FREE((INT64)&v14);
    LOBYTE(v12) = MI_PFN_IS_PROTO((_UNICODE_STRING *)&MmGetPfnDb()[(v8 >> 12) & 0xFFFFFFFFFi64], v9, v10, v11);
    if( v12 )
      return 0;
LABEL_7:
    MiEmptyWorkingSetHelper(
      *(_MMSUPPORT_INSTANCE **)(a1 + 24),
      (_MMPTE *)a2,
      (UINT64)(v3 + 2),
      (_MMWSLE_FLUSH_LIST *)(v6 & 4));
    return 0;
  }
  if( (v6 & 1) == 0 || !(_DWORD)a3 )
    goto LABEL_7;
  return 0;
}

Referenced by:

No references.