MiDeleteVadAwePtes

NTSTATUS __stdcall MiDeleteVadAwePtes(INT64 a1, UINT64 a2, INT64 *a3){
  NTSTATUS v6; 
  char v7; 
  UINT64 v8; 
  __int64 v9; 
  __int64 v10; 
  __int64 v11; 
  INT64 v12; 
  INT64 v13; 
  INT64 v14; 

  v6 = 0;
  v7 = MI_READ_PTE_LOCK_FREE(a2);
  v8 = 1i64;
  if( (v7 & 1) != 0 )
  {
    v6 = 1;
    LODWORD(v9) = MiGetAweViewPageSize(a1);
    v11 = v10;
    if( v9 )
      v11 = v9;
    if( v11 != 512 )
      v6 = v10;
  }
  LODWORD(v12) = MiWriteAwePtes(a1, 0i64, v8, 0i64, a2, 0);
  if( v12 )
  {
    v13 = *(_QWORD *)(v12 + 16);
    v14 = v12;
    while( v13 )
    {
      v14 = v13;
      v13 = *(_QWORD *)(v13 + 16);
    }
    *(_QWORD *)(v14 + 16) = *a3;
    *a3 = v12;
  }
  return v6;
}

Referenced by:

MiDeleteLargeUserPde
MiDeleteVa