diff --git a/ChangeLog.md b/ChangeLog.md
new file mode 100644
--- /dev/null
+++ b/ChangeLog.md
@@ -0,0 +1,3 @@
+# Changelog for zydiskell
+
+## Unreleased changes
diff --git a/LICENSE b/LICENSE
new file mode 100644
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,674 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <https://www.gnu.org/licenses/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<https://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<https://www.gnu.org/licenses/why-not-lgpl.html>.
diff --git a/README.md b/README.md
new file mode 100644
--- /dev/null
+++ b/README.md
@@ -0,0 +1,71 @@
+# Zydiskell
+
+Haskell langage binding for the [Zydis library](https://github.com/zyantific/zydis), a fast and lightweight x86/x86-64 disassembler.
+
+## Building
+
+- Recursively clone the project: `git clone --recursive https://github.com/nerded1337/zydiskell`
+- Either use Stack or Cabal: `stack build` | `cabal v2-build`
+
+Note: The [Zydis library](https://github.com/zyantific/zydis) will be directly compiled by GHC.
+
+## Interface
+
+We currently expose three functions:
+
+```haskell
+import qualified Zydis as Z
+
+Z.initialize :: MachineMode -> AddressWidth -> IO (Either ZyanStatus Decoder)
+
+Z.decodeBuffer
+  :: Decoder
+  -> ByteString
+  -> Offset
+  -> Length
+  -> IO (Either ZyanStatus DecodedInstruction)
+
+Z. decodeFullBuffer
+  :: Decoder -> ByteString -> IO (Either ZyanStatus (Vector DecodedInstruction))
+```
+
+## Example
+```haskell
+{-# LANGUAGE OverloadedStrings #-}
+
+module Main where
+
+import           Data.Bitraversable
+import           Data.Bifoldable
+import qualified Zydis                         as Z
+
+main :: IO ()
+main = test
+
+test :: IO ()
+test = bitraverse_ initFailure decode =<< initZydis
+ where
+  zyanError s = putStrLn . ((s <> ". ZyanStatus: ") <>) . show
+
+  initFailure     = zyanError "Failed to initialize decoder"
+
+  initZydis       = Z.initialize Z.MachineModeLong64 Z.AddressWidth64
+
+  {-
+     mov rax, 0xCAFEBABECAFEBABE
+     push rax
+     ret
+  -}
+  buffer          = "\x48\xB8\xBE\xBA\xFE\xCA\xBE\xBA\xFE\xCA\x50\xC3"
+
+  decodingFailure = zyanError "Failed to decode buffer"
+
+  {-
+      Given the decoded buffer, should output: [MnemonicMov,MnemonicPush,MnemonicRet]
+  -}
+  printMnemonics  = print . fmap Z.decodedInstructionMnemonic
+
+  decode decoder =
+    bitraverse decodingFailure printMnemonics
+      =<< Z.decodeFullBuffer decoder buffer
+```
diff --git a/Setup.hs b/Setup.hs
new file mode 100644
--- /dev/null
+++ b/Setup.hs
@@ -0,0 +1,2 @@
+import Distribution.Simple
+main = defaultMain
diff --git a/external/zydis/dependencies/zycore/include/Zycore/API/Memory.h b/external/zydis/dependencies/zycore/include/Zycore/API/Memory.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/API/Memory.h
@@ -0,0 +1,134 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * @brief
+ */
+
+#ifndef ZYCORE_MEMORY_H
+#define ZYCORE_MEMORY_H
+
+#include <ZycoreExportConfig.h>
+#include <Zycore/Defines.h>
+#include <Zycore/Status.h>
+#include <Zycore/Types.h>
+
+#if   defined(ZYAN_WINDOWS)
+#   include <windows.h>
+#elif defined(ZYAN_POSIX)
+#   include <sys/mman.h>
+#else
+#   error "Unsupported platform detected"
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/**
+ * Defines the `ZyanMemoryPageProtection` enum.
+ */
+typedef enum ZyanMemoryPageProtection_
+{
+#if   defined(ZYAN_WINDOWS)
+
+    ZYAN_PAGE_READONLY          = PAGE_READONLY,
+    ZYAN_PAGE_READWRITE         = PAGE_READWRITE,
+    ZYAN_PAGE_EXECUTE           = PAGE_EXECUTE,
+    ZYAN_PAGE_EXECUTE_READ      = PAGE_EXECUTE_READ,
+    ZYAN_PAGE_EXECUTE_READWRITE = PAGE_EXECUTE_READWRITE
+
+#elif defined(ZYAN_POSIX)
+
+    ZYAN_PAGE_READONLY          = PROT_READ,
+    ZYAN_PAGE_READWRITE         = PROT_READ | PROT_WRITE,
+    ZYAN_PAGE_EXECUTE           = PROT_EXEC,
+    ZYAN_PAGE_EXECUTE_READ      = PROT_EXEC | PROT_READ,
+    ZYAN_PAGE_EXECUTE_READWRITE = PROT_EXEC | PROT_READ | PROT_WRITE
+
+#endif
+} ZyanMemoryPageProtection;
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* General                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the system page size.
+ *
+ * @return  The system page size.
+ */
+ZyanU32 ZyanMemoryGetSystemPageSize();
+
+/**
+ * Returns the system allocation granularity.
+ *
+ * The system allocation granularity specifies the minimum amount of bytes which can be allocated
+ * at a specific address by a single call of `ZyanMemoryVirtualAlloc`.
+ *
+ * This value is typically 64KiB on Windows systems and equal to the page size on most POSIX
+ * platforms.
+ *
+ * @return  The system allocation granularity.
+ */
+ZyanU32 ZyanMemoryGetSystemAllocationGranularity();
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Memory management                                                                              */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Changes the memory protection value of one or more pages.
+ *
+ * @param   address     The start address aligned to a page boundary.
+ * @param   size        The size.
+ * @param   protection  The new page protection value.
+ *
+ * @return  A zyan status code.
+ */
+ZyanStatus ZyanMemoryVirtualProtect(void* address, ZyanUSize size,
+    ZyanMemoryPageProtection protection);
+
+/**
+ * Releases one or more memory pages starting at the given address.
+ *
+ * @param   address The start address aligned to a page boundary.
+ * @param   size    The size.
+ *
+ * @return  A zyan status code.
+ */
+ZyanStatus ZyanMemoryVirtualFree(void* address, ZyanUSize size);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#endif /* ZYCORE_MEMORY_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/API/Synchronization.h b/external/zydis/dependencies/zycore/include/Zycore/API/Synchronization.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/API/Synchronization.h
@@ -0,0 +1,133 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * @brief
+ */
+
+#ifndef ZYCORE_SYNCHRONIZATION_H
+#define ZYCORE_SYNCHRONIZATION_H
+
+#ifndef ZYAN_NO_LIBC
+
+#include <ZycoreExportConfig.h>
+#include <Zycore/Defines.h>
+#include <Zycore/Status.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+#if   defined(ZYAN_POSIX)
+
+#include <pthread.h>
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Critical Section                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+typedef pthread_mutex_t ZyanCriticalSection;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+#elif defined(ZYAN_WINDOWS)
+
+#include <windows.h>
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Critical Section                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+typedef CRITICAL_SECTION ZyanCriticalSection;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+#else
+#   error "Unsupported platform detected"
+#endif
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Critical Section                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Initializes a critical section.
+ *
+ * @param   critical_section    A pointer to the `ZyanCriticalSection` struct.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanCriticalSectionInitialize(ZyanCriticalSection* critical_section);
+
+/**
+ * Enters a critical section.
+ *
+ * @param   critical_section    A pointer to the `ZyanCriticalSection` struct.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanCriticalSectionEnter(ZyanCriticalSection* critical_section);
+
+/**
+ * Tries to enter a critical section.
+ *
+ * @param   critical_section    A pointer to the `ZyanCriticalSection` struct.
+ *
+ * @return  Returns `ZYAN_TRUE` if the critical section was successfully entered or `ZYAN_FALSE`,
+ *          if not.
+ */
+ZYCORE_EXPORT ZyanBool ZyanCriticalSectionTryEnter(ZyanCriticalSection* critical_section);
+
+/**
+ * Leaves a critical section.
+ *
+ * @param   critical_section    A pointer to the `ZyanCriticalSection` struct.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanCriticalSectionLeave(ZyanCriticalSection* critical_section);
+
+/**
+ * Deletes a critical section.
+ *
+ * @param   critical_section    A pointer to the `ZyanCriticalSection` struct.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanCriticalSectionDelete(ZyanCriticalSection* critical_section);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYAN_NO_LIBC */
+
+#endif /* ZYCORE_SYNCHRONIZATION_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/API/Terminal.h b/external/zydis/dependencies/zycore/include/Zycore/API/Terminal.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/API/Terminal.h
@@ -0,0 +1,163 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file    Provides cross-platform terminal helper functions.
+ * @brief
+ */
+
+#ifndef ZYCORE_TERMINAL_H
+#define ZYCORE_TERMINAL_H
+
+#include <ZycoreExportConfig.h>
+#include <Zycore/LibC.h>
+#include <Zycore/Status.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#ifndef ZYAN_NO_LIBC
+
+/* ============================================================================================== */
+/* VT100 CSI SGR sequences                                                                        */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* General                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+#define ZYAN_VT100SGR_RESET             "\033[0m"
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Foreground colors                                                                              */
+/* ---------------------------------------------------------------------------------------------- */
+
+#define ZYAN_VT100SGR_FG_DEFAULT        "\033[39m"
+
+#define ZYAN_VT100SGR_FG_BLACK          "\033[30m"
+#define ZYAN_VT100SGR_FG_RED            "\033[31m"
+#define ZYAN_VT100SGR_FG_GREEN          "\033[32m"
+#define ZYAN_VT100SGR_FG_YELLOW         "\033[33m"
+#define ZYAN_VT100SGR_FG_BLUE           "\033[34m"
+#define ZYAN_VT100SGR_FG_MAGENTA        "\033[35m"
+#define ZYAN_VT100SGR_FG_CYAN           "\033[36m"
+#define ZYAN_VT100SGR_FG_WHITE          "\033[37m"
+#define ZYAN_VT100SGR_FG_BRIGHT_BLACK   "\033[90m"
+#define ZYAN_VT100SGR_FG_BRIGHT_RED     "\033[91m"
+#define ZYAN_VT100SGR_FG_BRIGHT_GREEN   "\033[92m"
+#define ZYAN_VT100SGR_FG_BRIGHT_YELLOW  "\033[93m"
+#define ZYAN_VT100SGR_FG_BRIGHT_BLUE    "\033[94m"
+#define ZYAN_VT100SGR_FG_BRIGHT_MAGENTA "\033[95m"
+#define ZYAN_VT100SGR_FG_BRIGHT_CYAN    "\033[96m"
+#define ZYAN_VT100SGR_FG_BRIGHT_WHITE   "\033[97m"
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Background color                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+#define ZYAN_VT100SGR_BG_DEFAULT        "\033[49m"
+
+#define ZYAN_VT100SGR_BG_BLACK          "\033[40m"
+#define ZYAN_VT100SGR_BG_RED            "\033[41m"
+#define ZYAN_VT100SGR_BG_GREEN          "\033[42m"
+#define ZYAN_VT100SGR_BG_YELLOW         "\033[43m"
+#define ZYAN_VT100SGR_BG_BLUE           "\033[44m"
+#define ZYAN_VT100SGR_BG_MAGENTA        "\033[45m"
+#define ZYAN_VT100SGR_BG_CYAN           "\033[46m"
+#define ZYAN_VT100SGR_BG_WHITE          "\033[47m"
+#define ZYAN_VT100SGR_BG_BRIGHT_BLACK   "\033[100m"
+#define ZYAN_VT100SGR_BG_BRIGHT_RED     "\033[101m"
+#define ZYAN_VT100SGR_BG_BRIGHT_GREEN   "\033[102m"
+#define ZYAN_VT100SGR_BG_BRIGHT_YELLOW  "\033[103m"
+#define ZYAN_VT100SGR_BG_BRIGHT_BLUE    "\033[104m"
+#define ZYAN_VT100SGR_BG_BRIGHT_MAGENTA "\033[105m"
+#define ZYAN_VT100SGR_BG_BRIGHT_CYAN    "\033[106m"
+#define ZYAN_VT100SGR_BG_BRIGHT_WHITE   "\033[107m"
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/**
+ * Declares the `ZyanStandardStream` enum.
+ */
+typedef enum ZyanStandardStream_
+{
+    /**
+     * The default input stream.
+     */
+    ZYAN_STDSTREAM_IN,
+    /**
+     * The default output stream.
+     */
+    ZYAN_STDSTREAM_OUT,
+    /**
+     * The default error stream.
+     */
+    ZYAN_STDSTREAM_ERR
+} ZyanStandardStream;
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/**
+ * Enables VT100 ansi escape codes for the given stream.
+ *
+ * @param   stream  Either `ZYAN_STDSTREAM_OUT` or `ZYAN_STDSTREAM_ERR`.
+ *
+ * @return  A zyan status code.
+ *
+ * This functions returns `ZYAN_STATUS_SUCCESS` on all non-Windows systems without performing any
+ * operations, assuming that VT100 is supported by default.
+ *
+ * On Windows systems, VT100 functionality is only supported on Windows 10 build 1607 (anniversary
+ * update) and later.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanTerminalEnableVT100(ZyanStandardStream stream);
+
+/**
+ * Checks, if the given standard stream reads from or writes to a terminal.
+ *
+ * @param   stream  The standard stream to check.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if the stream is bound to a terminal, `ZYAN_STATUS_FALSE` if not,
+ *          or another zyan status code if an error occured.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanTerminalIsTTY(ZyanStandardStream stream);
+
+/* ============================================================================================== */
+
+#endif // ZYAN_NO_LIBC
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYCORE_TERMINAL_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/API/Thread.h b/external/zydis/dependencies/zycore/include/Zycore/API/Thread.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/API/Thread.h
@@ -0,0 +1,244 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * @brief
+ */
+
+#ifndef ZYCORE_THREAD_H
+#define ZYCORE_THREAD_H
+
+#ifndef ZYAN_NO_LIBC
+
+#include <ZycoreExportConfig.h>
+#include <Zycore/Defines.h>
+#include <Zycore/Status.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+#if   defined(ZYAN_POSIX)
+
+#include <pthread.h>
+
+/* ---------------------------------------------------------------------------------------------- */
+/* General                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ *  Defines the `ZyanThread` data-type.
+ */
+typedef pthread_t ZyanThread;
+
+/**
+ *  Defines the `ZyanThreadId` data-type.
+ */
+typedef ZyanU64 ZyanThreadId;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Thread Local Storage (TLS)                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ *  Defines the `ZyanThreadTlsIndex` data-type.
+ */
+typedef pthread_key_t ZyanThreadTlsIndex;
+
+/**
+ *  Defines the `ZyanThreadTlsCallback` function prototype.
+ */
+typedef void(*ZyanThreadTlsCallback)(void* data);
+
+/**
+ * Declares a Thread Local Storage (TLS) callback function.
+ *
+ * @param   name        The callback function name.
+ * @param   param_type  The callback data parameter type.
+ * @param   param_name  The callback data parameter name.
+ */
+#define ZYAN_THREAD_DECLARE_TLS_CALLBACK(name, param_type, param_name) \
+    void name(param_type* param_name)
+
+/* ---------------------------------------------------------------------------------------------- */
+
+#elif defined(ZYAN_WINDOWS)
+
+#include <windows.h>
+
+/* ---------------------------------------------------------------------------------------------- */
+/* General                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ *  Defines the `ZyanThread` data-type.
+ */
+typedef HANDLE ZyanThread;
+
+/**
+ *  Defines the `ZyanThreadId` data-type.
+ */
+typedef DWORD ZyanThreadId;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Thread Local Storage (TLS)                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ *  Defines the `ZyanThreadTlsIndex` data-type.
+ */
+typedef DWORD ZyanThreadTlsIndex;
+
+/**
+ *  Defines the `ZyanThreadTlsCallback` function prototype.
+ */
+typedef PFLS_CALLBACK_FUNCTION ZyanThreadTlsCallback;
+
+/**
+ * Declares a Thread Local Storage (TLS) callback function.
+ *
+ * @param   name        The callback function name.
+ * @param   param_type  The callback data parameter type.
+ * @param   param_name  The callback data parameter name.
+ */
+#define ZYAN_THREAD_DECLARE_TLS_CALLBACK(name, param_type, param_name) \
+    VOID NTAPI name(param_type* param_name)
+
+/* ---------------------------------------------------------------------------------------------- */
+
+#else
+#   error "Unsupported platform detected"
+#endif
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* General                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the handle of the current thread.
+ *
+ * @param   thread  Receives the handle of the current thread.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanThreadGetCurrentThread(ZyanThread* thread);
+
+/**
+ * Returns the unique id of the current thread.
+ *
+ * @param   thread_id   Receives the unique id of the current thread.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanThreadGetCurrentThreadId(ZyanThreadId* thread_id);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Thread Local Storage (TLS)                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Allocates a new Thread Local Storage (TLS) slot.
+ *
+ * @param   index       Receives the TLS slot index.
+ * @param   destructor  A pointer to a destructor callback which is invoked to finalize the data
+ *                      in the TLS slot or `ZYAN_NULL`, if not needed.
+ *
+ * The maximum available number of TLS slots is implementation specific and different on each
+ * platform:
+ * - Windows
+ *   - A total amount of 128 slots per process are guaranteed
+ * - POSIX
+ *   - A total amount of 128 slots per process are guaranteed
+ *   - Some systems guarantee larger amounts like e.g. 1024 slots per process
+ *
+ * Note that the invocation rules for the destructor callback are implementation specific and
+ * different on each platform:
+ * - Windows
+ *   - The callback is invoked when a thread exits
+ *   - The callback is invoked when the process exits
+ *   - The callback is invoked when the TLS slot is released
+ * - POSIX
+ *   - The callback is invoked when a thread exits and the stored value is not null
+ *   - The callback is NOT invoked when the process exits
+ *   - The callback is NOT invoked when the TLS slot is released
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanThreadTlsAlloc(ZyanThreadTlsIndex* index,
+    ZyanThreadTlsCallback destructor);
+
+/**
+ * Releases a Thread Local Storage (TLS) slot.
+ *
+ * @param   index   The TLS slot index.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanThreadTlsFree(ZyanThreadTlsIndex index);
+
+/**
+ * Returns the value inside the given Thread Local Storage (TLS) slot for the
+ * calling thread.
+ *
+ * @param   index   The TLS slot index.
+ * @param   data    Receives the value inside the given Thread Local Storage
+ *                  (TLS) slot for the calling thread.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanThreadTlsGetValue(ZyanThreadTlsIndex index, void** data);
+
+/**
+ * Set the value of the given Thread Local Storage (TLS) slot for the calling thread.
+ *
+ * @param   index   The TLS slot index.
+ * @param   data    The value to store inside the given Thread Local Storage (TLS) slot for the
+ *                  calling thread
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanThreadTlsSetValue(ZyanThreadTlsIndex index, void* data);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYAN_NO_LIBC */
+
+#endif /* ZYCORE_THREAD_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/Allocator.h b/external/zydis/dependencies/zycore/include/Zycore/Allocator.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/Allocator.h
@@ -0,0 +1,143 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * @brief
+ */
+
+#ifndef ZYCORE_ALLOCATOR_H
+#define ZYCORE_ALLOCATOR_H
+
+#include <ZycoreExportConfig.h>
+#include <Zycore/Status.h>
+#include <Zycore/Types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+struct ZyanAllocator_;
+
+/**
+ * Defines the `ZyanAllocatorAllocate` function prototype.
+ *
+ * @param   allocator       A pointer to the `ZyanAllocator` instance.
+ * @param   p               Receives a pointer to the first memory block sufficient to hold an
+ *                          array of `n` elements with a size of `element_size`.
+ * @param   element_size    The size of a single element.
+ * @param   n               The number of elements to allocate storage for.
+ *
+ * @return  A zyan status code.
+ *
+ * This prototype is used for the `allocate()` and `reallocate()` functions.
+ *
+ * The result of the `reallocate()` function is undefined, if `p` does not point to a memory block
+ * previously obtained by `(re-)allocate()`.
+ */
+typedef ZyanStatus (*ZyanAllocatorAllocate)(struct ZyanAllocator_* allocator, void** p,
+    ZyanUSize element_size, ZyanUSize n);
+
+/**
+ * Defines the `ZyanAllocatorDeallocate` function prototype.
+ *
+ * @param   allocator       A pointer to the `ZyanAllocator` instance.
+ * @param   p               The pointer obtained from `(re-)allocate()`.
+ * @param   element_size    The size of a single element.
+ * @param   n               The number of elements earlier passed to `(re-)allocate()`.
+ *
+  * @return  A zyan status code.
+ */
+typedef ZyanStatus (*ZyanAllocatorDeallocate)(struct ZyanAllocator_* allocator, void* p,
+    ZyanUSize element_size, ZyanUSize n);
+
+/**
+ * Defines the `ZyanAllocator` struct.
+ *
+ * This is the base class for all custom allocator implementations.
+ *
+ * All fields in this struct should be considered as "private". Any changes may lead to unexpected
+ * behavior.
+ */
+typedef struct ZyanAllocator_
+{
+    /**
+     * The allocate function.
+     */
+    ZyanAllocatorAllocate allocate;
+    /**
+     * The reallocate function.
+     */
+    ZyanAllocatorAllocate reallocate;
+    /**
+     * The deallocate function.
+     */
+    ZyanAllocatorDeallocate deallocate;
+} ZyanAllocator;
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/**
+ * Initializes the given `ZyanAllocator` instance.
+ *
+ * @param   allocator   A pointer to the `ZyanAllocator` instance.
+ * @param   allocate    The allocate function.
+ * @param   reallocate  The reallocate function.
+ * @param   deallocate  The deallocate function.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanAllocatorInit(ZyanAllocator* allocator, ZyanAllocatorAllocate allocate,
+    ZyanAllocatorAllocate reallocate, ZyanAllocatorDeallocate deallocate);
+
+#ifndef ZYAN_NO_LIBC
+
+/**
+ * Returns the default `ZyanAllocator` instance.
+ *
+ * @return  A pointer to the default `ZyanAllocator` instance.
+ *
+ * The default allocator uses the default memory manager to allocate memory on the heap.
+ *
+ * You should in no case modify the returned allocator instance to avoid unexpected behavior.
+ */
+ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanAllocator* ZyanAllocatorDefault(void);
+
+#endif // ZYAN_NO_LIBC
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYCORE_ALLOCATOR_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/ArgParse.h b/external/zydis/dependencies/zycore/include/Zycore/ArgParse.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/ArgParse.h
@@ -0,0 +1,173 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Joel Hoener
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Implements command-line argument parsing.
+ */
+
+#ifndef ZYCORE_ARGPARSE_H
+#define ZYCORE_ARGPARSE_H
+
+#include <Zycore/Types.h>
+#include <Zycore/Status.h>
+#include <Zycore/Vector.h>
+#include <Zycore/String.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Structs and other types                                                                        */
+/* ============================================================================================== */
+
+/**
+ * Definition of a single argument.
+ */
+typedef struct ZyanArgParseDefinition_
+{
+    /**
+     * The argument name, e.g. `--help`.
+     *
+     * Must start with either one or two dashes. Single dash arguments must consist of a single
+     * character, (e.g. `-n`), double-dash arguments can be of arbitrary length.
+     */
+    const char* name;
+    /**
+     * Whether the argument is boolean or expects a value.
+     */
+    ZyanBool boolean;
+    /**
+     * Whether this argument is required (error if missing).
+     */
+    ZyanBool required;
+} ZyanArgParseDefinition;
+
+/**
+ * Configuration for argument parsing.
+ */
+typedef struct ZyanArgParseConfig_
+{
+    /**
+     * `argv` argument passed to `main` by LibC.
+     */
+    const char** argv;
+    /**
+     * `argc` argument passed to `main` by LibC.
+     */
+    ZyanUSize argc;
+    /**
+     * Minimum # of accepted unnamed / anonymous arguments.
+     */
+    ZyanUSize min_unnamed_args;
+    /**
+     * Maximum # of accepted unnamed / anonymous arguments.
+     */
+    ZyanUSize max_unnamed_args;
+    /**
+     * Argument definition array, or `ZYAN_NULL`.
+     *
+     * Expects a pointer to an array of `ZyanArgParseDefinition` instances. The array is
+     * terminated by setting the `.name` field of the last element to `ZYAN_NULL`. If no named
+     * arguments should be parsed, you can also set this to `ZYAN_NULL`.
+     */
+    ZyanArgParseDefinition* args;
+} ZyanArgParseConfig;
+
+/**
+ * Information about a parsed argument.
+ */
+typedef struct ZyanArgParseArg_
+{
+    /**
+     * Corresponding argument definition, or `ZYAN_NULL` for unnamed args.
+     *
+     * This pointer is borrowed from the `cfg` pointer passed to `ZyanArgParse`.
+     */
+    const ZyanArgParseDefinition* def;
+    /**
+     * Whether the argument has a value (is non-boolean).
+     */
+    ZyanBool has_value;
+    /**
+     * If `has_value == true`, then the argument value.
+     *
+     * This is a view into the `argv` string array passed to `ZyanArgParse` via the `cfg` argument.
+     */
+    ZyanStringView value;
+} ZyanArgParseArg;
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+#ifndef ZYAN_NO_LIBC
+
+/**
+ * Parse arguments according to a `ZyanArgParseConfig` definition.
+ *
+ * @param  cfg          Argument parser config to use.
+ * @param  parsed       Receives the parsed output. Vector of `ZyanArgParseArg`. Ownership is
+ *                      transferred to the user. Input is expected to be uninitialized. On error,
+ *                      the vector remains uninitialized.
+ * @param  error_token  On error, if it makes sense, receives the argument fragment causing the
+ *                      error. Optional, may be `ZYAN_NULL`. The pointer borrows into the `cfg`
+ *                      struct and doesn't have to be freed by the user.
+ *
+ * @return A `ZyanStatus` status determining whether the parsing succeeded.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanArgParse(const ZyanArgParseConfig *cfg, ZyanVector* parsed,
+    const char** error_token);
+
+#endif
+
+/**
+ * Parse arguments according to a `ZyanArgParseConfig` definition.
+ *
+ * This version allows specification of a custom memory allocator and thus supports no-libc.
+ *
+ * @param  cfg          Argument parser config to use.
+ * @param  parsed       Receives the parsed output. Vector of `ZyanArgParseArg`. Ownership is
+ *                      transferred to the user. Input is expected to be uninitialized. On error,
+ *                      the vector remains uninitialized.
+ * @param  error_token  On error, if it makes sense, receives the argument fragment causing the
+ *                      error. Optional, may be `ZYAN_NULL`. The pointer borrows into the `cfg`
+ *                      struct and doesn't have to be freed by the user.
+ * @param   allocator   The `ZyanAllocator` to be used for allocating the output vector's data.
+ *
+ * @return A `ZyanStatus` status determining whether the parsing succeeded.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanArgParseEx(const ZyanArgParseConfig *cfg, ZyanVector* parsed,
+    const char** error_token, ZyanAllocator* allocator);
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYCORE_ARGPARSE_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/Bitset.h b/external/zydis/dependencies/zycore/include/Zycore/Bitset.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/Bitset.h
@@ -0,0 +1,484 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Implements the bitset class.
+ */
+
+#ifndef ZYCORE_BITSET_H
+#define ZYCORE_BITSET_H
+
+#include <ZycoreExportConfig.h>
+#include <Zycore/Allocator.h>
+#include <Zycore/Status.h>
+#include <Zycore/Types.h>
+#include <Zycore/Vector.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/**
+ * Defines the `ZyanVector` struct.
+ *
+ * All fields in this struct should be considered as "private". Any changes may lead to unexpected
+ * behavior.
+ */
+typedef struct ZyanBitset_
+{
+    /**
+     * The bitset size.
+     */
+    ZyanUSize size;
+    /**
+     * The bitset data.
+     */
+    ZyanVector bits;
+} ZyanBitset;
+
+/**
+ * Defines the `ZyanBitsetByteOperation` function prototype.
+ *
+ * @param   v1  A pointer to the first byte. This value receives the result after performing the
+ *              desired operation.
+ * @param   v2  A pointer to the second byte.
+ *
+ * @return  A zyan status code.
+ *
+ * This function is used to perform byte-wise operations on two `ZyanBitset` instances.
+ */
+typedef ZyanStatus (*ZyanBitsetByteOperation)(ZyanU8* v1, const ZyanU8* v2);
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Constructor and destructor                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYAN_NO_LIBC
+
+/**
+ * Initializes the given `ZyanBitset` instance.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ * @param   count   The initial amount of bits.
+ *
+ * @return  A zyan status code.
+ *
+ * The space for the bitset is dynamically allocated by the default allocator using the default
+ * growth factor of `2.0f` and the default shrink threshold of `0.5f`.
+ */
+ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanBitsetInit(ZyanBitset* bitset, ZyanUSize count);
+
+#endif // ZYAN_NO_LIBC
+
+/**
+ * Initializes the given `ZyanBitset` instance and sets a custom `allocator` and memory
+ * allocation/deallocation parameters.
+ *
+ * @param   bitset              A pointer to the `ZyanBitset` instance.
+ * @param   count               The initial amount of bits.
+ * @param   allocator           A pointer to a `ZyanAllocator` instance.
+ * @param   growth_factor       The growth factor (from `1.0f` to `x.xf`).
+ * @param   shrink_threshold    The shrink threshold (from `0.0f` to `1.0f`).
+ *
+ * @return  A zyan status code.
+ *
+ * A growth factor of `1.0f` disables overallocation and a shrink threshold of `0.0f` disables
+ * dynamic shrinking.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetInitEx(ZyanBitset* bitset, ZyanUSize count,
+    ZyanAllocator* allocator, float growth_factor, float shrink_threshold);
+
+/**
+ * Initializes the given `ZyanBitset` instance and configures it to use a custom user
+ * defined buffer with a fixed size.
+ *
+ * @param   bitset      A pointer to the `ZyanBitset` instance.
+ * @param   count       The initial amount of bits.
+ * @param   buffer      A pointer to the buffer that is used as storage for the bits.
+ * @param   capacity    The maximum capacity (number of bytes) of the buffer.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetInitBuffer(ZyanBitset* bitset, ZyanUSize count, void* buffer,
+    ZyanUSize capacity);
+
+/**
+ * Destroys the given `ZyanBitset` instance.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetDestroy(ZyanBitset* bitset);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Logical operations                                                                             */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Performs a byte-wise `operation` for every byte in the given `ZyanBitset` instances.
+ *
+ * @param   destination A pointer to the `ZyanBitset` instance that is used as the first input and
+ *                      as the destination.
+ * @param   source      A pointer to the `ZyanBitset` instance that is used as the second input.
+ * @param   operation   A pointer to the function that performs the desired operation.
+ *
+ * @return  A zyan status code.
+ *
+ * The `operation` callback is invoked once for every byte in the smallest of the `ZyanBitset`
+ * instances.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetPerformByteOperation(ZyanBitset* destination,
+    const ZyanBitset* source, ZyanBitsetByteOperation operation);
+
+/**
+ * Performs a logical `AND` operation on the given `ZyanBitset` instances.
+ *
+ * @param   destination A pointer to the `ZyanBitset` instance that is used as the first input and
+ *                      as the destination.
+ * @param   source      A pointer to the `ZyanBitset` instance that is used as the second input.
+ *
+ * @return  A zyan status code.
+ *
+ * If the destination bitmask contains more bits than the source one, the state of the remaining
+ * bits will be undefined.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetAND(ZyanBitset* destination, const ZyanBitset* source);
+
+/**
+ * Performs a logical `OR`  operation on the given `ZyanBitset` instances.
+ *
+ * @param   destination A pointer to the `ZyanBitset` instance that is used as the first input and
+ *                      as the destination.
+ * @param   source      A pointer to the `ZyanBitset` instance that is used as the second input.
+ *
+ * @return  A zyan status code.
+ *
+ * If the destination bitmask contains more bits than the source one, the state of the remaining
+ * bits will be undefined.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetOR (ZyanBitset* destination, const ZyanBitset* source);
+
+/**
+ * Performs a logical `XOR` operation on the given `ZyanBitset` instances.
+ *
+ * @param   destination A pointer to the `ZyanBitset` instance that is used as the first input and
+ *                      as the destination.
+ * @param   source      A pointer to the `ZyanBitset` instance that is used as the second input.
+ *
+ * @return  A zyan status code.
+ *
+ * If the destination bitmask contains more bits than the source one, the state of the remaining
+ * bits will be undefined.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetXOR(ZyanBitset* destination, const ZyanBitset* source);
+
+/**
+ * Flips all bits of the given `ZyanBitset` instance.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetFlip(ZyanBitset* bitset);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Bit access                                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Sets the bit at `index` of the given `ZyanBitset` instance to `1`.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ * @param   index   The bit index.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetSet(ZyanBitset* bitset, ZyanUSize index);
+
+/**
+ * Sets the bit at `index` of the given `ZyanBitset` instance to `0`.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ * @param   index   The bit index.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetReset(ZyanBitset* bitset, ZyanUSize index);
+
+/**
+ * Sets the bit at `index` of the given `ZyanBitset` instance to the specified `value`.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ * @param   index   The bit index.
+ * @param   value   The new value.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetAssign(ZyanBitset* bitset, ZyanUSize index, ZyanBool value);
+
+/**
+ * Toggles the bit at `index` of the given `ZyanBitset` instance.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ * @param   index   The bit index.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetToggle(ZyanBitset* bitset, ZyanUSize index);
+
+/**
+ * Returns the value of the bit at `index`.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ * @param   index   The bit index.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if the bit is set or `ZYAN_STATUS_FALSE`, if not, Another zyan
+ *          status code, if an error occured.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetTest(ZyanBitset* bitset, ZyanUSize index);
+
+/**
+ * Returns the value of the most significant bit.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if the bit is set or `ZYAN_STATUS_FALSE`, if not. Another zyan
+ *          status code, if an error occured.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetTestMSB(ZyanBitset* bitset);
+
+/**
+ * Returns the value of the least significant bit.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if the bit is set or `ZYAN_STATUS_FALSE`, if not. Another zyan
+ *          status code, if an error occured.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetTestLSB(ZyanBitset* bitset);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Sets all bits of the given `ZyanBitset` instance to `1`.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetSetAll(ZyanBitset* bitset);
+
+/**
+ * Sets all bits of the given `ZyanBitset` instance to `0`.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetResetAll(ZyanBitset* bitset);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Size management                                                                                */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Adds a new bit at the end of the bitset.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ * @param   value   The value of the new bit.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetPush(ZyanBitset* bitset, ZyanBool value);
+
+/**
+ * Removes the last bit of the bitset.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetPop(ZyanBitset* bitset);
+
+/**
+ * Deletes all bits of the given `ZyanBitset` instance.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetClear(ZyanBitset* bitset);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Memory management                                                                              */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Changes the capacity of the given `ZyanBitset` instance.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ * @param   count   The new capacity (number of bits).
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetReserve(ZyanBitset* bitset, ZyanUSize count);
+
+/**
+ * Shrinks the capacity of the given bitset to match it's size.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetShrinkToFit(ZyanBitset* bitset);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Information                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the current size of the bitset in bits.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ * @param   size    Receives the size of the bitset in bits.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetGetSize(const ZyanBitset* bitset, ZyanUSize* size);
+
+/**
+ * Returns the current capacity of the bitset in bits.
+ *
+ * @param   bitset      A pointer to the `ZyanBitset` instance.
+ * @param   capacity    Receives the size of the bitset in bits.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetGetCapacity(const ZyanBitset* bitset, ZyanUSize* capacity);
+
+/**
+ * Returns the current size of the bitset in bytes.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ * @param   size    Receives the size of the bitset in bytes.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetGetSizeBytes(const ZyanBitset* bitset, ZyanUSize* size);
+
+/**
+ * Returns the current capacity of the bitset in bytes.
+ *
+ * @param   bitset      A pointer to the `ZyanBitset` instance.
+ * @param   capacity    Receives the size of the bitset in bytes.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetGetCapacityBytes(const ZyanBitset* bitset, ZyanUSize* capacity);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the amount of bits set in the given bitset.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ * @param   count   Receives the amount of bits set in the given bitset.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetCount(const ZyanBitset* bitset, ZyanUSize* count);
+
+/**
+ * Checks, if all bits of the given bitset are set.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if all bits are set, `ZYAN_STATUS_FALSE`, if not. Another zyan
+ *          status code, if an error occured.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetAll(const ZyanBitset* bitset);
+
+/**
+ * Checks, if at least one bit of the given bitset is set.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if at least one bit is set, `ZYAN_STATUS_FALSE`, if not. Another
+ *          zyan status code, if an error occured.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetAny(const ZyanBitset* bitset);
+
+/**
+ * Checks, if none bits of the given bitset are set.
+ *
+ * @param   bitset  A pointer to the `ZyanBitset` instance.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if none bits are set, `ZYAN_STATUS_FALSE`, if not. Another zyan
+ *          status code, if an error occured.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanBitsetNone(const ZyanBitset* bitset);
+
+///* ---------------------------------------------------------------------------------------------- */
+//
+///**
+// * Returns a 32-bit unsigned integer representation of the data.
+// *
+// * @param   bitset  A pointer to the `ZyanBitset` instance.
+// * @param   value   Receives the 32-bit unsigned integer representation of the data.
+// *
+// * @return  A zyan status code.
+// */
+//ZYCORE_EXPORT ZyanStatus ZyanBitsetToU32(const ZyanBitset* bitset, ZyanU32* value);
+//
+///**
+// * Returns a 64-bit unsigned integer representation of the data.
+// *
+// * @param   bitset  A pointer to the `ZyanBitset` instance.
+// * @param   value   Receives the 64-bit unsigned integer representation of the data.
+// *
+// * @return  A zyan status code.
+// */
+//ZYCORE_EXPORT ZyanStatus ZyanBitsetToU64(const ZyanBitset* bitset, ZyanU64* value);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYCORE_BITSET_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/Comparison.h b/external/zydis/dependencies/zycore/include/Zycore/Comparison.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/Comparison.h
@@ -0,0 +1,316 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Defines prototypes of general-purpose comparison functions.
+ */
+
+#ifndef ZYCORE_COMPARISON_H
+#define ZYCORE_COMPARISON_H
+
+#include <Zycore/Defines.h>
+#include <Zycore/Types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/**
+ * Defines the `ZyanEqualityComparison` function prototype.
+ *
+ * @param   left    A pointer to the first element.
+ * @param   right   A pointer to the second element.
+ *
+ * @return  This function should return `ZYAN_TRUE` if the `left` element equals the `right` one
+ *          or `ZYAN_FALSE`, if not.
+ */
+typedef ZyanBool (*ZyanEqualityComparison)(const void* left, const void* right);
+
+/**
+ * Defines the `ZyanComparison` function prototype.
+ *
+ * @param   left    A pointer to the first element.
+ * @param   right   A pointer to the second element.
+ *
+ * @return  This function should return values in the following range:
+ *          `left == right -> result == 0`
+ *          `left <  right -> result  < 0`
+ *          `left >  right -> result  > 0`
+ */
+typedef ZyanI32 (*ZyanComparison)(const void* left, const void* right);
+
+/* ============================================================================================== */
+/* Macros                                                                                         */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Equality comparison functions                                                                  */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Declares a generic equality comparison function for an integral datatype.
+ *
+ * @param   name    The name of the function.
+ * @param   type    The name of the integral datatype.
+ */
+#define ZYAN_DECLARE_EQUALITY_COMPARISON(name, type) \
+    ZyanBool name(const type* left, const type* right) \
+    { \
+        ZYAN_ASSERT(left); \
+        ZYAN_ASSERT(right); \
+        \
+        return (*left == *right) ? ZYAN_TRUE : ZYAN_FALSE; \
+    }
+
+/**
+ * Declares a generic equality comparison function that compares a single integral
+ * datatype field of a struct.
+ *
+ * @param   name        The name of the function.
+ * @param   type        The name of the integral datatype.
+ * @param   field_name  The name of the struct field.
+ */
+#define ZYAN_DECLARE_EQUALITY_COMPARISON_FOR_FIELD(name, type, field_name) \
+    ZyanBool name(const type* left, const type* right) \
+    { \
+        ZYAN_ASSERT(left); \
+        ZYAN_ASSERT(right); \
+        \
+        return (left->field_name == right->field_name) ? ZYAN_TRUE : ZYAN_FALSE; \
+    }
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Comparison functions                                                                           */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Declares a generic comparison function for an integral datatype.
+ *
+ * @param   name    The name of the function.
+ * @param   type    The name of the integral datatype.
+ */
+#define ZYAN_DECLARE_COMPARISON(name, type) \
+    ZyanI32 name(const type* left, const type* right) \
+    { \
+        ZYAN_ASSERT(left); \
+        ZYAN_ASSERT(right); \
+        \
+        if (*left < *right) \
+        { \
+            return -1; \
+        } \
+        if (*left > *right) \
+        { \
+            return  1; \
+        } \
+        return 0; \
+    }
+
+/**
+ * Declares a generic comparison function that compares a single integral datatype field
+ * of a struct.
+ *
+ * @param   name        The name of the function.
+ * @param   type        The name of the integral datatype.
+ * @param   field_name  The name of the struct field.
+ */
+#define ZYAN_DECLARE_COMPARISON_FOR_FIELD(name, type, field_name) \
+    ZyanI32 name(const type* left, const type* right) \
+    { \
+        ZYAN_ASSERT(left); \
+        ZYAN_ASSERT(right); \
+        \
+        if (left->field_name < right->field_name) \
+        { \
+            return -1; \
+        } \
+        if (left->field_name > right->field_name) \
+        { \
+            return  1; \
+        } \
+        return 0; \
+    }
+
+ /* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Default equality comparison functions                                                          */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines a default equality comparison function for pointer values.
+ *
+ * @param   left    A pointer to the first value.
+ * @param   right   A pointer to the second value.
+ *
+ * @return  Returns `ZYAN_TRUE` if the `left` value equals the `right` one or `ZYAN_FALSE`, if
+ *          not.
+ */
+ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsPointer, void* const)
+
+/**
+ * Defines a default equality comparison function for `ZyanBool` values.
+ *
+ * @param   left    A pointer to the first value.
+ * @param   right   A pointer to the second value.
+ *
+ * @return  Returns `ZYAN_TRUE` if the `left` value equals the `right` one or `ZYAN_FALSE`, if
+ *          not.
+ */
+ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsBool, ZyanBool)
+
+/**
+ * Defines a default equality comparison function for 8-bit numeric values.
+ *
+ * @param   left    A pointer to the first value.
+ * @param   right   A pointer to the second value.
+ *
+ * @return  Returns `ZYAN_TRUE` if the `left` value equals the `right` one or `ZYAN_FALSE`, if
+ *          not.
+ */
+ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsNumeric8, ZyanU8)
+
+/**
+ * Defines a default equality comparison function for 16-bit numeric values.
+ *
+ * @param   left    A pointer to the first value.
+ * @param   right   A pointer to the second value.
+ *
+ * @return  Returns `ZYAN_TRUE` if the `left` value equals the `right` one or `ZYAN_FALSE`, if
+ *          not.
+ */
+ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsNumeric16, ZyanU16)
+
+/**
+ * Defines a default equality comparison function for 32-bit numeric values.
+ *
+ * @param   left    A pointer to the first value.
+ * @param   right   A pointer to the second value.
+ *
+ * @return  Returns `ZYAN_TRUE` if the `left` value equals the `right` one or `ZYAN_FALSE`, if
+ *          not.
+ */
+ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsNumeric32, ZyanU32)
+
+/**
+ * Defines a default equality comparison function for 64-bit numeric values.
+ *
+ * @param   left    A pointer to the first value.
+ * @param   right   A pointer to the second value.
+ *
+ * @return  Returns `ZYAN_TRUE` if the `left` value equals the `right` one or `ZYAN_FALSE`, if
+ *          not.
+ */
+ZYAN_INLINE ZYAN_DECLARE_EQUALITY_COMPARISON(ZyanEqualsNumeric64, ZyanU64)
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Default comparison functions                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines a default comparison function for pointer values.
+ *
+ * @param   left    A pointer to the first value.
+ * @param   right   A pointer to the second value.
+ *
+ * @return  Returns `0` if the `left` value equals the `right` one, `-1` if the `left` value is
+ *          less than the `right` one, or `1` if the `left` value is greater than the `right` one.
+ */
+ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanComparePointer, void* const)
+
+/**
+ * Defines a default comparison function for `ZyanBool` values.
+ *
+ * @param   left    A pointer to the first value.
+ * @param   right   A pointer to the second value.
+ *
+ * @return  Returns `0` if the `left` value equals the `right` one, `-1` if the `left` value is
+ *          less than the `right` one, or `1` if the `left` value is greater than the `right` one.
+ */
+ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanCompareBool, ZyanBool)
+
+/**
+ * Defines a default comparison function for 8-bit numeric values.
+ *
+ * @param   left    A pointer to the first value.
+ * @param   right   A pointer to the second value.
+ *
+ * @return  Returns `0` if the `left` value equals the `right` one, `-1` if the `left` value is
+ *          less than the `right` one, or `1` if the `left` value is greater than the `right` one.
+ */
+ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanCompareNumeric8, ZyanU8)
+
+/**
+ * Defines a default comparison function for 16-bit numeric values.
+ *
+ * @param   left    A pointer to the first value.
+ * @param   right   A pointer to the second value.
+ *
+ * @return  Returns `0` if the `left` value equals the `right` one, `-1` if the `left` value is
+ *          less than the `right` one, or `1` if the `left` value is greater than the `right` one.
+ */
+ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanCompareNumeric16, ZyanU16)
+
+/**
+ * Defines a default comparison function for 32-bit numeric values.
+ *
+ * @param   left    A pointer to the first value.
+ * @param   right   A pointer to the second value.
+ *
+ * @return  Returns `0` if the `left` value equals the `right` one, `-1` if the `left` value is
+ *          less than the `right` one, or `1` if the `left` value is greater than the `right` one.
+ */
+ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanCompareNumeric32, ZyanU32)
+
+/**
+ * Defines a default comparison function for 64-bit numeric values.
+ *
+ * @param   left    A pointer to the first value.
+ * @param   right   A pointer to the second value.
+ *
+ * @return  Returns `0` if the `left` value equals the `right` one, `-1` if the `left` value is
+ *          less than the `right` one, or `1` if the `left` value is greater than the `right` one.
+ */
+ZYAN_INLINE ZYAN_DECLARE_COMPARISON(ZyanCompareNumeric64, ZyanU64)
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYCORE_COMPARISON_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/Defines.h b/external/zydis/dependencies/zycore/include/Zycore/Defines.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/Defines.h
@@ -0,0 +1,437 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd, Joel Hoener
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * General helper and platform detection macros.
+ */
+
+#ifndef ZYCORE_DEFINES_H
+#define ZYCORE_DEFINES_H
+
+/* ============================================================================================== */
+/* Meta macros                                                                                    */
+/* ============================================================================================== */
+
+/**
+ * Concatenates two values using the stringify operator (`##`).
+ *
+ * @param   x   The first value.
+ * @param   y   The second value.
+ *
+ * @return  The combined string of the given values.
+ */
+#define ZYAN_MACRO_CONCAT(x, y) x ## y
+
+/**
+ * Concatenates two values using the stringify operator (`##`) and expands the value to
+ * be used in another macro.
+ *
+ * @param   x   The first value.
+ * @param   y   The second value.
+ *
+ * @return  The combined string of the given values.
+ */
+#define ZYAN_MACRO_CONCAT_EXPAND(x, y) ZYAN_MACRO_CONCAT(x, y)
+
+/* ============================================================================================== */
+/* Compiler detection                                                                             */
+/* ============================================================================================== */
+
+#if defined(__clang__)
+#   define ZYAN_CLANG
+#   define ZYAN_GNUC
+#elif defined(__ICC) || defined(__INTEL_COMPILER)
+#   define ZYAN_ICC
+#elif defined(__GNUC__) || defined(__GNUG__)
+#   define ZYAN_GCC
+#   define ZYAN_GNUC
+#elif defined(_MSC_VER)
+#   define ZYAN_MSVC
+#elif defined(__BORLANDC__)
+#   define ZYAN_BORLAND
+#else
+#   define ZYAN_UNKNOWN_COMPILER
+#endif
+
+/* ============================================================================================== */
+/* Platform detection                                                                             */
+/* ============================================================================================== */
+
+#if defined(_WIN32)
+#   define ZYAN_WINDOWS
+#elif defined(__EMSCRIPTEN__)
+#   define ZYAN_EMSCRIPTEN
+#elif defined(__APPLE__)
+#   define ZYAN_APPLE
+#   define ZYAN_POSIX
+#elif defined(__linux)
+#   define ZYAN_LINUX
+#   define ZYAN_POSIX
+#elif defined(__FreeBSD__)
+#   define ZYAN_FREEBSD
+#   define ZYAN_POSIX
+#elif defined(sun) || defined(__sun)
+#   define ZYAN_SOLARIS
+#   define ZYAN_POSIX
+#elif defined(__unix)
+#   define ZYAN_UNIX
+#   define ZYAN_POSIX
+#elif defined(__posix)
+#   define ZYAN_POSIX
+#else
+#   define ZYAN_UNKNOWN_PLATFORM
+#endif
+
+/* ============================================================================================== */
+/* Kernel mode detection                                                                          */
+/* ============================================================================================== */
+
+#if (defined(ZYAN_WINDOWS) && defined(_KERNEL_MODE)) || \
+    (defined(ZYAN_APPLE) && defined(KERNEL)) || \
+    (defined(ZYAN_LINUX) && defined(__KERNEL__)) || \
+    (defined(__FreeBSD_kernel__))
+#   define ZYAN_KERNEL
+#else
+#   define ZYAN_USER
+#endif
+
+/* ============================================================================================== */
+/* Architecture detection                                                                         */
+/* ============================================================================================== */
+
+#if defined(_M_AMD64) || defined(__x86_64__)
+#   define ZYAN_X64
+#elif defined(_M_IX86) || defined(__i386__)
+#   define ZYAN_X86
+#elif defined(_M_ARM64) || defined(__aarch64__)
+#   define ZYAN_AARCH64
+#elif defined(_M_ARM) || defined(_M_ARMT) || defined(__arm__) || defined(__thumb__)
+#   define ZYAN_ARM
+#elif defined(__EMSCRIPTEN__)
+    // Nothing to do, `ZYAN_EMSCRIPTEN` is both platform and arch macro for this one.
+#else
+#   error "Unsupported architecture detected"
+#endif
+
+/* ============================================================================================== */
+/* Debug/Release detection                                                                        */
+/* ============================================================================================== */
+
+#if defined(ZYAN_MSVC) || defined(ZYAN_BORLAND)
+#   ifdef _DEBUG
+#       define ZYAN_DEBUG
+#   else
+#       define ZYAN_RELEASE
+#   endif
+#elif defined(ZYAN_GNUC) || defined(ZYAN_ICC)
+#   ifdef NDEBUG
+#       define ZYAN_RELEASE
+#   else
+#       define ZYAN_DEBUG
+#   endif
+#else
+#   define ZYAN_RELEASE
+#endif
+
+/* ============================================================================================== */
+/* Misc compatibility macros                                                                      */
+/* ============================================================================================== */
+
+#if defined(ZYAN_MSVC) || defined(ZYAN_BORLAND)
+#   define ZYAN_INLINE __inline
+#else
+#   define ZYAN_INLINE static inline
+#endif
+
+/* ============================================================================================== */
+/* Debugging and optimization macros                                                              */
+/* ============================================================================================== */
+
+/**
+ * Runtime debug assersion.
+ */
+#if defined(ZYAN_NO_LIBC)
+#   define ZYAN_ASSERT(condition) (void)(condition)
+#elif defined(ZYAN_WINDOWS) && defined(ZYAN_KERNEL)
+#   include <wdm.h>
+#   define ZYAN_ASSERT(condition) NT_ASSERT(condition)
+#else
+#   include <assert.h>
+#   define ZYAN_ASSERT(condition) assert(condition)
+#endif
+
+/**
+ * Compiler-time assertion.
+ */
+#if __STDC_VERSION__ >= 201112L && !defined(__cplusplus)
+#   define ZYAN_STATIC_ASSERT(x) _Static_assert(x, #x)
+#elif (defined(__cplusplus) && __cplusplus >= 201103L) || \
+      (defined(__cplusplus) && defined (_MSC_VER) && (_MSC_VER >= 1600)) || \
+      (defined (_MSC_VER) && (_MSC_VER >= 1800))
+#   define ZYAN_STATIC_ASSERT(x) static_assert(x, #x)
+#else
+#   define ZYAN_STATIC_ASSERT(x) \
+        typedef int ZYAN_MACRO_CONCAT_EXPAND(ZYAN_SASSERT_, __COUNTER__) [(x) ? 1 : -1]
+#endif
+
+/**
+ * Marks the current code path as unreachable.
+ */
+#if defined(ZYAN_RELEASE)
+#   if defined(ZYAN_CLANG) // GCC eagerly evals && RHS, we have to use nested ifs.
+#       if __has_builtin(__builtin_unreachable)
+#           define ZYAN_UNREACHABLE __builtin_unreachable()
+#       else
+#           define ZYAN_UNREACHABLE for(;;)
+#       endif
+#   elif defined(ZYAN_GCC) && ((__GNUC__ == 4 && __GNUC_MINOR__ > 4) || __GNUC__ > 4)
+#       define ZYAN_UNREACHABLE __builtin_unreachable()
+#   elif defined(ZYAN_ICC)
+#       ifdef ZYAN_WINDOWS
+#           include <stdlib.h> // "missing return statement" workaround
+#           define ZYAN_UNREACHABLE __assume(0); (void)abort()
+#       else
+#           define ZYAN_UNREACHABLE __builtin_unreachable()
+#       endif
+#   elif defined(ZYAN_MSVC)
+#       define ZYAN_UNREACHABLE __assume(0)
+#   else
+#       define ZYAN_UNREACHABLE for(;;)
+#   endif
+#elif defined(ZYAN_NO_LIBC)
+#   define ZYAN_UNREACHABLE for(;;)
+#elif defined(ZYAN_WINDOWS) && defined(ZYAN_KERNEL)
+#   define ZYAN_UNREACHABLE { __fastfail(0); for(;;){} }
+#else
+#   include <stdlib.h>
+#   define ZYAN_UNREACHABLE { assert(0); abort(); }
+#endif
+
+/* ============================================================================================== */
+/* Utils                                                                                          */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* General purpose                                                                                */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Marks the specified parameter as unused.
+ *
+ * @param   x   The name of the unused parameter.
+ */
+#define ZYAN_UNUSED(x) (void)(x)
+
+/**
+ * Intentional fallthrough.
+ */
+#if defined(ZYAN_GCC) && __GNUC__ >= 7
+#   define ZYAN_FALLTHROUGH __attribute__((fallthrough))
+#else
+#   define ZYAN_FALLTHROUGH
+#endif
+
+/**
+ * Declares a bitfield.
+ *
+ * @param   x   The size (in bits) of the bitfield.
+ */
+#define ZYAN_BITFIELD(x) : x
+
+/**
+ * Marks functions that require libc (cannot be used with `ZYAN_NO_LIBC`).
+ */
+#define ZYAN_REQUIRES_LIBC
+
+/**
+ * Decorator for `printf`-style functions.
+ *
+ * @param   format_index    The 1-based index of the format string parameter.
+ * @param   first_to_check  The 1-based index of the format arguments parameter.
+ */
+#if defined(__RESHARPER__)
+#   define ZYAN_PRINTF_ATTR(format_index, first_to_check) \
+        [[gnu::format(printf, format_index, first_to_check)]]
+#elif defined(ZYAN_GCC)
+#   define ZYAN_PRINTF_ATTR(format_index, first_to_check) \
+        __attribute__((format(printf, format_index, first_to_check)))
+#else
+#   define ZYAN_PRINTF_ATTR(format_index, first_to_check)
+#endif
+
+/**
+ * Decorator for `wprintf`-style functions.
+ *
+ * @param   format_index    The 1-based index of the format string parameter.
+ * @param   first_to_check  The 1-based index of the format arguments parameter.
+ */
+#if defined(__RESHARPER__)
+#   define ZYAN_WPRINTF_ATTR(format_index, first_to_check) \
+        [[rscpp::format(wprintf, format_index, first_to_check)]]
+#else
+#   define ZYAN_WPRINTF_ATTR(format_index, first_to_check)
+#endif
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Arrays                                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the length (number of elements) of an array.
+ *
+ * @param   a   The name of the array.
+ *
+ * @return  The number of elements of the given array.
+ */
+#define ZYAN_ARRAY_LENGTH(a) (sizeof(a) / sizeof((a)[0]))
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Arithmetic                                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the smaller value of `a` or `b`.
+ *
+ * @param   a   The first value.
+ * @param   b   The second value.
+ *
+ * @return  The smaller value of `a` or `b`.
+ */
+#define ZYAN_MIN(a, b) (((a) < (b)) ? (a) : (b))
+
+/**
+ * Returns the bigger value of `a` or `b`.
+ *
+ * @param   a   The first value.
+ * @param   b   The second value.
+ *
+ * @return  The bigger value of `a` or `b`.
+ */
+#define ZYAN_MAX(a, b) (((a) > (b)) ? (a) : (b))
+
+/**
+ * Returns the absolute value of `a`.
+ *
+ * @param   a   The value.
+ *
+ * @return  The absolute value of `a`.
+ */
+#define ZYAN_ABS(a) (((a) < 0) ? -(a) : (a))
+
+/**
+ * Checks, if the given value is a power of 2.
+ *
+ * @param   x   The value.
+ *
+ * @return  `ZYAN_TRUE`, if the given value is a power of 2 or `ZYAN_FALSE`, if not.
+ *
+ * Note that this macro always returns `ZYAN_TRUE` for `x == 0`.
+ */
+#define ZYAN_IS_POWER_OF_2(x) (((x) & ((x) - 1)) == 0)
+
+/**
+ * Checks, if the given value is properly aligned.
+ *
+ * Note that this macro only works for powers of 2.
+ */
+#define ZYAN_IS_ALIGNED_TO(x, align) (((x) & ((align) - 1)) == 0)
+
+/**
+ * Aligns the value to the nearest given alignment boundary (by rounding it up).
+ *
+ * @param   x       The value.
+ * @param   align   The desired alignment.
+ *
+ * @return  The aligned value.
+ *
+ * Note that this macro only works for powers of 2.
+ */
+#define ZYAN_ALIGN_UP(x, align) (((x) + (align) - 1) & ~((align) - 1))
+
+/**
+ * Aligns the value to the nearest given alignment boundary (by rounding it down).
+ *
+ * @param   x       The value.
+ * @param   align   The desired alignment.
+ *
+ * @return  The aligned value.
+ *
+ * Note that this macro only works for powers of 2.
+ */
+#define ZYAN_ALIGN_DOWN(x, align) (((x) - 1) & ~((align) - 1))
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Bit operations                                                                                 */
+/* ---------------------------------------------------------------------------------------------- */
+
+/*
+ * Checks, if the bit at index `b` is required to present the ordinal value `n`.
+ *
+ * @param   n   The ordinal value.
+ * @param   b   The bit index.
+ *
+ * @return  `ZYAN_TRUE`, if the bit at index `b` is required to present the ordinal value `n` or
+ *          `ZYAN_FALSE`, if not.
+ *
+ * Note that this macro always returns `ZYAN_FALSE` for `n == 0`.
+ */
+#define ZYAN_NEEDS_BIT(n, b) (((unsigned long)(n) >> (b)) > 0)
+
+/*
+ * Returns the number of bits required to represent the ordinal value `n`.
+ *
+ * @param   n   The ordinal value.
+ *
+ * @return  The number of bits required to represent the ordinal value `n`.
+ *
+ * Note that this macro returns `0` for `n == 0`.
+ */
+#define ZYAN_BITS_TO_REPRESENT(n) \
+    ( \
+        ZYAN_NEEDS_BIT(n,  0) + ZYAN_NEEDS_BIT(n,  1) + \
+        ZYAN_NEEDS_BIT(n,  2) + ZYAN_NEEDS_BIT(n,  3) + \
+        ZYAN_NEEDS_BIT(n,  4) + ZYAN_NEEDS_BIT(n,  5) + \
+        ZYAN_NEEDS_BIT(n,  6) + ZYAN_NEEDS_BIT(n,  7) + \
+        ZYAN_NEEDS_BIT(n,  8) + ZYAN_NEEDS_BIT(n,  9) + \
+        ZYAN_NEEDS_BIT(n, 10) + ZYAN_NEEDS_BIT(n, 11) + \
+        ZYAN_NEEDS_BIT(n, 12) + ZYAN_NEEDS_BIT(n, 13) + \
+        ZYAN_NEEDS_BIT(n, 14) + ZYAN_NEEDS_BIT(n, 15) + \
+        ZYAN_NEEDS_BIT(n, 16) + ZYAN_NEEDS_BIT(n, 17) + \
+        ZYAN_NEEDS_BIT(n, 18) + ZYAN_NEEDS_BIT(n, 19) + \
+        ZYAN_NEEDS_BIT(n, 20) + ZYAN_NEEDS_BIT(n, 21) + \
+        ZYAN_NEEDS_BIT(n, 22) + ZYAN_NEEDS_BIT(n, 23) + \
+        ZYAN_NEEDS_BIT(n, 24) + ZYAN_NEEDS_BIT(n, 25) + \
+        ZYAN_NEEDS_BIT(n, 26) + ZYAN_NEEDS_BIT(n, 27) + \
+        ZYAN_NEEDS_BIT(n, 28) + ZYAN_NEEDS_BIT(n, 29) + \
+        ZYAN_NEEDS_BIT(n, 30) + ZYAN_NEEDS_BIT(n, 31)   \
+    )
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#endif /* ZYCORE_DEFINES_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/Format.h b/external/zydis/dependencies/zycore/include/Zycore/Format.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/Format.h
@@ -0,0 +1,261 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Provides helper functions for performant number to string conversion.
+ */
+
+#ifndef ZYCORE_FORMAT_H
+#define ZYCORE_FORMAT_H
+
+#include <ZycoreExportConfig.h>
+#include <Zycore/Status.h>
+#include <Zycore/String.h>
+#include <Zycore/Types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Insertion                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Inserts formatted text in the destination string at the given `index`.
+ *
+ * @param   string  The destination string.
+ * @param   index   The insert index.
+ * @param   format  The format string.
+ * @param   ...     The format arguments.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYAN_PRINTF_ATTR(3, 4)
+ZYCORE_EXPORT ZyanStatus ZyanStringInsertFormat(ZyanString* string, ZyanUSize index,
+    const char* format, ...);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Formats the given unsigned ordinal `value` to its decimal text-representation and
+ * inserts it to the `string`.
+ *
+ * @param   string          A pointer to the `ZyanString` instance.
+ * @param   index           The insert index.
+ * @param   value           The value.
+ * @param   padding_length  Padds the converted value with leading zeros, if the number of chars is
+ *                          less than the `padding_length`.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringInsertDecU(ZyanString* string, ZyanUSize index, ZyanU64 value,
+    ZyanU8 padding_length);
+
+/**
+ * Formats the given signed ordinal `value` to its decimal text-representation and
+ * inserts it to the `string`.
+ *
+ * @param   string          A pointer to the `ZyanString` instance.
+ * @param   index           The insert index.
+ * @param   value           The value.
+ * @param   padding_length  Padds the converted value with leading zeros, if the number of chars is
+ *                          less than the `padding_length`.
+ * @param   force_sign      Set `ZYAN_TRUE`, to force printing of the `+` sign for positive numbers.
+ * @param   prefix          The string to use as prefix or `ZYAN_NULL`, if not needed.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringInsertDecS(ZyanString* string, ZyanUSize index, ZyanI64 value,
+    ZyanU8 padding_length, ZyanBool force_sign, const ZyanString* prefix);
+
+/**
+ * Formats the given unsigned ordinal `value` to its hexadecimal text-representation and
+ * inserts it to the `string`.
+ *
+ * @param   string          A pointer to the `ZyanString` instance.
+ * @param   index           The insert index.
+ * @param   value           The value.
+ * @param   padding_length  Padds the converted value with leading zeros, if the number of chars is
+ *                          less than the `padding_length`.
+ * @param   uppercase       Set `ZYAN_TRUE` to use uppercase letters ('A'-'F') instead of lowercase
+ *                          ones ('a'-'f').
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringInsertHexU(ZyanString* string, ZyanUSize index, ZyanU64 value,
+    ZyanU8 padding_length, ZyanBool uppercase);
+
+/**
+ * Formats the given signed ordinal `value` to its hexadecimal text-representation and
+ * inserts it to the `string`.
+ *
+ * @param   string          A pointer to the `ZyanString` instance.
+ * @param   index           The insert index.
+ * @param   value           The value.
+ * @param   padding_length  Padds the converted value with leading zeros, if the number of chars is
+ *                          less than the `padding_length`.
+ * @param   uppercase       Set `ZYAN_TRUE` to use uppercase letters ('A'-'F') instead of lowercase
+ *                          ones ('a'-'f').
+ * @param   force_sign      Set `ZYAN_TRUE`, to force printing of the `+` sign for positive numbers.
+ * @param   prefix          The string to use as prefix or `ZYAN_NULL`, if not needed.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringInsertHexS(ZyanString* string, ZyanUSize index, ZyanI64 value,
+    ZyanU8 padding_length, ZyanBool uppercase, ZyanBool force_sign, const ZyanString* prefix);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Appending                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYAN_NO_LIBC
+
+/**
+ * Appends formatted text to the destination string.
+ *
+ * @param   string  The destination string.
+ * @param   format  The format string.
+ * @param   ...     The format arguments.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYAN_PRINTF_ATTR(2, 3)
+ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanStringAppendFormat(
+    ZyanString* string, const char* format, ...);
+
+#endif // ZYAN_NO_LIBC
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Formats the given unsigned ordinal `value` to its decimal text-representation and
+ * appends it to the `string`.
+ *
+ * @param   string          A pointer to the `ZyanString` instance.
+ * @param   value           The value.
+ * @param   padding_length  Padds the converted value with leading zeros, if the number of chars is
+ *                          less than the `padding_length`.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringAppendDecU(ZyanString* string, ZyanU64 value,
+    ZyanU8 padding_length);
+
+/**
+ * Formats the given signed ordinal `value` to its decimal text-representation and
+ * appends it to the `string`.
+ *
+ * @param   string          A pointer to the `ZyanString` instance.
+ * @param   value           The value.
+ * @param   padding_length  Padds the converted value with leading zeros, if the number of chars is
+ *                          less than the `padding_length`.
+ * @param   force_sign      Set `ZYAN_TRUE`, to force printing of the `+` sign for positive numbers.
+ * @param   prefix          The string to use as prefix or `ZYAN_NULL`, if not needed.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringAppendDecS(ZyanString* string, ZyanI64 value,
+    ZyanU8 padding_length, ZyanBool force_sign, const ZyanStringView* prefix);
+
+/**
+ * Formats the given unsigned ordinal `value` to its hexadecimal text-representation and
+ * appends it to the `string`.
+ *
+ * @param   string          A pointer to the `ZyanString` instance.
+ * @param   value           The value.
+ * @param   padding_length  Padds the converted value with leading zeros, if the number of chars is
+ *                          less than the `padding_length`.
+ * @param   uppercase       Set `ZYAN_TRUE` to use uppercase letters ('A'-'F') instead of lowercase
+ *                          ones ('a'-'f').
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringAppendHexU(ZyanString* string, ZyanU64 value,
+    ZyanU8 padding_length, ZyanBool uppercase);
+
+/**
+ * Formats the given signed ordinal `value` to its hexadecimal text-representation and
+ * appends it to the `string`.
+ *
+ * @param   string          A pointer to the `ZyanString` instance.
+ * @param   value           The value.
+ * @param   padding_length  Padds the converted value with leading zeros, if the number of chars is
+ *                          less than the `padding_length`.
+ * @param   uppercase       Set `ZYAN_TRUE` to use uppercase letters ('A'-'F') instead of lowercase
+ *                          ones ('a'-'f').
+ * @param   force_sign      Set `ZYAN_TRUE`, to force printing of the `+` sign for positive numbers.
+ * @param   prefix          The string to use as prefix or `ZYAN_NULL`, if not needed.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringAppendHexS(ZyanString* string, ZyanI64 value,
+    ZyanU8 padding_length, ZyanBool uppercase, ZyanBool force_sign, const ZyanStringView* prefix);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ZYCORE_FORMAT_H
diff --git a/external/zydis/dependencies/zycore/include/Zycore/LibC.h b/external/zydis/dependencies/zycore/include/Zycore/LibC.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/LibC.h
@@ -0,0 +1,511 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd, Joel Hoener
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Provides a simple LibC abstraction and fallback routines.
+ */
+
+#ifndef ZYCORE_LIBC_H
+#define ZYCORE_LIBC_H
+
+#ifndef ZYAN_CUSTOM_LIBC
+
+// Include a custom LibC header and define `ZYAN_CUSTOM_LIBC` to provide your own LibC
+// replacement functions
+
+#ifndef ZYAN_NO_LIBC
+
+/* ============================================================================================== */
+/* LibC is available                                                                              */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* errno.h                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+#include <errno.h>
+
+#define ZYAN_ERRNO  errno
+
+/* ---------------------------------------------------------------------------------------------- */
+/* stdarg.h                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+#include <stdarg.h>
+
+/**
+ * Defines the `ZyanVAList` datatype.
+ */
+typedef va_list ZyanVAList;
+
+#define ZYAN_VA_START               va_start
+#define ZYAN_VA_ARG                 va_arg
+#define ZYAN_VA_END                 va_end
+#define ZYAN_VA_COPY(dest, source)  va_copy((dest), (source))
+
+/* ---------------------------------------------------------------------------------------------- */
+/* stdio.h                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+#include <stdio.h>
+
+#define ZYAN_FPUTS      fputs
+#define ZYAN_FPUTC      fputc
+#define ZYAN_FPRINTF    fprintf
+#define ZYAN_PRINTF     printf
+#define ZYAN_PUTC       putc
+#define ZYAN_PUTS       puts
+#define ZYAN_SCANF      scanf
+#define ZYAN_SSCANF     sscanf
+#define ZYAN_VSNPRINTF  vsnprintf
+
+/**
+ * Defines the `ZyanFile` datatype.
+ */
+typedef FILE ZyanFile;
+
+#define ZYAN_STDIN      stdin
+#define ZYAN_STDOUT     stdout
+#define ZYAN_STDERR     stderr
+
+/* ---------------------------------------------------------------------------------------------- */
+/* stdlib.h                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+#include <stdlib.h>
+#define ZYAN_CALLOC     calloc
+#define ZYAN_FREE       free
+#define ZYAN_MALLOC     malloc
+#define ZYAN_REALLOC    realloc
+
+/* ---------------------------------------------------------------------------------------------- */
+/* string.h                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+#include <string.h>
+#define ZYAN_MEMCHR     memchr
+#define ZYAN_MEMCMP     memcmp
+#define ZYAN_MEMCPY     memcpy
+#define ZYAN_MEMMOVE    memmove
+#define ZYAN_MEMSET     memset
+#define ZYAN_STRCAT     strcat
+#define ZYAN_STRCHR     strchr
+#define ZYAN_STRCMP     strcmp
+#define ZYAN_STRCOLL    strcoll
+#define ZYAN_STRCPY     strcpy
+#define ZYAN_STRCSPN    strcspn
+#define ZYAN_STRLEN     strlen
+#define ZYAN_STRNCAT    strncat
+#define ZYAN_STRNCMP    strncmp
+#define ZYAN_STRNCPY    strncpy
+#define ZYAN_STRPBRK    strpbrk
+#define ZYAN_STRRCHR    strrchr
+#define ZYAN_STRSPN     strspn
+#define ZYAN_STRSTR     strstr
+#define ZYAN_STRTOK     strtok
+#define ZYAN_STRXFRM    strxfrm
+
+/* ---------------------------------------------------------------------------------------------- */
+
+#else  // if ZYAN_NO_LIBC
+
+/* ============================================================================================== */
+/* No LibC available, use our own functions                                                       */
+/* ============================================================================================== */
+
+#include <Zycore/Defines.h>
+#include <Zycore/Types.h>
+
+/*
+ * These implementations are by no means optimized and will be outperformed by pretty much any
+ * libc implementation out there. We do not aim towards providing competetive implementations here,
+ * but towards providing a last resort fallback for environments without a working libc.
+ */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* stdarg.h                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+#if defined(ZYAN_MSVC) || defined(ZYAN_ICC)
+
+/**
+ * Defines the `ZyanVAList` datatype.
+ */
+typedef char* ZyanVAList;
+
+#   define ZYAN_VA_START __crt_va_start
+#   define ZYAN_VA_ARG   __crt_va_arg
+#   define ZYAN_VA_END   __crt_va_end
+#   define ZYAN_VA_COPY(destination, source) ((destination) = (source))
+
+#elif defined(ZYAN_GNUC)
+
+/**
+ * Defines the `ZyanVAList` datatype.
+ */
+typedef __builtin_va_list  ZyanVAList;
+
+#   define ZYAN_VA_START(v, l)  __builtin_va_start(v, l)
+#   define ZYAN_VA_END(v)       __builtin_va_end(v)
+#   define ZYAN_VA_ARG(v, l)    __builtin_va_arg(v, l)
+#   define ZYAN_VA_COPY(d, s)   __builtin_va_copy(d, s)
+
+#else
+#   error "Unsupported compiler for no-libc mode."
+#endif
+
+/* ---------------------------------------------------------------------------------------------- */
+/* stdio.h                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+// ZYAN_INLINE int ZYAN_VSNPRINTF (char* const buffer, ZyanUSize const count,
+//     char const* const format, ZyanVAList args)
+// {
+//      // We cant provide a fallback implementation for this function
+//     ZYAN_UNUSED(buffer);
+//     ZYAN_UNUSED(count);
+//     ZYAN_UNUSED(format);
+//     ZYAN_UNUSED(args);
+//     return ZYAN_NULL;
+// }
+
+/* ---------------------------------------------------------------------------------------------- */
+/* stdlib.h                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+// ZYAN_INLINE void* ZYAN_CALLOC(ZyanUSize nitems, ZyanUSize size)
+// {
+//      // We cant provide a fallback implementation for this function
+//     ZYAN_UNUSED(nitems);
+//     ZYAN_UNUSED(size);
+//     return ZYAN_NULL;
+// }
+//
+// ZYAN_INLINE void ZYAN_FREE(void *p)
+// {
+//      // We cant provide a fallback implementation for this function
+//     ZYAN_UNUSED(p);
+// }
+//
+// ZYAN_INLINE void* ZYAN_MALLOC(ZyanUSize n)
+// {
+//     // We cant provide a fallback implementation for this function
+//     ZYAN_UNUSED(n);
+//     return ZYAN_NULL;
+// }
+//
+// ZYAN_INLINE void* ZYAN_REALLOC(void* p, ZyanUSize n)
+// {
+//      // We cant provide a fallback implementation for this function
+//     ZYAN_UNUSED(p);
+//     ZYAN_UNUSED(n);
+//     return ZYAN_NULL;
+// }
+
+/* ---------------------------------------------------------------------------------------------- */
+/* string.h                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZYAN_INLINE void* ZYAN_MEMCHR(const void* str, int c, ZyanUSize n)
+{
+    const ZyanU8* p = (ZyanU8*)str;
+    while (n--)
+    {
+        if (*p != (ZyanU8)c)
+        {
+            p++;
+        } else
+        {
+            return (void*)p;
+        }
+    }
+    return 0;
+}
+
+ZYAN_INLINE int ZYAN_MEMCMP(const void* s1, const void* s2, ZyanUSize n)
+{
+    const ZyanU8* p1 = s1, *p2 = s2;
+    while (n--)
+    {
+        if (*p1 != *p2)
+        {
+            return *p1 - *p2;
+        }
+        p1++, p2++;
+    }
+    return 0;
+}
+
+ZYAN_INLINE void* ZYAN_MEMCPY(void* dst, const void* src, ZyanUSize n)
+{
+    volatile ZyanU8* dp = dst;
+    const ZyanU8* sp = src;
+    while (n--)
+    {
+        *dp++ = *sp++;
+    }
+    return dst;
+}
+
+ZYAN_INLINE void* ZYAN_MEMMOVE(void* dst, const void* src, ZyanUSize n)
+{
+    volatile ZyanU8* pd = dst;
+    const ZyanU8* ps = src;
+    if (ps < pd)
+    {
+        for (pd += n, ps += n; n--;)
+        {
+            *--pd = *--ps;
+        }
+    } else
+    {
+        while (n--)
+        {
+            *pd++ = *ps++;
+        }
+    }
+    return dst;
+}
+
+ZYAN_INLINE void* ZYAN_MEMSET(void* dst, int val, ZyanUSize n)
+{
+    volatile ZyanU8* p = dst;
+    while (n--)
+    {
+        *p++ = (unsigned char)val;
+    }
+    return dst;
+}
+
+ZYAN_INLINE char* ZYAN_STRCAT(char* dest, const char* src)
+{
+    char* ret = dest;
+    while (*dest)
+    {
+        dest++;
+    }
+    while ((*dest++ = *src++));
+    return ret;
+}
+
+ZYAN_INLINE char* ZYAN_STRCHR(const char* s, int c)
+{
+    while (*s != (char)c)
+    {
+        if (!*s++)
+        {
+            return 0;
+        }
+    }
+    return (char*)s;
+}
+
+ZYAN_INLINE int ZYAN_STRCMP(const char* s1, const char* s2)
+{
+    while (*s1 && (*s1 == *s2))
+    {
+        s1++, s2++;
+    }
+    return *(const ZyanU8*)s1 - *(const ZyanU8*)s2;
+}
+
+ZYAN_INLINE int ZYAN_STRCOLL(const char *s1, const char *s2)
+{
+    // TODO: Implement
+
+    ZYAN_UNUSED(s1);
+    ZYAN_UNUSED(s2);
+
+    return 0;
+}
+
+ZYAN_INLINE char* ZYAN_STRCPY(char* dest, const char* src)
+{
+    char* ret = dest;
+    while ((*dest++ = *src++));
+    return ret;
+}
+
+ZYAN_INLINE ZyanUSize ZYAN_STRCSPN(const char *s1, const char *s2)
+{
+    ZyanUSize ret = 0;
+    while (*s1)
+    {
+        if (ZYAN_STRCHR(s2, *s1))
+        {
+            return ret;
+        }
+        s1++, ret++;
+    }
+    return ret;
+}
+
+ZYAN_INLINE ZyanUSize ZYAN_STRLEN(const char* str)
+{
+    const char* p = str;
+    while (*str)
+    {
+        ++str;
+    }
+    return str - p;
+}
+
+ZYAN_INLINE char* ZYAN_STRNCAT(char* dest, const char* src, ZyanUSize n)
+{
+    char* ret = dest;
+    while (*dest)
+    {
+        dest++;
+    }
+    while (n--)
+    {
+        if (!(*dest++ = *src++))
+        {
+            return ret;
+        }
+    }
+    *dest = 0;
+    return ret;
+}
+
+ZYAN_INLINE int ZYAN_STRNCMP(const char* s1, const char* s2, ZyanUSize n)
+{
+    while (n--)
+    {
+        if (*s1++ != *s2++)
+        {
+            return *(unsigned char*)(s1 - 1) - *(unsigned char*)(s2 - 1);
+        }
+    }
+    return 0;
+}
+
+ZYAN_INLINE char* ZYAN_STRNCPY(char* dest, const char* src, ZyanUSize n)
+{
+    char* ret = dest;
+    do
+    {
+        if (!n--)
+        {
+            return ret;
+        }
+    } while ((*dest++ = *src++));
+    while (n--)
+    {
+        *dest++ = 0;
+    }
+    return ret;
+}
+
+ZYAN_INLINE char* ZYAN_STRPBRK(const char* s1, const char* s2)
+{
+    while (*s1)
+    {
+        if(ZYAN_STRCHR(s2, *s1++))
+        {
+            return (char*)--s1;
+        }
+    }
+    return 0;
+}
+
+ZYAN_INLINE char* ZYAN_STRRCHR(const char* s, int c)
+{
+    char* ret = 0;
+    do
+    {
+        if (*s == (char)c)
+        {
+            ret = (char*)s;
+        }
+    } while (*s++);
+    return ret;
+}
+
+ZYAN_INLINE ZyanUSize ZYAN_STRSPN(const char* s1, const char* s2)
+{
+    ZyanUSize ret = 0;
+    while (*s1 && ZYAN_STRCHR(s2, *s1++))
+    {
+        ret++;
+    }
+    return ret;
+}
+
+ZYAN_INLINE char* ZYAN_STRSTR(const char* s1, const char* s2)
+{
+    const ZyanUSize n = ZYAN_STRLEN(s2);
+    while (*s1)
+    {
+        if (!ZYAN_MEMCMP(s1++, s2, n))
+        {
+            return (char*)(s1 - 1);
+        }
+    }
+    return 0;
+}
+
+ZYAN_INLINE char* ZYAN_STRTOK(char* str, const char* delim)
+{
+    static char* p = 0;
+    if (str)
+    {
+        p = str;
+    } else
+    if (!p)
+    {
+        return 0;
+    }
+    str = p + ZYAN_STRSPN(p, delim);
+    p = str + ZYAN_STRCSPN(str, delim);
+    if (p == str)
+    {
+        return p = 0;
+    }
+    p = *p ? *p = 0, p + 1 : 0;
+    return str;
+}
+
+ZYAN_INLINE ZyanUSize ZYAN_STRXFRM(char* dest, const char* src, ZyanUSize n)
+{
+    const ZyanUSize n2 = ZYAN_STRLEN(src);
+    if (n > n2)
+    {
+        ZYAN_STRCPY(dest, src);
+    }
+    return n2;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+#endif
+
+#endif
+
+/* ============================================================================================== */
+
+#endif /* ZYCORE_LIBC_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/List.h b/external/zydis/dependencies/zycore/include/Zycore/List.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/List.h
@@ -0,0 +1,574 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Implements a doubly linked list.
+ */
+
+#ifndef ZYCORE_LIST_H
+#define ZYCORE_LIST_H
+
+#include <ZycoreExportConfig.h>
+#include <Zycore/Allocator.h>
+#include <Zycore/Object.h>
+#include <Zycore/Status.h>
+#include <Zycore/Types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/**
+ * Defines the `ZyanListNode` struct.
+ *
+ * All fields in this struct should be considered as "private". Any changes may lead to unexpected
+ * behavior.
+ */
+typedef struct ZyanListNode_
+{
+    /**
+     * A pointer to the previous list node.
+     */
+    struct ZyanListNode_* prev;
+    /**
+     * A pointer to the next list node.
+     */
+    struct ZyanListNode_* next;
+} ZyanListNode;
+
+/**
+ * Defines the `ZyanList` struct.
+ *
+ * All fields in this struct should be considered as "private". Any changes may lead to unexpected
+ * behavior.
+ */
+typedef struct ZyanList_
+{
+    /**
+     * The memory allocator.
+     */
+    ZyanAllocator* allocator;
+    /**
+     * The current number of elements in the list.
+     */
+    ZyanUSize size;
+    /**
+     * The size of a single element in bytes.
+     */
+    ZyanUSize element_size;
+    /**
+     * The element destructor callback.
+     */
+    ZyanMemberProcedure destructor;
+    /**
+     * The head node.
+     */
+    ZyanListNode* head;
+    /**
+     * The tail node.
+     */
+    ZyanListNode* tail;
+    /**
+     * The data buffer.
+     *
+     * Only used for instances created by `ZyanListInitCustomBuffer`.
+     */
+    void* buffer;
+    /**
+     * The data buffer capacity (number of bytes).
+     *
+     * Only used for instances created by `ZyanListInitCustomBuffer`.
+     */
+    ZyanUSize capacity;
+    /**
+     * The first unused node.
+     *
+     * When removing a node, the first-unused value is updated to point at the removed node and the
+     * next node of the removed node will be updated to point at the old first-unused node.
+     *
+     * When appending the memory of the first unused-node is recycled to store the new node. The
+     * value of the first-unused node is then updated to point at the reused nodes next node.
+     *
+     * If the first-unused value is `ZYAN_NULL`, any new node will be "allocated" behind the tail
+     * node (if there is enough space left in the fixed size buffer).
+     *
+     * Only used for instances created by `ZyanListInitCustomBuffer`.
+     */
+    ZyanListNode* first_unused;
+} ZyanList;
+
+/* ============================================================================================== */
+/* Macros                                                                                         */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* General                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines an uninitialized `ZyanList` instance.
+ */
+#define ZYAN_LIST_INITIALIZER \
+    { \
+        /* allocator        */ ZYAN_NULL, \
+        /* size             */ 0, \
+        /* element_size     */ 0, \
+        /* head             */ ZYAN_NULL, \
+        /* destructor       */ ZYAN_NULL, \
+        /* tail             */ ZYAN_NULL, \
+        /* buffer           */ ZYAN_NULL, \
+        /* capacity         */ 0, \
+        /* first_unused     */ ZYAN_NULL \
+    }
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Helper macros                                                                                  */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the data value of the given `node`.
+ *
+ * @param   type    The desired value type.
+ * @param   node    A pointer to the `ZyanListNode` struct.
+ *
+ * @result  The data value of the given `node`.
+ *
+ * Note that this function is unsafe and might dereference a null-pointer.
+ */
+#ifdef __cplusplus
+#define ZYAN_LIST_GET(type, node) \
+    (*reinterpret_cast<const type*>(ZyanListGetNodeData(node)))
+#else
+#define ZYAN_LIST_GET(type, node) \
+    (*(const type*)ZyanListGetNodeData(node))
+#endif
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Constructor and destructor                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYAN_NO_LIBC
+
+/**
+ * Initializes the given `ZyanList` instance.
+ *
+ * @param   list            A pointer to the `ZyanList` instance.
+ * @param   element_size    The size of a single element in bytes.
+ * @param   destructor      A destructor callback that is invoked every time an item is deleted, or
+ *                          `ZYAN_NULL` if not needed.
+ *
+ * @return  A zyan status code.
+ *
+ * The memory for the list elements is dynamically allocated by the default allocator.
+ *
+ * Finalization with `ZyanListDestroy` is required for all instances created by this function.
+ */
+ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanListInit(ZyanList* list, ZyanUSize element_size,
+    ZyanMemberProcedure destructor);
+
+#endif // ZYAN_NO_LIBC
+
+/**
+ * Initializes the given `ZyanList` instance and sets a custom `allocator`.
+ *
+ * @param   list            A pointer to the `ZyanList` instance.
+ * @param   element_size    The size of a single element in bytes.
+ * @param   destructor      A destructor callback that is invoked every time an item is deleted, or
+ *                          `ZYAN_NULL` if not needed.
+ * @param   allocator       A pointer to a `ZyanAllocator` instance.
+ *
+ * @return  A zyan status code.
+ *
+ * Finalization with `ZyanListDestroy` is required for all instances created by this function.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListInitEx(ZyanList* list, ZyanUSize element_size,
+    ZyanMemberProcedure destructor, ZyanAllocator* allocator);
+
+/**
+ * Initializes the given `ZyanList` instance and configures it to use a custom user
+ * defined buffer with a fixed size.
+ *
+ * @param   list            A pointer to the `ZyanList` instance.
+ * @param   element_size    The size of a single element in bytes.
+ * @param   destructor      A destructor callback that is invoked every time an item is deleted, or
+ *                          `ZYAN_NULL` if not needed.
+ * @param   buffer          A pointer to the buffer that is used as storage for the elements.
+ * @param   capacity        The maximum capacity (number of bytes) of the buffer including the
+ *                          space required for the list-nodes.
+ *
+ * @return  A zyan status code.
+ *
+ * The buffer capacity required to store `n` elements of type `T` is be calculated by:
+ * `size = n * sizeof(ZyanListNode) + n * sizeof(T)`
+ *
+ * Finalization is not required for instances created by this function.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListInitCustomBuffer(ZyanList* list, ZyanUSize element_size,
+    ZyanMemberProcedure destructor, void* buffer, ZyanUSize capacity);
+
+/**
+ * Destroys the given `ZyanList` instance.
+ *
+ * @param   list    A pointer to the `ZyanList` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListDestroy(ZyanList* list);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Duplication                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYAN_NO_LIBC
+
+/**
+ * Initializes a new `ZyanList` instance by duplicating an existing list.
+ *
+ * @param   destination A pointer to the (uninitialized) destination `ZyanList` instance.
+ * @param   source      A pointer to the source list.
+ *
+ * @return  A zyan status code.
+ *
+ * The memory for the list is dynamically allocated by the default allocator.
+ *
+ * Finalization with `ZyanListDestroy` is required for all instances created by this function.
+ */
+ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanListDuplicate(ZyanList* destination,
+    const ZyanList* source);
+
+#endif // ZYAN_NO_LIBC
+
+/**
+ * Initializes a new `ZyanList` instance by duplicating an existing list and sets a
+ * custom `allocator`.
+ *
+ * @param   destination A pointer to the (uninitialized) destination `ZyanList` instance.
+ * @param   source      A pointer to the source list.
+ * @param   allocator   A pointer to a `ZyanAllocator` instance.
+ *
+ * @return  A zyan status code.
+
+ * Finalization with `ZyanListDestroy` is required for all instances created by this function.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListDuplicateEx(ZyanList* destination, const ZyanList* source,
+    ZyanAllocator* allocator);
+
+/**
+ * Initializes a new `ZyanList` instance by duplicating an existing list and
+ * configures it to use a custom user defined buffer with a fixed size.
+ *
+ * @param   destination A pointer to the (uninitialized) destination `ZyanList` instance.
+ * @param   source      A pointer to the source list.
+ * @param   buffer      A pointer to the buffer that is used as storage for the elements.
+ * @param   capacity    The maximum capacity (number of bytes) of the buffer including the
+ *                      space required for the list-nodes.
+
+ *                      This function will fail, if the capacity of the buffer is not sufficient
+ *                      to store all elements of the source list.
+ *
+ * @return  A zyan status code.
+ *
+ * The buffer capacity required to store `n` elements of type `T` is be calculated by:
+ * `size = n * sizeof(ZyanListNode) + n * sizeof(T)`
+ *
+ * Finalization is not required for instances created by this function.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListDuplicateCustomBuffer(ZyanList* destination,
+    const ZyanList* source, void* buffer, ZyanUSize capacity);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Item access                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns a pointer to the first `ZyanListNode` struct of the given list.
+ *
+ * @param   list    A pointer to the `ZyanList` instance.
+ * @param   node    Receives a pointer to the first `ZyanListNode` struct of the list.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListGetHeadNode(const ZyanList* list, const ZyanListNode** node);
+
+/**
+ * Returns a pointer to the last `ZyanListNode` struct of the given list.
+ *
+ * @param   list    A pointer to the `ZyanList` instance.
+ * @param   node    Receives a pointer to the last `ZyanListNode` struct of the list.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListGetTailNode(const ZyanList* list, const ZyanListNode** node);
+
+/**
+ * Receives a pointer to the previous `ZyanListNode` struct linked to the passed one.
+ *
+ * @param   node    Receives a pointer to the previous `ZyanListNode` struct linked to the passed
+ *                  one.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListGetPrevNode(const ZyanListNode** node);
+
+/**
+ * Receives a pointer to the next `ZyanListNode` struct linked to the passed one.
+ *
+ * @param   node    Receives a pointer to the next `ZyanListNode` struct linked to the passed one.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListGetNextNode(const ZyanListNode** node);
+
+/**
+ * Returns a constant pointer to the data of the given `node`.
+ *
+ * @param   node    A pointer to the `ZyanListNode` struct.
+ *
+ * @return  A constant pointer to the the data of the given `node` or `ZYAN_NULL`, if an error
+ *          occured.
+ *
+ * Take a look at `ZyanListGetNodeDataEx`, if you need a function that returns a zyan status code.
+ */
+ZYCORE_EXPORT const void* ZyanListGetNodeData(const ZyanListNode* node);
+
+/**
+ * Returns a constant pointer to the data of the given `node`..
+ *
+ * @param   node    A pointer to the `ZyanListNode` struct.
+ * @param   value   Receives a constant pointer to the data of the given `node`.
+ *
+ * Take a look at `ZyanListGetNodeData`, if you need a function that directly returns a pointer.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListGetNodeDataEx(const ZyanListNode* node, const void** value);
+
+/**
+ * Returns a mutable pointer to the data of the given `node`.
+ *
+ * @param   node    A pointer to the `ZyanListNode` struct.
+ *
+ * @return  A mutable pointer to the the data of the given `node` or `ZYAN_NULL`, if an error
+ *          occured.
+ *
+ * Take a look at `ZyanListGetPointerMutableEx` instead, if you need a function that returns a
+ * zyan status code.
+ */
+ZYCORE_EXPORT void* ZyanListGetNodeDataMutable(const ZyanListNode* node);
+
+/**
+ * Returns a mutable pointer to the data of the given `node`..
+ *
+ * @param   node    A pointer to the `ZyanListNode` struct.
+ * @param   value   Receives a mutable pointer to the data of the given `node`.
+ *
+ * Take a look at `ZyanListGetNodeDataMutable`, if you need a function that directly returns a
+ * pointer.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListGetNodeDataMutableEx(const ZyanListNode* node, void** value);
+
+/**
+ * Assigns a new data value to the given `node`.
+ *
+ * @param   list    A pointer to the `ZyanList` instance.
+ * @param   node    A pointer to the `ZyanListNode` struct.
+ * @param   value   The value to assign.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListSetNodeData(const ZyanList* list, const ZyanListNode* node,
+    const void* value);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Insertion                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Adds a new `item` to the end of the list.
+ *
+ * @param   list    A pointer to the `ZyanList` instance.
+ * @param   item    A pointer to the item to add.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListPushBack(ZyanList* list, const void* item);
+
+/**
+ * Adds a new `item` to the beginning of the list.
+ *
+ * @param   list    A pointer to the `ZyanList` instance.
+ * @param   item    A pointer to the item to add.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListPushFront(ZyanList* list, const void* item);
+
+/**
+ * Constructs an `item` in-place at the end of the list.
+ *
+ * @param   list        A pointer to the `ZyanList` instance.
+ * @param   item        Receives a pointer to the new item.
+ * @param   constructor The constructor callback or `ZYAN_NULL`. The new item will be in
+ *                      undefined state, if no constructor was passed.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListEmplaceBack(ZyanList* list, void** item,
+    ZyanMemberFunction constructor);
+
+/**
+ * Constructs an `item` in-place at the beginning of the list.
+ *
+ * @param   list        A pointer to the `ZyanList` instance.
+ * @param   item        Receives a pointer to the new item.
+ * @param   constructor The constructor callback or `ZYAN_NULL`. The new item will be in
+ *                      undefined state, if no constructor was passed.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListEmplaceFront(ZyanList* list, void** item,
+    ZyanMemberFunction constructor);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Deletion                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Removes the last element of the list.
+ *
+ * @param   list    A pointer to the `ZyanList` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListPopBack(ZyanList* list);
+
+/**
+ * Removes the firstelement of the list.
+ *
+ * @param   list    A pointer to the `ZyanList` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListPopFront(ZyanList* list);
+
+/**
+ * Removes the given `node` from the list.
+ *
+ * @param   list    A pointer to the `ZyanList` instance.
+ * @param   node    A pointer to the `ZyanListNode` struct.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListRemove(ZyanList* list, const ZyanListNode* node);
+
+/**
+ * Removes multiple nodes from the list.
+ *
+ * @param   list    A pointer to the `ZyanList` instance.
+ * @param   first   A pointer to the first node.
+ * @param   last    A pointer to the last node.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListRemoveRange(ZyanList* list, const ZyanListNode* first,
+    const ZyanListNode* last);
+
+/**
+ * Erases all elements of the list.
+ *
+ * @param   list    A pointer to the `ZyanList` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListClear(ZyanList* list);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Searching                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+// TODO:
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Memory management                                                                              */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Resizes the given `ZyanList` instance.
+ *
+ * @param   list    A pointer to the `ZyanList` instance.
+ * @param   size    The new size of the list.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListResize(ZyanList* list, ZyanUSize size);
+
+/**
+ * Resizes the given `ZyanList` instance.
+ *
+ * @param   list        A pointer to the `ZyanList` instance.
+ * @param   size        The new size of the list.
+ * @param   initializer A pointer to a value to be used as initializer for new items.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListResizeEx(ZyanList* list, ZyanUSize size, const void* initializer);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Information                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the current size of the list.
+ *
+ * @param   list    A pointer to the `ZyanList` instance.
+ * @param   size    Receives the size of the list.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanListGetSize(const ZyanList* list, ZyanUSize* size);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYCORE_VECTOR_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/Object.h b/external/zydis/dependencies/zycore/include/Zycore/Object.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/Object.h
@@ -0,0 +1,84 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Defines some generic object-related datatypes.
+ */
+
+#ifndef ZYCORE_OBJECT_H
+#define ZYCORE_OBJECT_H
+
+#include <Zycore/Status.h>
+#include <Zycore/Types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/**
+ * Defines the `ZyanMemberProcedure` function prototype.
+ *
+ * @param   object  A pointer to the object.
+ */
+typedef void (*ZyanMemberProcedure)(void* object);
+
+/**
+ * Defines the `ZyanConstMemberProcedure` function prototype.
+ *
+ * @param   object  A pointer to the object.
+ */
+typedef void (*ZyanConstMemberProcedure)(const void* object);
+
+/**
+ * Defines the `ZyanMemberFunction` function prototype.
+ *
+ * @param   object  A pointer to the object.
+ *
+ * @return  A zyan status code.
+ */
+typedef ZyanStatus (*ZyanMemberFunction)(void* object);
+
+/**
+ * Defines the `ZyanConstMemberFunction` function prototype.
+ *
+ * @param   object  A pointer to the object.
+ *
+ * @return  A zyan status code.
+ */
+typedef ZyanStatus (*ZyanConstMemberFunction)(const void* object);
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYCORE_OBJECT_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/Status.h b/external/zydis/dependencies/zycore/include/Zycore/Status.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/Status.h
@@ -0,0 +1,287 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zyan-C)
+
+  Original Author : Florian Bernd, Joel Hoener
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Status code definitions and check macros.
+ */
+
+#ifndef ZYCORE_STATUS_H
+#define ZYCORE_STATUS_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <Zycore/Types.h>
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/**
+ * Defines the `ZyanStatus` data type.
+ */
+typedef ZyanU32 ZyanStatus;
+
+/* ============================================================================================== */
+/* Macros                                                                                         */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Definition                                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines a zyan status code.
+ *
+ * @param   error   `1`, if the status code signals an error or `0`, if not.
+ * @param   module  The module id.
+ * @param   code    The actual code.
+ *
+ * @return  The zyan status code.
+ */
+#define ZYAN_MAKE_STATUS(error, module, code) \
+    (ZyanStatus)((((error) & 0x01) << 31) | (((module) & 0x7FF) << 20) | ((code) & 0xFFFFF))
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Checks                                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Checks if a zyan operation was successful.
+ *
+ * @param   status  The zyan status-code to check.
+ *
+ * @return  `ZYAN_TRUE`, if the operation succeeded or `ZYAN_FALSE`, if not.
+ */
+#define ZYAN_SUCCESS(status) \
+    (!((status) & 0x80000000))
+
+/**
+ * Checks if a zyan operation failed.
+ *
+ * @param   status  The zyan status-code to check.
+ *
+ * @return  `ZYAN_TRUE`, if the operation failed or `ZYAN_FALSE`, if not.
+ */
+#define ZYAN_FAILED(status) \
+    ((status) & 0x80000000)
+
+/**
+ * Checks if a zyan operation was successful and returns with the status-code, if not.
+ *
+ * @param   status  The zyan status-code to check.
+ */
+#define ZYAN_CHECK(status) \
+    do \
+    { \
+        const ZyanStatus status_047620348 = (status); \
+        if (!ZYAN_SUCCESS(status_047620348)) \
+        { \
+            return status_047620348; \
+        } \
+    } while (0)
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Information                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+ /**
+ * Returns the module id of a zyan status-code.
+ *
+ * @param   status  The zyan status-code.
+ *
+ * @return  The module id of the zyan status-code.
+ */
+#define ZYAN_STATUS_MODULE(status) \
+    (((status) >> 20) & 0x7FF)
+
+ /**
+ * Returns the code of a zyan status-code.
+ *
+ * @param   status  The zyan status-code.
+ *
+ * @return  The code of the zyan status-code.
+ */
+#define ZYAN_STATUS_CODE(status) \
+    ((status) & 0xFFFFF)
+
+/* ============================================================================================== */
+/* Status codes                                                                                   */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Module IDs                                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * The zycore generic module id.
+ */
+#define ZYAN_MODULE_ZYCORE      0x001
+
+/**
+ * The zycore arg-parse submodule id.
+ */
+#define ZYAN_MODULE_ARGPARSE    0x003
+
+/**
+ * The base module id for user-defined status codes.
+ */
+#define ZYAN_MODULE_USER        0x3FF
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Status codes (general purpose)                                                                 */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * The operation completed successfully.
+ */
+#define ZYAN_STATUS_SUCCESS \
+    ZYAN_MAKE_STATUS(0, ZYAN_MODULE_ZYCORE, 0x00)
+
+/**
+ * The operation failed with an generic error.
+ */
+#define ZYAN_STATUS_FAILED \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYCORE, 0x01)
+
+/**
+ * The operation completed successfully and returned `ZYAN_TRUE`.
+ */
+#define ZYAN_STATUS_TRUE \
+    ZYAN_MAKE_STATUS(0, ZYAN_MODULE_ZYCORE, 0x02)
+
+/**
+ * The operation completed successfully and returned `ZYAN_FALSE`.
+ */
+#define ZYAN_STATUS_FALSE \
+    ZYAN_MAKE_STATUS(0, ZYAN_MODULE_ZYCORE, 0x03)
+
+/**
+ * An invalid argument was passed to a function.
+ */
+#define ZYAN_STATUS_INVALID_ARGUMENT \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYCORE, 0x04)
+
+/**
+ * An attempt was made to perform an invalid operation.
+ */
+#define ZYAN_STATUS_INVALID_OPERATION \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYCORE, 0x05)
+
+/**
+ * Insufficient privileges to perform the requested operation.
+ */
+#define ZYAN_STATUS_ACCESS_DENIED \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYCORE, 0x06)
+
+/**
+ * The requested entity was not found.
+ */
+#define ZYAN_STATUS_NOT_FOUND \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYCORE, 0x07)
+
+/**
+ * An index passed to a function was out of bounds.
+ */
+#define ZYAN_STATUS_OUT_OF_RANGE \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYCORE, 0x08)
+
+/**
+ * A buffer passed to a function was too small to complete the requested operation.
+ */
+#define ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYCORE, 0x09)
+
+/**
+ * Insufficient memory to perform the operation.
+ */
+#define ZYAN_STATUS_NOT_ENOUGH_MEMORY \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYCORE, 0x0A)
+
+/**
+ * An unknown error occurred during a system function call.
+ */
+#define ZYAN_STATUS_BAD_SYSTEMCALL \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYCORE, 0x0B)
+
+/**
+ * The process ran out of resources while performing an operation.
+ */
+#define ZYAN_STATUS_OUT_OF_RESOURCES \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYCORE, 0x0C)
+
+/**
+ * A dependency library was not found or does have an unexpected version number or
+ * feature-set.
+ */
+#define ZYAN_STATUS_MISSING_DEPENDENCY \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYCORE, 0x0D)
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Status codes (arg parse)                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Argument was not expected.
+ */
+#define ZYAN_STATUS_ARG_NOT_UNDERSTOOD \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ARGPARSE, 0x00)
+
+/**
+ * Too few arguments were provided.
+ */
+#define ZYAN_STATUS_TOO_FEW_ARGS \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ARGPARSE, 0x01)
+
+/**
+ * Too many arguments were provided.
+ */
+#define ZYAN_STATUS_TOO_MANY_ARGS \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ARGPARSE, 0x02)
+
+/**
+ * An argument that expected a value misses its value.
+ */
+#define ZYAN_STATUS_ARG_MISSES_VALUE \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ARGPARSE, 0x03)
+
+/**
+* A required argument is missing.
+*/
+#define ZYAN_STATUS_REQUIRED_ARG_MISSING \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ARGPARSE, 0x04)
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYCORE_STATUS_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/String.h b/external/zydis/dependencies/zycore/include/Zycore/String.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/String.h
@@ -0,0 +1,1012 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Implements a string type.
+ */
+
+#ifndef ZYCORE_STRING_H
+#define ZYCORE_STRING_H
+
+#include <ZycoreExportConfig.h>
+#include <Zycore/Allocator.h>
+#include <Zycore/Status.h>
+#include <Zycore/Types.h>
+#include <Zycore/Vector.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Constants                                                                                      */
+/* ============================================================================================== */
+
+/**
+ * The initial minimum capacity (number of characters) for all dynamically allocated
+ * string instances - not including the terminating '\0'-character.
+ */
+#define ZYAN_STRING_MIN_CAPACITY                32
+
+/**
+ * The default growth factor for all string instances.
+ */
+#define ZYAN_STRING_DEFAULT_GROWTH_FACTOR       2.00f
+
+/**
+ * The default shrink threshold for all string instances.
+ */
+#define ZYAN_STRING_DEFAULT_SHRINK_THRESHOLD    0.25f
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* String flags                                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZyanStringFlags` datatype.
+ */
+typedef ZyanU8 ZyanStringFlags;
+
+/**
+ * The string uses a custom user-defined buffer with a fixed capacity.
+ */
+#define ZYAN_STRING_HAS_FIXED_CAPACITY  0x01 // (1 << 0)
+
+/* ---------------------------------------------------------------------------------------------- */
+/* String                                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZyanString` struct.
+ *
+ * The `ZyanString` type is implemented as a size-prefixed string - which allows for a lot of
+ * performance optimizations.
+ * Nevertheless null-termination is guaranteed at all times to provide maximum compatibility with
+ * default C-style strings (use `ZyanStringGetData` to access the C-style string).
+ *
+ * All fields in this struct should be considered as "private". Any changes may lead to unexpected
+ * behavior.
+ */
+typedef struct ZyanString_
+{
+    /**
+     * String flags.
+     */
+    ZyanStringFlags flags;
+    /**
+     * The vector that contains the actual string.
+     */
+    ZyanVector vector;
+} ZyanString;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* View                                                                                           */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZyanStringView` struct.
+ *
+ * The `ZyanStringView` type provides a view inside a string (`ZyanString` instances, null-
+ * terminated C-style strings, or even not-null-terminated custom strings). A view is immutable
+ * by design and can't be directly converted to a C-style string.
+ *
+ * Views might become invalid (e.g. pointing to invalid memory), if the underlying string gets
+ * destroyed or resized.
+ *
+ * The `ZYAN_STRING_TO_VIEW` macro can be used to cast a `ZyanString` to a `ZyanStringView` pointer
+ * without any runtime overhead.
+ * Casting a view to a normal string is not supported and will lead to unexpected behavior (use
+ * `ZyanStringDuplicate` to create a deep-copy instead).
+ *
+ * All fields in this struct should be considered as "private". Any changes may lead to unexpected
+ * behavior.
+ */
+typedef struct ZyanStringView_
+{
+    /**
+     * The string data.
+     *
+     * The view internally re-uses the normal string struct to allow casts without any runtime
+     * overhead.
+     */
+    ZyanString string;
+} ZyanStringView;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Macros                                                                                         */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* General                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines an uninitialized `ZyanString` instance.
+ */
+#define ZYAN_STRING_INITIALIZER \
+    { \
+        /* flags  */ 0, \
+        /* vector */ ZYAN_VECTOR_INITIALIZER \
+    }
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Helper macros                                                                                  */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Casts a `ZyanString` pointer to a constant `ZyanStringView` pointer.
+ */
+#define ZYAN_STRING_TO_VIEW(string) (const ZyanStringView*)(string)
+
+/**
+ * Defines a `ZyanStringView` struct that provides a view into a static C-style string.
+ *
+ * @param   string  The C-style string.
+ */
+#define ZYAN_DEFINE_STRING_VIEW(string) \
+    { \
+        /* string */ \
+        { \
+            /* flags  */ 0, \
+            /* vector */ \
+            { \
+                /* allocator        */ ZYAN_NULL, \
+                /* growth_factor    */ 1.0f, \
+                /* shrink_threshold */ 0.0f, \
+                /* size             */ sizeof(string), \
+                /* capacity         */ sizeof(string), \
+                /* element_size     */ sizeof(char), \
+                /* destructor       */ ZYAN_NULL, \
+                /* data             */ (char*)(string) \
+            } \
+        } \
+    }
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Constructor and destructor                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYAN_NO_LIBC
+
+/**
+ * Initializes the given `ZyanString` instance.
+ *
+ * @param   string          A pointer to the `ZyanString` instance.
+ * @param   capacity        The initial capacity (number of characters).
+ *
+ * @return  A zyan status code.
+ *
+ * The memory for the string is dynamically allocated by the default allocator using the default
+ * growth factor of `2.0f` and the default shrink threshold of `0.25f`.
+ *
+ * The allocated buffer will be at least one character larger than the given `capacity`, to reserve
+ * space for the terminating '\0'.
+ *
+ * Finalization with `ZyanStringDestroy` is required for all strings created by this function.
+ */
+ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanStringInit(ZyanString* string, ZyanUSize capacity);
+
+#endif // ZYAN_NO_LIBC
+
+/**
+ * Initializes the given `ZyanString` instance and sets a custom `allocator` and memory
+ * allocation/deallocation parameters.
+ *
+ * @param   string              A pointer to the `ZyanString` instance.
+ * @param   capacity            The initial capacity (number of characters).
+ * @param   allocator           A pointer to a `ZyanAllocator` instance.
+ * @param   growth_factor       The growth factor (from `1.0f` to `x.xf`).
+ * @param   shrink_threshold    The shrink threshold (from `0.0f` to `1.0f`).
+ *
+ * @return  A zyan status code.
+ *
+ * A growth factor of `1.0f` disables overallocation and a shrink threshold of `0.0f` disables
+ * dynamic shrinking.
+ *
+ * The allocated buffer will be at least one character larger than the given `capacity`, to reserve
+ * space for the terminating '\0'.
+ *
+ * Finalization with `ZyanStringDestroy` is required for all strings created by this function.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringInitEx(ZyanString* string, ZyanUSize capacity,
+    ZyanAllocator* allocator, float growth_factor, float shrink_threshold);
+
+/**
+ * Initializes the given `ZyanString` instance and configures it to use a custom user
+ * defined buffer with a fixed size.
+ *
+ * @param   string          A pointer to the `ZyanString` instance.
+ * @param   buffer          A pointer to the buffer that is used as storage for the string.
+ * @param   capacity        The maximum capacity (number of characters) of the buffer, including
+ *                          the terminating '\0'.
+ *
+ * @return  A zyan status code.
+ *
+ * Finalization is not required for strings created by this function.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringInitCustomBuffer(ZyanString* string, char* buffer,
+    ZyanUSize capacity);
+
+/**
+ * Destroys the given `ZyanString` instance.
+ *
+ * @param   string  A pointer to the `ZyanString` instance.
+ *
+ * @return  A zyan status code.
+ *
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringDestroy(ZyanString* string);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Duplication                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYAN_NO_LIBC
+
+/**
+ * Initializes a new `ZyanString` instance by duplicating an existing string.
+ *
+ * @param   destination A pointer to the (uninitialized) destination `ZyanString` instance.
+ * @param   source      A pointer to the source string.
+ * @param   capacity    The initial capacity (number of characters).
+ *
+ *                      This value is automatically adjusted to the size of the source string, if
+ *                      a smaller value was passed.
+ *
+ * @return  A zyan status code.
+ *
+ * The behavior of this function is undefined, if `source` is a view into the `destination`
+ * string or `destination` points to an already initialized `ZyanString` instance.
+ *
+ * The memory for the string is dynamically allocated by the default allocator using the default
+ * growth factor of `2.0f` and the default shrink threshold of `0.25f`.
+ *
+ * The allocated buffer will be at least one character larger than the given `capacity`, to reserve
+ * space for the terminating '\0'.
+ *
+ * Finalization with `ZyanStringDestroy` is required for all strings created by this function.
+ */
+ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanStringDuplicate(ZyanString* destination,
+    const ZyanStringView* source, ZyanUSize capacity);
+
+#endif // ZYAN_NO_LIBC
+
+/**
+ * Initializes a new `ZyanString` instance by duplicating an existing string and sets a
+ * custom `allocator` and memory allocation/deallocation parameters.
+ *
+ * @param   destination         A pointer to the (uninitialized) destination `ZyanString` instance.
+ * @param   source              A pointer to the source string.
+ * @param   capacity            The initial capacity (number of characters).
+
+ *                              This value is automatically adjusted to the size of the source
+ *                              string, if a smaller value was passed.
+ * @param   allocator           A pointer to a `ZyanAllocator` instance.
+ * @param   growth_factor       The growth factor (from `1.0f` to `x.xf`).
+ * @param   shrink_threshold    The shrink threshold (from `0.0f` to `1.0f`).
+ *
+ * @return  A zyan status code.
+ *
+ * The behavior of this function is undefined, if `source` is a view into the `destination`
+ * string or `destination` points to an already initialized `ZyanString` instance.
+ *
+ * A growth factor of `1.0f` disables overallocation and a shrink threshold of `0.0f` disables
+ * dynamic shrinking.
+ *
+ * The allocated buffer will be at least one character larger than the given `capacity`, to reserve
+ * space for the terminating '\0'.
+ *
+ * Finalization with `ZyanStringDestroy` is required for all strings created by this function.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringDuplicateEx(ZyanString* destination,
+    const ZyanStringView* source, ZyanUSize capacity, ZyanAllocator* allocator,
+    float growth_factor, float shrink_threshold);
+
+/**
+ * Initializes a new `ZyanString` instance by duplicating an existing string and
+ * configures it to use a custom user defined buffer with a fixed size.
+ *
+ * @param   destination A pointer to the (uninitialized) destination `ZyanString` instance.
+ * @param   source      A pointer to the source string.
+ * @param   buffer      A pointer to the buffer that is used as storage for the string.
+ * @param   capacity    The maximum capacity (number of characters) of the buffer, including the
+ *                      terminating '\0'.
+
+ *                      This function will fail, if the capacity of the buffer is less or equal to
+ *                      the size of the source string.
+ *
+ * @return  A zyan status code.
+ *
+ * The behavior of this function is undefined, if `source` is a view into the `destination`
+ * string or `destination` points to an already initialized `ZyanString` instance.
+ *
+ * Finalization is not required for strings created by this function.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringDuplicateCustomBuffer(ZyanString* destination,
+    const ZyanStringView* source, char* buffer, ZyanUSize capacity);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Concatenation                                                                                  */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYAN_NO_LIBC
+
+/**
+ * Initializes a new `ZyanString` instance by concatenating two existing strings.
+ *
+ * @param   destination A pointer to the (uninitialized) destination `ZyanString` instance.
+ *
+ *                      This function will fail, if the destination `ZyanString` instance equals
+ *                      one of the source strings.
+ * @param   s1          A pointer to the first source string.
+ * @param   s2          A pointer to the second source string.
+ * @param   capacity    The initial capacity (number of characters).
+
+ *                      This value is automatically adjusted to the combined size of the source
+ *                      strings, if a smaller value was passed.
+ *
+ * @return  A zyan status code.
+ *
+ * The behavior of this function is undefined, if `s1` or `s2` are views into the `destination`
+ * string or `destination` points to an already initialized `ZyanString` instance.
+ *
+ * The memory for the string is dynamically allocated by the default allocator using the default
+ * growth factor of `2.0f` and the default shrink threshold of `0.25f`.
+ *
+ * The allocated buffer will be at least one character larger than the given `capacity`, to reserve
+ * space for the terminating '\0'.
+ *
+ * Finalization with `ZyanStringDestroy` is required for all strings created by this function.
+ */
+ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanStringConcat(ZyanString* destination,
+    const ZyanStringView* s1, const ZyanStringView* s2, ZyanUSize capacity);
+
+#endif // ZYAN_NO_LIBC
+
+/**
+ * Initializes a new `ZyanString` instance by concatenating two existing strings and sets
+ * a custom `allocator` and memory allocation/deallocation parameters.
+ *
+ * @param   destination         A pointer to the (uninitialized) destination `ZyanString` instance.
+ *
+ *                              This function will fail, if the destination `ZyanString` instance
+ *                              equals one of the source strings.
+ * @param   s1                  A pointer to the first source string.
+ * @param   s2                  A pointer to the second source string.
+ * @param   capacity            The initial capacity (number of characters).
+ *
+ *                              This value is automatically adjusted to the combined size of the
+ *                              source strings, if a smaller value was passed.
+ * @param   allocator           A pointer to a `ZyanAllocator` instance.
+ * @param   growth_factor       The growth factor (from `1.0f` to `x.xf`).
+ * @param   shrink_threshold    The shrink threshold (from `0.0f` to `1.0f`).
+ *
+ * @return  A zyan status code.
+ *
+ * The behavior of this function is undefined, if `s1` or `s2` are views into the `destination`
+ * string or `destination` points to an already initialized `ZyanString` instance.
+ *
+ * A growth factor of `1.0f` disables overallocation and a shrink threshold of `0.0f` disables
+ * dynamic shrinking.
+ *
+ * The allocated buffer will be at least one character larger than the given `capacity`, to reserve
+ * space for the terminating '\0'.
+ *
+ * Finalization with `ZyanStringDestroy` is required for all strings created by this function.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringConcatEx(ZyanString* destination, const ZyanStringView* s1,
+    const ZyanStringView* s2, ZyanUSize capacity, ZyanAllocator* allocator, float growth_factor,
+    float shrink_threshold);
+
+/**
+ * Initializes a new `ZyanString` instance by concatenating two existing strings and
+ * configures it to use a custom user defined buffer with a fixed size.
+ *
+ * @param   destination A pointer to the (uninitialized) destination `ZyanString` instance.
+ *
+ *                      This function will fail, if the destination `ZyanString` instance equals
+ *                      one of the source strings.
+ * @param   s1          A pointer to the first source string.
+ * @param   s2          A pointer to the second source string.
+ * @param   buffer      A pointer to the buffer that is used as storage for the string.
+ * @param   capacity    The maximum capacity (number of characters) of the buffer.
+ *
+ *                      This function will fail, if the capacity of the buffer is less or equal to
+ *                      the combined size of the source strings.
+ *
+ * @return  A zyan status code.
+ *
+ * The behavior of this function is undefined, if `s1` or `s2` are views into the `destination`
+ * string or `destination` points to an already initialized `ZyanString` instance.
+ *
+ * Finalization is not required for strings created by this function.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringConcatCustomBuffer(ZyanString* destination,
+    const ZyanStringView* s1, const ZyanStringView* s2, char* buffer, ZyanUSize capacity);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Views                                                                                          */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns a view inside an existing view/string.
+ *
+ * @param   view    A pointer to the `ZyanStringView` instance.
+ * @param   source  A pointer to the source string.
+ *
+ * @return  A zyan status code.
+ *
+ * The `ZYAN_STRING_TO_VEW` macro can be used to pass any `ZyanString` instance as value for the
+ * `source` string.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringViewInsideView(ZyanStringView* view,
+    const ZyanStringView* source);
+
+/**
+ * Returns a view inside an existing view/string starting from the given `index`.
+ *
+ * @param   view    A pointer to the `ZyanStringView` instance.
+ * @param   source  A pointer to the source string.
+ * @param   index   The start index.
+ * @param   count   The number of characters.
+ *
+ * @return  A zyan status code.
+ *
+ * The `ZYAN_STRING_TO_VEW` macro can be used to pass any `ZyanString` instance as value for the
+ * `source` string.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringViewInsideViewEx(ZyanStringView* view,
+    const ZyanStringView* source, ZyanUSize index, ZyanUSize count);
+
+/**
+ * Returns a view inside a null-terminated C-style string.
+ *
+ * @param   view    A pointer to the `ZyanStringView` instance.
+ * @param   string  The C-style string.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringViewInsideBuffer(ZyanStringView* view, const char* string);
+
+/**
+ * Returns a view inside a character buffer with custom length.
+ *
+ * @param   view    A pointer to the `ZyanStringView` instance.
+ * @param   buffer  A pointer to the buffer containing the string characters.
+ * @param   length  The length of the string (number of characters).
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringViewInsideBufferEx(ZyanStringView* view, const char* buffer,
+    ZyanUSize length);
+
+/**
+ * Returns the size (number of characters) of the view.
+ *
+ * @param   view    A pointer to the `ZyanStringView` instance.
+ * @param   size    Receives the size (number of characters) of the view.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringViewGetSize(const ZyanStringView* view, ZyanUSize* size);
+
+/**
+ * Returns the C-style string of the given `ZyanString` instance.
+ *
+ * @warning The string is not guaranteed to be null terminated!
+ *
+ * @param   string  A pointer to the `ZyanStringView` instance.
+ * @param   value   Receives a pointer to the C-style string.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringViewGetData(const ZyanStringView* view, const char** buffer);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Character access                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the character at the given `index`.
+ *
+ * @param   string  A pointer to the `ZyanStringView` instance.
+ * @param   index   The character index.
+ * @param   value   Receives the desired character of the string.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringGetChar(const ZyanStringView* string, ZyanUSize index,
+    char* value);
+
+/**
+ * Returns a pointer to the character at the given `index`.
+ *
+ * @param   string  A pointer to the `ZyanString` instance.
+ * @param   index   The character index.
+ * @param   value   Receives a pointer to the desired character in the string.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringGetCharMutable(ZyanString* string, ZyanUSize index,
+    char** value);
+
+/**
+ * Assigns a new value to the character at the given `index`.
+ *
+ * @param   string  A pointer to the `ZyanString` instance.
+ * @param   index   The character index.
+ * @param   value   The character to assign.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringSetChar(ZyanString* string, ZyanUSize index, char value);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Insertion                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Inserts the content of the source string in the destination string at the given `index`.
+ *
+ * @param   destination The destination string.
+ * @param   index       The insert index.
+ * @param   source      The source string.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringInsert(ZyanString* destination, ZyanUSize index,
+    const ZyanStringView* source);
+
+/**
+ * Inserts `count` characters of the source string in the destination string at the given
+ * `index`.
+ *
+ * @param   destination         The destination string.
+ * @param   destination_index   The insert index.
+ * @param   source              The source string.
+ * @param   source_index        The index of the first character to be inserted from the source
+ *                              string.
+ * @param   count               The number of chars to insert from the source string.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringInsertEx(ZyanString* destination, ZyanUSize destination_index,
+    const ZyanStringView* source, ZyanUSize source_index, ZyanUSize count);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Appending                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Appends the content of the source string to the end of the destination string.
+ *
+ * @param   destination The destination string.
+ * @param   source      The source string.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringAppend(ZyanString* destination, const ZyanStringView* source);
+
+/**
+ * Appends `count` characters of the source string to the end of the destination string.
+ *
+ * @param   destination     The destination string.
+ * @param   source          The source string.
+ * @param   source_index    The index of the first character to be appended from the source string.
+ * @param   count           The number of chars to append from the source string.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringAppendEx(ZyanString* destination, const ZyanStringView* source,
+    ZyanUSize source_index, ZyanUSize count);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Deletion                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Deletes characters from the given string, starting at `index`.
+ *
+ * @param   string  A pointer to the `ZyanString` instance.
+ * @param   index   The index of the first character to delete.
+ * @param   count   The number of characters to delete.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringDelete(ZyanString* string, ZyanUSize index, ZyanUSize count);
+
+/**
+ * Deletes all remaining characters from the given string, starting at `index`.
+ *
+ * @param   string  A pointer to the `ZyanString` instance.
+ * @param   index   The index of the first character to delete.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringTruncate(ZyanString* string, ZyanUSize index);
+
+/**
+ * Erases the given string.
+ *
+ * @param   string  A pointer to the `ZyanString` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringClear(ZyanString* string);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Searching                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Searches for the first occurrence of `needle` in the given `haystack` starting from the
+ * left.
+ *
+ * @param   haystack    The string to search in.
+ * @param   needle      The sub-string to search for.
+ * @param   found_index A pointer to a variable that receives the index of the first occurrence of
+ *                      `needle`.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another
+ *          zyan status code, if an error occured.
+ *
+ * The `found_index` is set to `-1`, if the needle was not found.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringLPos(const ZyanStringView* haystack,
+    const ZyanStringView* needle, ZyanISize* found_index);
+
+/**
+ * Searches for the first occurrence of `needle` in the given `haystack` starting from the
+ * left.
+ *
+ * @param   haystack    The string to search in.
+ * @param   needle      The sub-string to search for.
+ * @param   found_index A pointer to a variable that receives the index of the first occurrence of
+ *                      `needle`.
+ * @param   index       The start index.
+ * @param   count       The maximum number of characters to iterate, beginning from the start
+ *                      `index`.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another
+ *          zyan status code, if an error occured.
+ *
+ * The `found_index` is set to `-1`, if the needle was not found.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringLPosEx(const ZyanStringView* haystack,
+    const ZyanStringView* needle, ZyanISize* found_index, ZyanUSize index, ZyanUSize count);
+
+/**
+ * Performs a case-insensitive search for the first occurrence of `needle` in the given
+ * `haystack` starting from the left.
+ *
+ * @param   haystack    The string to search in.
+ * @param   needle      The sub-string to search for.
+ * @param   found_index A pointer to a variable that receives the index of the first occurrence of
+ *                      `needle`.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another
+ *          zyan status code, if an error occured.
+ *
+ * The `found_index` is set to `-1`, if the needle was not found.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringLPosI(const ZyanStringView* haystack,
+    const ZyanStringView* needle, ZyanISize* found_index);
+
+/**
+ * Performs a case-insensitive search for the first occurrence of `needle` in the given
+ * `haystack` starting from the left.
+ *
+ * @param   haystack    The string to search in.
+ * @param   needle      The sub-string to search for.
+ * @param   found_index A pointer to a variable that receives the index of the first occurrence of
+ *                      `needle`.
+ * @param   index       The start index.
+ * @param   count       The maximum number of characters to iterate, beginning from the start
+ *                      `index`.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another
+ *          zyan status code, if an error occured.
+ *
+ * The `found_index` is set to `-1`, if the needle was not found.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringLPosIEx(const ZyanStringView* haystack,
+    const ZyanStringView* needle, ZyanISize* found_index, ZyanUSize index, ZyanUSize count);
+
+/**
+ * Searches for the first occurrence of `needle` in the given `haystack` starting from the
+ * right.
+ *
+ * @param   haystack    The string to search in.
+ * @param   needle      The sub-string to search for.
+ * @param   found_index A pointer to a variable that receives the index of the first occurrence of
+ *                      `needle`.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another
+ *          zyan status code, if an error occured.
+ *
+ * The `found_index` is set to `-1`, if the needle was not found.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringRPos(const ZyanStringView* haystack,
+    const ZyanStringView* needle, ZyanISize* found_index);
+
+/**
+ * Searches for the first occurrence of `needle` in the given `haystack` starting from the
+ *          right.
+ *
+ * @param   haystack    The string to search in.
+ * @param   needle      The sub-string to search for.
+ * @param   found_index A pointer to a variable that receives the index of the first occurrence of
+ *                      `needle`.
+ * @param   index       The start index.
+ * @param   count       The maximum number of characters to iterate, beginning from the start
+ *                      `index`.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another
+ *          zyan status code, if an error occured.
+ *
+ * The `found_index` is set to `-1`, if the needle was not found.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringRPosEx(const ZyanStringView* haystack,
+    const ZyanStringView* needle, ZyanISize* found_index, ZyanUSize index, ZyanUSize count);
+
+/**
+ * Performs a case-insensitive search for the first occurrence of `needle` in the given
+ * `haystack` starting from the right.
+ *
+ * @param   haystack    The string to search in.
+ * @param   needle      The sub-string to search for.
+ * @param   found_index A pointer to a variable that receives the index of the first occurrence of
+ *                      `needle`.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another
+ *          zyan status code, if an error occured.
+ *
+ * The `found_index` is set to `-1`, if the needle was not found.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringRPosI(const ZyanStringView* haystack,
+    const ZyanStringView* needle, ZyanISize* found_index);
+
+/**
+ * Performs a case-insensitive search for the first occurrence of `needle` in the given
+ * `haystack` starting from the right.
+ *
+ * @param   haystack    The string to search in.
+ * @param   needle      The sub-string to search for.
+ * @param   found_index A pointer to a variable that receives the index of the first occurrence of
+ *                      `needle`.
+ * @param   index       The start index.
+ * @param   count       The maximum number of characters to iterate, beginning from the start
+ *                      `index`.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if the needle was found, `ZYAN_STATUS_FALSE`, if not, or another
+ *          zyan status code, if an error occured.
+ *
+ * The `found_index` is set to `-1`, if the needle was not found.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringRPosIEx(const ZyanStringView* haystack,
+    const ZyanStringView* needle, ZyanISize* found_index, ZyanUSize index, ZyanUSize count);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Comparing                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Compares two strings.
+ *
+ * @param   s1      The first string
+ * @param   s2      The second string.
+ * @param   result  Receives the comparison result.
+ *
+ *                  Values:
+ *                  - `result  < 0` -> The first character that does not match has a lower value
+ *                    in `s1` than in `s2`.
+ *                  - `result == 0` -> The contents of both strings are equal.
+ *                  - `result  > 0` -> The first character that does not match has a greater value
+ *                    in `s1` than in `s2`.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if the strings are equal, `ZYAN_STATUS_FALSE`, if not, or another
+ *          zyan status code, if an error occured.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringCompare(const ZyanStringView* s1, const ZyanStringView* s2,
+    ZyanI32* result);
+
+/**
+ * Performs a case-insensitive comparison of two strings.
+ *
+ * @param   s1      The first string
+ * @param   s2      The second string.
+ * @param   result  Receives the comparison result.
+ *
+ *                  Values:
+ *                  - `result  < 0` -> The first character that does not match has a lower value
+ *                    in `s1` than in `s2`.
+ *                  - `result == 0` -> The contents of both strings are equal.
+ *                  - `result  > 0` -> The first character that does not match has a greater value
+ *                    in `s1` than in `s2`.
+ *
+ * @return  `ZYAN_STATUS_TRUE`, if the strings are equal, `ZYAN_STATUS_FALSE`, if not, or another
+ *          zyan status code, if an error occured.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringCompareI(const ZyanStringView* s1, const ZyanStringView* s2,
+    ZyanI32* result);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Case conversion                                                                                */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Converts the given string to lowercase letters.
+ *
+ * @param   string      A pointer to the `ZyanString` instance.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringToLowerCase(ZyanString* string);
+
+/**
+ * Converts `count` characters of the given string to lowercase letters.
+ *
+ * @param   string  A pointer to the `ZyanString` instance.
+ * @param   index   The start index.
+ * @param   count   The number of characters to convert, beginning from the start `index`.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringToLowerCaseEx(ZyanString* string, ZyanUSize index,
+    ZyanUSize count);
+
+/**
+ * Converts the given string to uppercase letters.
+ *
+ * @param   string      A pointer to the `ZyanString` instance.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringToUpperCase(ZyanString* string);
+
+/**
+ * Converts `count` characters of the given string to uppercase letters.
+ *
+ * @param   string  A pointer to the `ZyanString` instance.
+ * @param   index   The start index.
+ * @param   count   The number of characters to convert, beginning from the start `index`.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringToUpperCaseEx(ZyanString* string, ZyanUSize index,
+    ZyanUSize count);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Memory management                                                                              */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Resizes the given `ZyanString` instance.
+ *
+ * @param   string  A pointer to the `ZyanString` instance.
+ * @param   size    The new size of the string.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringResize(ZyanString* string, ZyanUSize size);
+
+/**
+ * Changes the capacity of the given `ZyanString` instance.
+ *
+ * @param   string      A pointer to the `ZyanString` instance.
+ * @param   capacity    The new minimum capacity of the string.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringReserve(ZyanString* string, ZyanUSize capacity);
+
+/**
+ * Shrinks the capacity of the given string to match it's size.
+ *
+ * @param   string  A pointer to the `ZyanString` instance.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringShrinkToFit(ZyanString* string);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Information                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the current capacity of the string.
+ *
+ * @param   string      A pointer to the `ZyanString` instance.
+ * @param   capacity    Receives the size of the string.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringGetCapacity(const ZyanString* string, ZyanUSize* capacity);
+
+/**
+ * Returns the current size (number of characters) of the string (excluding the
+ * terminating zero character).
+ *
+ * @param   string  A pointer to the `ZyanString` instance.
+ * @param   size    Receives the size (number of characters) of the string.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringGetSize(const ZyanString* string, ZyanUSize* size);
+
+/**
+ * Returns the C-style string of the given `ZyanString` instance.
+ *
+ * @param   string  A pointer to the `ZyanString` instance.
+ * @param   value   Receives a pointer to the C-style string.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanStringGetData(const ZyanString* string, const char** value);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ZYCORE_STRING_H
diff --git a/external/zydis/dependencies/zycore/include/Zycore/Types.h b/external/zydis/dependencies/zycore/include/Zycore/Types.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/Types.h
@@ -0,0 +1,195 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zyan-C)
+
+  Original Author : Florian Bernd, Joel Hoener
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Includes and defines some default data types.
+ */
+
+#ifndef ZYCORE_TYPES_H
+#define ZYCORE_TYPES_H
+
+#include <Zycore/Defines.h>
+
+/* ============================================================================================== */
+/* Integer types                                                                                  */
+/* ============================================================================================== */
+
+#if defined(ZYAN_NO_LIBC) || \
+    (defined(ZYAN_MSVC) && defined(ZYAN_KERNEL)) // The WDK LibC lacks stdint.h.
+    // No LibC mode, use compiler built-in types / macros.
+#   if defined(ZYAN_MSVC) || defined(ZYAN_ICC)
+        typedef unsigned __int8  ZyanU8;
+        typedef unsigned __int16 ZyanU16;
+        typedef unsigned __int32 ZyanU32;
+        typedef unsigned __int64 ZyanU64;
+        typedef   signed __int8  ZyanI8;
+        typedef   signed __int16 ZyanI16;
+        typedef   signed __int32 ZyanI32;
+        typedef   signed __int64 ZyanI64;
+#       if _WIN64
+           typedef ZyanU64       ZyanUSize;
+           typedef ZyanI64       ZyanISize;
+           typedef ZyanU64       ZyanUPointer;
+           typedef ZyanI64       ZyanIPointer;
+#       else
+           typedef ZyanU32       ZyanUSize;
+           typedef ZyanI32       ZyanISize;
+           typedef ZyanU32       ZyanUPointer;
+           typedef ZyanI32       ZyanIPointer;
+#       endif
+#   elif defined(ZYAN_GNUC)
+        typedef __UINT8_TYPE__   ZyanU8;
+        typedef __UINT16_TYPE__  ZyanU16;
+        typedef __UINT32_TYPE__  ZyanU32;
+        typedef __UINT64_TYPE__  ZyanU64;
+        typedef __INT8_TYPE__    ZyanI8;
+        typedef __INT16_TYPE__   ZyanI16;
+        typedef __INT32_TYPE__   ZyanI32;
+        typedef __INT64_TYPE__   ZyanI64;
+        typedef __SIZE_TYPE__    ZyanUSize;
+        typedef __PTRDIFF_TYPE__ ZyanISize;
+        typedef __UINTPTR_TYPE__ ZyanUPointer;
+        typedef __INTPTR_TYPE__  ZyanIPointer;
+#   else
+#       error "Unsupported compiler for no-libc mode."
+#   endif
+#else
+    // If is LibC present, we use stdint types.
+#   include <stdint.h>
+#   include <stddef.h>
+    typedef uint8_t   ZyanU8;
+    typedef uint16_t  ZyanU16;
+    typedef uint32_t  ZyanU32;
+    typedef uint64_t  ZyanU64;
+    typedef int8_t    ZyanI8;
+    typedef int16_t   ZyanI16;
+    typedef int32_t   ZyanI32;
+    typedef int64_t   ZyanI64;
+    typedef size_t    ZyanUSize;
+    typedef ptrdiff_t ZyanISize;
+    typedef uintptr_t ZyanUPointer;
+    typedef intptr_t  ZyanIPointer;
+#endif
+
+// Verify size assumptions.
+ZYAN_STATIC_ASSERT(sizeof(ZyanU8      ) == 1            );
+ZYAN_STATIC_ASSERT(sizeof(ZyanU16     ) == 2            );
+ZYAN_STATIC_ASSERT(sizeof(ZyanU32     ) == 4            );
+ZYAN_STATIC_ASSERT(sizeof(ZyanU64     ) == 8            );
+ZYAN_STATIC_ASSERT(sizeof(ZyanI8      ) == 1            );
+ZYAN_STATIC_ASSERT(sizeof(ZyanI16     ) == 2            );
+ZYAN_STATIC_ASSERT(sizeof(ZyanI32     ) == 4            );
+ZYAN_STATIC_ASSERT(sizeof(ZyanI64     ) == 8            );
+ZYAN_STATIC_ASSERT(sizeof(ZyanUSize   ) == sizeof(void*)); // TODO: This one is incorrect!
+ZYAN_STATIC_ASSERT(sizeof(ZyanISize   ) == sizeof(void*)); // TODO: This one is incorrect!
+ZYAN_STATIC_ASSERT(sizeof(ZyanUPointer) == sizeof(void*));
+ZYAN_STATIC_ASSERT(sizeof(ZyanIPointer) == sizeof(void*));
+
+// Verify signedness assumptions (relies on size checks above).
+ZYAN_STATIC_ASSERT((ZyanI8 )-1 >> 1 < (ZyanI8 )((ZyanU8 )-1 >> 1));
+ZYAN_STATIC_ASSERT((ZyanI16)-1 >> 1 < (ZyanI16)((ZyanU16)-1 >> 1));
+ZYAN_STATIC_ASSERT((ZyanI32)-1 >> 1 < (ZyanI32)((ZyanU32)-1 >> 1));
+ZYAN_STATIC_ASSERT((ZyanI64)-1 >> 1 < (ZyanI64)((ZyanU64)-1 >> 1));
+
+/* ============================================================================================== */
+/* Pointer                                                                                        */
+/* ============================================================================================== */
+
+/**
+ * Defines the `ZyanVoidPointer` data-type.
+ */
+typedef char* ZyanVoidPointer;
+
+/**
+ * Defines the `ZyanConstVoidPointer` data-type.
+ */
+typedef const void* ZyanConstVoidPointer;
+
+#define ZYAN_NULL ((void*)0)
+
+/* ============================================================================================== */
+/* Logic types                                                                                    */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Boolean                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+#define ZYAN_FALSE 0
+#define ZYAN_TRUE  1
+
+/**
+ * Defines the `ZyanBool` data-type.
+ *
+ * Represents a default boolean data-type where `0` is interpreted as `false` and all other values
+ * as `true`.
+ */
+typedef ZyanU8 ZyanBool;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Ternary                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZyanTernary` data-type.
+ *
+ * The `ZyanTernary` is a balanced ternary type that uses three truth values indicating `true`,
+ * `false` and an indeterminate third value.
+ */
+typedef ZyanI8 ZyanTernary;
+
+#define ZYAN_TERNARY_FALSE    (-1)
+#define ZYAN_TERNARY_UNKNOWN  0x00
+#define ZYAN_TERNARY_TRUE     0x01
+
+/* ============================================================================================== */
+/* String types                                                                                   */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* C-style strings                                                                                */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZyanCharPointer` data-type.
+ *
+ * This type is most often used to represent null-terminated strings aka. C-style strings.
+ */
+typedef char* ZyanCharPointer;
+
+/**
+ * Defines the `ZyanConstCharPointer` data-type.
+ *
+ * This type is most often used to represent null-terminated strings aka. C-style strings.
+ */
+typedef const char* ZyanConstCharPointer;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#endif /* ZYCORE_TYPES_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/Vector.h b/external/zydis/dependencies/zycore/include/Zycore/Vector.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/Vector.h
@@ -0,0 +1,723 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Implements the vector container class.
+ */
+
+#ifndef ZYCORE_VECTOR_H
+#define ZYCORE_VECTOR_H
+
+#include <ZycoreExportConfig.h>
+#include <Zycore/Allocator.h>
+#include <Zycore/Comparison.h>
+#include <Zycore/Object.h>
+#include <Zycore/Status.h>
+#include <Zycore/Types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Constants                                                                                      */
+/* ============================================================================================== */
+
+/**
+ * The initial minimum capacity (number of elements) for all dynamically allocated vector
+ * instances.
+ */
+#define ZYAN_VECTOR_MIN_CAPACITY                1
+
+/**
+ * The default growth factor for all vector instances.
+ */
+#define ZYAN_VECTOR_DEFAULT_GROWTH_FACTOR       2.00f
+
+/**
+ * The default shrink threshold for all vector instances.
+ */
+#define ZYAN_VECTOR_DEFAULT_SHRINK_THRESHOLD    0.25f
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/**
+ * Defines the `ZyanVector` struct.
+ *
+ * All fields in this struct should be considered as "private". Any changes may lead to unexpected
+ * behavior.
+ */
+typedef struct ZyanVector_
+{
+    /**
+     * The memory allocator.
+     */
+    ZyanAllocator* allocator;
+    /**
+     * The growth factor.
+     */
+    float growth_factor;
+    /**
+     * The shrink threshold.
+     */
+    float shrink_threshold;
+    /**
+     * The current number of elements in the vector.
+     */
+    ZyanUSize size;
+    /**
+     * The maximum capacity (number of elements).
+     */
+    ZyanUSize capacity;
+    /**
+     * The size of a single element in bytes.
+     */
+    ZyanUSize element_size;
+    /**
+     * The element destructor callback.
+     */
+    ZyanMemberProcedure destructor;
+    /**
+     * The data pointer.
+     */
+    void* data;
+} ZyanVector;
+
+/* ============================================================================================== */
+/* Macros                                                                                         */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* General                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines an uninitialized `ZyanVector` instance.
+ */
+#define ZYAN_VECTOR_INITIALIZER \
+    { \
+        /* allocator        */ ZYAN_NULL, \
+        /* growth_factor    */ 0.0f, \
+        /* shrink_threshold */ 0.0f, \
+        /* size             */ 0, \
+        /* capacity         */ 0, \
+        /* element_size     */ 0, \
+        /* destructor       */ ZYAN_NULL, \
+        /* data             */ ZYAN_NULL \
+    }
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Helper macros                                                                                  */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the value of the element at the given `index`.
+ *
+ * @param   type    The desired value type.
+ * @param   vector  A pointer to the `ZyanVector` instance.
+ * @param   index   The element index.
+ *
+ * @result  The value of the desired element in the vector.
+ *
+ * Note that this function is unsafe and might dereference a null-pointer.
+ */
+#ifdef __cplusplus
+#define ZYAN_VECTOR_GET(type, vector, index) \
+    (*reinterpret_cast<const type*>(ZyanVectorGet(vector, index)))
+#else
+#define ZYAN_VECTOR_GET(type, vector, index) \
+    (*(const type*)ZyanVectorGet(vector, index))
+#endif
+
+/**
+ * Loops through all elements of the vector.
+ *
+ * @param   type        The desired value type.
+ * @param   vector      A pointer to the `ZyanVector` instance.
+ * @param   item_name   The name of the iterator item.
+ * @param   body        The body to execute for each item in the vector.
+ */
+#define ZYAN_VECTOR_FOREACH(type, vector, item_name, body) \
+    { \
+        const ZyanUSize ZYAN_MACRO_CONCAT_EXPAND(size_d50d3303, item_name) = (vector)->size; \
+        for (ZyanUSize ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name) = 0; \
+            ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name) < \
+            ZYAN_MACRO_CONCAT_EXPAND(size_d50d3303, item_name); \
+            ++ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name)) \
+        { \
+            const type item_name = ZYAN_VECTOR_GET(type, vector, \
+                ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name)); \
+            body \
+        } \
+    }
+
+/**
+ * Loops through all elements of the vector.
+ *
+ * @param   type        The desired value type.
+ * @param   vector      A pointer to the `ZyanVector` instance.
+ * @param   item_name   The name of the iterator item.
+ * @param   body        The body to execute for each item in the vector.
+ */
+#define ZYAN_VECTOR_FOREACH_MUTABLE(type, vector, item_name, body) \
+    { \
+        const ZyanUSize ZYAN_MACRO_CONCAT_EXPAND(size_d50d3303, item_name) = (vector)->size; \
+        for (ZyanUSize ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name) = 0; \
+            ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name) < \
+            ZYAN_MACRO_CONCAT_EXPAND(size_d50d3303, item_name); \
+            ++ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name)) \
+        { \
+            type* const item_name = ZyanVectorGetMutable(vector, \
+                ZYAN_MACRO_CONCAT_EXPAND(i_bfd62679, item_name)); \
+            body \
+        } \
+    }
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Constructor and destructor                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYAN_NO_LIBC
+
+/**
+ * Initializes the given `ZyanVector` instance.
+ *
+ * @param   vector          A pointer to the `ZyanVector` instance.
+ * @param   element_size    The size of a single element in bytes.
+ * @param   capacity        The initial capacity (number of elements).
+ * @param   destructor      A destructor callback that is invoked every time an item is deleted, or
+ *                          `ZYAN_NULL` if not needed.
+ *
+ * @return  A zyan status code.
+ *
+ * The memory for the vector elements is dynamically allocated by the default allocator using the
+ * default growth factor of `2.0f` and the default shrink threshold of `0.25f`.
+ *
+ * Finalization with `ZyanVectorDestroy` is required for all instances created by this function.
+ */
+ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanVectorInit(ZyanVector* vector,
+    ZyanUSize element_size, ZyanUSize capacity, ZyanMemberProcedure destructor);
+
+#endif // ZYAN_NO_LIBC
+
+/**
+ * Initializes the given `ZyanVector` instance and sets a custom `allocator` and memory
+ * allocation/deallocation parameters.
+ *
+ * @param   vector              A pointer to the `ZyanVector` instance.
+ * @param   element_size        The size of a single element in bytes.
+ * @param   capacity            The initial capacity (number of elements).
+ * @param   destructor          A destructor callback that is invoked every time an item is deleted,
+ *                              or `ZYAN_NULL` if not needed.
+ * @param   allocator           A pointer to a `ZyanAllocator` instance.
+ * @param   growth_factor       The growth factor (from `1.0f` to `x.xf`).
+ * @param   shrink_threshold    The shrink threshold (from `0.0f` to `1.0f`).
+ *
+ * @return  A zyan status code.
+ *
+ * A growth factor of `1.0f` disables overallocation and a shrink threshold of `0.0f` disables
+ * dynamic shrinking.
+ *
+ * Finalization with `ZyanVectorDestroy` is required for all instances created by this function.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorInitEx(ZyanVector* vector, ZyanUSize element_size,
+    ZyanUSize capacity, ZyanMemberProcedure destructor, ZyanAllocator* allocator,
+    float growth_factor, float shrink_threshold);
+
+/**
+ * Initializes the given `ZyanVector` instance and configures it to use a custom user
+ * defined buffer with a fixed size.
+ *
+ * @param   vector          A pointer to the `ZyanVector` instance.
+ * @param   element_size    The size of a single element in bytes.
+ * @param   buffer          A pointer to the buffer that is used as storage for the elements.
+ * @param   capacity        The maximum capacity (number of elements) of the buffer.
+ * @param   destructor      A destructor callback that is invoked every time an item is deleted, or
+ *                          `ZYAN_NULL` if not needed.
+ *
+ * @return  A zyan status code.
+ *
+ * Finalization is not required for instances created by this function.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorInitCustomBuffer(ZyanVector* vector, ZyanUSize element_size,
+    void* buffer, ZyanUSize capacity, ZyanMemberProcedure destructor);
+
+/**
+ * Destroys the given `ZyanVector` instance.
+ *
+ * @param   vector  A pointer to the `ZyanVector` instance..
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorDestroy(ZyanVector* vector);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Duplication                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYAN_NO_LIBC
+
+/**
+ * Initializes a new `ZyanVector` instance by duplicating an existing vector.
+ *
+ * @param   destination A pointer to the (uninitialized) destination `ZyanVector` instance.
+ * @param   source      A pointer to the source vector.
+ * @param   capacity    The initial capacity (number of elements).
+ *
+ *                      This value is automatically adjusted to the size of the source vector, if
+ *                      a smaller value was passed.
+ *
+ * @return  A zyan status code.
+ *
+ * The memory for the vector is dynamically allocated by the default allocator using the default
+ * growth factor of `2.0f` and the default shrink threshold of `0.25f`.
+ *
+ * Finalization with `ZyanVectorDestroy` is required for all instances created by this function.
+ */
+ZYCORE_EXPORT ZYAN_REQUIRES_LIBC ZyanStatus ZyanVectorDuplicate(ZyanVector* destination,
+    const ZyanVector* source, ZyanUSize capacity);
+
+#endif // ZYAN_NO_LIBC
+
+/**
+ * Initializes a new `ZyanVector` instance by duplicating an existing vector and sets a
+ * custom `allocator` and memory allocation/deallocation parameters.
+ *
+ * @param   destination         A pointer to the (uninitialized) destination `ZyanVector` instance.
+ * @param   source              A pointer to the source vector.
+ * @param   capacity            The initial capacity (number of elements).
+
+ *                              This value is automatically adjusted to the size of the source
+ *                              vector, if a smaller value was passed.
+ * @param   allocator           A pointer to a `ZyanAllocator` instance.
+ * @param   growth_factor       The growth factor (from `1.0f` to `x.xf`).
+ * @param   shrink_threshold    The shrink threshold (from `0.0f` to `1.0f`).
+ *
+ * @return  A zyan status code.
+ *
+ * A growth factor of `1.0f` disables overallocation and a shrink threshold of `0.0f` disables
+ * dynamic shrinking.
+ *
+ * Finalization with `ZyanVectorDestroy` is required for all instances created by this function.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorDuplicateEx(ZyanVector* destination, const ZyanVector* source,
+    ZyanUSize capacity, ZyanAllocator* allocator, float growth_factor, float shrink_threshold);
+
+/**
+ * Initializes a new `ZyanVector` instance by duplicating an existing vector and
+ * configures it to use a custom user defined buffer with a fixed size.
+ *
+ * @param   destination A pointer to the (uninitialized) destination `ZyanVector` instance.
+ * @param   source      A pointer to the source vector.
+ * @param   buffer      A pointer to the buffer that is used as storage for the elements.
+ * @param   capacity    The maximum capacity (number of elements) of the buffer.
+
+ *                      This function will fail, if the capacity of the buffer is less than the
+ *                      size of the source vector.
+ *
+ * @return  A zyan status code.
+ *
+ * Finalization is not required for instances created by this function.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorDuplicateCustomBuffer(ZyanVector* destination,
+    const ZyanVector* source, void* buffer, ZyanUSize capacity);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Element access                                                                                 */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns a constant pointer to the element at the given `index`.
+ *
+ * @param   vector      A pointer to the `ZyanVector` instance.
+ * @param   index       The element index.
+ *
+ * @return  A constant pointer to the desired element in the vector or `ZYAN_NULL`, if an error
+ *          occured.
+ *
+ * Note that the returned pointer might get invalid when the vector is resized by either a manual
+ * call to the memory-management functions or implicitly by inserting or removing elements.
+ *
+ * Take a look at `ZyanVectorGetPointer` instead, if you need a function that returns a zyan status
+ * code.
+ */
+ZYCORE_EXPORT const void* ZyanVectorGet(const ZyanVector* vector, ZyanUSize index);
+
+/**
+ * Returns a mutable pointer to the element at the given `index`.
+ *
+ * @param   vector      A pointer to the `ZyanVector` instance.
+ * @param   index       The element index.
+ *
+ * @return  A mutable pointer to the desired element in the vector or `ZYAN_NULL`, if an error
+ *          occured.
+ *
+ * Note that the returned pointer might get invalid when the vector is resized by either a manual
+ * call to the memory-management functions or implicitly by inserting or removing elements.
+ *
+ * Take a look at `ZyanVectorGetPointerMutable` instead, if you need a function that returns a
+ * zyan status code.
+ */
+ZYCORE_EXPORT void* ZyanVectorGetMutable(const ZyanVector* vector, ZyanUSize index);
+
+/**
+ * Returns a constant pointer to the element at the given `index`.
+ *
+ * @param   vector  A pointer to the `ZyanVector` instance.
+ * @param   index   The element index.
+ * @param   value   Receives a constant pointer to the desired element in the vector.
+ *
+ * Note that the returned pointer might get invalid when the vector is resized by either a manual
+ * call to the memory-management functions or implicitly by inserting or removing elements.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorGetPointer(const ZyanVector* vector, ZyanUSize index,
+    const void** value);
+
+/**
+ * Returns a mutable pointer to the element at the given `index`.
+ *
+ * @param   vector  A pointer to the `ZyanVector` instance.
+ * @param   index   The element index.
+ * @param   value Receives a mutable pointer to the desired element in the vector.
+ *
+ * Note that the returned pointer might get invalid when the vector is resized by either a manual
+ * call to the memory-management functions or implicitly by inserting or removing elements.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorGetPointerMutable(const ZyanVector* vector, ZyanUSize index,
+    void** value);
+
+/**
+ * Assigns a new value to the element at the given `index`.
+ *
+ * @param   vector  A pointer to the `ZyanVector` instance.
+ * @param   index   The value index.
+ * @param   value   The value to assign.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorSet(ZyanVector* vector, ZyanUSize index,
+    const void* value);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Insertion                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Adds a new `element` to the end of the vector.
+ *
+ * @param   vector  A pointer to the `ZyanVector` instance.
+ * @param   element A pointer to the element to add.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorPushBack(ZyanVector* vector, const void* element);
+
+/**
+ * Inserts an `element` at the given `index` of the vector.
+ *
+ * @param   vector  A pointer to the `ZyanVector` instance.
+ * @param   index   The insert index.
+ * @param   element A pointer to the element to insert.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorInsert(ZyanVector* vector, ZyanUSize index,
+    const void* element);
+
+/**
+ * Inserts multiple `elements` at the given `index` of the vector.
+ *
+ * @param   vector      A pointer to the `ZyanVector` instance.
+ * @param   index       The insert index.
+ * @param   elements    A pointer to the first element.
+ * @param   count       The number of elements to insert.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorInsertRange(ZyanVector* vector, ZyanUSize index,
+    const void* elements, ZyanUSize count);
+
+/**
+ * Constructs an `element` in-place at the end of the vector.
+ *
+ * @param   vector      A pointer to the `ZyanVector` instance.
+ * @param   element     Receives a pointer to the new element.
+ * @param   constructor The constructor callback or `ZYAN_NULL`. The new element will be in
+ *                      undefined state, if no constructor was passed.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorEmplace(ZyanVector* vector, void** element,
+    ZyanMemberFunction constructor);
+
+/**
+ * Constructs an `element` in-place and inserts it at the given `index` of the vector.
+ *
+ * @param   vector      A pointer to the `ZyanVector` instance.
+ * @param   index       The insert index.
+ * @param   element     Receives a pointer to the new element.
+ * @param   constructor The constructor callback or `ZYAN_NULL`. The new element will be in
+ *                      undefined state, if no constructor was passed.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorEmplaceEx(ZyanVector* vector, ZyanUSize index,
+    void** element, ZyanMemberFunction constructor);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Utils                                                                                          */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Swaps the element at `index_first` with the element at `index_second`.
+ *
+ * @param   vector          A pointer to the `ZyanVector` instance.
+ * @param   index_first     The index of the first element.
+ * @param   index_second    The index of the second element.
+ *
+ * @return  A zyan status code.
+ *
+ * This function requires the vector to have spare capacity for one temporary element. Call
+ * `ZyanVectorReserve` before this function to increase capacity, if needed.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorSwapElements(ZyanVector* vector, ZyanUSize index_first,
+    ZyanUSize index_second);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Deletion                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Deletes the element at the given `index` of the vector.
+ *
+ * @param   vector  A pointer to the `ZyanVector` instance.
+ * @param   index   The element index.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorDelete(ZyanVector* vector, ZyanUSize index);
+
+/**
+ * Deletes multiple elements from the given vector, starting at `index`.
+ *
+ * @param   vector  A pointer to the `ZyanVector` instance.
+ * @param   index   The index of the first element to delete.
+ * @param   count   The number of elements to delete.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorDeleteRange(ZyanVector* vector, ZyanUSize index,
+    ZyanUSize count);
+
+/**
+ * Removes the last element of the vector.
+ *
+ * @param   vector  A pointer to the `ZyanVector` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorPopBack(ZyanVector* vector);
+
+/**
+ * Erases all elements of the given vector.
+ *
+ * @param   vector  A pointer to the `ZyanVector` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorClear(ZyanVector* vector);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Searching                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Sequentially searches for the first occurrence of `element` in the given vector.
+ *
+ * @param   vector      A pointer to the `ZyanVector` instance.
+ * @param   element     A pointer to the element to search for.
+ * @param   found_index A pointer to a variable that receives the index of the found element.
+ * @param   comparison  The comparison function to use.
+ *
+ * @return  `ZYAN_STATUS_TRUE` if the element was found, `ZYAN_STATUS_FALSE` if not or a generic
+ *          zyan status code if an error occured.
+ *
+ * The `found_index` is set to `-1`, if the element was not found.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorFind(const ZyanVector* vector, const void* element,
+    ZyanISize* found_index, ZyanEqualityComparison comparison);
+
+/**
+ * Sequentially searches for the first occurrence of `element` in the given vector.
+ *
+ * @param   vector      A pointer to the `ZyanVector` instance.
+ * @param   element     A pointer to the element to search for.
+ * @param   found_index A pointer to a variable that receives the index of the found element.
+ * @param   comparison  The comparison function to use.
+ * @param   index       The start index.
+ * @param   count       The maximum number of elements to iterate, beginning from the start `index`.
+ *
+ * @return  `ZYAN_STATUS_TRUE` if the element was found, `ZYAN_STATUS_FALSE` if not or a generic
+ *          zyan status code if an error occured.
+ *
+ * The `found_index` is set to `-1`, if the element was not found.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorFindEx(const ZyanVector* vector, const void* element,
+    ZyanISize* found_index, ZyanEqualityComparison comparison, ZyanUSize index, ZyanUSize count);
+
+/**
+ * Searches for the first occurrence of `element` in the given vector using a binary-
+ * search algorithm.
+ *
+ * @param   vector      A pointer to the `ZyanVector` instance.
+ * @param   element     A pointer to the element to search for.
+ * @param   found_index A pointer to a variable that receives the index of the found element.
+ * @param   comparison  The comparison function to use.
+ *
+ * @return  `ZYAN_STATUS_TRUE` if the element was found, `ZYAN_STATUS_FALSE` if not or a generic
+ *          zyan status code if an error occured.
+ *
+ * If found, `found_index` contains the zero-based index of `element`. If not found, `found_index`
+ * contains the index of the first entry larger than `element`.
+ *
+ * This function requires all elements in the vector to be strictly ordered (sorted).
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorBinarySearch(const ZyanVector* vector, const void* element,
+    ZyanUSize* found_index, ZyanComparison comparison);
+
+/**
+ * Searches for the first occurrence of `element` in the given vector using a binary-
+ * search algorithm.
+ *
+ * @param   vector      A pointer to the `ZyanVector` instance.
+ * @param   element     A pointer to the element to search for.
+ * @param   found_index A pointer to a variable that receives the index of the found element.
+ * @param   comparison  The comparison function to use.
+ * @param   index       The start index.
+ * @param   count       The maximum number of elements to iterate, beginning from the start `index`.
+ *
+ * @return  `ZYAN_STATUS_TRUE` if the element was found, `ZYAN_STATUS_FALSE` if not or a generic
+ *          zyan status code if an error occured.
+ *
+ * If found, `found_index` contains the zero-based index of `element`. If not found, `found_index`
+ * contains the index of the first entry larger than `element`.
+ *
+ * This function requires all elements in the vector to be strictly ordered (sorted).
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorBinarySearchEx(const ZyanVector* vector, const void* element,
+    ZyanUSize* found_index, ZyanComparison comparison, ZyanUSize index, ZyanUSize count);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Memory management                                                                              */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Resizes the given `ZyanVector` instance.
+ *
+ * @param   vector  A pointer to the `ZyanVector` instance.
+ * @param   size    The new size of the vector.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorResize(ZyanVector* vector, ZyanUSize size);
+
+/**
+ * Resizes the given `ZyanVector` instance.
+ *
+ * @param   vector      A pointer to the `ZyanVector` instance.
+ * @param   size        The new size of the vector.
+ * @param   initializer A pointer to a value to be used as initializer for new items.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorResizeEx(ZyanVector* vector, ZyanUSize size,
+    const void* initializer);
+
+/**
+ * Changes the capacity of the given `ZyanVector` instance.
+ *
+ * @param   vector      A pointer to the `ZyanVector` instance.
+ * @param   capacity    The new minimum capacity of the vector.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorReserve(ZyanVector* vector, ZyanUSize capacity);
+
+/**
+ * Shrinks the capacity of the given vector to match it's size.
+ *
+ * @param   vector  A pointer to the `ZyanVector` instance.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorShrinkToFit(ZyanVector* vector);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Information                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the current capacity of the vector.
+ *
+ * @param   vector      A pointer to the `ZyanVector` instance.
+ * @param   capacity    Receives the size of the vector.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorGetCapacity(const ZyanVector* vector, ZyanUSize* capacity);
+
+/**
+ * Returns the current size of the vector.
+ *
+ * @param   vector  A pointer to the `ZyanVector` instance.
+ * @param   size    Receives the size of the vector.
+ *
+ * @return  A zyan status code.
+ */
+ZYCORE_EXPORT ZyanStatus ZyanVectorGetSize(const ZyanVector* vector, ZyanUSize* size);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYCORE_VECTOR_H */
diff --git a/external/zydis/dependencies/zycore/include/Zycore/Zycore.h b/external/zydis/dependencies/zycore/include/Zycore/Zycore.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/dependencies/zycore/include/Zycore/Zycore.h
@@ -0,0 +1,111 @@
+/***************************************************************************************************
+
+  Zyan Core Library (Zycore-C)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Master include file, including everything else.
+ */
+
+#ifndef ZYCORE_H
+#define ZYCORE_H
+
+#include <ZycoreExportConfig.h>
+#include <Zycore/Types.h>
+
+// TODO:
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Macros                                                                                         */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Constants                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * A macro that defines the zycore version.
+ */
+#define ZYCORE_VERSION (ZyanU64)0x0001000000000000
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Helper macros                                                                                  */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Extracts the major-part of the zycore version.
+ *
+ * @param   version The zycore version value
+ */
+#define ZYCORE_VERSION_MAJOR(version) (ZyanU16)((version & 0xFFFF000000000000) >> 48)
+
+/**
+ * Extracts the minor-part of the zycore version.
+ *
+ * @param   version The zycore version value
+ */
+#define ZYCORE_VERSION_MINOR(version) (ZyanU16)((version & 0x0000FFFF00000000) >> 32)
+
+/**
+ * Extracts the patch-part of the zycore version.
+ *
+ * @param   version The zycore version value
+ */
+#define ZYCORE_VERSION_PATCH(version) (ZyanU16)((version & 0x00000000FFFF0000) >> 16)
+
+/**
+ * Extracts the build-part of the zycore version.
+ *
+ * @param   version The zycore version value
+ */
+#define ZYCORE_VERSION_BUILD(version) (ZyanU16)(version & 0x000000000000FFFF)
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/**
+ * Returns the zycore version.
+ *
+ * @return  The zycore version.
+ *
+ * Use the macros provided in this file to extract the major, minor, patch and build part from the
+ * returned version value.
+ */
+ZYCORE_EXPORT ZyanU64 ZycoreGetVersion(void);
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYCORE_H */
diff --git a/external/zydis/include/Zydis/Decoder.h b/external/zydis/include/Zydis/Decoder.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Decoder.h
@@ -0,0 +1,237 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Functions for decoding instructions.
+ */
+
+#ifndef ZYDIS_DECODER_H
+#define ZYDIS_DECODER_H
+
+#include <Zycore/Types.h>
+#include <Zycore/Defines.h>
+#include <Zydis/DecoderTypes.h>
+#include <Zydis/Status.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Decoder mode                                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisDecoderMode` enum.
+ */
+typedef enum ZydisDecoderMode_
+{
+    /**
+     * Enables minimal instruction decoding without semantic analysis.
+     *
+     * This mode provides access to the mnemonic, the instruction-length, the effective
+     * operand-size, the effective address-width, some attributes (e.g. `ZYDIS_ATTRIB_IS_RELATIVE`)
+     * and all of the information in the `raw` field of the `ZydisDecodedInstruction` struct.
+     *
+     * Operands, most attributes and other specific information (like `AVX` info) are not
+     * accessible in this mode.
+     *
+     * This mode is NOT enabled by default.
+     */
+    ZYDIS_DECODER_MODE_MINIMAL,
+    /**
+     * Enables the `AMD`-branch mode.
+     *
+     * Intel ignores the operand-size override-prefix (`0x66`) for all branches with 32-bit
+     * immediates and forces the operand-size of the instruction to 64-bit in 64-bit mode.
+     * In `AMD`-branch mode `0x66` is not ignored and changes the operand-size and the size of the
+     * immediate to 16-bit.
+     *
+     * This mode is NOT enabled by default.
+     */
+    ZYDIS_DECODER_MODE_AMD_BRANCHES,
+    /**
+     * Enables `KNC` compatibility-mode.
+     *
+     * `KNC` and `KNL+` chips are sharing opcodes and encodings for some mask-related instructions.
+     * Enable this mode to use the old `KNC` specifications (different mnemonics, operands, ..).
+     *
+     * This mode is NOT enabled by default.
+     */
+    ZYDIS_DECODER_MODE_KNC,
+    /**
+     * Enables the `MPX` mode.
+     *
+     * The `MPX` isa-extension reuses (overrides) some of the widenop instruction opcodes.
+     *
+     * This mode is enabled by default.
+     */
+    ZYDIS_DECODER_MODE_MPX,
+    /**
+     * Enables the `CET` mode.
+     *
+     * The `CET` isa-extension reuses (overrides) some of the widenop instruction opcodes.
+     *
+     * This mode is enabled by default.
+     */
+    ZYDIS_DECODER_MODE_CET,
+    /**
+     * Enables the `LZCNT` mode.
+     *
+     * The `LZCNT` isa-extension reuses (overrides) some of the widenop instruction opcodes.
+     *
+     * This mode is enabled by default.
+     */
+    ZYDIS_DECODER_MODE_LZCNT,
+    /**
+     * Enables the `TZCNT` mode.
+     *
+     * The `TZCNT` isa-extension reuses (overrides) some of the widenop instruction opcodes.
+     *
+     * This mode is enabled by default.
+     */
+    ZYDIS_DECODER_MODE_TZCNT,
+    /**
+     * Enables the `WBNOINVD` mode.
+     *
+     * The `WBINVD` instruction is interpreted as `WBNOINVD` on ICL chips, if a `F3` prefix is
+     * used.
+     *
+     * This mode is disabled by default.
+     */
+    ZYDIS_DECODER_MODE_WBNOINVD,
+     /**
+     * Enables the `CLDEMOTE` mode.
+     *
+     * The `CLDEMOTE` isa-extension reuses (overrides) some of the widenop instruction opcodes.
+     *
+     * This mode is enabled by default.
+     */
+    ZYDIS_DECODER_MODE_CLDEMOTE,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_DECODER_MODE_MAX_VALUE = ZYDIS_DECODER_MODE_CLDEMOTE,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_DECODER_MODE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_DECODER_MODE_MAX_VALUE)
+} ZydisDecoderMode;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Decoder struct                                                                                 */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisDecoder` struct.
+ *
+ * All fields in this struct should be considered as "private". Any changes may lead to unexpected
+ * behavior.
+ */
+typedef struct ZydisDecoder_
+{
+    /**
+     * The machine mode.
+     */
+    ZydisMachineMode machine_mode;
+    /**
+     * The address width.
+     */
+    ZydisAddressWidth address_width;
+    /**
+     * The decoder mode array.
+     */
+    ZyanBool decoder_mode[ZYDIS_DECODER_MODE_MAX_VALUE + 1];
+} ZydisDecoder;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/**
+ * @addtogroup decoder Decoder
+ * Functions allowing decoding of instruction bytes to a machine interpretable struct.
+ * @{
+ */
+
+/**
+ * Initializes the given `ZydisDecoder` instance.
+ *
+ * @param   decoder         A pointer to the `ZydisDecoder` instance.
+ * @param   machine_mode    The machine mode.
+ * @param   address_width   The address width.
+ *
+ * @return  A zyan status code.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisDecoderInit(ZydisDecoder* decoder, ZydisMachineMode machine_mode,
+    ZydisAddressWidth address_width);
+
+/**
+ * Enables or disables the specified decoder-mode.
+ *
+ * @param   decoder A pointer to the `ZydisDecoder` instance.
+ * @param   mode    The decoder mode.
+ * @param   enabled `ZYAN_TRUE` to enable, or `ZYAN_FALSE` to disable the specified decoder-mode.
+ *
+ * @return  A zyan status code.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisDecoderEnableMode(ZydisDecoder* decoder, ZydisDecoderMode mode,
+    ZyanBool enabled);
+
+/**
+ * Decodes the instruction in the given input `buffer`.
+ *
+ * @param   decoder     A pointer to the `ZydisDecoder` instance.
+ * @param   buffer      A pointer to the input buffer.
+ * @param   length      The length of the input buffer. Note that this can be bigger than the
+ *                      actual size of the instruction -- you don't have to know the size up
+ *                      front. This length is merely used to prevent Zydis from doing
+ *                      out-of-bounds reads on your buffer.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct, that receives the
+ *                      details about the decoded instruction.
+ *
+ * @return  A zyan status code.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisDecoderDecodeBuffer(const ZydisDecoder* decoder,
+    const void* buffer, ZyanUSize length, ZydisDecodedInstruction* instruction);
+
+/** @} */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYDIS_DECODER_H */
diff --git a/external/zydis/include/Zydis/DecoderTypes.h b/external/zydis/include/Zydis/DecoderTypes.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/DecoderTypes.h
@@ -0,0 +1,1452 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Defines the basic `ZydisDecodedInstruction` and `ZydisDecodedOperand` structs.
+ */
+
+#ifndef ZYDIS_INSTRUCTIONINFO_H
+#define ZYDIS_INSTRUCTIONINFO_H
+
+#include <Zycore/Types.h>
+#include <Zydis/MetaInfo.h>
+#include <Zydis/Mnemonic.h>
+#include <Zydis/Register.h>
+#include <Zydis/SharedTypes.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Decoded operand                                                                                */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Memory type                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisMemoryOperandType` enum.
+ */
+typedef enum ZydisMemoryOperandType_
+{
+    ZYDIS_MEMOP_TYPE_INVALID,
+    /**
+     * Normal memory operand.
+     */
+    ZYDIS_MEMOP_TYPE_MEM,
+    /**
+     * The memory operand is only used for address-generation. No real memory-access is
+     * caused.
+     */
+    ZYDIS_MEMOP_TYPE_AGEN,
+    /**
+     * A memory operand using `SIB` addressing form, where the index register is not used
+     * in address calculation and scale is ignored. No real memory-access is caused.
+     */
+    ZYDIS_MEMOP_TYPE_MIB,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_MEMOP_TYPE_MAX_VALUE = ZYDIS_MEMOP_TYPE_MIB,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_MEMOP_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MEMOP_TYPE_MAX_VALUE)
+} ZydisMemoryOperandType;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Decoded operand                                                                                */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisDecodedOperand` struct.
+ */
+typedef struct ZydisDecodedOperand_
+{
+    /**
+     * The operand-id.
+     */
+    ZyanU8 id;
+    /**
+     * The type of the operand.
+     */
+    ZydisOperandType type;
+    /**
+     * The visibility of the operand.
+     */
+    ZydisOperandVisibility visibility;
+    /**
+     * The operand-actions.
+     */
+    ZydisOperandActions actions;
+    /**
+     * The operand-encoding.
+     */
+    ZydisOperandEncoding encoding;
+    /**
+     * The logical size of the operand (in bits).
+     */
+    ZyanU16 size;
+    /**
+     * The element-type.
+     */
+    ZydisElementType element_type;
+    /**
+     * The size of a single element.
+     */
+    ZydisElementSize element_size;
+    /**
+     * The number of elements.
+     */
+    ZyanU16 element_count;
+    /**
+     * Extended info for register-operands.
+     */
+    struct ZydisDecodedOperandReg_
+    {
+        /**
+         * The register value.
+         */
+        ZydisRegister value;
+        // TODO: AVX512_4VNNIW MULTISOURCE registers
+    } reg;
+    /**
+     * Extended info for memory-operands.
+     */
+    struct ZydisDecodedOperandMem_
+    {
+        /**
+         * The type of the memory operand.
+         */
+        ZydisMemoryOperandType type;
+        /**
+         * The segment register.
+         */
+        ZydisRegister segment;
+        /**
+         * The base register.
+         */
+        ZydisRegister base;
+        /**
+         * The index register.
+         */
+        ZydisRegister index;
+        /**
+         * The scale factor.
+         */
+        ZyanU8 scale;
+        /**
+         * Extended info for memory-operands with displacement.
+         */
+        struct ZydisDecodedOperandMemDisp_
+        {
+            /**
+             * Signals, if the displacement value is used.
+             */
+            ZyanBool has_displacement;
+            /**
+             * The displacement value
+             */
+            ZyanI64 value;
+        } disp;
+    } mem;
+    /**
+     * Extended info for pointer-operands.
+     */
+    struct ZydisDecodedOperandPtr_
+    {
+        ZyanU16 segment;
+        ZyanU32 offset;
+    } ptr;
+    /**
+     * Extended info for immediate-operands.
+     */
+    struct ZydisDecodedOperandImm_
+    {
+        /**
+         * Signals, if the immediate value is signed.
+         */
+        ZyanBool is_signed;
+        /**
+         * Signals, if the immediate value contains a relative offset. You can use
+         * `ZydisCalcAbsoluteAddress` to determine the absolute address value.
+         */
+        ZyanBool is_relative;
+        /**
+         * The immediate value.
+         */
+        union ZydisDecodedOperandImmValue_
+        {
+            ZyanU64 u;
+            ZyanI64 s;
+        } value;
+    } imm;
+} ZydisDecodedOperand;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Decoded instruction                                                                            */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Instruction attributes                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisInstructionAttributes` data-type.
+ */
+typedef ZyanU64 ZydisInstructionAttributes;
+
+/**
+ * The instruction has the `ModRM` byte.
+ */
+#define ZYDIS_ATTRIB_HAS_MODRM                  0x0000000000000001 // (1 <<  0)
+/**
+ * The instruction has the `SIB` byte.
+ */
+#define ZYDIS_ATTRIB_HAS_SIB                    0x0000000000000002 // (1 <<  1)
+/**
+ * The instruction has the `REX` prefix.
+ */
+#define ZYDIS_ATTRIB_HAS_REX                    0x0000000000000004 // (1 <<  2)
+/**
+ * The instruction has the `XOP` prefix.
+ */
+#define ZYDIS_ATTRIB_HAS_XOP                    0x0000000000000008 // (1 <<  3)
+/**
+ * The instruction has the `VEX` prefix.
+ */
+#define ZYDIS_ATTRIB_HAS_VEX                    0x0000000000000010 // (1 <<  4)
+/**
+ * The instruction has the `EVEX` prefix.
+ */
+#define ZYDIS_ATTRIB_HAS_EVEX                   0x0000000000000020 // (1 <<  5)
+/**
+ * The instruction has the `MVEX` prefix.
+ */
+#define ZYDIS_ATTRIB_HAS_MVEX                   0x0000000000000040 // (1 <<  6)
+/**
+ * The instruction has one or more operands with position-relative offsets.
+ */
+#define ZYDIS_ATTRIB_IS_RELATIVE                0x0000000000000080 // (1 <<  7)
+/**
+ * The instruction is privileged.
+ *
+ * Privileged instructions are any instructions that require a current ring level below 3.
+ */
+#define ZYDIS_ATTRIB_IS_PRIVILEGED              0x0000000000000100 // (1 <<  8)
+
+/**
+ * The instruction accesses one or more CPU-flags.
+ */
+#define ZYDIS_ATTRIB_CPUFLAG_ACCESS             0x0000001000000000 // (1 << 36) // TODO: rebase
+
+/**
+ * The instruction may conditionally read the general CPU state.
+ */
+#define ZYDIS_ATTRIB_CPU_STATE_CR               0x0000002000000000 // (1 << 37) // TODO: rebase
+/**
+ * The instruction may conditionally write the general CPU state.
+ */
+#define ZYDIS_ATTRIB_CPU_STATE_CW               0x0000004000000000 // (1 << 38) // TODO: rebase
+/**
+ * The instruction may conditionally read the FPU state (X87, MMX).
+ */
+#define ZYDIS_ATTRIB_FPU_STATE_CR               0x0000008000000000 // (1 << 39) // TODO: rebase
+/**
+ * The instruction may conditionally write the FPU state (X87, MMX).
+ */
+#define ZYDIS_ATTRIB_FPU_STATE_CW               0x0000010000000000 // (1 << 40) // TODO: rebase
+/**
+ * The instruction may conditionally read the XMM state (AVX, AVX2, AVX-512).
+ */
+#define ZYDIS_ATTRIB_XMM_STATE_CR               0x0000020000000000 // (1 << 41) // TODO: rebase
+/**
+ * The instruction may conditionally write the XMM state (AVX, AVX2, AVX-512).
+ */
+#define ZYDIS_ATTRIB_XMM_STATE_CW               0x0000040000000000 // (1 << 42) // TODO: rebase
+
+/**
+ * The instruction accepts the `LOCK` prefix (`0xF0`).
+ */
+#define ZYDIS_ATTRIB_ACCEPTS_LOCK               0x0000000000000200 // (1 <<  9)
+/**
+ * The instruction accepts the `REP` prefix (`0xF3`).
+ */
+#define ZYDIS_ATTRIB_ACCEPTS_REP                0x0000000000000400 // (1 << 10)
+/**
+ * The instruction accepts the `REPE`/`REPZ` prefix (`0xF3`).
+ */
+#define ZYDIS_ATTRIB_ACCEPTS_REPE               0x0000000000000800 // (1 << 11)
+/**
+ * The instruction accepts the `REPE`/`REPZ` prefix (`0xF3`).
+ */
+#define ZYDIS_ATTRIB_ACCEPTS_REPZ               0x0000000000000800 // (1 << 11)
+/**
+ * The instruction accepts the `REPNE`/`REPNZ` prefix (`0xF2`).
+ */
+#define ZYDIS_ATTRIB_ACCEPTS_REPNE              0x0000000000001000 // (1 << 12)
+/**
+ * The instruction accepts the `REPNE`/`REPNZ` prefix (`0xF2`).
+ */
+#define ZYDIS_ATTRIB_ACCEPTS_REPNZ              0x0000000000001000 // (1 << 12)
+/**
+ * The instruction accepts the `BND` prefix (`0xF2`).
+ */
+#define ZYDIS_ATTRIB_ACCEPTS_BND                0x0000000000002000 // (1 << 13)
+/**
+ * The instruction accepts the `XACQUIRE` prefix (`0xF2`).
+ */
+#define ZYDIS_ATTRIB_ACCEPTS_XACQUIRE           0x0000000000004000 // (1 << 14)
+/**
+ * The instruction accepts the `XRELEASE` prefix (`0xF3`).
+ */
+#define ZYDIS_ATTRIB_ACCEPTS_XRELEASE           0x0000000000008000 // (1 << 15)
+/**
+ * The instruction accepts the `XACQUIRE`/`XRELEASE` prefixes (`0xF2`, `0xF3`)
+ * without the `LOCK` prefix (`0x0F`).
+ */
+#define ZYDIS_ATTRIB_ACCEPTS_HLE_WITHOUT_LOCK   0x0000000000010000 // (1 << 16)
+/**
+ * The instruction accepts branch hints (0x2E, 0x3E).
+ */
+#define ZYDIS_ATTRIB_ACCEPTS_BRANCH_HINTS       0x0000000000020000 // (1 << 17)
+/**
+ * The instruction accepts segment prefixes (`0x2E`, `0x36`, `0x3E`, `0x26`,
+ * `0x64`, `0x65`).
+ */
+#define ZYDIS_ATTRIB_ACCEPTS_SEGMENT            0x0000000000040000 // (1 << 18)
+/**
+ * The instruction has the `LOCK` prefix (`0xF0`).
+ */
+#define ZYDIS_ATTRIB_HAS_LOCK                   0x0000000000080000 // (1 << 19)
+/**
+ * The instruction has the `REP` prefix (`0xF3`).
+ */
+#define ZYDIS_ATTRIB_HAS_REP                    0x0000000000100000 // (1 << 20)
+/**
+ * The instruction has the `REPE`/`REPZ` prefix (`0xF3`).
+ */
+#define ZYDIS_ATTRIB_HAS_REPE                   0x0000000000200000 // (1 << 21)
+/**
+ * The instruction has the `REPE`/`REPZ` prefix (`0xF3`).
+ */
+#define ZYDIS_ATTRIB_HAS_REPZ                   0x0000000000200000 // (1 << 21)
+/**
+ * The instruction has the `REPNE`/`REPNZ` prefix (`0xF2`).
+ */
+#define ZYDIS_ATTRIB_HAS_REPNE                  0x0000000000400000 // (1 << 22)
+/**
+ * The instruction has the `REPNE`/`REPNZ` prefix (`0xF2`).
+ */
+#define ZYDIS_ATTRIB_HAS_REPNZ                  0x0000000000400000 // (1 << 22)
+/**
+ * The instruction has the `BND` prefix (`0xF2`).
+ */
+#define ZYDIS_ATTRIB_HAS_BND                    0x0000000000800000 // (1 << 23)
+/**
+ * The instruction has the `XACQUIRE` prefix (`0xF2`).
+ */
+#define ZYDIS_ATTRIB_HAS_XACQUIRE               0x0000000001000000 // (1 << 24)
+/**
+ * The instruction has the `XRELEASE` prefix (`0xF3`).
+ */
+#define ZYDIS_ATTRIB_HAS_XRELEASE               0x0000000002000000 // (1 << 25)
+/**
+ * The instruction has the branch-not-taken hint (`0x2E`).
+ */
+#define ZYDIS_ATTRIB_HAS_BRANCH_NOT_TAKEN       0x0000000004000000 // (1 << 26)
+/**
+ * The instruction has the branch-taken hint (`0x3E`).
+ */
+#define ZYDIS_ATTRIB_HAS_BRANCH_TAKEN           0x0000000008000000 // (1 << 27)
+/**
+ * The instruction has a segment modifier.
+ */
+#define ZYDIS_ATTRIB_HAS_SEGMENT                0x00000003F0000000
+/**
+ * The instruction has the `CS` segment modifier (`0x2E`).
+ */
+#define ZYDIS_ATTRIB_HAS_SEGMENT_CS             0x0000000010000000 // (1 << 28)
+/**
+ * The instruction has the `SS` segment modifier (`0x36`).
+ */
+#define ZYDIS_ATTRIB_HAS_SEGMENT_SS             0x0000000020000000 // (1 << 29)
+/**
+ * The instruction has the `DS` segment modifier (`0x3E`).
+ */
+#define ZYDIS_ATTRIB_HAS_SEGMENT_DS             0x0000000040000000 // (1 << 30)
+/**
+ * The instruction has the `ES` segment modifier (`0x26`).
+ */
+#define ZYDIS_ATTRIB_HAS_SEGMENT_ES             0x0000000080000000 // (1 << 31)
+/**
+ * The instruction has the `FS` segment modifier (`0x64`).
+ */
+#define ZYDIS_ATTRIB_HAS_SEGMENT_FS             0x0000000100000000 // (1 << 32)
+/**
+ * The instruction has the `GS` segment modifier (`0x65`).
+ */
+#define ZYDIS_ATTRIB_HAS_SEGMENT_GS             0x0000000200000000 // (1 << 33)
+/**
+ * The instruction has the operand-size override prefix (`0x66`).
+ */
+#define ZYDIS_ATTRIB_HAS_OPERANDSIZE            0x0000000400000000 // (1 << 34) // TODO: rename
+/**
+ * The instruction has the address-size override prefix (`0x67`).
+ */
+#define ZYDIS_ATTRIB_HAS_ADDRESSSIZE            0x0000000800000000 // (1 << 35) // TODO: rename
+
+/* ---------------------------------------------------------------------------------------------- */
+/* R/E/FLAGS info                                                                                 */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisCPUFlags` data-type.
+ */
+typedef ZyanU32 ZydisCPUFlags;
+
+/**
+ * Defines the `ZydisCPUFlag` enum.
+ */
+typedef enum ZydisCPUFlag_
+{
+    /**
+     * Carry flag.
+     */
+    ZYDIS_CPUFLAG_CF,
+    /**
+     * Parity flag.
+     */
+    ZYDIS_CPUFLAG_PF,
+    /**
+     * Adjust flag.
+     */
+    ZYDIS_CPUFLAG_AF,
+    /**
+     * Zero flag.
+     */
+    ZYDIS_CPUFLAG_ZF,
+    /**
+     * Sign flag.
+     */
+    ZYDIS_CPUFLAG_SF,
+    /**
+     * Trap flag.
+     */
+    ZYDIS_CPUFLAG_TF,
+    /**
+     * Interrupt enable flag.
+     */
+    ZYDIS_CPUFLAG_IF,
+    /**
+     * Direction flag.
+     */
+    ZYDIS_CPUFLAG_DF,
+    /**
+     * Overflow flag.
+     */
+    ZYDIS_CPUFLAG_OF,
+    /**
+     * I/O privilege level flag.
+     */
+    ZYDIS_CPUFLAG_IOPL,
+    /**
+     * Nested task flag.
+     */
+    ZYDIS_CPUFLAG_NT,
+    /**
+     * Resume flag.
+     */
+    ZYDIS_CPUFLAG_RF,
+    /**
+     * Virtual 8086 mode flag.
+     */
+    ZYDIS_CPUFLAG_VM,
+    /**
+     * Alignment check.
+     */
+    ZYDIS_CPUFLAG_AC,
+    /**
+     * Virtual interrupt flag.
+     */
+    ZYDIS_CPUFLAG_VIF,
+    /**
+     * Virtual interrupt pending.
+     */
+    ZYDIS_CPUFLAG_VIP,
+    /**
+     * Able to use CPUID instruction.
+     */
+    ZYDIS_CPUFLAG_ID,
+    /**
+     * FPU condition-code flag 0.
+     */
+    ZYDIS_CPUFLAG_C0,
+    /**
+     * FPU condition-code flag 1.
+     */
+    ZYDIS_CPUFLAG_C1,
+    /**
+     * FPU condition-code flag 2.
+     */
+    ZYDIS_CPUFLAG_C2,
+    /**
+     * FPU condition-code flag 3.
+     */
+    ZYDIS_CPUFLAG_C3,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_CPUFLAG_MAX_VALUE = ZYDIS_CPUFLAG_C3,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_CPUFLAG_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_CPUFLAG_MAX_VALUE)
+} ZydisCPUFlag;
+
+/**
+ * Defines the `ZydisCPUFlagAction` enum.
+ */
+typedef enum ZydisCPUFlagAction_
+{
+    /**
+     * The CPU flag is not touched by the instruction.
+     */
+    ZYDIS_CPUFLAG_ACTION_NONE,
+    /**
+     * The CPU flag is tested (read).
+     */
+    ZYDIS_CPUFLAG_ACTION_TESTED,
+    /**
+     * The CPU flag is tested and modified afterwards (read-write).
+     */
+    ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED,
+    /**
+     * The CPU flag is modified (write).
+     */
+    ZYDIS_CPUFLAG_ACTION_MODIFIED,
+    /**
+     * The CPU flag is set to 0 (write).
+     */
+    ZYDIS_CPUFLAG_ACTION_SET_0,
+    /**
+     * The CPU flag is set to 1 (write).
+     */
+    ZYDIS_CPUFLAG_ACTION_SET_1,
+    /**
+     * The CPU flag is undefined (write).
+     */
+    ZYDIS_CPUFLAG_ACTION_UNDEFINED,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_CPUFLAG_ACTION_MAX_VALUE = ZYDIS_CPUFLAG_ACTION_UNDEFINED,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_CPUFLAG_ACTION_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_CPUFLAG_ACTION_MAX_VALUE)
+} ZydisCPUFlagAction;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Branch types                                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisBranchType` enum.
+ */
+typedef enum ZydisBranchType_
+{
+    /**
+     * The instruction is not a branch instruction.
+     */
+    ZYDIS_BRANCH_TYPE_NONE,
+    /**
+     * The instruction is a short (8-bit) branch instruction.
+     */
+    ZYDIS_BRANCH_TYPE_SHORT,
+    /**
+     * The instruction is a near (16-bit or 32-bit) branch instruction.
+     */
+    ZYDIS_BRANCH_TYPE_NEAR,
+    /**
+     * The instruction is a far (inter-segment) branch instruction.
+     */
+    ZYDIS_BRANCH_TYPE_FAR,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_BRANCH_TYPE_MAX_VALUE = ZYDIS_BRANCH_TYPE_FAR,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_BRANCH_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_BRANCH_TYPE_MAX_VALUE)
+} ZydisBranchType;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* SSE/AVX exception-class                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisExceptionClass` enum.
+ */
+typedef enum ZydisExceptionClass_
+{
+    ZYDIS_EXCEPTION_CLASS_NONE,
+    // TODO: FP Exceptions
+    ZYDIS_EXCEPTION_CLASS_SSE1,
+    ZYDIS_EXCEPTION_CLASS_SSE2,
+    ZYDIS_EXCEPTION_CLASS_SSE3,
+    ZYDIS_EXCEPTION_CLASS_SSE4,
+    ZYDIS_EXCEPTION_CLASS_SSE5,
+    ZYDIS_EXCEPTION_CLASS_SSE7,
+    ZYDIS_EXCEPTION_CLASS_AVX1,
+    ZYDIS_EXCEPTION_CLASS_AVX2,
+    ZYDIS_EXCEPTION_CLASS_AVX3,
+    ZYDIS_EXCEPTION_CLASS_AVX4,
+    ZYDIS_EXCEPTION_CLASS_AVX5,
+    ZYDIS_EXCEPTION_CLASS_AVX6,
+    ZYDIS_EXCEPTION_CLASS_AVX7,
+    ZYDIS_EXCEPTION_CLASS_AVX8,
+    ZYDIS_EXCEPTION_CLASS_AVX11,
+    ZYDIS_EXCEPTION_CLASS_AVX12,
+    ZYDIS_EXCEPTION_CLASS_E1,
+    ZYDIS_EXCEPTION_CLASS_E1NF,
+    ZYDIS_EXCEPTION_CLASS_E2,
+    ZYDIS_EXCEPTION_CLASS_E2NF,
+    ZYDIS_EXCEPTION_CLASS_E3,
+    ZYDIS_EXCEPTION_CLASS_E3NF,
+    ZYDIS_EXCEPTION_CLASS_E4,
+    ZYDIS_EXCEPTION_CLASS_E4NF,
+    ZYDIS_EXCEPTION_CLASS_E5,
+    ZYDIS_EXCEPTION_CLASS_E5NF,
+    ZYDIS_EXCEPTION_CLASS_E6,
+    ZYDIS_EXCEPTION_CLASS_E6NF,
+    ZYDIS_EXCEPTION_CLASS_E7NM,
+    ZYDIS_EXCEPTION_CLASS_E7NM128,
+    ZYDIS_EXCEPTION_CLASS_E9NF,
+    ZYDIS_EXCEPTION_CLASS_E10,
+    ZYDIS_EXCEPTION_CLASS_E10NF,
+    ZYDIS_EXCEPTION_CLASS_E11,
+    ZYDIS_EXCEPTION_CLASS_E11NF,
+    ZYDIS_EXCEPTION_CLASS_E12,
+    ZYDIS_EXCEPTION_CLASS_E12NP,
+    ZYDIS_EXCEPTION_CLASS_K20,
+    ZYDIS_EXCEPTION_CLASS_K21,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_EXCEPTION_CLASS_MAX_VALUE = ZYDIS_EXCEPTION_CLASS_K21,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_EXCEPTION_CLASS_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_EXCEPTION_CLASS_MAX_VALUE)
+} ZydisExceptionClass;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* AVX mask mode                                                                                  */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisMaskMode` enum.
+ */
+typedef enum ZydisMaskMode_
+{
+    ZYDIS_MASK_MODE_INVALID,
+    /**
+     * Masking is disabled for the current instruction (`K0` register is used).
+     */
+    ZYDIS_MASK_MODE_DISABLED,
+    /**
+     * The embedded mask register is used as a merge-mask.
+     */
+    ZYDIS_MASK_MODE_MERGING,
+    /**
+     * The embedded mask register is used as a zero-mask.
+     */
+    ZYDIS_MASK_MODE_ZEROING,
+    /**
+     * The embedded mask register is used as a control-mask (element selector).
+     */
+    ZYDIS_MASK_MODE_CONTROL,
+    /**
+     * The embedded mask register is used as a zeroing control-mask (element selector).
+     */
+    ZYDIS_MASK_MODE_CONTROL_ZEROING,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_MASK_MODE_MAX_VALUE = ZYDIS_MASK_MODE_CONTROL_ZEROING,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_MASK_MODE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MASK_MODE_MAX_VALUE)
+} ZydisMaskMode;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* AVX broadcast-mode                                                                             */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisBroadcastMode` enum.
+ */
+typedef enum ZydisBroadcastMode_
+{
+    ZYDIS_BROADCAST_MODE_INVALID,
+    ZYDIS_BROADCAST_MODE_1_TO_2,
+    ZYDIS_BROADCAST_MODE_1_TO_4,
+    ZYDIS_BROADCAST_MODE_1_TO_8,
+    ZYDIS_BROADCAST_MODE_1_TO_16,
+    ZYDIS_BROADCAST_MODE_1_TO_32,
+    ZYDIS_BROADCAST_MODE_1_TO_64,
+    ZYDIS_BROADCAST_MODE_2_TO_4,
+    ZYDIS_BROADCAST_MODE_2_TO_8,
+    ZYDIS_BROADCAST_MODE_2_TO_16,
+    ZYDIS_BROADCAST_MODE_4_TO_8,
+    ZYDIS_BROADCAST_MODE_4_TO_16,
+    ZYDIS_BROADCAST_MODE_8_TO_16,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_BROADCAST_MODE_MAX_VALUE = ZYDIS_BROADCAST_MODE_8_TO_16,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_BROADCAST_MODE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_BROADCAST_MODE_MAX_VALUE)
+} ZydisBroadcastMode;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* AVX rounding-mode                                                                              */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisRoundingMode` enum.
+ */
+typedef enum ZydisRoundingMode_
+{
+    ZYDIS_ROUNDING_MODE_INVALID,
+    /**
+     * Round to nearest.
+     */
+    ZYDIS_ROUNDING_MODE_RN,
+    /**
+     * Round down.
+     */
+    ZYDIS_ROUNDING_MODE_RD,
+    /**
+     * Round up.
+     */
+    ZYDIS_ROUNDING_MODE_RU,
+    /**
+     * Round towards zero.
+     */
+    ZYDIS_ROUNDING_MODE_RZ,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_ROUNDING_MODE_MAX_VALUE = ZYDIS_ROUNDING_MODE_RZ,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_ROUNDING_MODE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_ROUNDING_MODE_MAX_VALUE)
+} ZydisRoundingMode;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* KNC swizzle-mode                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisSwizzleMode` enum.
+ */
+typedef enum ZydisSwizzleMode_
+{
+    ZYDIS_SWIZZLE_MODE_INVALID,
+    ZYDIS_SWIZZLE_MODE_DCBA,
+    ZYDIS_SWIZZLE_MODE_CDAB,
+    ZYDIS_SWIZZLE_MODE_BADC,
+    ZYDIS_SWIZZLE_MODE_DACB,
+    ZYDIS_SWIZZLE_MODE_AAAA,
+    ZYDIS_SWIZZLE_MODE_BBBB,
+    ZYDIS_SWIZZLE_MODE_CCCC,
+    ZYDIS_SWIZZLE_MODE_DDDD,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_SWIZZLE_MODE_MAX_VALUE = ZYDIS_SWIZZLE_MODE_DDDD,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_SWIZZLE_MODE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_SWIZZLE_MODE_MAX_VALUE)
+} ZydisSwizzleMode;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* KNC conversion-mode                                                                            */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisConversionMode` enum.
+ */
+typedef enum ZydisConversionMode_
+{
+    ZYDIS_CONVERSION_MODE_INVALID,
+    ZYDIS_CONVERSION_MODE_FLOAT16,
+    ZYDIS_CONVERSION_MODE_SINT8,
+    ZYDIS_CONVERSION_MODE_UINT8,
+    ZYDIS_CONVERSION_MODE_SINT16,
+    ZYDIS_CONVERSION_MODE_UINT16,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_CONVERSION_MODE_MAX_VALUE = ZYDIS_CONVERSION_MODE_UINT16,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_CONVERSION_MODE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_CONVERSION_MODE_MAX_VALUE)
+} ZydisConversionMode;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Legacy prefix type                                                                             */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisPrefixType` enum.
+ */
+typedef enum ZydisPrefixType_
+{
+    /**
+     * The prefix is ignored by the instruction.
+     *
+     * This applies to all prefixes that are not accepted by the instruction in general or the
+     * ones that are overwritten by a prefix of the same group closer to the instruction opcode.
+     */
+    ZYDIS_PREFIX_TYPE_IGNORED,
+    /**
+     * The prefix is effectively used by the instruction.
+     */
+    ZYDIS_PREFIX_TYPE_EFFECTIVE,
+    /**
+     * The prefix is used as a mandatory prefix.
+     *
+     * A mandatory prefix is interpreted as an opcode extension and has no further effect on the
+     * instruction.
+     */
+    ZYDIS_PREFIX_TYPE_MANDATORY,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_PREFIX_TYPE_MAX_VALUE = ZYDIS_PREFIX_TYPE_MANDATORY,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_PREFIX_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_PREFIX_TYPE_MAX_VALUE)
+} ZydisPrefixType;
+
+// TODO: Check effective for 66/67 prefixes (currently defaults to EFFECTIVE)
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Decoded instruction                                                                            */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Information about a decoded instruction.
+ */
+typedef struct ZydisDecodedInstruction_
+{
+    /**
+     * The machine mode used to decode this instruction.
+     */
+    ZydisMachineMode machine_mode;
+    /**
+     * The instruction-mnemonic.
+     */
+    ZydisMnemonic mnemonic;
+    /**
+     * The length of the decoded instruction.
+     */
+    ZyanU8 length;
+    /**
+     * The instruction-encoding (`LEGACY`, `3DNOW`, `VEX`, `EVEX`, `XOP`).
+     */
+    ZydisInstructionEncoding encoding;
+    /**
+     * The opcode-map.
+     */
+    ZydisOpcodeMap opcode_map;
+    /**
+     * The instruction-opcode.
+     */
+    ZyanU8 opcode;
+    /**
+     * The stack width.
+     */
+    ZyanU8 stack_width;
+    /**
+     * The effective operand width.
+     */
+    ZyanU8 operand_width;
+    /**
+     * The effective address width.
+     */
+    ZyanU8 address_width;
+    /**
+     * The number of instruction-operands.
+     */
+    ZyanU8 operand_count;
+    /**
+     * Detailed info for all instruction operands.
+     *
+     * Explicit operands are guaranteed to be in the front and ordered as they are printed
+     * by the formatter in Intel mode. No assumptions can be made about the order of hidden
+     * operands, except that they always located behind the explicit operands.
+     */
+    ZydisDecodedOperand operands[ZYDIS_MAX_OPERAND_COUNT];
+    /**
+     * Instruction attributes.
+     */
+    ZydisInstructionAttributes attributes;
+    /**
+     * Information about accessed CPU flags.
+     */
+    struct ZydisDecodedInstructionAccessedFlags_
+    {
+        /**
+         * The CPU-flag action.
+         *
+         * Use `ZydisGetAccessedFlagsByAction` to get a mask with all flags matching a specific
+         * action.
+         */
+        ZydisCPUFlagAction action;
+    } accessed_flags[ZYDIS_CPUFLAG_MAX_VALUE + 1];
+    /**
+     * Extended info for `AVX` instructions.
+     */
+    struct ZydisDecodedInstructionAvx_
+    {
+        /**
+         * The `AVX` vector-length.
+         */
+        ZyanU16 vector_length;
+        /**
+         * Info about the embedded writemask-register (`AVX-512` and `KNC` only).
+         */
+        struct ZydisDecodedInstructionAvxMask_
+        {
+            /**
+             * The masking mode.
+             */
+            ZydisMaskMode mode;
+            /**
+             * The mask register.
+             */
+            ZydisRegister reg;
+        } mask;
+        /**
+         * Contains info about the `AVX` broadcast.
+         */
+        struct ZydisDecodedInstructionAvxBroadcast_
+        {
+            /**
+             * Signals, if the broadcast is a static broadcast.
+             *
+             * This is the case for instructions with inbuilt broadcast functionality, which is
+             * always active and not controlled by the `EVEX/MVEX.RC` bits.
+             */
+            ZyanBool is_static;
+            /**
+             * The `AVX` broadcast-mode.
+             */
+            ZydisBroadcastMode mode;
+        } broadcast;
+        /**
+         * Contains info about the `AVX` rounding.
+         */
+        struct ZydisDecodedInstructionAvxRounding_
+        {
+            /**
+             * The `AVX` rounding-mode.
+             */
+            ZydisRoundingMode mode;
+        } rounding;
+        /**
+         * Contains info about the `AVX` register-swizzle (`KNC` only).
+         */
+        struct ZydisDecodedInstructionAvxSwizzle_
+        {
+            /**
+             * The `AVX` register-swizzle mode.
+             */
+            ZydisSwizzleMode mode;
+        } swizzle;
+        /**
+         * Contains info about the `AVX` data-conversion (`KNC` only).
+         */
+        struct ZydisDecodedInstructionAvxConversion_
+        {
+            /**
+             * The `AVX` data-conversion mode.
+             */
+            ZydisConversionMode mode;
+        } conversion;
+        /**
+         * Signals, if the `SAE` (suppress-all-exceptions) functionality is
+         * enabled for the instruction.
+         */
+        ZyanBool has_sae;
+        /**
+         * Signals, if the instruction has a memory-eviction-hint (`KNC` only).
+         */
+        ZyanBool has_eviction_hint;
+        // TODO: publish EVEX tuple-type and MVEX functionality
+    } avx;
+    /**
+     * Meta info.
+     */
+    struct ZydisDecodedInstructionMeta_
+    {
+        /**
+         * The instruction category.
+         */
+        ZydisInstructionCategory category;
+        /**
+         * The ISA-set.
+         */
+        ZydisISASet isa_set;
+        /**
+         * The ISA-set extension.
+         */
+        ZydisISAExt isa_ext;
+        /**
+         * The branch type.
+         */
+        ZydisBranchType branch_type;
+        /**
+         * The exception class.
+         */
+        ZydisExceptionClass exception_class;
+    } meta;
+    /**
+     * Detailed info about different instruction-parts like `ModRM`, `SIB` or
+     * encoding-prefixes.
+     */
+    struct ZydisDecodedInstructionRaw_
+    {
+        /**
+         * The number of legacy prefixes.
+         */
+        ZyanU8 prefix_count;
+        /**
+         * Detailed info about the legacy prefixes (including `REX`).
+         */
+        struct ZydisDecodedInstructionRawPrefixes_
+        {
+            /**
+             * The prefix type.
+             */
+            ZydisPrefixType type;
+            /**
+             * The prefix byte.
+             */
+            ZyanU8 value;
+        } prefixes[ZYDIS_MAX_INSTRUCTION_LENGTH];
+        /**
+         * Detailed info about the `REX` prefix.
+         */
+        struct ZydisDecodedInstructionRawRex_
+        {
+            /**
+             * 64-bit operand-size promotion.
+             */
+            ZyanU8 W;
+            /**
+             * Extension of the `ModRM.reg` field.
+             */
+            ZyanU8 R;
+            /**
+             * Extension of the `SIB.index` field.
+             */
+            ZyanU8 X;
+            /**
+             * Extension of the `ModRM.rm`, `SIB.base`, or `opcode.reg` field.
+             */
+            ZyanU8 B;
+            /**
+             * The offset of the effective `REX` byte, relative to the beginning of the
+             * instruction, in bytes.
+             *
+             * This offset always points to the "effective" `REX` prefix (the one closest to the
+             * instruction opcode), if multiple `REX` prefixes are present.
+             *
+             * Note that the `REX` byte can be the first byte of the instruction, which would lead
+             * to an offset of `0`. Please refer to the instruction attributes to check for the
+             * presence of the `REX` prefix.
+             */
+            ZyanU8 offset;
+        } rex;
+        /**
+         * Detailed info about the `XOP` prefix.
+         */
+        struct ZydisDecodedInstructionRawXop_
+        {
+            /**
+             * Extension of the `ModRM.reg` field (inverted).
+             */
+            ZyanU8 R;
+            /**
+             * Extension of the `SIB.index` field (inverted).
+             */
+            ZyanU8 X;
+            /**
+             * Extension of the `ModRM.rm`, `SIB.base`, or `opcode.reg` field (inverted).
+             */
+            ZyanU8 B;
+            /**
+             * Opcode-map specifier.
+             */
+            ZyanU8 m_mmmm;
+            /**
+             * 64-bit operand-size promotion or opcode-extension.
+             */
+            ZyanU8 W;
+            /**
+             * `NDS`/`NDD` (non-destructive-source/destination) register
+             * specifier (inverted).
+             */
+            ZyanU8 vvvv;
+            /**
+             * Vector-length specifier.
+             */
+            ZyanU8 L;
+            /**
+             * Compressed legacy prefix.
+             */
+            ZyanU8 pp;
+            /**
+             * The offset of the first xop byte, relative to the beginning of
+             * the instruction, in bytes.
+             */
+            ZyanU8 offset;
+        } xop;
+        /**
+         * Detailed info about the `VEX` prefix.
+         */
+        struct ZydisDecodedInstructionRawVex_
+        {
+            /**
+             * Extension of the `ModRM.reg` field (inverted).
+             */
+            ZyanU8 R;
+            /**
+             * Extension of the `SIB.index` field (inverted).
+             */
+            ZyanU8 X;
+            /**
+             * Extension of the `ModRM.rm`, `SIB.base`, or `opcode.reg` field (inverted).
+             */
+            ZyanU8 B;
+            /**
+             * Opcode-map specifier.
+             */
+            ZyanU8 m_mmmm;
+            /**
+             * 64-bit operand-size promotion or opcode-extension.
+             */
+            ZyanU8 W;
+            /**
+             * `NDS`/`NDD` (non-destructive-source/destination) register specifier
+             *  (inverted).
+             */
+            ZyanU8 vvvv;
+            /**
+             * Vector-length specifier.
+             */
+            ZyanU8 L;
+            /**
+             * Compressed legacy prefix.
+             */
+            ZyanU8 pp;
+            /**
+             * The offset of the first `VEX` byte, relative to the beginning of
+             * the instruction, in bytes.
+             */
+            ZyanU8 offset;
+            /**
+             * The size of the `VEX` prefix, in bytes.
+             */
+            ZyanU8 size;
+        } vex;
+        /**
+         * Detailed info about the `EVEX` prefix.
+         */
+        struct ZydisDecodedInstructionRawEvex_
+        {
+            /**
+             * Extension of the `ModRM.reg` field (inverted).
+             */
+            ZyanU8 R;
+            /**
+             * Extension of the `SIB.index/vidx` field (inverted).
+             */
+            ZyanU8 X;
+            /**
+             * Extension of the `ModRM.rm` or `SIB.base` field (inverted).
+             */
+            ZyanU8 B;
+            /**
+             * High-16 register specifier modifier (inverted).
+             */
+            ZyanU8 R2;
+            /**
+             * Opcode-map specifier.
+             */
+            ZyanU8 mm;
+            /**
+             * 64-bit operand-size promotion or opcode-extension.
+             */
+            ZyanU8 W;
+            /**
+             * `NDS`/`NDD` (non-destructive-source/destination) register specifier
+             * (inverted).
+             */
+            ZyanU8 vvvv;
+            /**
+             * Compressed legacy prefix.
+             */
+            ZyanU8 pp;
+            /**
+             * Zeroing/Merging.
+             */
+            ZyanU8 z;
+            /**
+             * Vector-length specifier or rounding-control (most significant bit).
+             */
+            ZyanU8 L2;
+            /**
+             * Vector-length specifier or rounding-control (least significant bit).
+             */
+            ZyanU8 L;
+            /**
+             * Broadcast/RC/SAE context.
+             */
+            ZyanU8 b;
+            /**
+             * High-16 `NDS`/`VIDX` register specifier.
+             */
+            ZyanU8 V2;
+            /**
+             * Embedded opmask register specifier.
+             */
+            ZyanU8 aaa;
+            /**
+             * The offset of the first evex byte, relative to the beginning of the
+             * instruction, in bytes.
+             */
+            ZyanU8 offset;
+        } evex;
+        /**
+        * Detailed info about the `MVEX` prefix.
+        */
+        struct ZydisDecodedInstructionRawMvex_
+        {
+            /**
+             * Extension of the `ModRM.reg` field (inverted).
+             */
+            ZyanU8 R;
+            /**
+             * Extension of the `SIB.index/vidx` field (inverted).
+             */
+            ZyanU8 X;
+            /**
+             * Extension of the `ModRM.rm` or `SIB.base` field (inverted).
+             */
+            ZyanU8 B;
+            /**
+             * High-16 register specifier modifier (inverted).
+             */
+            ZyanU8 R2;
+            /**
+             * Opcode-map specifier.
+             */
+            ZyanU8 mmmm;
+            /**
+             * 64-bit operand-size promotion or opcode-extension.
+             */
+            ZyanU8 W;
+            /**
+             * `NDS`/`NDD` (non-destructive-source/destination) register specifier
+             *  (inverted).
+             */
+            ZyanU8 vvvv;
+            /**
+             * Compressed legacy prefix.
+             */
+            ZyanU8 pp;
+            /**
+             * Non-temporal/eviction hint.
+             */
+            ZyanU8 E;
+            /**
+             * Swizzle/broadcast/up-convert/down-convert/static-rounding controls.
+             */
+            ZyanU8 SSS;
+            /**
+             * High-16 `NDS`/`VIDX` register specifier.
+             */
+            ZyanU8 V2;
+            /**
+             * Embedded opmask register specifier.
+             */
+            ZyanU8 kkk;
+            /**
+             * The offset of the first mvex byte, relative to the beginning of the
+             * instruction, in bytes.
+             */
+            ZyanU8 offset;
+        } mvex;
+        /**
+         * Detailed info about the `ModRM` byte.
+         */
+        struct ZydisDecodedInstructionModRm_
+        {
+            /**
+             * The addressing mode.
+             */
+            ZyanU8 mod;
+            /**
+             * Register specifier or opcode-extension.
+             */
+            ZyanU8 reg;
+            /**
+             * Register specifier or opcode-extension.
+             */
+            ZyanU8 rm;
+            /**
+             * The offset of the `ModRM` byte, relative to the beginning of the
+             * instruction, in bytes.
+             */
+            ZyanU8 offset;
+        } modrm;
+        /**
+         * Detailed info about the `SIB` byte.
+         */
+        struct ZydisDecodedInstructionRawSib_
+        {
+            /**
+             * The scale factor.
+             */
+            ZyanU8 scale;
+            /**
+             * The index-register specifier.
+             */
+            ZyanU8 index;
+            /**
+             * The base-register specifier.
+             */
+            ZyanU8 base;
+            /**
+             * The offset of the `SIB` byte, relative to the beginning of the
+             * instruction, in bytes.
+             */
+            ZyanU8 offset;
+        } sib;
+        /**
+         * Detailed info about displacement-bytes.
+         */
+        struct ZydisDecodedInstructionRawDisp_
+        {
+            /**
+             * The displacement value
+             */
+            ZyanI64 value;
+            /**
+             * The physical displacement size, in bits.
+             */
+            ZyanU8 size;
+            // TODO: publish cd8 scale
+            /**
+             * The offset of the displacement data, relative to the beginning of the
+             * instruction, in bytes.
+             */
+            ZyanU8 offset;
+        } disp;
+        /**
+         * Detailed info about immediate-bytes.
+         */
+        struct ZydisDecodedInstructionRawImm_
+        {
+            /**
+             * Signals, if the immediate value is signed.
+             */
+            ZyanBool is_signed;
+            /**
+             * Signals, if the immediate value contains a relative offset. You can use
+             * `ZydisCalcAbsoluteAddress` to determine the absolute address value.
+             */
+            ZyanBool is_relative;
+            /**
+             * The immediate value.
+             */
+            union ZydisDecodedInstructionRawImmValue_
+            {
+                ZyanU64 u;
+                ZyanI64 s;
+            } value;
+            /**
+             * The physical immediate size, in bits.
+             */
+            ZyanU8 size;
+            /**
+             * The offset of the immediate data, relative to the beginning of the
+             * instruction, in bytes.
+             */
+            ZyanU8 offset;
+        } imm[2];
+    } raw;
+} ZydisDecodedInstruction;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYDIS_INSTRUCTIONINFO_H */
diff --git a/external/zydis/include/Zydis/Formatter.h b/external/zydis/include/Zydis/Formatter.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Formatter.h
@@ -0,0 +1,1179 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Functions for formatting instructions to human-readable text.
+ */
+
+#ifndef ZYDIS_FORMATTER_H
+#define ZYDIS_FORMATTER_H
+
+#include <Zycore/Defines.h>
+#include <Zycore/String.h>
+#include <Zycore/Types.h>
+#include <Zydis/DecoderTypes.h>
+#include <Zydis/FormatterBuffer.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Constants                                                                                      */
+/* ============================================================================================== */
+
+/**
+ * Use this constant as value for `runtime_address` in `ZydisFormatterFormatInstruction(Ex)`
+ * or `ZydisFormatterFormatOperand(Ex)` to print relative values for all addresses.
+ */
+#define ZYDIS_RUNTIME_ADDRESS_NONE (ZyanU64)(-1)
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Formatter style                                                                                */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisFormatterStyle` enum.
+ */
+typedef enum ZydisFormatterStyle_
+{
+    /**
+     * Generates `AT&T`-style disassembly.
+     */
+    ZYDIS_FORMATTER_STYLE_ATT,
+    /**
+     * Generates `Intel`-style disassembly.
+     */
+    ZYDIS_FORMATTER_STYLE_INTEL,
+    /**
+     * Generates `MASM`-style disassembly that is directly accepted as input for
+     * the `MASM` assembler.
+     *
+     * The runtime-address is ignored in this mode.
+     */
+    ZYDIS_FORMATTER_STYLE_INTEL_MASM,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_FORMATTER_STYLE_MAX_VALUE = ZYDIS_FORMATTER_STYLE_INTEL_MASM,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_FORMATTER_STYLE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_FORMATTER_STYLE_MAX_VALUE)
+} ZydisFormatterStyle;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Properties                                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisFormatterProperty` enum.
+ */
+typedef enum ZydisFormatterProperty_
+{
+    /* ---------------------------------------------------------------------------------------- */
+    /* General                                                                                  */
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * Controls the printing of effective operand-size suffixes (`AT&T`) or operand-sizes
+     * of memory operands (`INTEL`).
+     *
+     * Pass `ZYAN_TRUE` as value to force the formatter to always print the size, or `ZYAN_FALSE`
+     * to only print it if needed.
+     */
+    ZYDIS_FORMATTER_PROP_FORCE_SIZE,
+    /**
+     * Controls the printing of segment prefixes.
+     *
+     * Pass `ZYAN_TRUE` as value to force the formatter to always print the segment register of
+     * memory-operands or `ZYAN_FALSE` to omit implicit `DS`/`SS` segments.
+     */
+    ZYDIS_FORMATTER_PROP_FORCE_SEGMENT,
+    /**
+     * Controls the printing of branch addresses.
+     *
+     * Pass `ZYAN_TRUE` as value to force the formatter to always print relative branch addresses
+     * or `ZYAN_FALSE` to use absolute addresses, if a runtime-address different to
+     * `ZYDIS_RUNTIME_ADDRESS_NONE` was passed.
+     */
+    ZYDIS_FORMATTER_PROP_FORCE_RELATIVE_BRANCHES,
+    /**
+     * Controls the printing of `EIP`/`RIP`-relative addresses.
+     *
+     * Pass `ZYAN_TRUE` as value to force the formatter to always print relative addresses for
+     * `EIP`/`RIP`-relative operands or `ZYAN_FALSE` to use absolute addresses, if a runtime-
+     * address different to `ZYDIS_RUNTIME_ADDRESS_NONE` was passed.
+     */
+    ZYDIS_FORMATTER_PROP_FORCE_RELATIVE_RIPREL,
+    /**
+     * Controls the printing of branch-instructions sizes.
+     *
+     * Pass `ZYAN_TRUE` as value to print the size (`short`, `near`) of branch
+     * instructions or `ZYAN_FALSE` to hide it.
+     *
+     * Note that the `far`/`l` modifier is always printed.
+     */
+    ZYDIS_FORMATTER_PROP_PRINT_BRANCH_SIZE,
+
+    /**
+     * Controls the printing of instruction prefixes.
+     *
+     * Pass `ZYAN_TRUE` as value to print all instruction-prefixes (even ignored or duplicate
+     * ones) or `ZYAN_FALSE` to only print prefixes that are effectively used by the instruction.
+     */
+    ZYDIS_FORMATTER_PROP_DETAILED_PREFIXES,
+
+    /* ---------------------------------------------------------------------------------------- */
+    /* Numeric values                                                                           */
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * Controls the base of address values.
+     */
+    ZYDIS_FORMATTER_PROP_ADDR_BASE,
+    /**
+     * Controls the signedness of relative addresses. Absolute addresses are
+     * always unsigned.
+     */
+    ZYDIS_FORMATTER_PROP_ADDR_SIGNEDNESS,
+    /**
+     * Controls the padding of absolute address values.
+     *
+     * Pass `ZYDIS_PADDING_DISABLED` to disable padding, `ZYDIS_PADDING_AUTO` to padd all
+     * addresses to the current stack width (hexadecimal only), or any other integer value for
+     * custom padding.
+     */
+    ZYDIS_FORMATTER_PROP_ADDR_PADDING_ABSOLUTE,
+    /**
+     * Controls the padding of relative address values.
+     *
+     * Pass `ZYDIS_PADDING_DISABLED` to disable padding, `ZYDIS_PADDING_AUTO` to padd all
+     * addresses to the current stack width (hexadecimal only), or any other integer value for
+     * custom padding.
+     */
+    ZYDIS_FORMATTER_PROP_ADDR_PADDING_RELATIVE,
+
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * Controls the base of displacement values.
+     */
+    ZYDIS_FORMATTER_PROP_DISP_BASE,
+    /**
+     * Controls the signedness of displacement values.
+     */
+    ZYDIS_FORMATTER_PROP_DISP_SIGNEDNESS,
+    /**
+     * Controls the padding of displacement values.
+     *
+     * Pass `ZYDIS_PADDING_DISABLED` to disable padding, or any other integer value for custom
+     * padding.
+     */
+    ZYDIS_FORMATTER_PROP_DISP_PADDING,
+
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * Controls the base of immediate values.
+     */
+    ZYDIS_FORMATTER_PROP_IMM_BASE,
+    /**
+     * Controls the signedness of immediate values.
+     *
+     * Pass `ZYDIS_SIGNEDNESS_AUTO` to automatically choose the most suitable mode based on the
+     * operands `ZydisDecodedOperand.imm.is_signed` attribute.
+     */
+    ZYDIS_FORMATTER_PROP_IMM_SIGNEDNESS,
+    /**
+     * Controls the padding of immediate values.
+     *
+     * Pass `ZYDIS_PADDING_DISABLED` to disable padding, `ZYDIS_PADDING_AUTO` to padd all
+     * immediates to the operand-width (hexadecimal only), or any other integer value for custom
+     * padding.
+     */
+    ZYDIS_FORMATTER_PROP_IMM_PADDING,
+
+    /* ---------------------------------------------------------------------------------------- */
+    /* Text formatting                                                                          */
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * Controls the letter-case for prefixes.
+     *
+     * Pass `ZYAN_TRUE` as value to format in uppercase or `ZYAN_FALSE` to format in lowercase.
+     */
+    ZYDIS_FORMATTER_PROP_UPPERCASE_PREFIXES,
+    /**
+     * Controls the letter-case for the mnemonic.
+     *
+     * Pass `ZYAN_TRUE` as value to format in uppercase or `ZYAN_FALSE` to format in lowercase.
+     */
+    ZYDIS_FORMATTER_PROP_UPPERCASE_MNEMONIC,
+    /**
+     * Controls the letter-case for registers.
+     *
+     * Pass `ZYAN_TRUE` as value to format in uppercase or `ZYAN_FALSE` to format in lowercase.
+     */
+    ZYDIS_FORMATTER_PROP_UPPERCASE_REGISTERS,
+    /**
+     * Controls the letter-case for typecasts.
+     *
+     * Pass `ZYAN_TRUE` as value to format in uppercase or `ZYAN_FALSE` to format in lowercase.
+     */
+    ZYDIS_FORMATTER_PROP_UPPERCASE_TYPECASTS,
+    /**
+     * Controls the letter-case for decorators.
+     *
+     * Pass `ZYAN_TRUE` as value to format in uppercase or `ZYAN_FALSE` to format in lowercase.
+     */
+    ZYDIS_FORMATTER_PROP_UPPERCASE_DECORATORS,
+
+    /* ---------------------------------------------------------------------------------------- */
+    /* Number formatting                                                                        */
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * Controls the prefix for decimal values.
+     *
+     * Pass a pointer to a null-terminated C-style string with a maximum length of 10 characters
+     * to set a custom prefix, or `ZYAN_NULL` to disable it.
+     *
+     * The string is deep-copied into an internal buffer.
+     */
+    ZYDIS_FORMATTER_PROP_DEC_PREFIX,
+    /**
+     * Controls the suffix for decimal values.
+     *
+     * Pass a pointer to a null-terminated C-style string with a maximum length of 10 characters
+     * to set a custom suffix, or `ZYAN_NULL` to disable it.
+     *
+     * The string is deep-copied into an internal buffer.
+     */
+    ZYDIS_FORMATTER_PROP_DEC_SUFFIX,
+
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * Controls the letter-case of hexadecimal values.
+     *
+     * Pass `ZYAN_TRUE` as value to format in uppercase and `ZYAN_FALSE` to format in lowercase.
+     *
+     * The default value is `ZYAN_TRUE`.
+     */
+    ZYDIS_FORMATTER_PROP_HEX_UPPERCASE,
+    /**
+     * Controls the prefix for hexadecimal values.
+     *
+     * Pass a pointer to a null-terminated C-style string with a maximum length of 10 characters
+     * to set a custom prefix, or `ZYAN_NULL` to disable it.
+     *
+     * The string is deep-copied into an internal buffer.
+     */
+    ZYDIS_FORMATTER_PROP_HEX_PREFIX,
+    /**
+     * Controls the suffix for hexadecimal values.
+     *
+     * Pass a pointer to a null-terminated C-style string with a maximum length of 10 characters
+     * to set a custom suffix, or `ZYAN_NULL` to disable it.
+     *
+     * The string is deep-copied into an internal buffer.
+     */
+    ZYDIS_FORMATTER_PROP_HEX_SUFFIX,
+
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_FORMATTER_PROP_MAX_VALUE = ZYDIS_FORMATTER_PROP_HEX_SUFFIX,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_FORMATTER_PROP_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_FORMATTER_PROP_MAX_VALUE)
+} ZydisFormatterProperty;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisNumericBase` enum.
+ */
+typedef enum ZydisNumericBase_
+{
+    /**
+     * Decimal system.
+     */
+    ZYDIS_NUMERIC_BASE_DEC,
+    /**
+     * Hexadecimal system.
+     */
+    ZYDIS_NUMERIC_BASE_HEX,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_NUMERIC_BASE_MAX_VALUE = ZYDIS_NUMERIC_BASE_HEX,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_NUMERIC_BASE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_NUMERIC_BASE_MAX_VALUE)
+} ZydisNumericBase;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisSignedness` enum.
+ */
+typedef enum ZydisSignedness_
+{
+    /**
+     * Automatically choose the most suitable mode based on the operands
+     * ZydisDecodedOperand.imm.is_signed` attribute.
+     */
+    ZYDIS_SIGNEDNESS_AUTO,
+    /**
+     * Force signed values.
+     */
+    ZYDIS_SIGNEDNESS_SIGNED,
+    /**
+     * Force unsigned values.
+     */
+    ZYDIS_SIGNEDNESS_UNSIGNED,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_SIGNEDNESS_MAX_VALUE = ZYDIS_SIGNEDNESS_UNSIGNED,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_SIGNEDNESS_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_SIGNEDNESS_MAX_VALUE)
+} ZydisSignedness;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisPadding` enum.
+ */
+typedef enum ZydisPadding_
+{
+    /**
+     * Disables padding.
+     */
+    ZYDIS_PADDING_DISABLED = 0,
+    /**
+     * Padds the value to the current stack-width for addresses, or to the
+     * operand-width for immediate values (hexadecimal only).
+     */
+    ZYDIS_PADDING_AUTO     = (-1),
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_PADDING_MAX_VALUE = ZYDIS_PADDING_AUTO,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_PADDING_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_PADDING_MAX_VALUE)
+} ZydisPadding;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Function types                                                                                 */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisFormatterFunction` enum.
+ *
+ * Do NOT change the order of the values this enum or the function fields inside the
+ * `ZydisFormatter` struct.
+ */
+typedef enum ZydisFormatterFunction_
+{
+    /* ---------------------------------------------------------------------------------------- */
+    /* Instruction                                                                              */
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * This function is invoked before the formatter formats an instruction.
+     */
+    ZYDIS_FORMATTER_FUNC_PRE_INSTRUCTION,
+    /**
+     * This function is invoked after the formatter formatted an instruction.
+     */
+    ZYDIS_FORMATTER_FUNC_POST_INSTRUCTION,
+
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * This function refers to the main formatting function.
+     *
+     * Replacing this function allows for complete custom formatting, but indirectly disables all
+     * other hooks except for `ZYDIS_FORMATTER_FUNC_PRE_INSTRUCTION` and
+     * `ZYDIS_FORMATTER_FUNC_POST_INSTRUCTION`.
+     */
+    ZYDIS_FORMATTER_FUNC_FORMAT_INSTRUCTION,
+
+    /* ---------------------------------------------------------------------------------------- */
+    /* Operands                                                                                 */
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * This function is invoked before the formatter formats an operand.
+     */
+    ZYDIS_FORMATTER_FUNC_PRE_OPERAND,
+    /**
+     * This function is invoked after the formatter formatted an operand.
+     */
+    ZYDIS_FORMATTER_FUNC_POST_OPERAND,
+
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * This function is invoked to format a register operand.
+     */
+    ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_REG,
+    /**
+     * This function is invoked to format a memory operand.
+     *
+     * Replacing this function might indirectly disable some specific calls to the
+     * `ZYDIS_FORMATTER_FUNC_PRINT_TYPECAST`, `ZYDIS_FORMATTER_FUNC_PRINT_SEGMENT`,
+     * `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS` and `ZYDIS_FORMATTER_FUNC_PRINT_DISP` functions.
+     */
+    ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_MEM,
+    /**
+     * This function is invoked to format a pointer operand.
+     */
+    ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_PTR,
+    /**
+     * This function is invoked to format an immediate operand.
+     *
+     * Replacing this function might indirectly disable some specific calls to the
+     * `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS`, `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_REL` and
+     * `ZYDIS_FORMATTER_FUNC_PRINT_IMM` functions.
+     */
+    ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_IMM,
+
+    /* ---------------------------------------------------------------------------------------- */
+    /* Elemental tokens                                                                         */
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * This function is invoked to print the instruction mnemonic.
+     */
+    ZYDIS_FORMATTER_FUNC_PRINT_MNEMONIC,
+
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * This function is invoked to print a register.
+     */
+    ZYDIS_FORMATTER_FUNC_PRINT_REGISTER,
+    /**
+     * This function is invoked to print absolute addresses.
+     *
+     * Conditionally invoked, if a runtime-address different to `ZYDIS_RUNTIME_ADDRESS_NONE` was
+     * passed:
+     * - `IMM` operands with relative address (e.g. `JMP`, `CALL`, ...)
+     * - `MEM` operands with `EIP`/`RIP`-relative address (e.g. `MOV RAX, [RIP+0x12345678]`)
+     *
+     * Always invoked for:
+     * - `MEM` operands with absolute address (e.g. `MOV RAX, [0x12345678]`)
+     */
+    ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS,
+    /**
+     * This function is invoked to print relative addresses.
+     *
+     * Conditionally invoked, if `ZYDIS_RUNTIME_ADDRESS_NONE` was passed as runtime-address:
+     * - `IMM` operands with relative address (e.g. `JMP`, `CALL`, ...)
+     */
+    ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_REL,
+    /**
+     * This function is invoked to print a memory displacement value.
+     *
+     * If the memory displacement contains an address and a runtime-address different to
+     * `ZYDIS_RUNTIME_ADDRESS_NONE` was passed, `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS` is called
+     * instead.
+     */
+    ZYDIS_FORMATTER_FUNC_PRINT_DISP,
+    /**
+     * This function is invoked to print an immediate value.
+     *
+     * If the immediate contains an address and a runtime-address different to
+     * `ZYDIS_RUNTIME_ADDRESS_NONE` was passed, `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS` is called
+     * instead.
+     *
+     * If the immediate contains an address and `ZYDIS_RUNTIME_ADDRESS_NONE` was passed as
+     * runtime-address, `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_REL` is called instead.
+     */
+    ZYDIS_FORMATTER_FUNC_PRINT_IMM,
+
+    /* ---------------------------------------------------------------------------------------- */
+    /* Optional tokens                                                                          */
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * This function is invoked to print the size of a memory operand (`INTEL` only).
+     */
+    ZYDIS_FORMATTER_FUNC_PRINT_TYPECAST,
+    /**
+     * This function is invoked to print the segment-register of a memory operand.
+     */
+    ZYDIS_FORMATTER_FUNC_PRINT_SEGMENT,
+    /**
+     * This function is invoked to print the instruction prefixes.
+     */
+    ZYDIS_FORMATTER_FUNC_PRINT_PREFIXES,
+    /**
+     * This function is invoked after formatting an operand to print a `EVEX`/`MVEX`
+     * decorator.
+     */
+    ZYDIS_FORMATTER_FUNC_PRINT_DECORATOR,
+
+    /* ---------------------------------------------------------------------------------------- */
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_FORMATTER_FUNC_MAX_VALUE = ZYDIS_FORMATTER_FUNC_PRINT_DECORATOR,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_FORMATTER_FUNC_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_FORMATTER_FUNC_MAX_VALUE)
+} ZydisFormatterFunction;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Decorator types                                                                                */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisDecorator` enum.
+ */
+typedef enum ZydisDecorator_
+{
+    ZYDIS_DECORATOR_INVALID,
+    /**
+     * The embedded-mask decorator.
+     */
+    ZYDIS_DECORATOR_MASK,
+    /**
+     * The broadcast decorator.
+     */
+    ZYDIS_DECORATOR_BC,
+    /**
+     * The rounding-control decorator.
+     */
+    ZYDIS_DECORATOR_RC,
+    /**
+     * The suppress-all-exceptions decorator.
+     */
+    ZYDIS_DECORATOR_SAE,
+    /**
+     * The register-swizzle decorator.
+     */
+    ZYDIS_DECORATOR_SWIZZLE,
+    /**
+     * The conversion decorator.
+     */
+    ZYDIS_DECORATOR_CONVERSION,
+    /**
+     * The eviction-hint decorator.
+     */
+    ZYDIS_DECORATOR_EH,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_DECORATOR_MAX_VALUE = ZYDIS_DECORATOR_EH,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_DECORATOR_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_DECORATOR_MAX_VALUE)
+} ZydisDecorator;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Formatter context                                                                              */
+/* ---------------------------------------------------------------------------------------------- */
+
+typedef struct ZydisFormatter_ ZydisFormatter;
+
+/**
+ * Defines the `ZydisFormatterContext` struct.
+ */
+typedef struct ZydisFormatterContext_
+{
+    /**
+     * A pointer to the `ZydisDecodedInstruction` struct.
+     */
+    const ZydisDecodedInstruction* instruction;
+    /**
+     * A pointer to the `ZydisDecodedOperand` struct.
+     */
+    const ZydisDecodedOperand* operand;
+    /**
+     * The runtime address of the instruction.
+     */
+    ZyanU64 runtime_address;
+    /**
+     * A pointer to user-defined data.
+     */
+    void* user_data;
+} ZydisFormatterContext;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Function prototypes                                                                            */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisFormatterFunc` function prototype.
+ *
+ * @param   formatter   A pointer to the `ZydisFormatter` instance.
+ * @param   buffer      A pointer to the `ZydisFormatterBuffer` struct.
+ * @param   context     A pointer to the `ZydisFormatterContext` struct.
+ *
+ * @return  A zyan status code.
+ *
+ * Returning a status code other than `ZYAN_STATUS_SUCCESS` will immediately cause the formatting
+ * process to fail (see exceptions below).
+ *
+ * Returning `ZYDIS_STATUS_SKIP_TOKEN` is valid for functions of the following types and will
+ * instruct the formatter to omit the whole operand:
+ * - `ZYDIS_FORMATTER_FUNC_PRE_OPERAND`
+ * - `ZYDIS_FORMATTER_FUNC_POST_OPERAND`
+ * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_REG`
+ * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_MEM`
+ * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_PTR`
+ * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_IMM`
+ *
+ * This function prototype is used by functions of the following types:
+ * - `ZYDIS_FORMATTER_FUNC_PRE_INSTRUCTION`
+ * - `ZYDIS_FORMATTER_FUNC_POST_INSTRUCTION`
+ * - `ZYDIS_FORMATTER_FUNC_PRE_OPERAND`
+ * - `ZYDIS_FORMATTER_FUNC_POST_OPERAND`
+ * - `ZYDIS_FORMATTER_FUNC_FORMAT_INSTRUCTION`
+ * - `ZYDIS_FORMATTER_FUNC_PRINT_MNEMONIC`
+ * - `ZYDIS_FORMATTER_FUNC_PRINT_PREFIXES`
+ * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_REG`
+ * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_MEM`
+ * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_PTR`
+ * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_IMM`
+ * - `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS`
+ * - `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_REL`
+ * - `ZYDIS_FORMATTER_FUNC_PRINT_DISP`
+ * - `ZYDIS_FORMATTER_FUNC_PRINT_IMM`
+ * - `ZYDIS_FORMATTER_FUNC_PRINT_TYPECAST`
+ * - `ZYDIS_FORMATTER_FUNC_PRINT_SEGMENT`
+ */
+typedef ZyanStatus (*ZydisFormatterFunc)(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+ /**
+ * Defines the `ZydisFormatterRegisterFunc` function prototype.
+ *
+ * @param   formatter   A pointer to the `ZydisFormatter` instance.
+ * @param   buffer      A pointer to the `ZydisFormatterBuffer` struct.
+ * @param   context     A pointer to the `ZydisFormatterContext` struct.
+ * @param   reg         The register.
+ *
+ * @return  Returning a status code other than `ZYAN_STATUS_SUCCESS` will immediately cause the
+ *          formatting process to fail.
+ *
+ * This function prototype is used by functions of the following types:
+ * - `ZYDIS_FORMATTER_FUNC_PRINT_REGISTER`.
+ */
+typedef ZyanStatus (*ZydisFormatterRegisterFunc)(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisRegister reg);
+
+/**
+ * Defines the `ZydisFormatterDecoratorFunc` function prototype.
+ *
+ * @param   formatter   A pointer to the `ZydisFormatter` instance.
+ * @param   buffer      A pointer to the `ZydisFormatterBuffer` struct.
+ * @param   context     A pointer to the `ZydisFormatterContext` struct.
+ * @param   decorator   The decorator type.
+ *
+ * @return  Returning a status code other than `ZYAN_STATUS_SUCCESS` will immediately cause the
+ *          formatting process to fail.
+ *
+ * This function type is used for:
+ * - `ZYDIS_FORMATTER_FUNC_PRINT_DECORATOR`
+ */
+typedef ZyanStatus (*ZydisFormatterDecoratorFunc)(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisDecorator decorator);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Formatter struct                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisFormatter` struct.
+ *
+ * All fields in this struct should be considered as "private". Any changes may lead to unexpected
+ * behavior.
+ *
+ * Do NOT change the order of the function fields or the values of the `ZydisFormatterFunction`
+ * enum.
+ */
+struct ZydisFormatter_
+{
+    /**
+     * The formatter style.
+     */
+    ZydisFormatterStyle style;
+    /**
+     * The `ZYDIS_FORMATTER_PROP_FORCE_SIZE` property.
+     */
+    ZyanBool force_memory_size;
+    /**
+     * The `ZYDIS_FORMATTER_PROP_FORCE_SEGMENT` property.
+     */
+    ZyanBool force_memory_segment;
+    /**
+     * The `ZYDIS_FORMATTER_PROP_FORCE_RELATIVE_BRANCHES` property.
+     */
+    ZyanBool force_relative_branches;
+    /**
+     * The `ZYDIS_FORMATTER_PROP_FORCE_RELATIVE_RIPREL` property.
+     */
+    ZyanBool force_relative_riprel;
+    /**
+     * The `ZYDIS_FORMATTER_PROP_PRINT_BRANCH_SIZE` property.
+     */
+    ZyanBool print_branch_size;
+    /**
+     * The `ZYDIS_FORMATTER_DETAILED_PREFIXES` property.
+     */
+    ZyanBool detailed_prefixes;
+    /**
+     * The `ZYDIS_FORMATTER_ADDR_BASE` property.
+     */
+    ZydisNumericBase addr_base;
+    /**
+     * The `ZYDIS_FORMATTER_ADDR_SIGNEDNESS` property.
+     */
+    ZydisSignedness addr_signedness;
+    /**
+     * The `ZYDIS_FORMATTER_ADDR_PADDING_ABSOLUTE` property.
+     */
+    ZydisPadding addr_padding_absolute;
+    /**
+     * The `ZYDIS_FORMATTER_ADDR_PADDING_RELATIVE` property.
+     */
+    ZydisPadding addr_padding_relative;
+    /**
+     * The `ZYDIS_FORMATTER_DISP_BASE` property.
+     */
+    ZydisNumericBase disp_base;
+    /**
+     * The `ZYDIS_FORMATTER_DISP_SIGNEDNESS` property.
+     */
+    ZydisSignedness disp_signedness;
+    /**
+     * The `ZYDIS_FORMATTER_DISP_PADDING` property.
+     */
+    ZydisPadding disp_padding;
+    /**
+     * The `ZYDIS_FORMATTER_IMM_BASE` property.
+     */
+    ZydisNumericBase imm_base;
+    /**
+     * The `ZYDIS_FORMATTER_IMM_SIGNEDNESS` property.
+     */
+    ZydisSignedness imm_signedness;
+    /**
+     * The `ZYDIS_FORMATTER_IMM_PADDING` property.
+     */
+    ZydisPadding imm_padding;
+    /**
+     * The `ZYDIS_FORMATTER_UPPERCASE_PREFIXES` property.
+     */
+    ZyanI32 case_prefixes;
+    /**
+     * The `ZYDIS_FORMATTER_UPPERCASE_MNEMONIC` property.
+     */
+    ZyanI32 case_mnemonic;
+    /**
+     * The `ZYDIS_FORMATTER_UPPERCASE_REGISTERS` property.
+     */
+    ZyanI32 case_registers;
+    /**
+     * The `ZYDIS_FORMATTER_UPPERCASE_TYPECASTS` property.
+     */
+    ZyanI32 case_typecasts;
+    /**
+     * The `ZYDIS_FORMATTER_UPPERCASE_DECORATORS` property.
+     */
+    ZyanI32 case_decorators;
+    /**
+     * The `ZYDIS_FORMATTER_HEX_UPPERCASE` property.
+     */
+    ZyanBool hex_uppercase;
+    /**
+     * The number formats for all numeric bases.
+     *
+     * Index 0 = prefix
+     * Index 1 = suffix
+     */
+    struct
+    {
+        /**
+         * A pointer to the `ZyanStringView` to use as prefix/suffix.
+         */
+        const ZyanStringView* string;
+        /**
+         * The `ZyanStringView` to use as prefix/suffix
+         */
+        ZyanStringView string_data;
+        /**
+         * The actual string data.
+         */
+        char buffer[11];
+    } number_format[ZYDIS_NUMERIC_BASE_MAX_VALUE + 1][2];
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_PRE_INSTRUCTION` function.
+     */
+    ZydisFormatterFunc func_pre_instruction;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_POST_INSTRUCTION` function.
+     */
+    ZydisFormatterFunc func_post_instruction;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_FORMAT_INSTRUCTION` function.
+     */
+    ZydisFormatterFunc func_format_instruction;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_PRE_OPERAND` function.
+     */
+    ZydisFormatterFunc func_pre_operand;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_POST_OPERAND` function.
+     */
+    ZydisFormatterFunc func_post_operand;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_REG` function.
+     */
+    ZydisFormatterFunc func_format_operand_reg;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_MEM` function.
+     */
+    ZydisFormatterFunc func_format_operand_mem;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_PTR` function.
+     */
+    ZydisFormatterFunc func_format_operand_ptr;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_IMM` function.
+     */
+    ZydisFormatterFunc func_format_operand_imm;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_PRINT_MNEMONIC function.
+     */
+    ZydisFormatterFunc func_print_mnemonic;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_PRINT_REGISTER` function.
+     */
+    ZydisFormatterRegisterFunc func_print_register;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS` function.
+     */
+    ZydisFormatterFunc func_print_address_abs;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_REL` function.
+     */
+    ZydisFormatterFunc func_print_address_rel;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_PRINT_DISP` function.
+     */
+    ZydisFormatterFunc func_print_disp;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_PRINT_IMM` function.
+     */
+    ZydisFormatterFunc func_print_imm;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_PRINT_TYPECAST` function.
+     */
+    ZydisFormatterFunc func_print_typecast;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_PRINT_SEGMENT` function.
+     */
+    ZydisFormatterFunc func_print_segment;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_PRINT_PREFIXES` function.
+     */
+    ZydisFormatterFunc func_print_prefixes;
+    /**
+     * The `ZYDIS_FORMATTER_FUNC_PRINT_DECORATOR` function.
+     */
+    ZydisFormatterDecoratorFunc func_print_decorator;
+};
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/**
+ * @addtogroup formatter Formatter
+ * Functions allowing formatting of previously decoded instructions to human readable text.
+ * @{
+ */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Initialization                                                                                 */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Initializes the given `ZydisFormatter` instance.
+ *
+ * @param   formatter   A pointer to the `ZydisFormatter` instance.
+ * @param   style       The base formatter style (either `AT&T` or `Intel` style).
+ *
+ * @return  A zyan status code.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterInit(ZydisFormatter* formatter, ZydisFormatterStyle style);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Setter                                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Changes the value of the specified formatter `property`.
+ *
+ * @param   formatter   A pointer to the `ZydisFormatter` instance.
+ * @param   property    The id of the formatter-property.
+ * @param   value       The new value.
+ *
+ * @return  A zyan status code.
+ *
+ * This function returns `ZYAN_STATUS_INVALID_OPERATION` if a property can't be changed for the
+ * current formatter-style.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterSetProperty(ZydisFormatter* formatter,
+    ZydisFormatterProperty property, ZyanUPointer value);
+
+/**
+ * Replaces a formatter function with a custom callback and/or retrieves the currently
+ * used function.
+ *
+ * @param   formatter   A pointer to the `ZydisFormatter` instance.
+ * @param   type        The formatter function-type.
+ * @param   callback    A pointer to a variable that contains the pointer of the callback function
+ *                      and receives the pointer of the currently used function.
+ *
+ * @return  A zyan status code.
+ *
+ * Call this function with `callback` pointing to a `ZYAN_NULL` value to retrieve the currently
+ * used function without replacing it.
+ *
+ * This function returns `ZYAN_STATUS_INVALID_OPERATION` if a function can't be replaced for the
+ * current formatter-style.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterSetHook(ZydisFormatter* formatter,
+    ZydisFormatterFunction type, const void** callback);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Formatting                                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Formats the given instruction and writes it into the output buffer.
+ *
+ * @param   formatter       A pointer to the `ZydisFormatter` instance.
+ * @param   instruction     A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   buffer          A pointer to the output buffer.
+ * @param   length          The length of the output buffer (in characters).
+ * @param   runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE`
+ *                          to print relative addresses.
+ *
+ * @return  A zyan status code.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterFormatInstruction(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, char* buffer, ZyanUSize length,
+    ZyanU64 runtime_address);
+
+/**
+ * Formats the given instruction and writes it into the output buffer.
+ *
+ * @param   formatter       A pointer to the `ZydisFormatter` instance.
+ * @param   instruction     A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   buffer          A pointer to the output buffer.
+ * @param   length          The length of the output buffer (in characters).
+ * @param   runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE`
+ *                          to print relative addresses.
+ * @param   user_data       A pointer to user-defined data which can be used in custom formatter
+ *                          callbacks.
+ *
+ * @return  A zyan status code.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterFormatInstructionEx(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, char* buffer, ZyanUSize length,
+    ZyanU64 runtime_address, void* user_data);
+
+/**
+ * Formats the given operand and writes it into the output buffer.
+ *
+ * @param   formatter       A pointer to the `ZydisFormatter` instance.
+ * @param   instruction     A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   index           The index of the operand to format.
+ * @param   buffer          A pointer to the output buffer.
+ * @param   length          The length of the output buffer (in characters).
+ * @param   runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE`
+ *                          to print relative addresses.
+ *
+ * @return  A zyan status code.
+ *
+ * Use `ZydisFormatterFormatInstruction` or `ZydisFormatterFormatInstructionEx` to format a
+ * complete instruction.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterFormatOperand(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, ZyanU8 index, char* buffer, ZyanUSize length,
+    ZyanU64 runtime_address);
+
+/**
+ * Formats the given operand and writes it into the output buffer.
+ *
+ * @param   formatter       A pointer to the `ZydisFormatter` instance.
+ * @param   instruction     A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   index           The index of the operand to format.
+ * @param   buffer          A pointer to the output buffer.
+ * @param   length          The length of the output buffer (in characters).
+ * @param   runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE`
+ *                          to print relative addresses.
+ * @param   user_data       A pointer to user-defined data which can be used in custom formatter
+ *                          callbacks.
+ *
+ * @return  A zyan status code.
+ *
+ * Use `ZydisFormatterFormatInstruction` or `ZydisFormatterFormatInstructionEx` to format a
+ * complete instruction.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterFormatOperandEx(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, ZyanU8 index, char* buffer, ZyanUSize length,
+    ZyanU64 runtime_address, void* user_data);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Tokenizing                                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Tokenizes the given instruction and writes it into the output buffer.
+ *
+ * @param   formatter       A pointer to the `ZydisFormatter` instance.
+ * @param   instruction     A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   buffer          A pointer to the output buffer.
+ * @param   length          The length of the output buffer (in bytes).
+ * @param   runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE`
+ *                          to print relative addresses.
+ * @param   token           Receives a pointer to the first token in the output buffer.
+ *
+ * @return  A zyan status code.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenizeInstruction(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, void* buffer, ZyanUSize length,
+    ZyanU64 runtime_address, ZydisFormatterTokenConst** token);
+
+/**
+ * Tokenizes the given instruction and writes it into the output buffer.
+ *
+ * @param   formatter       A pointer to the `ZydisFormatter` instance.
+ * @param   instruction     A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   buffer          A pointer to the output buffer.
+ * @param   length          The length of the output buffer (in bytes).
+ * @param   runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE`
+ *                          to print relative addresses.
+ * @param   token           Receives a pointer to the first token in the output buffer.
+ * @param   user_data       A pointer to user-defined data which can be used in custom formatter
+ *                          callbacks.
+ *
+ * @return  A zyan status code.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenizeInstructionEx(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, void* buffer, ZyanUSize length,
+    ZyanU64 runtime_address, ZydisFormatterTokenConst** token, void* user_data);
+
+/**
+ * Tokenizes the given operand and writes it into the output buffer.
+ *
+ * @param   formatter       A pointer to the `ZydisFormatter` instance.
+ * @param   instruction     A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   index           The index of the operand to format.
+ * @param   buffer          A pointer to the output buffer.
+ * @param   length          The length of the output buffer (in bytes).
+ * @param   runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE`
+ *                          to print relative addresses.
+ * @param   token           Receives a pointer to the first token in the output buffer.
+ *
+ * @return  A zyan status code.
+ *
+ * Use `ZydisFormatterTokenizeInstruction` or `ZydisFormatterTokenizeInstructionEx` to tokenize a
+ * complete instruction.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenizeOperand(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, ZyanU8 index, void* buffer, ZyanUSize length,
+    ZyanU64 runtime_address, ZydisFormatterTokenConst** token);
+
+/**
+ * Tokenizes the given operand and writes it into the output buffer.
+ *
+ * @param   formatter       A pointer to the `ZydisFormatter` instance.
+ * @param   instruction     A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   index           The index of the operand to format.
+ * @param   buffer          A pointer to the output buffer.
+ * @param   length          The length of the output buffer (in bytes).
+ * @param   runtime_address The runtime address of the instruction or `ZYDIS_RUNTIME_ADDRESS_NONE`
+ *                          to print relative addresses.
+ * @param   token           Receives a pointer to the first token in the output buffer.
+ * @param   user_data       A pointer to user-defined data which can be used in custom formatter
+ *                          callbacks.
+ *
+ * @return  A zyan status code.
+ *
+ * Use `ZydisFormatterTokenizeInstruction` or `ZydisFormatterTokenizeInstructionEx` to tokenize a
+ * complete instruction.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenizeOperandEx(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, ZyanU8 index, void* buffer, ZyanUSize length,
+    ZyanU64 runtime_address, ZydisFormatterTokenConst** token, void* user_data);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * @}
+ */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYDIS_FORMATTER_H */
diff --git a/external/zydis/include/Zydis/FormatterBuffer.h b/external/zydis/include/Zydis/FormatterBuffer.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/FormatterBuffer.h
@@ -0,0 +1,306 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Implements the `ZydisFormatterToken` type and provides functions to use it.
+ */
+
+#ifndef ZYDIS_FORMATTER_TOKEN_H
+#define ZYDIS_FORMATTER_TOKEN_H
+
+#include <ZydisExportConfig.h>
+#include <Zycore/String.h>
+#include <Zycore/Types.h>
+#include <Zydis/Status.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Constants                                                                                      */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Token types                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * @biref   Defines the `ZydisTokenType` data-type.
+ */
+typedef ZyanU8 ZydisTokenType;
+
+#define ZYDIS_TOKEN_INVALID             0x00
+/**
+ * A whitespace character.
+ */
+#define ZYDIS_TOKEN_WHITESPACE          0x01
+/**
+ * A delimiter character (like `','`, `':'`, `'+'`, `'-'`, `'*'`).
+ */
+#define ZYDIS_TOKEN_DELIMITER           0x02
+/**
+ * An opening parenthesis character (like `'('`, `'['`, `'{'`).
+ */
+#define ZYDIS_TOKEN_PARENTHESIS_OPEN    0x03
+/**
+ * A closing parenthesis character (like `')'`, `']'`, `'}'`).
+ */
+#define ZYDIS_TOKEN_PARENTHESIS_CLOSE   0x04
+/**
+ * A prefix literal (like `"LOCK"`, `"REP"`).
+ */
+#define ZYDIS_TOKEN_PREFIX              0x05
+/**
+ * A mnemonic literal (like `"MOV"`, `"VCMPPSD"`, `"LCALL"`).
+ */
+#define ZYDIS_TOKEN_MNEMONIC            0x06
+/**
+ * A register literal (like `"RAX"`, `"DS"`, `"%ECX"`).
+ */
+#define ZYDIS_TOKEN_REGISTER            0x07
+/**
+ * An absolute address literal (like `0x00400000`).
+ */
+#define ZYDIS_TOKEN_ADDRESS_ABS         0x08
+/**
+ * A relative address literal (like `-0x100`).
+ */
+#define ZYDIS_TOKEN_ADDRESS_REL         0x09
+/**
+ * A displacement literal (like `0xFFFFFFFF`, `-0x100`, `+0x1234`).
+ */
+#define ZYDIS_TOKEN_DISPLACEMENT        0x0A
+/**
+ * An immediate literal (like `0xC0`, `-0x1234`, `$0x0000`).
+ */
+#define ZYDIS_TOKEN_IMMEDIATE           0x0B
+/**
+ * A typecast literal (like `DWORD PTR`).
+ */
+#define ZYDIS_TOKEN_TYPECAST            0x0C
+/**
+ * A decorator literal (like `"Z"`, `"1TO4"`).
+ */
+#define ZYDIS_TOKEN_DECORATOR           0x0D
+/**
+ * A symbol literal.
+ */
+#define ZYDIS_TOKEN_SYMBOL              0x0E
+
+/**
+ * The base for user-defined token types.
+ */
+#define ZYDIS_TOKEN_USER                0x80
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Token                                                                                          */
+/* ---------------------------------------------------------------------------------------------- */
+
+#pragma pack(push, 1)
+
+/**
+ * Defines the `ZydisFormatterToken` struct.
+ *
+ * All fields in this struct should be considered as "private". Any changes may lead to unexpected
+ * behavior.
+ */
+typedef struct ZydisFormatterToken_
+{
+    /**
+     * The token type.
+     */
+    ZydisTokenType type;
+    /**
+     * An offset to the next token, or `0`.
+     */
+    ZyanU8 next;
+} ZydisFormatterToken;
+
+#pragma pack(pop)
+
+/**
+ * Defines the `ZydisFormatterTokenConst` data-type.
+ */
+typedef const ZydisFormatterToken ZydisFormatterTokenConst;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Buffer                                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisFormatterBuffer` struct.
+ *
+ * All fields in this struct should be considered as "private". Any changes may
+ * lead to unexpected behavior.
+ */
+typedef struct ZydisFormatterBuffer_
+{
+    /**
+     * `ZYAN_TRUE`, if the buffer contains a token stream or `ZYAN_FALSE, if it
+     *  contains a simple string.
+     */
+    ZyanBool is_token_list;
+    /**
+     * The remaining capacity of the buffer.
+     */
+    ZyanUSize capacity;
+    /**
+     * The `ZyanString` instance that refers to the literal value of the most
+     * recently added token.
+     */
+    ZyanString string;
+} ZydisFormatterBuffer;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Token                                                                                          */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the `type` and the string `value` of the given `token`.
+ *
+ * @param   token   A pointer to the `ZydisFormatterToken` struct.
+ * @param   type    Receives the token type.
+ * @param   value   Receives a pointer to the string value of the token.
+ *
+ * @return  A zyan status code.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenGetValue(const ZydisFormatterToken* token,
+    ZydisTokenType* type, ZyanConstCharPointer* value);
+
+/**
+ * Obtains the next `token` linked to the passed one.
+ *
+ * @param   token   Receives a pointer to the next `ZydisFormatterToken` struct
+ *                  linked to the passed one.
+ *
+ * @return  A zyan status code.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterTokenNext(ZydisFormatterTokenConst** token);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Buffer                                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the current (most recently added) token.
+ *
+ * @param   buffer  A pointer to the `ZydisFormatterBuffer` struct.
+ * @param   token   Receives a pointer to the current token.
+ *
+ * @return  A zyan status code.
+ *
+ * This function returns `ZYAN_STATUS_INVALID_OPERATION`, if the buffer does not contain at least
+ * one token.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterBufferGetToken(const ZydisFormatterBuffer* buffer,
+    ZydisFormatterTokenConst** token);
+
+/**
+ * Returns the `ZyanString` instance associated with the given buffer.
+ *
+ * @param   buffer  A pointer to the `ZydisFormatterBuffer` struct.
+ * @param   string  Receives a pointer to the `ZyanString` instance associated with the given
+ *                  buffer.
+ *
+ * @return  A zyan status code.
+ *
+ * This function returns `ZYAN_STATUS_INVALID_OPERATION`, if the buffer does not contain at least
+ * one token.
+ *
+ * The returned string always refers to the literal value of the current (most recently added)
+ * token and will remain valid until the buffer is destroyed.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterBufferGetString(ZydisFormatterBuffer* buffer,
+    ZyanString** string);
+
+/**
+ * Appends a new token to the `buffer`.
+ *
+ * @param   buffer  A pointer to the `ZydisFormatterBuffer` struct.
+ * @param   type    The type of the new token.
+ *
+ * @return  A zyan status code.
+ *
+ * Note that the `ZyanString` instance returned by `ZydisFormatterBufferGetString` will
+ * automatically be updated by calling this function.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterBufferAppend(ZydisFormatterBuffer* buffer,
+    ZydisTokenType type);
+
+/**
+ * Returns a snapshot of the buffer-state.
+ *
+ * @param   buffer  A pointer to the `ZydisFormatterBuffer` struct.
+ * @param   state   Receives a snapshot of the buffer-state.
+ *
+ * @return  A zyan status code.
+ *
+ * Note that the buffer-state is saved inside the buffer itself and thus becomes invalid as soon
+ * as the buffer gets overwritten or destroyed.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterBufferRemember(const ZydisFormatterBuffer* buffer,
+    ZyanUPointer* state);
+
+/**
+ * Restores a previously saved buffer-state.
+ *
+ * @param   buffer  A pointer to the `ZydisFormatterBuffer` struct.
+ * @param   state   The buffer-state to restore.
+ *
+ * @return  A zyan status code.
+ *
+ * All tokens added after obtaining the given `state` snapshot will be removed. This function
+ * does NOT restore any string content.
+ *
+ * Note that the `ZyanString` instance returned by `ZydisFormatterBufferGetString` will
+ * automatically be updated by calling this function.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisFormatterBufferRestore(ZydisFormatterBuffer* buffer,
+    ZyanUPointer state);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYDIS_FORMATTER_TOKEN_H */
diff --git a/external/zydis/include/Zydis/Generated/EnumISAExt.h b/external/zydis/include/Zydis/Generated/EnumISAExt.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Generated/EnumISAExt.h
@@ -0,0 +1,89 @@
+/**
+ * Defines the `ZydisISAExt` enum.
+ */
+typedef enum ZydisISAExt_
+{
+    ZYDIS_ISA_EXT_INVALID,
+    ZYDIS_ISA_EXT_ADOX_ADCX,
+    ZYDIS_ISA_EXT_AES,
+    ZYDIS_ISA_EXT_AMD3DNOW,
+    ZYDIS_ISA_EXT_AVX,
+    ZYDIS_ISA_EXT_AVX2,
+    ZYDIS_ISA_EXT_AVX2GATHER,
+    ZYDIS_ISA_EXT_AVX512EVEX,
+    ZYDIS_ISA_EXT_AVX512VEX,
+    ZYDIS_ISA_EXT_AVXAES,
+    ZYDIS_ISA_EXT_BASE,
+    ZYDIS_ISA_EXT_BMI1,
+    ZYDIS_ISA_EXT_BMI2,
+    ZYDIS_ISA_EXT_CET,
+    ZYDIS_ISA_EXT_CLDEMOTE,
+    ZYDIS_ISA_EXT_CLFLUSHOPT,
+    ZYDIS_ISA_EXT_CLFSH,
+    ZYDIS_ISA_EXT_CLWB,
+    ZYDIS_ISA_EXT_CLZERO,
+    ZYDIS_ISA_EXT_ENQCMD,
+    ZYDIS_ISA_EXT_F16C,
+    ZYDIS_ISA_EXT_FMA,
+    ZYDIS_ISA_EXT_FMA4,
+    ZYDIS_ISA_EXT_GFNI,
+    ZYDIS_ISA_EXT_INVPCID,
+    ZYDIS_ISA_EXT_KNC,
+    ZYDIS_ISA_EXT_KNCE,
+    ZYDIS_ISA_EXT_KNCV,
+    ZYDIS_ISA_EXT_LONGMODE,
+    ZYDIS_ISA_EXT_LZCNT,
+    ZYDIS_ISA_EXT_MMX,
+    ZYDIS_ISA_EXT_MONITOR,
+    ZYDIS_ISA_EXT_MONITORX,
+    ZYDIS_ISA_EXT_MOVBE,
+    ZYDIS_ISA_EXT_MOVDIR,
+    ZYDIS_ISA_EXT_MPX,
+    ZYDIS_ISA_EXT_PADLOCK,
+    ZYDIS_ISA_EXT_PAUSE,
+    ZYDIS_ISA_EXT_PCLMULQDQ,
+    ZYDIS_ISA_EXT_PCONFIG,
+    ZYDIS_ISA_EXT_PKU,
+    ZYDIS_ISA_EXT_PREFETCHWT1,
+    ZYDIS_ISA_EXT_PT,
+    ZYDIS_ISA_EXT_RDPID,
+    ZYDIS_ISA_EXT_RDPRU,
+    ZYDIS_ISA_EXT_RDRAND,
+    ZYDIS_ISA_EXT_RDSEED,
+    ZYDIS_ISA_EXT_RDTSCP,
+    ZYDIS_ISA_EXT_RDWRFSGS,
+    ZYDIS_ISA_EXT_RTM,
+    ZYDIS_ISA_EXT_SGX,
+    ZYDIS_ISA_EXT_SGX_ENCLV,
+    ZYDIS_ISA_EXT_SHA,
+    ZYDIS_ISA_EXT_SMAP,
+    ZYDIS_ISA_EXT_SMX,
+    ZYDIS_ISA_EXT_SSE,
+    ZYDIS_ISA_EXT_SSE2,
+    ZYDIS_ISA_EXT_SSE3,
+    ZYDIS_ISA_EXT_SSE4,
+    ZYDIS_ISA_EXT_SSE4A,
+    ZYDIS_ISA_EXT_SSSE3,
+    ZYDIS_ISA_EXT_SVM,
+    ZYDIS_ISA_EXT_TBM,
+    ZYDIS_ISA_EXT_VAES,
+    ZYDIS_ISA_EXT_VMFUNC,
+    ZYDIS_ISA_EXT_VPCLMULQDQ,
+    ZYDIS_ISA_EXT_VTX,
+    ZYDIS_ISA_EXT_WAITPKG,
+    ZYDIS_ISA_EXT_X87,
+    ZYDIS_ISA_EXT_XOP,
+    ZYDIS_ISA_EXT_XSAVE,
+    ZYDIS_ISA_EXT_XSAVEC,
+    ZYDIS_ISA_EXT_XSAVEOPT,
+    ZYDIS_ISA_EXT_XSAVES,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_ISA_EXT_MAX_VALUE = ZYDIS_ISA_EXT_XSAVES,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_ISA_EXT_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_ISA_EXT_MAX_VALUE)
+} ZydisISAExt;
diff --git a/external/zydis/include/Zydis/Generated/EnumISASet.h b/external/zydis/include/Zydis/Generated/EnumISASet.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Generated/EnumISASet.h
@@ -0,0 +1,178 @@
+/**
+ * Defines the `ZydisISASet` enum.
+ */
+typedef enum ZydisISASet_
+{
+    ZYDIS_ISA_SET_INVALID,
+    ZYDIS_ISA_SET_ADOX_ADCX,
+    ZYDIS_ISA_SET_AES,
+    ZYDIS_ISA_SET_AMD,
+    ZYDIS_ISA_SET_AMD3DNOW,
+    ZYDIS_ISA_SET_AVX,
+    ZYDIS_ISA_SET_AVX2,
+    ZYDIS_ISA_SET_AVX2GATHER,
+    ZYDIS_ISA_SET_AVX512BW_128,
+    ZYDIS_ISA_SET_AVX512BW_128N,
+    ZYDIS_ISA_SET_AVX512BW_256,
+    ZYDIS_ISA_SET_AVX512BW_512,
+    ZYDIS_ISA_SET_AVX512BW_KOP,
+    ZYDIS_ISA_SET_AVX512CD_128,
+    ZYDIS_ISA_SET_AVX512CD_256,
+    ZYDIS_ISA_SET_AVX512CD_512,
+    ZYDIS_ISA_SET_AVX512DQ_128,
+    ZYDIS_ISA_SET_AVX512DQ_128N,
+    ZYDIS_ISA_SET_AVX512DQ_256,
+    ZYDIS_ISA_SET_AVX512DQ_512,
+    ZYDIS_ISA_SET_AVX512DQ_KOP,
+    ZYDIS_ISA_SET_AVX512DQ_SCALAR,
+    ZYDIS_ISA_SET_AVX512ER_512,
+    ZYDIS_ISA_SET_AVX512ER_SCALAR,
+    ZYDIS_ISA_SET_AVX512F_128,
+    ZYDIS_ISA_SET_AVX512F_128N,
+    ZYDIS_ISA_SET_AVX512F_256,
+    ZYDIS_ISA_SET_AVX512F_512,
+    ZYDIS_ISA_SET_AVX512F_KOP,
+    ZYDIS_ISA_SET_AVX512F_SCALAR,
+    ZYDIS_ISA_SET_AVX512PF_512,
+    ZYDIS_ISA_SET_AVX512_4FMAPS_512,
+    ZYDIS_ISA_SET_AVX512_4FMAPS_SCALAR,
+    ZYDIS_ISA_SET_AVX512_4VNNIW_512,
+    ZYDIS_ISA_SET_AVX512_BF16_128,
+    ZYDIS_ISA_SET_AVX512_BF16_256,
+    ZYDIS_ISA_SET_AVX512_BF16_512,
+    ZYDIS_ISA_SET_AVX512_BITALG_128,
+    ZYDIS_ISA_SET_AVX512_BITALG_256,
+    ZYDIS_ISA_SET_AVX512_BITALG_512,
+    ZYDIS_ISA_SET_AVX512_GFNI_128,
+    ZYDIS_ISA_SET_AVX512_GFNI_256,
+    ZYDIS_ISA_SET_AVX512_GFNI_512,
+    ZYDIS_ISA_SET_AVX512_IFMA_128,
+    ZYDIS_ISA_SET_AVX512_IFMA_256,
+    ZYDIS_ISA_SET_AVX512_IFMA_512,
+    ZYDIS_ISA_SET_AVX512_VAES_128,
+    ZYDIS_ISA_SET_AVX512_VAES_256,
+    ZYDIS_ISA_SET_AVX512_VAES_512,
+    ZYDIS_ISA_SET_AVX512_VBMI2_128,
+    ZYDIS_ISA_SET_AVX512_VBMI2_256,
+    ZYDIS_ISA_SET_AVX512_VBMI2_512,
+    ZYDIS_ISA_SET_AVX512_VBMI_128,
+    ZYDIS_ISA_SET_AVX512_VBMI_256,
+    ZYDIS_ISA_SET_AVX512_VBMI_512,
+    ZYDIS_ISA_SET_AVX512_VNNI_128,
+    ZYDIS_ISA_SET_AVX512_VNNI_256,
+    ZYDIS_ISA_SET_AVX512_VNNI_512,
+    ZYDIS_ISA_SET_AVX512_VP2INTERSECT_128,
+    ZYDIS_ISA_SET_AVX512_VP2INTERSECT_256,
+    ZYDIS_ISA_SET_AVX512_VP2INTERSECT_512,
+    ZYDIS_ISA_SET_AVX512_VPCLMULQDQ_128,
+    ZYDIS_ISA_SET_AVX512_VPCLMULQDQ_256,
+    ZYDIS_ISA_SET_AVX512_VPCLMULQDQ_512,
+    ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_128,
+    ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_256,
+    ZYDIS_ISA_SET_AVX512_VPOPCNTDQ_512,
+    ZYDIS_ISA_SET_AVXAES,
+    ZYDIS_ISA_SET_AVX_GFNI,
+    ZYDIS_ISA_SET_BMI1,
+    ZYDIS_ISA_SET_BMI2,
+    ZYDIS_ISA_SET_CET,
+    ZYDIS_ISA_SET_CLDEMOTE,
+    ZYDIS_ISA_SET_CLFLUSHOPT,
+    ZYDIS_ISA_SET_CLFSH,
+    ZYDIS_ISA_SET_CLWB,
+    ZYDIS_ISA_SET_CLZERO,
+    ZYDIS_ISA_SET_CMOV,
+    ZYDIS_ISA_SET_CMPXCHG16B,
+    ZYDIS_ISA_SET_ENQCMD,
+    ZYDIS_ISA_SET_F16C,
+    ZYDIS_ISA_SET_FAT_NOP,
+    ZYDIS_ISA_SET_FCMOV,
+    ZYDIS_ISA_SET_FMA,
+    ZYDIS_ISA_SET_FMA4,
+    ZYDIS_ISA_SET_FXSAVE,
+    ZYDIS_ISA_SET_FXSAVE64,
+    ZYDIS_ISA_SET_GFNI,
+    ZYDIS_ISA_SET_I186,
+    ZYDIS_ISA_SET_I286PROTECTED,
+    ZYDIS_ISA_SET_I286REAL,
+    ZYDIS_ISA_SET_I386,
+    ZYDIS_ISA_SET_I486,
+    ZYDIS_ISA_SET_I486REAL,
+    ZYDIS_ISA_SET_I86,
+    ZYDIS_ISA_SET_INVPCID,
+    ZYDIS_ISA_SET_KNCE,
+    ZYDIS_ISA_SET_KNCJKBR,
+    ZYDIS_ISA_SET_KNCSTREAM,
+    ZYDIS_ISA_SET_KNCV,
+    ZYDIS_ISA_SET_KNC_MISC,
+    ZYDIS_ISA_SET_KNC_PF_HINT,
+    ZYDIS_ISA_SET_LAHF,
+    ZYDIS_ISA_SET_LONGMODE,
+    ZYDIS_ISA_SET_LZCNT,
+    ZYDIS_ISA_SET_MONITOR,
+    ZYDIS_ISA_SET_MONITORX,
+    ZYDIS_ISA_SET_MOVBE,
+    ZYDIS_ISA_SET_MOVDIR,
+    ZYDIS_ISA_SET_MPX,
+    ZYDIS_ISA_SET_PADLOCK_ACE,
+    ZYDIS_ISA_SET_PADLOCK_PHE,
+    ZYDIS_ISA_SET_PADLOCK_PMM,
+    ZYDIS_ISA_SET_PADLOCK_RNG,
+    ZYDIS_ISA_SET_PAUSE,
+    ZYDIS_ISA_SET_PCLMULQDQ,
+    ZYDIS_ISA_SET_PCONFIG,
+    ZYDIS_ISA_SET_PENTIUMMMX,
+    ZYDIS_ISA_SET_PENTIUMREAL,
+    ZYDIS_ISA_SET_PKU,
+    ZYDIS_ISA_SET_POPCNT,
+    ZYDIS_ISA_SET_PPRO,
+    ZYDIS_ISA_SET_PREFETCHWT1,
+    ZYDIS_ISA_SET_PREFETCH_NOP,
+    ZYDIS_ISA_SET_PT,
+    ZYDIS_ISA_SET_RDPID,
+    ZYDIS_ISA_SET_RDPMC,
+    ZYDIS_ISA_SET_RDPRU,
+    ZYDIS_ISA_SET_RDRAND,
+    ZYDIS_ISA_SET_RDSEED,
+    ZYDIS_ISA_SET_RDTSCP,
+    ZYDIS_ISA_SET_RDWRFSGS,
+    ZYDIS_ISA_SET_RTM,
+    ZYDIS_ISA_SET_SGX,
+    ZYDIS_ISA_SET_SGX_ENCLV,
+    ZYDIS_ISA_SET_SHA,
+    ZYDIS_ISA_SET_SMAP,
+    ZYDIS_ISA_SET_SMX,
+    ZYDIS_ISA_SET_SSE,
+    ZYDIS_ISA_SET_SSE2,
+    ZYDIS_ISA_SET_SSE2MMX,
+    ZYDIS_ISA_SET_SSE3,
+    ZYDIS_ISA_SET_SSE3X87,
+    ZYDIS_ISA_SET_SSE4,
+    ZYDIS_ISA_SET_SSE42,
+    ZYDIS_ISA_SET_SSE4A,
+    ZYDIS_ISA_SET_SSEMXCSR,
+    ZYDIS_ISA_SET_SSE_PREFETCH,
+    ZYDIS_ISA_SET_SSSE3,
+    ZYDIS_ISA_SET_SSSE3MMX,
+    ZYDIS_ISA_SET_SVM,
+    ZYDIS_ISA_SET_TBM,
+    ZYDIS_ISA_SET_VAES,
+    ZYDIS_ISA_SET_VMFUNC,
+    ZYDIS_ISA_SET_VPCLMULQDQ,
+    ZYDIS_ISA_SET_VTX,
+    ZYDIS_ISA_SET_WAITPKG,
+    ZYDIS_ISA_SET_X87,
+    ZYDIS_ISA_SET_XOP,
+    ZYDIS_ISA_SET_XSAVE,
+    ZYDIS_ISA_SET_XSAVEC,
+    ZYDIS_ISA_SET_XSAVEOPT,
+    ZYDIS_ISA_SET_XSAVES,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_ISA_SET_MAX_VALUE = ZYDIS_ISA_SET_XSAVES,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_ISA_SET_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_ISA_SET_MAX_VALUE)
+} ZydisISASet;
diff --git a/external/zydis/include/Zydis/Generated/EnumInstructionCategory.h b/external/zydis/include/Zydis/Generated/EnumInstructionCategory.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Generated/EnumInstructionCategory.h
@@ -0,0 +1,114 @@
+/**
+ * Defines the `ZydisInstructionCategory` enum.
+ */
+typedef enum ZydisInstructionCategory_
+{
+    ZYDIS_CATEGORY_INVALID,
+    ZYDIS_CATEGORY_ADOX_ADCX,
+    ZYDIS_CATEGORY_AES,
+    ZYDIS_CATEGORY_AMD3DNOW,
+    ZYDIS_CATEGORY_AVX,
+    ZYDIS_CATEGORY_AVX2,
+    ZYDIS_CATEGORY_AVX2GATHER,
+    ZYDIS_CATEGORY_AVX512,
+    ZYDIS_CATEGORY_AVX512_4FMAPS,
+    ZYDIS_CATEGORY_AVX512_4VNNIW,
+    ZYDIS_CATEGORY_AVX512_BITALG,
+    ZYDIS_CATEGORY_AVX512_VBMI,
+    ZYDIS_CATEGORY_AVX512_VP2INTERSECT,
+    ZYDIS_CATEGORY_BINARY,
+    ZYDIS_CATEGORY_BITBYTE,
+    ZYDIS_CATEGORY_BLEND,
+    ZYDIS_CATEGORY_BMI1,
+    ZYDIS_CATEGORY_BMI2,
+    ZYDIS_CATEGORY_BROADCAST,
+    ZYDIS_CATEGORY_CALL,
+    ZYDIS_CATEGORY_CET,
+    ZYDIS_CATEGORY_CLDEMOTE,
+    ZYDIS_CATEGORY_CLFLUSHOPT,
+    ZYDIS_CATEGORY_CLWB,
+    ZYDIS_CATEGORY_CLZERO,
+    ZYDIS_CATEGORY_CMOV,
+    ZYDIS_CATEGORY_COMPRESS,
+    ZYDIS_CATEGORY_COND_BR,
+    ZYDIS_CATEGORY_CONFLICT,
+    ZYDIS_CATEGORY_CONVERT,
+    ZYDIS_CATEGORY_DATAXFER,
+    ZYDIS_CATEGORY_DECIMAL,
+    ZYDIS_CATEGORY_ENQCMD,
+    ZYDIS_CATEGORY_EXPAND,
+    ZYDIS_CATEGORY_FCMOV,
+    ZYDIS_CATEGORY_FLAGOP,
+    ZYDIS_CATEGORY_FMA4,
+    ZYDIS_CATEGORY_GATHER,
+    ZYDIS_CATEGORY_GFNI,
+    ZYDIS_CATEGORY_IFMA,
+    ZYDIS_CATEGORY_INTERRUPT,
+    ZYDIS_CATEGORY_IO,
+    ZYDIS_CATEGORY_IOSTRINGOP,
+    ZYDIS_CATEGORY_KMASK,
+    ZYDIS_CATEGORY_KNC,
+    ZYDIS_CATEGORY_KNCMASK,
+    ZYDIS_CATEGORY_KNCSCALAR,
+    ZYDIS_CATEGORY_LOGICAL,
+    ZYDIS_CATEGORY_LOGICAL_FP,
+    ZYDIS_CATEGORY_LZCNT,
+    ZYDIS_CATEGORY_MISC,
+    ZYDIS_CATEGORY_MMX,
+    ZYDIS_CATEGORY_MOVDIR,
+    ZYDIS_CATEGORY_MPX,
+    ZYDIS_CATEGORY_NOP,
+    ZYDIS_CATEGORY_PADLOCK,
+    ZYDIS_CATEGORY_PCLMULQDQ,
+    ZYDIS_CATEGORY_PCONFIG,
+    ZYDIS_CATEGORY_PKU,
+    ZYDIS_CATEGORY_POP,
+    ZYDIS_CATEGORY_PREFETCH,
+    ZYDIS_CATEGORY_PREFETCHWT1,
+    ZYDIS_CATEGORY_PT,
+    ZYDIS_CATEGORY_PUSH,
+    ZYDIS_CATEGORY_RDPID,
+    ZYDIS_CATEGORY_RDPRU,
+    ZYDIS_CATEGORY_RDRAND,
+    ZYDIS_CATEGORY_RDSEED,
+    ZYDIS_CATEGORY_RDWRFSGS,
+    ZYDIS_CATEGORY_RET,
+    ZYDIS_CATEGORY_ROTATE,
+    ZYDIS_CATEGORY_SCATTER,
+    ZYDIS_CATEGORY_SEGOP,
+    ZYDIS_CATEGORY_SEMAPHORE,
+    ZYDIS_CATEGORY_SETCC,
+    ZYDIS_CATEGORY_SGX,
+    ZYDIS_CATEGORY_SHA,
+    ZYDIS_CATEGORY_SHIFT,
+    ZYDIS_CATEGORY_SMAP,
+    ZYDIS_CATEGORY_SSE,
+    ZYDIS_CATEGORY_STRINGOP,
+    ZYDIS_CATEGORY_STTNI,
+    ZYDIS_CATEGORY_SYSCALL,
+    ZYDIS_CATEGORY_SYSRET,
+    ZYDIS_CATEGORY_SYSTEM,
+    ZYDIS_CATEGORY_TBM,
+    ZYDIS_CATEGORY_UFMA,
+    ZYDIS_CATEGORY_UNCOND_BR,
+    ZYDIS_CATEGORY_VAES,
+    ZYDIS_CATEGORY_VBMI2,
+    ZYDIS_CATEGORY_VFMA,
+    ZYDIS_CATEGORY_VPCLMULQDQ,
+    ZYDIS_CATEGORY_VTX,
+    ZYDIS_CATEGORY_WAITPKG,
+    ZYDIS_CATEGORY_WIDENOP,
+    ZYDIS_CATEGORY_X87_ALU,
+    ZYDIS_CATEGORY_XOP,
+    ZYDIS_CATEGORY_XSAVE,
+    ZYDIS_CATEGORY_XSAVEOPT,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_CATEGORY_MAX_VALUE = ZYDIS_CATEGORY_XSAVEOPT,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_CATEGORY_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_CATEGORY_MAX_VALUE)
+} ZydisInstructionCategory;
diff --git a/external/zydis/include/Zydis/Generated/EnumMnemonic.h b/external/zydis/include/Zydis/Generated/EnumMnemonic.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Generated/EnumMnemonic.h
@@ -0,0 +1,1621 @@
+/**
+ * Defines the `ZydisMnemonic` enum.
+ */
+typedef enum ZydisMnemonic_
+{
+    ZYDIS_MNEMONIC_INVALID,
+    ZYDIS_MNEMONIC_AAA,
+    ZYDIS_MNEMONIC_AAD,
+    ZYDIS_MNEMONIC_AAM,
+    ZYDIS_MNEMONIC_AAS,
+    ZYDIS_MNEMONIC_ADC,
+    ZYDIS_MNEMONIC_ADCX,
+    ZYDIS_MNEMONIC_ADD,
+    ZYDIS_MNEMONIC_ADDPD,
+    ZYDIS_MNEMONIC_ADDPS,
+    ZYDIS_MNEMONIC_ADDSD,
+    ZYDIS_MNEMONIC_ADDSS,
+    ZYDIS_MNEMONIC_ADDSUBPD,
+    ZYDIS_MNEMONIC_ADDSUBPS,
+    ZYDIS_MNEMONIC_ADOX,
+    ZYDIS_MNEMONIC_AESDEC,
+    ZYDIS_MNEMONIC_AESDECLAST,
+    ZYDIS_MNEMONIC_AESENC,
+    ZYDIS_MNEMONIC_AESENCLAST,
+    ZYDIS_MNEMONIC_AESIMC,
+    ZYDIS_MNEMONIC_AESKEYGENASSIST,
+    ZYDIS_MNEMONIC_AND,
+    ZYDIS_MNEMONIC_ANDN,
+    ZYDIS_MNEMONIC_ANDNPD,
+    ZYDIS_MNEMONIC_ANDNPS,
+    ZYDIS_MNEMONIC_ANDPD,
+    ZYDIS_MNEMONIC_ANDPS,
+    ZYDIS_MNEMONIC_ARPL,
+    ZYDIS_MNEMONIC_BEXTR,
+    ZYDIS_MNEMONIC_BLCFILL,
+    ZYDIS_MNEMONIC_BLCI,
+    ZYDIS_MNEMONIC_BLCIC,
+    ZYDIS_MNEMONIC_BLCMSK,
+    ZYDIS_MNEMONIC_BLCS,
+    ZYDIS_MNEMONIC_BLENDPD,
+    ZYDIS_MNEMONIC_BLENDPS,
+    ZYDIS_MNEMONIC_BLENDVPD,
+    ZYDIS_MNEMONIC_BLENDVPS,
+    ZYDIS_MNEMONIC_BLSFILL,
+    ZYDIS_MNEMONIC_BLSI,
+    ZYDIS_MNEMONIC_BLSIC,
+    ZYDIS_MNEMONIC_BLSMSK,
+    ZYDIS_MNEMONIC_BLSR,
+    ZYDIS_MNEMONIC_BNDCL,
+    ZYDIS_MNEMONIC_BNDCN,
+    ZYDIS_MNEMONIC_BNDCU,
+    ZYDIS_MNEMONIC_BNDLDX,
+    ZYDIS_MNEMONIC_BNDMK,
+    ZYDIS_MNEMONIC_BNDMOV,
+    ZYDIS_MNEMONIC_BNDSTX,
+    ZYDIS_MNEMONIC_BOUND,
+    ZYDIS_MNEMONIC_BSF,
+    ZYDIS_MNEMONIC_BSR,
+    ZYDIS_MNEMONIC_BSWAP,
+    ZYDIS_MNEMONIC_BT,
+    ZYDIS_MNEMONIC_BTC,
+    ZYDIS_MNEMONIC_BTR,
+    ZYDIS_MNEMONIC_BTS,
+    ZYDIS_MNEMONIC_BZHI,
+    ZYDIS_MNEMONIC_CALL,
+    ZYDIS_MNEMONIC_CBW,
+    ZYDIS_MNEMONIC_CDQ,
+    ZYDIS_MNEMONIC_CDQE,
+    ZYDIS_MNEMONIC_CLAC,
+    ZYDIS_MNEMONIC_CLC,
+    ZYDIS_MNEMONIC_CLD,
+    ZYDIS_MNEMONIC_CLDEMOTE,
+    ZYDIS_MNEMONIC_CLEVICT0,
+    ZYDIS_MNEMONIC_CLEVICT1,
+    ZYDIS_MNEMONIC_CLFLUSH,
+    ZYDIS_MNEMONIC_CLFLUSHOPT,
+    ZYDIS_MNEMONIC_CLGI,
+    ZYDIS_MNEMONIC_CLI,
+    ZYDIS_MNEMONIC_CLRSSBSY,
+    ZYDIS_MNEMONIC_CLTS,
+    ZYDIS_MNEMONIC_CLWB,
+    ZYDIS_MNEMONIC_CLZERO,
+    ZYDIS_MNEMONIC_CMC,
+    ZYDIS_MNEMONIC_CMOVB,
+    ZYDIS_MNEMONIC_CMOVBE,
+    ZYDIS_MNEMONIC_CMOVL,
+    ZYDIS_MNEMONIC_CMOVLE,
+    ZYDIS_MNEMONIC_CMOVNB,
+    ZYDIS_MNEMONIC_CMOVNBE,
+    ZYDIS_MNEMONIC_CMOVNL,
+    ZYDIS_MNEMONIC_CMOVNLE,
+    ZYDIS_MNEMONIC_CMOVNO,
+    ZYDIS_MNEMONIC_CMOVNP,
+    ZYDIS_MNEMONIC_CMOVNS,
+    ZYDIS_MNEMONIC_CMOVNZ,
+    ZYDIS_MNEMONIC_CMOVO,
+    ZYDIS_MNEMONIC_CMOVP,
+    ZYDIS_MNEMONIC_CMOVS,
+    ZYDIS_MNEMONIC_CMOVZ,
+    ZYDIS_MNEMONIC_CMP,
+    ZYDIS_MNEMONIC_CMPPD,
+    ZYDIS_MNEMONIC_CMPPS,
+    ZYDIS_MNEMONIC_CMPSB,
+    ZYDIS_MNEMONIC_CMPSD,
+    ZYDIS_MNEMONIC_CMPSQ,
+    ZYDIS_MNEMONIC_CMPSS,
+    ZYDIS_MNEMONIC_CMPSW,
+    ZYDIS_MNEMONIC_CMPXCHG,
+    ZYDIS_MNEMONIC_CMPXCHG16B,
+    ZYDIS_MNEMONIC_CMPXCHG8B,
+    ZYDIS_MNEMONIC_COMISD,
+    ZYDIS_MNEMONIC_COMISS,
+    ZYDIS_MNEMONIC_CPUID,
+    ZYDIS_MNEMONIC_CQO,
+    ZYDIS_MNEMONIC_CRC32,
+    ZYDIS_MNEMONIC_CVTDQ2PD,
+    ZYDIS_MNEMONIC_CVTDQ2PS,
+    ZYDIS_MNEMONIC_CVTPD2DQ,
+    ZYDIS_MNEMONIC_CVTPD2PI,
+    ZYDIS_MNEMONIC_CVTPD2PS,
+    ZYDIS_MNEMONIC_CVTPI2PD,
+    ZYDIS_MNEMONIC_CVTPI2PS,
+    ZYDIS_MNEMONIC_CVTPS2DQ,
+    ZYDIS_MNEMONIC_CVTPS2PD,
+    ZYDIS_MNEMONIC_CVTPS2PI,
+    ZYDIS_MNEMONIC_CVTSD2SI,
+    ZYDIS_MNEMONIC_CVTSD2SS,
+    ZYDIS_MNEMONIC_CVTSI2SD,
+    ZYDIS_MNEMONIC_CVTSI2SS,
+    ZYDIS_MNEMONIC_CVTSS2SD,
+    ZYDIS_MNEMONIC_CVTSS2SI,
+    ZYDIS_MNEMONIC_CVTTPD2DQ,
+    ZYDIS_MNEMONIC_CVTTPD2PI,
+    ZYDIS_MNEMONIC_CVTTPS2DQ,
+    ZYDIS_MNEMONIC_CVTTPS2PI,
+    ZYDIS_MNEMONIC_CVTTSD2SI,
+    ZYDIS_MNEMONIC_CVTTSS2SI,
+    ZYDIS_MNEMONIC_CWD,
+    ZYDIS_MNEMONIC_CWDE,
+    ZYDIS_MNEMONIC_DAA,
+    ZYDIS_MNEMONIC_DAS,
+    ZYDIS_MNEMONIC_DEC,
+    ZYDIS_MNEMONIC_DELAY,
+    ZYDIS_MNEMONIC_DIV,
+    ZYDIS_MNEMONIC_DIVPD,
+    ZYDIS_MNEMONIC_DIVPS,
+    ZYDIS_MNEMONIC_DIVSD,
+    ZYDIS_MNEMONIC_DIVSS,
+    ZYDIS_MNEMONIC_DPPD,
+    ZYDIS_MNEMONIC_DPPS,
+    ZYDIS_MNEMONIC_EMMS,
+    ZYDIS_MNEMONIC_ENCLS,
+    ZYDIS_MNEMONIC_ENCLU,
+    ZYDIS_MNEMONIC_ENCLV,
+    ZYDIS_MNEMONIC_ENDBR32,
+    ZYDIS_MNEMONIC_ENDBR64,
+    ZYDIS_MNEMONIC_ENQCMD,
+    ZYDIS_MNEMONIC_ENQCMDS,
+    ZYDIS_MNEMONIC_ENTER,
+    ZYDIS_MNEMONIC_EXTRACTPS,
+    ZYDIS_MNEMONIC_EXTRQ,
+    ZYDIS_MNEMONIC_F2XM1,
+    ZYDIS_MNEMONIC_FABS,
+    ZYDIS_MNEMONIC_FADD,
+    ZYDIS_MNEMONIC_FADDP,
+    ZYDIS_MNEMONIC_FBLD,
+    ZYDIS_MNEMONIC_FBSTP,
+    ZYDIS_MNEMONIC_FCHS,
+    ZYDIS_MNEMONIC_FCMOVB,
+    ZYDIS_MNEMONIC_FCMOVBE,
+    ZYDIS_MNEMONIC_FCMOVE,
+    ZYDIS_MNEMONIC_FCMOVNB,
+    ZYDIS_MNEMONIC_FCMOVNBE,
+    ZYDIS_MNEMONIC_FCMOVNE,
+    ZYDIS_MNEMONIC_FCMOVNU,
+    ZYDIS_MNEMONIC_FCMOVU,
+    ZYDIS_MNEMONIC_FCOM,
+    ZYDIS_MNEMONIC_FCOMI,
+    ZYDIS_MNEMONIC_FCOMIP,
+    ZYDIS_MNEMONIC_FCOMP,
+    ZYDIS_MNEMONIC_FCOMPP,
+    ZYDIS_MNEMONIC_FCOS,
+    ZYDIS_MNEMONIC_FDECSTP,
+    ZYDIS_MNEMONIC_FDISI8087_NOP,
+    ZYDIS_MNEMONIC_FDIV,
+    ZYDIS_MNEMONIC_FDIVP,
+    ZYDIS_MNEMONIC_FDIVR,
+    ZYDIS_MNEMONIC_FDIVRP,
+    ZYDIS_MNEMONIC_FEMMS,
+    ZYDIS_MNEMONIC_FENI8087_NOP,
+    ZYDIS_MNEMONIC_FFREE,
+    ZYDIS_MNEMONIC_FFREEP,
+    ZYDIS_MNEMONIC_FIADD,
+    ZYDIS_MNEMONIC_FICOM,
+    ZYDIS_MNEMONIC_FICOMP,
+    ZYDIS_MNEMONIC_FIDIV,
+    ZYDIS_MNEMONIC_FIDIVR,
+    ZYDIS_MNEMONIC_FILD,
+    ZYDIS_MNEMONIC_FIMUL,
+    ZYDIS_MNEMONIC_FINCSTP,
+    ZYDIS_MNEMONIC_FIST,
+    ZYDIS_MNEMONIC_FISTP,
+    ZYDIS_MNEMONIC_FISTTP,
+    ZYDIS_MNEMONIC_FISUB,
+    ZYDIS_MNEMONIC_FISUBR,
+    ZYDIS_MNEMONIC_FLD,
+    ZYDIS_MNEMONIC_FLD1,
+    ZYDIS_MNEMONIC_FLDCW,
+    ZYDIS_MNEMONIC_FLDENV,
+    ZYDIS_MNEMONIC_FLDL2E,
+    ZYDIS_MNEMONIC_FLDL2T,
+    ZYDIS_MNEMONIC_FLDLG2,
+    ZYDIS_MNEMONIC_FLDLN2,
+    ZYDIS_MNEMONIC_FLDPI,
+    ZYDIS_MNEMONIC_FLDZ,
+    ZYDIS_MNEMONIC_FMUL,
+    ZYDIS_MNEMONIC_FMULP,
+    ZYDIS_MNEMONIC_FNCLEX,
+    ZYDIS_MNEMONIC_FNINIT,
+    ZYDIS_MNEMONIC_FNOP,
+    ZYDIS_MNEMONIC_FNSAVE,
+    ZYDIS_MNEMONIC_FNSTCW,
+    ZYDIS_MNEMONIC_FNSTENV,
+    ZYDIS_MNEMONIC_FNSTSW,
+    ZYDIS_MNEMONIC_FPATAN,
+    ZYDIS_MNEMONIC_FPREM,
+    ZYDIS_MNEMONIC_FPREM1,
+    ZYDIS_MNEMONIC_FPTAN,
+    ZYDIS_MNEMONIC_FRNDINT,
+    ZYDIS_MNEMONIC_FRSTOR,
+    ZYDIS_MNEMONIC_FSCALE,
+    ZYDIS_MNEMONIC_FSETPM287_NOP,
+    ZYDIS_MNEMONIC_FSIN,
+    ZYDIS_MNEMONIC_FSINCOS,
+    ZYDIS_MNEMONIC_FSQRT,
+    ZYDIS_MNEMONIC_FST,
+    ZYDIS_MNEMONIC_FSTP,
+    ZYDIS_MNEMONIC_FSTPNCE,
+    ZYDIS_MNEMONIC_FSUB,
+    ZYDIS_MNEMONIC_FSUBP,
+    ZYDIS_MNEMONIC_FSUBR,
+    ZYDIS_MNEMONIC_FSUBRP,
+    ZYDIS_MNEMONIC_FTST,
+    ZYDIS_MNEMONIC_FUCOM,
+    ZYDIS_MNEMONIC_FUCOMI,
+    ZYDIS_MNEMONIC_FUCOMIP,
+    ZYDIS_MNEMONIC_FUCOMP,
+    ZYDIS_MNEMONIC_FUCOMPP,
+    ZYDIS_MNEMONIC_FWAIT,
+    ZYDIS_MNEMONIC_FXAM,
+    ZYDIS_MNEMONIC_FXCH,
+    ZYDIS_MNEMONIC_FXRSTOR,
+    ZYDIS_MNEMONIC_FXRSTOR64,
+    ZYDIS_MNEMONIC_FXSAVE,
+    ZYDIS_MNEMONIC_FXSAVE64,
+    ZYDIS_MNEMONIC_FXTRACT,
+    ZYDIS_MNEMONIC_FYL2X,
+    ZYDIS_MNEMONIC_FYL2XP1,
+    ZYDIS_MNEMONIC_GETSEC,
+    ZYDIS_MNEMONIC_GF2P8AFFINEINVQB,
+    ZYDIS_MNEMONIC_GF2P8AFFINEQB,
+    ZYDIS_MNEMONIC_GF2P8MULB,
+    ZYDIS_MNEMONIC_HADDPD,
+    ZYDIS_MNEMONIC_HADDPS,
+    ZYDIS_MNEMONIC_HLT,
+    ZYDIS_MNEMONIC_HSUBPD,
+    ZYDIS_MNEMONIC_HSUBPS,
+    ZYDIS_MNEMONIC_IDIV,
+    ZYDIS_MNEMONIC_IMUL,
+    ZYDIS_MNEMONIC_IN,
+    ZYDIS_MNEMONIC_INC,
+    ZYDIS_MNEMONIC_INCSSPD,
+    ZYDIS_MNEMONIC_INCSSPQ,
+    ZYDIS_MNEMONIC_INSB,
+    ZYDIS_MNEMONIC_INSD,
+    ZYDIS_MNEMONIC_INSERTPS,
+    ZYDIS_MNEMONIC_INSERTQ,
+    ZYDIS_MNEMONIC_INSW,
+    ZYDIS_MNEMONIC_INT,
+    ZYDIS_MNEMONIC_INT1,
+    ZYDIS_MNEMONIC_INT3,
+    ZYDIS_MNEMONIC_INTO,
+    ZYDIS_MNEMONIC_INVD,
+    ZYDIS_MNEMONIC_INVEPT,
+    ZYDIS_MNEMONIC_INVLPG,
+    ZYDIS_MNEMONIC_INVLPGA,
+    ZYDIS_MNEMONIC_INVPCID,
+    ZYDIS_MNEMONIC_INVVPID,
+    ZYDIS_MNEMONIC_IRET,
+    ZYDIS_MNEMONIC_IRETD,
+    ZYDIS_MNEMONIC_IRETQ,
+    ZYDIS_MNEMONIC_JB,
+    ZYDIS_MNEMONIC_JBE,
+    ZYDIS_MNEMONIC_JCXZ,
+    ZYDIS_MNEMONIC_JECXZ,
+    ZYDIS_MNEMONIC_JKNZD,
+    ZYDIS_MNEMONIC_JKZD,
+    ZYDIS_MNEMONIC_JL,
+    ZYDIS_MNEMONIC_JLE,
+    ZYDIS_MNEMONIC_JMP,
+    ZYDIS_MNEMONIC_JNB,
+    ZYDIS_MNEMONIC_JNBE,
+    ZYDIS_MNEMONIC_JNL,
+    ZYDIS_MNEMONIC_JNLE,
+    ZYDIS_MNEMONIC_JNO,
+    ZYDIS_MNEMONIC_JNP,
+    ZYDIS_MNEMONIC_JNS,
+    ZYDIS_MNEMONIC_JNZ,
+    ZYDIS_MNEMONIC_JO,
+    ZYDIS_MNEMONIC_JP,
+    ZYDIS_MNEMONIC_JRCXZ,
+    ZYDIS_MNEMONIC_JS,
+    ZYDIS_MNEMONIC_JZ,
+    ZYDIS_MNEMONIC_KADDB,
+    ZYDIS_MNEMONIC_KADDD,
+    ZYDIS_MNEMONIC_KADDQ,
+    ZYDIS_MNEMONIC_KADDW,
+    ZYDIS_MNEMONIC_KAND,
+    ZYDIS_MNEMONIC_KANDB,
+    ZYDIS_MNEMONIC_KANDD,
+    ZYDIS_MNEMONIC_KANDN,
+    ZYDIS_MNEMONIC_KANDNB,
+    ZYDIS_MNEMONIC_KANDND,
+    ZYDIS_MNEMONIC_KANDNQ,
+    ZYDIS_MNEMONIC_KANDNR,
+    ZYDIS_MNEMONIC_KANDNW,
+    ZYDIS_MNEMONIC_KANDQ,
+    ZYDIS_MNEMONIC_KANDW,
+    ZYDIS_MNEMONIC_KCONCATH,
+    ZYDIS_MNEMONIC_KCONCATL,
+    ZYDIS_MNEMONIC_KEXTRACT,
+    ZYDIS_MNEMONIC_KMERGE2L1H,
+    ZYDIS_MNEMONIC_KMERGE2L1L,
+    ZYDIS_MNEMONIC_KMOV,
+    ZYDIS_MNEMONIC_KMOVB,
+    ZYDIS_MNEMONIC_KMOVD,
+    ZYDIS_MNEMONIC_KMOVQ,
+    ZYDIS_MNEMONIC_KMOVW,
+    ZYDIS_MNEMONIC_KNOT,
+    ZYDIS_MNEMONIC_KNOTB,
+    ZYDIS_MNEMONIC_KNOTD,
+    ZYDIS_MNEMONIC_KNOTQ,
+    ZYDIS_MNEMONIC_KNOTW,
+    ZYDIS_MNEMONIC_KOR,
+    ZYDIS_MNEMONIC_KORB,
+    ZYDIS_MNEMONIC_KORD,
+    ZYDIS_MNEMONIC_KORQ,
+    ZYDIS_MNEMONIC_KORTEST,
+    ZYDIS_MNEMONIC_KORTESTB,
+    ZYDIS_MNEMONIC_KORTESTD,
+    ZYDIS_MNEMONIC_KORTESTQ,
+    ZYDIS_MNEMONIC_KORTESTW,
+    ZYDIS_MNEMONIC_KORW,
+    ZYDIS_MNEMONIC_KSHIFTLB,
+    ZYDIS_MNEMONIC_KSHIFTLD,
+    ZYDIS_MNEMONIC_KSHIFTLQ,
+    ZYDIS_MNEMONIC_KSHIFTLW,
+    ZYDIS_MNEMONIC_KSHIFTRB,
+    ZYDIS_MNEMONIC_KSHIFTRD,
+    ZYDIS_MNEMONIC_KSHIFTRQ,
+    ZYDIS_MNEMONIC_KSHIFTRW,
+    ZYDIS_MNEMONIC_KTESTB,
+    ZYDIS_MNEMONIC_KTESTD,
+    ZYDIS_MNEMONIC_KTESTQ,
+    ZYDIS_MNEMONIC_KTESTW,
+    ZYDIS_MNEMONIC_KUNPCKBW,
+    ZYDIS_MNEMONIC_KUNPCKDQ,
+    ZYDIS_MNEMONIC_KUNPCKWD,
+    ZYDIS_MNEMONIC_KXNOR,
+    ZYDIS_MNEMONIC_KXNORB,
+    ZYDIS_MNEMONIC_KXNORD,
+    ZYDIS_MNEMONIC_KXNORQ,
+    ZYDIS_MNEMONIC_KXNORW,
+    ZYDIS_MNEMONIC_KXOR,
+    ZYDIS_MNEMONIC_KXORB,
+    ZYDIS_MNEMONIC_KXORD,
+    ZYDIS_MNEMONIC_KXORQ,
+    ZYDIS_MNEMONIC_KXORW,
+    ZYDIS_MNEMONIC_LAHF,
+    ZYDIS_MNEMONIC_LAR,
+    ZYDIS_MNEMONIC_LDDQU,
+    ZYDIS_MNEMONIC_LDMXCSR,
+    ZYDIS_MNEMONIC_LDS,
+    ZYDIS_MNEMONIC_LEA,
+    ZYDIS_MNEMONIC_LEAVE,
+    ZYDIS_MNEMONIC_LES,
+    ZYDIS_MNEMONIC_LFENCE,
+    ZYDIS_MNEMONIC_LFS,
+    ZYDIS_MNEMONIC_LGDT,
+    ZYDIS_MNEMONIC_LGS,
+    ZYDIS_MNEMONIC_LIDT,
+    ZYDIS_MNEMONIC_LLDT,
+    ZYDIS_MNEMONIC_LLWPCB,
+    ZYDIS_MNEMONIC_LMSW,
+    ZYDIS_MNEMONIC_LODSB,
+    ZYDIS_MNEMONIC_LODSD,
+    ZYDIS_MNEMONIC_LODSQ,
+    ZYDIS_MNEMONIC_LODSW,
+    ZYDIS_MNEMONIC_LOOP,
+    ZYDIS_MNEMONIC_LOOPE,
+    ZYDIS_MNEMONIC_LOOPNE,
+    ZYDIS_MNEMONIC_LSL,
+    ZYDIS_MNEMONIC_LSS,
+    ZYDIS_MNEMONIC_LTR,
+    ZYDIS_MNEMONIC_LWPINS,
+    ZYDIS_MNEMONIC_LWPVAL,
+    ZYDIS_MNEMONIC_LZCNT,
+    ZYDIS_MNEMONIC_MASKMOVDQU,
+    ZYDIS_MNEMONIC_MASKMOVQ,
+    ZYDIS_MNEMONIC_MAXPD,
+    ZYDIS_MNEMONIC_MAXPS,
+    ZYDIS_MNEMONIC_MAXSD,
+    ZYDIS_MNEMONIC_MAXSS,
+    ZYDIS_MNEMONIC_MFENCE,
+    ZYDIS_MNEMONIC_MINPD,
+    ZYDIS_MNEMONIC_MINPS,
+    ZYDIS_MNEMONIC_MINSD,
+    ZYDIS_MNEMONIC_MINSS,
+    ZYDIS_MNEMONIC_MONITOR,
+    ZYDIS_MNEMONIC_MONITORX,
+    ZYDIS_MNEMONIC_MONTMUL,
+    ZYDIS_MNEMONIC_MOV,
+    ZYDIS_MNEMONIC_MOVAPD,
+    ZYDIS_MNEMONIC_MOVAPS,
+    ZYDIS_MNEMONIC_MOVBE,
+    ZYDIS_MNEMONIC_MOVD,
+    ZYDIS_MNEMONIC_MOVDDUP,
+    ZYDIS_MNEMONIC_MOVDIR64B,
+    ZYDIS_MNEMONIC_MOVDIRI,
+    ZYDIS_MNEMONIC_MOVDQ2Q,
+    ZYDIS_MNEMONIC_MOVDQA,
+    ZYDIS_MNEMONIC_MOVDQU,
+    ZYDIS_MNEMONIC_MOVHLPS,
+    ZYDIS_MNEMONIC_MOVHPD,
+    ZYDIS_MNEMONIC_MOVHPS,
+    ZYDIS_MNEMONIC_MOVLHPS,
+    ZYDIS_MNEMONIC_MOVLPD,
+    ZYDIS_MNEMONIC_MOVLPS,
+    ZYDIS_MNEMONIC_MOVMSKPD,
+    ZYDIS_MNEMONIC_MOVMSKPS,
+    ZYDIS_MNEMONIC_MOVNTDQ,
+    ZYDIS_MNEMONIC_MOVNTDQA,
+    ZYDIS_MNEMONIC_MOVNTI,
+    ZYDIS_MNEMONIC_MOVNTPD,
+    ZYDIS_MNEMONIC_MOVNTPS,
+    ZYDIS_MNEMONIC_MOVNTQ,
+    ZYDIS_MNEMONIC_MOVNTSD,
+    ZYDIS_MNEMONIC_MOVNTSS,
+    ZYDIS_MNEMONIC_MOVQ,
+    ZYDIS_MNEMONIC_MOVQ2DQ,
+    ZYDIS_MNEMONIC_MOVSB,
+    ZYDIS_MNEMONIC_MOVSD,
+    ZYDIS_MNEMONIC_MOVSHDUP,
+    ZYDIS_MNEMONIC_MOVSLDUP,
+    ZYDIS_MNEMONIC_MOVSQ,
+    ZYDIS_MNEMONIC_MOVSS,
+    ZYDIS_MNEMONIC_MOVSW,
+    ZYDIS_MNEMONIC_MOVSX,
+    ZYDIS_MNEMONIC_MOVSXD,
+    ZYDIS_MNEMONIC_MOVUPD,
+    ZYDIS_MNEMONIC_MOVUPS,
+    ZYDIS_MNEMONIC_MOVZX,
+    ZYDIS_MNEMONIC_MPSADBW,
+    ZYDIS_MNEMONIC_MUL,
+    ZYDIS_MNEMONIC_MULPD,
+    ZYDIS_MNEMONIC_MULPS,
+    ZYDIS_MNEMONIC_MULSD,
+    ZYDIS_MNEMONIC_MULSS,
+    ZYDIS_MNEMONIC_MULX,
+    ZYDIS_MNEMONIC_MWAIT,
+    ZYDIS_MNEMONIC_MWAITX,
+    ZYDIS_MNEMONIC_NEG,
+    ZYDIS_MNEMONIC_NOP,
+    ZYDIS_MNEMONIC_NOT,
+    ZYDIS_MNEMONIC_OR,
+    ZYDIS_MNEMONIC_ORPD,
+    ZYDIS_MNEMONIC_ORPS,
+    ZYDIS_MNEMONIC_OUT,
+    ZYDIS_MNEMONIC_OUTSB,
+    ZYDIS_MNEMONIC_OUTSD,
+    ZYDIS_MNEMONIC_OUTSW,
+    ZYDIS_MNEMONIC_PABSB,
+    ZYDIS_MNEMONIC_PABSD,
+    ZYDIS_MNEMONIC_PABSW,
+    ZYDIS_MNEMONIC_PACKSSDW,
+    ZYDIS_MNEMONIC_PACKSSWB,
+    ZYDIS_MNEMONIC_PACKUSDW,
+    ZYDIS_MNEMONIC_PACKUSWB,
+    ZYDIS_MNEMONIC_PADDB,
+    ZYDIS_MNEMONIC_PADDD,
+    ZYDIS_MNEMONIC_PADDQ,
+    ZYDIS_MNEMONIC_PADDSB,
+    ZYDIS_MNEMONIC_PADDSW,
+    ZYDIS_MNEMONIC_PADDUSB,
+    ZYDIS_MNEMONIC_PADDUSW,
+    ZYDIS_MNEMONIC_PADDW,
+    ZYDIS_MNEMONIC_PALIGNR,
+    ZYDIS_MNEMONIC_PAND,
+    ZYDIS_MNEMONIC_PANDN,
+    ZYDIS_MNEMONIC_PAUSE,
+    ZYDIS_MNEMONIC_PAVGB,
+    ZYDIS_MNEMONIC_PAVGUSB,
+    ZYDIS_MNEMONIC_PAVGW,
+    ZYDIS_MNEMONIC_PBLENDVB,
+    ZYDIS_MNEMONIC_PBLENDW,
+    ZYDIS_MNEMONIC_PCLMULQDQ,
+    ZYDIS_MNEMONIC_PCMPEQB,
+    ZYDIS_MNEMONIC_PCMPEQD,
+    ZYDIS_MNEMONIC_PCMPEQQ,
+    ZYDIS_MNEMONIC_PCMPEQW,
+    ZYDIS_MNEMONIC_PCMPESTRI,
+    ZYDIS_MNEMONIC_PCMPESTRM,
+    ZYDIS_MNEMONIC_PCMPGTB,
+    ZYDIS_MNEMONIC_PCMPGTD,
+    ZYDIS_MNEMONIC_PCMPGTQ,
+    ZYDIS_MNEMONIC_PCMPGTW,
+    ZYDIS_MNEMONIC_PCMPISTRI,
+    ZYDIS_MNEMONIC_PCMPISTRM,
+    ZYDIS_MNEMONIC_PCONFIG,
+    ZYDIS_MNEMONIC_PDEP,
+    ZYDIS_MNEMONIC_PEXT,
+    ZYDIS_MNEMONIC_PEXTRB,
+    ZYDIS_MNEMONIC_PEXTRD,
+    ZYDIS_MNEMONIC_PEXTRQ,
+    ZYDIS_MNEMONIC_PEXTRW,
+    ZYDIS_MNEMONIC_PF2ID,
+    ZYDIS_MNEMONIC_PF2IW,
+    ZYDIS_MNEMONIC_PFACC,
+    ZYDIS_MNEMONIC_PFADD,
+    ZYDIS_MNEMONIC_PFCMPEQ,
+    ZYDIS_MNEMONIC_PFCMPGE,
+    ZYDIS_MNEMONIC_PFCMPGT,
+    ZYDIS_MNEMONIC_PFCPIT1,
+    ZYDIS_MNEMONIC_PFMAX,
+    ZYDIS_MNEMONIC_PFMIN,
+    ZYDIS_MNEMONIC_PFMUL,
+    ZYDIS_MNEMONIC_PFNACC,
+    ZYDIS_MNEMONIC_PFPNACC,
+    ZYDIS_MNEMONIC_PFRCP,
+    ZYDIS_MNEMONIC_PFRCPIT2,
+    ZYDIS_MNEMONIC_PFRSQIT1,
+    ZYDIS_MNEMONIC_PFSQRT,
+    ZYDIS_MNEMONIC_PFSUB,
+    ZYDIS_MNEMONIC_PFSUBR,
+    ZYDIS_MNEMONIC_PHADDD,
+    ZYDIS_MNEMONIC_PHADDSW,
+    ZYDIS_MNEMONIC_PHADDW,
+    ZYDIS_MNEMONIC_PHMINPOSUW,
+    ZYDIS_MNEMONIC_PHSUBD,
+    ZYDIS_MNEMONIC_PHSUBSW,
+    ZYDIS_MNEMONIC_PHSUBW,
+    ZYDIS_MNEMONIC_PI2FD,
+    ZYDIS_MNEMONIC_PI2FW,
+    ZYDIS_MNEMONIC_PINSRB,
+    ZYDIS_MNEMONIC_PINSRD,
+    ZYDIS_MNEMONIC_PINSRQ,
+    ZYDIS_MNEMONIC_PINSRW,
+    ZYDIS_MNEMONIC_PMADDUBSW,
+    ZYDIS_MNEMONIC_PMADDWD,
+    ZYDIS_MNEMONIC_PMAXSB,
+    ZYDIS_MNEMONIC_PMAXSD,
+    ZYDIS_MNEMONIC_PMAXSW,
+    ZYDIS_MNEMONIC_PMAXUB,
+    ZYDIS_MNEMONIC_PMAXUD,
+    ZYDIS_MNEMONIC_PMAXUW,
+    ZYDIS_MNEMONIC_PMINSB,
+    ZYDIS_MNEMONIC_PMINSD,
+    ZYDIS_MNEMONIC_PMINSW,
+    ZYDIS_MNEMONIC_PMINUB,
+    ZYDIS_MNEMONIC_PMINUD,
+    ZYDIS_MNEMONIC_PMINUW,
+    ZYDIS_MNEMONIC_PMOVMSKB,
+    ZYDIS_MNEMONIC_PMOVSXBD,
+    ZYDIS_MNEMONIC_PMOVSXBQ,
+    ZYDIS_MNEMONIC_PMOVSXBW,
+    ZYDIS_MNEMONIC_PMOVSXDQ,
+    ZYDIS_MNEMONIC_PMOVSXWD,
+    ZYDIS_MNEMONIC_PMOVSXWQ,
+    ZYDIS_MNEMONIC_PMOVZXBD,
+    ZYDIS_MNEMONIC_PMOVZXBQ,
+    ZYDIS_MNEMONIC_PMOVZXBW,
+    ZYDIS_MNEMONIC_PMOVZXDQ,
+    ZYDIS_MNEMONIC_PMOVZXWD,
+    ZYDIS_MNEMONIC_PMOVZXWQ,
+    ZYDIS_MNEMONIC_PMULDQ,
+    ZYDIS_MNEMONIC_PMULHRSW,
+    ZYDIS_MNEMONIC_PMULHRW,
+    ZYDIS_MNEMONIC_PMULHUW,
+    ZYDIS_MNEMONIC_PMULHW,
+    ZYDIS_MNEMONIC_PMULLD,
+    ZYDIS_MNEMONIC_PMULLW,
+    ZYDIS_MNEMONIC_PMULUDQ,
+    ZYDIS_MNEMONIC_POP,
+    ZYDIS_MNEMONIC_POPA,
+    ZYDIS_MNEMONIC_POPAD,
+    ZYDIS_MNEMONIC_POPCNT,
+    ZYDIS_MNEMONIC_POPF,
+    ZYDIS_MNEMONIC_POPFD,
+    ZYDIS_MNEMONIC_POPFQ,
+    ZYDIS_MNEMONIC_POR,
+    ZYDIS_MNEMONIC_PREFETCH,
+    ZYDIS_MNEMONIC_PREFETCHNTA,
+    ZYDIS_MNEMONIC_PREFETCHT0,
+    ZYDIS_MNEMONIC_PREFETCHT1,
+    ZYDIS_MNEMONIC_PREFETCHT2,
+    ZYDIS_MNEMONIC_PREFETCHW,
+    ZYDIS_MNEMONIC_PREFETCHWT1,
+    ZYDIS_MNEMONIC_PSADBW,
+    ZYDIS_MNEMONIC_PSHUFB,
+    ZYDIS_MNEMONIC_PSHUFD,
+    ZYDIS_MNEMONIC_PSHUFHW,
+    ZYDIS_MNEMONIC_PSHUFLW,
+    ZYDIS_MNEMONIC_PSHUFW,
+    ZYDIS_MNEMONIC_PSIGNB,
+    ZYDIS_MNEMONIC_PSIGND,
+    ZYDIS_MNEMONIC_PSIGNW,
+    ZYDIS_MNEMONIC_PSLLD,
+    ZYDIS_MNEMONIC_PSLLDQ,
+    ZYDIS_MNEMONIC_PSLLQ,
+    ZYDIS_MNEMONIC_PSLLW,
+    ZYDIS_MNEMONIC_PSRAD,
+    ZYDIS_MNEMONIC_PSRAW,
+    ZYDIS_MNEMONIC_PSRLD,
+    ZYDIS_MNEMONIC_PSRLDQ,
+    ZYDIS_MNEMONIC_PSRLQ,
+    ZYDIS_MNEMONIC_PSRLW,
+    ZYDIS_MNEMONIC_PSUBB,
+    ZYDIS_MNEMONIC_PSUBD,
+    ZYDIS_MNEMONIC_PSUBQ,
+    ZYDIS_MNEMONIC_PSUBSB,
+    ZYDIS_MNEMONIC_PSUBSW,
+    ZYDIS_MNEMONIC_PSUBUSB,
+    ZYDIS_MNEMONIC_PSUBUSW,
+    ZYDIS_MNEMONIC_PSUBW,
+    ZYDIS_MNEMONIC_PSWAPD,
+    ZYDIS_MNEMONIC_PTEST,
+    ZYDIS_MNEMONIC_PTWRITE,
+    ZYDIS_MNEMONIC_PUNPCKHBW,
+    ZYDIS_MNEMONIC_PUNPCKHDQ,
+    ZYDIS_MNEMONIC_PUNPCKHQDQ,
+    ZYDIS_MNEMONIC_PUNPCKHWD,
+    ZYDIS_MNEMONIC_PUNPCKLBW,
+    ZYDIS_MNEMONIC_PUNPCKLDQ,
+    ZYDIS_MNEMONIC_PUNPCKLQDQ,
+    ZYDIS_MNEMONIC_PUNPCKLWD,
+    ZYDIS_MNEMONIC_PUSH,
+    ZYDIS_MNEMONIC_PUSHA,
+    ZYDIS_MNEMONIC_PUSHAD,
+    ZYDIS_MNEMONIC_PUSHF,
+    ZYDIS_MNEMONIC_PUSHFD,
+    ZYDIS_MNEMONIC_PUSHFQ,
+    ZYDIS_MNEMONIC_PXOR,
+    ZYDIS_MNEMONIC_RCL,
+    ZYDIS_MNEMONIC_RCPPS,
+    ZYDIS_MNEMONIC_RCPSS,
+    ZYDIS_MNEMONIC_RCR,
+    ZYDIS_MNEMONIC_RDFSBASE,
+    ZYDIS_MNEMONIC_RDGSBASE,
+    ZYDIS_MNEMONIC_RDMSR,
+    ZYDIS_MNEMONIC_RDPID,
+    ZYDIS_MNEMONIC_RDPKRU,
+    ZYDIS_MNEMONIC_RDPMC,
+    ZYDIS_MNEMONIC_RDPRU,
+    ZYDIS_MNEMONIC_RDRAND,
+    ZYDIS_MNEMONIC_RDSEED,
+    ZYDIS_MNEMONIC_RDSSPD,
+    ZYDIS_MNEMONIC_RDSSPQ,
+    ZYDIS_MNEMONIC_RDTSC,
+    ZYDIS_MNEMONIC_RDTSCP,
+    ZYDIS_MNEMONIC_RET,
+    ZYDIS_MNEMONIC_ROL,
+    ZYDIS_MNEMONIC_ROR,
+    ZYDIS_MNEMONIC_RORX,
+    ZYDIS_MNEMONIC_ROUNDPD,
+    ZYDIS_MNEMONIC_ROUNDPS,
+    ZYDIS_MNEMONIC_ROUNDSD,
+    ZYDIS_MNEMONIC_ROUNDSS,
+    ZYDIS_MNEMONIC_RSM,
+    ZYDIS_MNEMONIC_RSQRTPS,
+    ZYDIS_MNEMONIC_RSQRTSS,
+    ZYDIS_MNEMONIC_RSTORSSP,
+    ZYDIS_MNEMONIC_SAHF,
+    ZYDIS_MNEMONIC_SALC,
+    ZYDIS_MNEMONIC_SAR,
+    ZYDIS_MNEMONIC_SARX,
+    ZYDIS_MNEMONIC_SAVEPREVSSP,
+    ZYDIS_MNEMONIC_SBB,
+    ZYDIS_MNEMONIC_SCASB,
+    ZYDIS_MNEMONIC_SCASD,
+    ZYDIS_MNEMONIC_SCASQ,
+    ZYDIS_MNEMONIC_SCASW,
+    ZYDIS_MNEMONIC_SETB,
+    ZYDIS_MNEMONIC_SETBE,
+    ZYDIS_MNEMONIC_SETL,
+    ZYDIS_MNEMONIC_SETLE,
+    ZYDIS_MNEMONIC_SETNB,
+    ZYDIS_MNEMONIC_SETNBE,
+    ZYDIS_MNEMONIC_SETNL,
+    ZYDIS_MNEMONIC_SETNLE,
+    ZYDIS_MNEMONIC_SETNO,
+    ZYDIS_MNEMONIC_SETNP,
+    ZYDIS_MNEMONIC_SETNS,
+    ZYDIS_MNEMONIC_SETNZ,
+    ZYDIS_MNEMONIC_SETO,
+    ZYDIS_MNEMONIC_SETP,
+    ZYDIS_MNEMONIC_SETS,
+    ZYDIS_MNEMONIC_SETSSBSY,
+    ZYDIS_MNEMONIC_SETZ,
+    ZYDIS_MNEMONIC_SFENCE,
+    ZYDIS_MNEMONIC_SGDT,
+    ZYDIS_MNEMONIC_SHA1MSG1,
+    ZYDIS_MNEMONIC_SHA1MSG2,
+    ZYDIS_MNEMONIC_SHA1NEXTE,
+    ZYDIS_MNEMONIC_SHA1RNDS4,
+    ZYDIS_MNEMONIC_SHA256MSG1,
+    ZYDIS_MNEMONIC_SHA256MSG2,
+    ZYDIS_MNEMONIC_SHA256RNDS2,
+    ZYDIS_MNEMONIC_SHL,
+    ZYDIS_MNEMONIC_SHLD,
+    ZYDIS_MNEMONIC_SHLX,
+    ZYDIS_MNEMONIC_SHR,
+    ZYDIS_MNEMONIC_SHRD,
+    ZYDIS_MNEMONIC_SHRX,
+    ZYDIS_MNEMONIC_SHUFPD,
+    ZYDIS_MNEMONIC_SHUFPS,
+    ZYDIS_MNEMONIC_SIDT,
+    ZYDIS_MNEMONIC_SKINIT,
+    ZYDIS_MNEMONIC_SLDT,
+    ZYDIS_MNEMONIC_SLWPCB,
+    ZYDIS_MNEMONIC_SMSW,
+    ZYDIS_MNEMONIC_SPFLT,
+    ZYDIS_MNEMONIC_SQRTPD,
+    ZYDIS_MNEMONIC_SQRTPS,
+    ZYDIS_MNEMONIC_SQRTSD,
+    ZYDIS_MNEMONIC_SQRTSS,
+    ZYDIS_MNEMONIC_STAC,
+    ZYDIS_MNEMONIC_STC,
+    ZYDIS_MNEMONIC_STD,
+    ZYDIS_MNEMONIC_STGI,
+    ZYDIS_MNEMONIC_STI,
+    ZYDIS_MNEMONIC_STMXCSR,
+    ZYDIS_MNEMONIC_STOSB,
+    ZYDIS_MNEMONIC_STOSD,
+    ZYDIS_MNEMONIC_STOSQ,
+    ZYDIS_MNEMONIC_STOSW,
+    ZYDIS_MNEMONIC_STR,
+    ZYDIS_MNEMONIC_SUB,
+    ZYDIS_MNEMONIC_SUBPD,
+    ZYDIS_MNEMONIC_SUBPS,
+    ZYDIS_MNEMONIC_SUBSD,
+    ZYDIS_MNEMONIC_SUBSS,
+    ZYDIS_MNEMONIC_SWAPGS,
+    ZYDIS_MNEMONIC_SYSCALL,
+    ZYDIS_MNEMONIC_SYSENTER,
+    ZYDIS_MNEMONIC_SYSEXIT,
+    ZYDIS_MNEMONIC_SYSRET,
+    ZYDIS_MNEMONIC_T1MSKC,
+    ZYDIS_MNEMONIC_TEST,
+    ZYDIS_MNEMONIC_TPAUSE,
+    ZYDIS_MNEMONIC_TZCNT,
+    ZYDIS_MNEMONIC_TZCNTI,
+    ZYDIS_MNEMONIC_TZMSK,
+    ZYDIS_MNEMONIC_UCOMISD,
+    ZYDIS_MNEMONIC_UCOMISS,
+    ZYDIS_MNEMONIC_UD0,
+    ZYDIS_MNEMONIC_UD1,
+    ZYDIS_MNEMONIC_UD2,
+    ZYDIS_MNEMONIC_UMONITOR,
+    ZYDIS_MNEMONIC_UMWAIT,
+    ZYDIS_MNEMONIC_UNPCKHPD,
+    ZYDIS_MNEMONIC_UNPCKHPS,
+    ZYDIS_MNEMONIC_UNPCKLPD,
+    ZYDIS_MNEMONIC_UNPCKLPS,
+    ZYDIS_MNEMONIC_V4FMADDPS,
+    ZYDIS_MNEMONIC_V4FMADDSS,
+    ZYDIS_MNEMONIC_V4FNMADDPS,
+    ZYDIS_MNEMONIC_V4FNMADDSS,
+    ZYDIS_MNEMONIC_VADDNPD,
+    ZYDIS_MNEMONIC_VADDNPS,
+    ZYDIS_MNEMONIC_VADDPD,
+    ZYDIS_MNEMONIC_VADDPS,
+    ZYDIS_MNEMONIC_VADDSD,
+    ZYDIS_MNEMONIC_VADDSETSPS,
+    ZYDIS_MNEMONIC_VADDSS,
+    ZYDIS_MNEMONIC_VADDSUBPD,
+    ZYDIS_MNEMONIC_VADDSUBPS,
+    ZYDIS_MNEMONIC_VAESDEC,
+    ZYDIS_MNEMONIC_VAESDECLAST,
+    ZYDIS_MNEMONIC_VAESENC,
+    ZYDIS_MNEMONIC_VAESENCLAST,
+    ZYDIS_MNEMONIC_VAESIMC,
+    ZYDIS_MNEMONIC_VAESKEYGENASSIST,
+    ZYDIS_MNEMONIC_VALIGND,
+    ZYDIS_MNEMONIC_VALIGNQ,
+    ZYDIS_MNEMONIC_VANDNPD,
+    ZYDIS_MNEMONIC_VANDNPS,
+    ZYDIS_MNEMONIC_VANDPD,
+    ZYDIS_MNEMONIC_VANDPS,
+    ZYDIS_MNEMONIC_VBLENDMPD,
+    ZYDIS_MNEMONIC_VBLENDMPS,
+    ZYDIS_MNEMONIC_VBLENDPD,
+    ZYDIS_MNEMONIC_VBLENDPS,
+    ZYDIS_MNEMONIC_VBLENDVPD,
+    ZYDIS_MNEMONIC_VBLENDVPS,
+    ZYDIS_MNEMONIC_VBROADCASTF128,
+    ZYDIS_MNEMONIC_VBROADCASTF32X2,
+    ZYDIS_MNEMONIC_VBROADCASTF32X4,
+    ZYDIS_MNEMONIC_VBROADCASTF32X8,
+    ZYDIS_MNEMONIC_VBROADCASTF64X2,
+    ZYDIS_MNEMONIC_VBROADCASTF64X4,
+    ZYDIS_MNEMONIC_VBROADCASTI128,
+    ZYDIS_MNEMONIC_VBROADCASTI32X2,
+    ZYDIS_MNEMONIC_VBROADCASTI32X4,
+    ZYDIS_MNEMONIC_VBROADCASTI32X8,
+    ZYDIS_MNEMONIC_VBROADCASTI64X2,
+    ZYDIS_MNEMONIC_VBROADCASTI64X4,
+    ZYDIS_MNEMONIC_VBROADCASTSD,
+    ZYDIS_MNEMONIC_VBROADCASTSS,
+    ZYDIS_MNEMONIC_VCMPPD,
+    ZYDIS_MNEMONIC_VCMPPS,
+    ZYDIS_MNEMONIC_VCMPSD,
+    ZYDIS_MNEMONIC_VCMPSS,
+    ZYDIS_MNEMONIC_VCOMISD,
+    ZYDIS_MNEMONIC_VCOMISS,
+    ZYDIS_MNEMONIC_VCOMPRESSPD,
+    ZYDIS_MNEMONIC_VCOMPRESSPS,
+    ZYDIS_MNEMONIC_VCVTDQ2PD,
+    ZYDIS_MNEMONIC_VCVTDQ2PS,
+    ZYDIS_MNEMONIC_VCVTFXPNTDQ2PS,
+    ZYDIS_MNEMONIC_VCVTFXPNTPD2DQ,
+    ZYDIS_MNEMONIC_VCVTFXPNTPD2UDQ,
+    ZYDIS_MNEMONIC_VCVTFXPNTPS2DQ,
+    ZYDIS_MNEMONIC_VCVTFXPNTPS2UDQ,
+    ZYDIS_MNEMONIC_VCVTFXPNTUDQ2PS,
+    ZYDIS_MNEMONIC_VCVTNE2PS2BF16,
+    ZYDIS_MNEMONIC_VCVTNEPS2BF16,
+    ZYDIS_MNEMONIC_VCVTPD2DQ,
+    ZYDIS_MNEMONIC_VCVTPD2PS,
+    ZYDIS_MNEMONIC_VCVTPD2QQ,
+    ZYDIS_MNEMONIC_VCVTPD2UDQ,
+    ZYDIS_MNEMONIC_VCVTPD2UQQ,
+    ZYDIS_MNEMONIC_VCVTPH2PS,
+    ZYDIS_MNEMONIC_VCVTPS2DQ,
+    ZYDIS_MNEMONIC_VCVTPS2PD,
+    ZYDIS_MNEMONIC_VCVTPS2PH,
+    ZYDIS_MNEMONIC_VCVTPS2QQ,
+    ZYDIS_MNEMONIC_VCVTPS2UDQ,
+    ZYDIS_MNEMONIC_VCVTPS2UQQ,
+    ZYDIS_MNEMONIC_VCVTQQ2PD,
+    ZYDIS_MNEMONIC_VCVTQQ2PS,
+    ZYDIS_MNEMONIC_VCVTSD2SI,
+    ZYDIS_MNEMONIC_VCVTSD2SS,
+    ZYDIS_MNEMONIC_VCVTSD2USI,
+    ZYDIS_MNEMONIC_VCVTSI2SD,
+    ZYDIS_MNEMONIC_VCVTSI2SS,
+    ZYDIS_MNEMONIC_VCVTSS2SD,
+    ZYDIS_MNEMONIC_VCVTSS2SI,
+    ZYDIS_MNEMONIC_VCVTSS2USI,
+    ZYDIS_MNEMONIC_VCVTTPD2DQ,
+    ZYDIS_MNEMONIC_VCVTTPD2QQ,
+    ZYDIS_MNEMONIC_VCVTTPD2UDQ,
+    ZYDIS_MNEMONIC_VCVTTPD2UQQ,
+    ZYDIS_MNEMONIC_VCVTTPS2DQ,
+    ZYDIS_MNEMONIC_VCVTTPS2QQ,
+    ZYDIS_MNEMONIC_VCVTTPS2UDQ,
+    ZYDIS_MNEMONIC_VCVTTPS2UQQ,
+    ZYDIS_MNEMONIC_VCVTTSD2SI,
+    ZYDIS_MNEMONIC_VCVTTSD2USI,
+    ZYDIS_MNEMONIC_VCVTTSS2SI,
+    ZYDIS_MNEMONIC_VCVTTSS2USI,
+    ZYDIS_MNEMONIC_VCVTUDQ2PD,
+    ZYDIS_MNEMONIC_VCVTUDQ2PS,
+    ZYDIS_MNEMONIC_VCVTUQQ2PD,
+    ZYDIS_MNEMONIC_VCVTUQQ2PS,
+    ZYDIS_MNEMONIC_VCVTUSI2SD,
+    ZYDIS_MNEMONIC_VCVTUSI2SS,
+    ZYDIS_MNEMONIC_VDBPSADBW,
+    ZYDIS_MNEMONIC_VDIVPD,
+    ZYDIS_MNEMONIC_VDIVPS,
+    ZYDIS_MNEMONIC_VDIVSD,
+    ZYDIS_MNEMONIC_VDIVSS,
+    ZYDIS_MNEMONIC_VDPBF16PS,
+    ZYDIS_MNEMONIC_VDPPD,
+    ZYDIS_MNEMONIC_VDPPS,
+    ZYDIS_MNEMONIC_VERR,
+    ZYDIS_MNEMONIC_VERW,
+    ZYDIS_MNEMONIC_VEXP223PS,
+    ZYDIS_MNEMONIC_VEXP2PD,
+    ZYDIS_MNEMONIC_VEXP2PS,
+    ZYDIS_MNEMONIC_VEXPANDPD,
+    ZYDIS_MNEMONIC_VEXPANDPS,
+    ZYDIS_MNEMONIC_VEXTRACTF128,
+    ZYDIS_MNEMONIC_VEXTRACTF32X4,
+    ZYDIS_MNEMONIC_VEXTRACTF32X8,
+    ZYDIS_MNEMONIC_VEXTRACTF64X2,
+    ZYDIS_MNEMONIC_VEXTRACTF64X4,
+    ZYDIS_MNEMONIC_VEXTRACTI128,
+    ZYDIS_MNEMONIC_VEXTRACTI32X4,
+    ZYDIS_MNEMONIC_VEXTRACTI32X8,
+    ZYDIS_MNEMONIC_VEXTRACTI64X2,
+    ZYDIS_MNEMONIC_VEXTRACTI64X4,
+    ZYDIS_MNEMONIC_VEXTRACTPS,
+    ZYDIS_MNEMONIC_VFIXUPIMMPD,
+    ZYDIS_MNEMONIC_VFIXUPIMMPS,
+    ZYDIS_MNEMONIC_VFIXUPIMMSD,
+    ZYDIS_MNEMONIC_VFIXUPIMMSS,
+    ZYDIS_MNEMONIC_VFIXUPNANPD,
+    ZYDIS_MNEMONIC_VFIXUPNANPS,
+    ZYDIS_MNEMONIC_VFMADD132PD,
+    ZYDIS_MNEMONIC_VFMADD132PS,
+    ZYDIS_MNEMONIC_VFMADD132SD,
+    ZYDIS_MNEMONIC_VFMADD132SS,
+    ZYDIS_MNEMONIC_VFMADD213PD,
+    ZYDIS_MNEMONIC_VFMADD213PS,
+    ZYDIS_MNEMONIC_VFMADD213SD,
+    ZYDIS_MNEMONIC_VFMADD213SS,
+    ZYDIS_MNEMONIC_VFMADD231PD,
+    ZYDIS_MNEMONIC_VFMADD231PS,
+    ZYDIS_MNEMONIC_VFMADD231SD,
+    ZYDIS_MNEMONIC_VFMADD231SS,
+    ZYDIS_MNEMONIC_VFMADD233PS,
+    ZYDIS_MNEMONIC_VFMADDPD,
+    ZYDIS_MNEMONIC_VFMADDPS,
+    ZYDIS_MNEMONIC_VFMADDSD,
+    ZYDIS_MNEMONIC_VFMADDSS,
+    ZYDIS_MNEMONIC_VFMADDSUB132PD,
+    ZYDIS_MNEMONIC_VFMADDSUB132PS,
+    ZYDIS_MNEMONIC_VFMADDSUB213PD,
+    ZYDIS_MNEMONIC_VFMADDSUB213PS,
+    ZYDIS_MNEMONIC_VFMADDSUB231PD,
+    ZYDIS_MNEMONIC_VFMADDSUB231PS,
+    ZYDIS_MNEMONIC_VFMADDSUBPD,
+    ZYDIS_MNEMONIC_VFMADDSUBPS,
+    ZYDIS_MNEMONIC_VFMSUB132PD,
+    ZYDIS_MNEMONIC_VFMSUB132PS,
+    ZYDIS_MNEMONIC_VFMSUB132SD,
+    ZYDIS_MNEMONIC_VFMSUB132SS,
+    ZYDIS_MNEMONIC_VFMSUB213PD,
+    ZYDIS_MNEMONIC_VFMSUB213PS,
+    ZYDIS_MNEMONIC_VFMSUB213SD,
+    ZYDIS_MNEMONIC_VFMSUB213SS,
+    ZYDIS_MNEMONIC_VFMSUB231PD,
+    ZYDIS_MNEMONIC_VFMSUB231PS,
+    ZYDIS_MNEMONIC_VFMSUB231SD,
+    ZYDIS_MNEMONIC_VFMSUB231SS,
+    ZYDIS_MNEMONIC_VFMSUBADD132PD,
+    ZYDIS_MNEMONIC_VFMSUBADD132PS,
+    ZYDIS_MNEMONIC_VFMSUBADD213PD,
+    ZYDIS_MNEMONIC_VFMSUBADD213PS,
+    ZYDIS_MNEMONIC_VFMSUBADD231PD,
+    ZYDIS_MNEMONIC_VFMSUBADD231PS,
+    ZYDIS_MNEMONIC_VFMSUBADDPD,
+    ZYDIS_MNEMONIC_VFMSUBADDPS,
+    ZYDIS_MNEMONIC_VFMSUBPD,
+    ZYDIS_MNEMONIC_VFMSUBPS,
+    ZYDIS_MNEMONIC_VFMSUBSD,
+    ZYDIS_MNEMONIC_VFMSUBSS,
+    ZYDIS_MNEMONIC_VFNMADD132PD,
+    ZYDIS_MNEMONIC_VFNMADD132PS,
+    ZYDIS_MNEMONIC_VFNMADD132SD,
+    ZYDIS_MNEMONIC_VFNMADD132SS,
+    ZYDIS_MNEMONIC_VFNMADD213PD,
+    ZYDIS_MNEMONIC_VFNMADD213PS,
+    ZYDIS_MNEMONIC_VFNMADD213SD,
+    ZYDIS_MNEMONIC_VFNMADD213SS,
+    ZYDIS_MNEMONIC_VFNMADD231PD,
+    ZYDIS_MNEMONIC_VFNMADD231PS,
+    ZYDIS_MNEMONIC_VFNMADD231SD,
+    ZYDIS_MNEMONIC_VFNMADD231SS,
+    ZYDIS_MNEMONIC_VFNMADDPD,
+    ZYDIS_MNEMONIC_VFNMADDPS,
+    ZYDIS_MNEMONIC_VFNMADDSD,
+    ZYDIS_MNEMONIC_VFNMADDSS,
+    ZYDIS_MNEMONIC_VFNMSUB132PD,
+    ZYDIS_MNEMONIC_VFNMSUB132PS,
+    ZYDIS_MNEMONIC_VFNMSUB132SD,
+    ZYDIS_MNEMONIC_VFNMSUB132SS,
+    ZYDIS_MNEMONIC_VFNMSUB213PD,
+    ZYDIS_MNEMONIC_VFNMSUB213PS,
+    ZYDIS_MNEMONIC_VFNMSUB213SD,
+    ZYDIS_MNEMONIC_VFNMSUB213SS,
+    ZYDIS_MNEMONIC_VFNMSUB231PD,
+    ZYDIS_MNEMONIC_VFNMSUB231PS,
+    ZYDIS_MNEMONIC_VFNMSUB231SD,
+    ZYDIS_MNEMONIC_VFNMSUB231SS,
+    ZYDIS_MNEMONIC_VFNMSUBPD,
+    ZYDIS_MNEMONIC_VFNMSUBPS,
+    ZYDIS_MNEMONIC_VFNMSUBSD,
+    ZYDIS_MNEMONIC_VFNMSUBSS,
+    ZYDIS_MNEMONIC_VFPCLASSPD,
+    ZYDIS_MNEMONIC_VFPCLASSPS,
+    ZYDIS_MNEMONIC_VFPCLASSSD,
+    ZYDIS_MNEMONIC_VFPCLASSSS,
+    ZYDIS_MNEMONIC_VFRCZPD,
+    ZYDIS_MNEMONIC_VFRCZPS,
+    ZYDIS_MNEMONIC_VFRCZSD,
+    ZYDIS_MNEMONIC_VFRCZSS,
+    ZYDIS_MNEMONIC_VGATHERDPD,
+    ZYDIS_MNEMONIC_VGATHERDPS,
+    ZYDIS_MNEMONIC_VGATHERPF0DPD,
+    ZYDIS_MNEMONIC_VGATHERPF0DPS,
+    ZYDIS_MNEMONIC_VGATHERPF0HINTDPD,
+    ZYDIS_MNEMONIC_VGATHERPF0HINTDPS,
+    ZYDIS_MNEMONIC_VGATHERPF0QPD,
+    ZYDIS_MNEMONIC_VGATHERPF0QPS,
+    ZYDIS_MNEMONIC_VGATHERPF1DPD,
+    ZYDIS_MNEMONIC_VGATHERPF1DPS,
+    ZYDIS_MNEMONIC_VGATHERPF1QPD,
+    ZYDIS_MNEMONIC_VGATHERPF1QPS,
+    ZYDIS_MNEMONIC_VGATHERQPD,
+    ZYDIS_MNEMONIC_VGATHERQPS,
+    ZYDIS_MNEMONIC_VGETEXPPD,
+    ZYDIS_MNEMONIC_VGETEXPPS,
+    ZYDIS_MNEMONIC_VGETEXPSD,
+    ZYDIS_MNEMONIC_VGETEXPSS,
+    ZYDIS_MNEMONIC_VGETMANTPD,
+    ZYDIS_MNEMONIC_VGETMANTPS,
+    ZYDIS_MNEMONIC_VGETMANTSD,
+    ZYDIS_MNEMONIC_VGETMANTSS,
+    ZYDIS_MNEMONIC_VGF2P8AFFINEINVQB,
+    ZYDIS_MNEMONIC_VGF2P8AFFINEQB,
+    ZYDIS_MNEMONIC_VGF2P8MULB,
+    ZYDIS_MNEMONIC_VGMAXABSPS,
+    ZYDIS_MNEMONIC_VGMAXPD,
+    ZYDIS_MNEMONIC_VGMAXPS,
+    ZYDIS_MNEMONIC_VGMINPD,
+    ZYDIS_MNEMONIC_VGMINPS,
+    ZYDIS_MNEMONIC_VHADDPD,
+    ZYDIS_MNEMONIC_VHADDPS,
+    ZYDIS_MNEMONIC_VHSUBPD,
+    ZYDIS_MNEMONIC_VHSUBPS,
+    ZYDIS_MNEMONIC_VINSERTF128,
+    ZYDIS_MNEMONIC_VINSERTF32X4,
+    ZYDIS_MNEMONIC_VINSERTF32X8,
+    ZYDIS_MNEMONIC_VINSERTF64X2,
+    ZYDIS_MNEMONIC_VINSERTF64X4,
+    ZYDIS_MNEMONIC_VINSERTI128,
+    ZYDIS_MNEMONIC_VINSERTI32X4,
+    ZYDIS_MNEMONIC_VINSERTI32X8,
+    ZYDIS_MNEMONIC_VINSERTI64X2,
+    ZYDIS_MNEMONIC_VINSERTI64X4,
+    ZYDIS_MNEMONIC_VINSERTPS,
+    ZYDIS_MNEMONIC_VLDDQU,
+    ZYDIS_MNEMONIC_VLDMXCSR,
+    ZYDIS_MNEMONIC_VLOADUNPACKHD,
+    ZYDIS_MNEMONIC_VLOADUNPACKHPD,
+    ZYDIS_MNEMONIC_VLOADUNPACKHPS,
+    ZYDIS_MNEMONIC_VLOADUNPACKHQ,
+    ZYDIS_MNEMONIC_VLOADUNPACKLD,
+    ZYDIS_MNEMONIC_VLOADUNPACKLPD,
+    ZYDIS_MNEMONIC_VLOADUNPACKLPS,
+    ZYDIS_MNEMONIC_VLOADUNPACKLQ,
+    ZYDIS_MNEMONIC_VLOG2PS,
+    ZYDIS_MNEMONIC_VMASKMOVDQU,
+    ZYDIS_MNEMONIC_VMASKMOVPD,
+    ZYDIS_MNEMONIC_VMASKMOVPS,
+    ZYDIS_MNEMONIC_VMAXPD,
+    ZYDIS_MNEMONIC_VMAXPS,
+    ZYDIS_MNEMONIC_VMAXSD,
+    ZYDIS_MNEMONIC_VMAXSS,
+    ZYDIS_MNEMONIC_VMCALL,
+    ZYDIS_MNEMONIC_VMCLEAR,
+    ZYDIS_MNEMONIC_VMFUNC,
+    ZYDIS_MNEMONIC_VMINPD,
+    ZYDIS_MNEMONIC_VMINPS,
+    ZYDIS_MNEMONIC_VMINSD,
+    ZYDIS_MNEMONIC_VMINSS,
+    ZYDIS_MNEMONIC_VMLAUNCH,
+    ZYDIS_MNEMONIC_VMLOAD,
+    ZYDIS_MNEMONIC_VMMCALL,
+    ZYDIS_MNEMONIC_VMOVAPD,
+    ZYDIS_MNEMONIC_VMOVAPS,
+    ZYDIS_MNEMONIC_VMOVD,
+    ZYDIS_MNEMONIC_VMOVDDUP,
+    ZYDIS_MNEMONIC_VMOVDQA,
+    ZYDIS_MNEMONIC_VMOVDQA32,
+    ZYDIS_MNEMONIC_VMOVDQA64,
+    ZYDIS_MNEMONIC_VMOVDQU,
+    ZYDIS_MNEMONIC_VMOVDQU16,
+    ZYDIS_MNEMONIC_VMOVDQU32,
+    ZYDIS_MNEMONIC_VMOVDQU64,
+    ZYDIS_MNEMONIC_VMOVDQU8,
+    ZYDIS_MNEMONIC_VMOVHLPS,
+    ZYDIS_MNEMONIC_VMOVHPD,
+    ZYDIS_MNEMONIC_VMOVHPS,
+    ZYDIS_MNEMONIC_VMOVLHPS,
+    ZYDIS_MNEMONIC_VMOVLPD,
+    ZYDIS_MNEMONIC_VMOVLPS,
+    ZYDIS_MNEMONIC_VMOVMSKPD,
+    ZYDIS_MNEMONIC_VMOVMSKPS,
+    ZYDIS_MNEMONIC_VMOVNRAPD,
+    ZYDIS_MNEMONIC_VMOVNRAPS,
+    ZYDIS_MNEMONIC_VMOVNRNGOAPD,
+    ZYDIS_MNEMONIC_VMOVNRNGOAPS,
+    ZYDIS_MNEMONIC_VMOVNTDQ,
+    ZYDIS_MNEMONIC_VMOVNTDQA,
+    ZYDIS_MNEMONIC_VMOVNTPD,
+    ZYDIS_MNEMONIC_VMOVNTPS,
+    ZYDIS_MNEMONIC_VMOVQ,
+    ZYDIS_MNEMONIC_VMOVSD,
+    ZYDIS_MNEMONIC_VMOVSHDUP,
+    ZYDIS_MNEMONIC_VMOVSLDUP,
+    ZYDIS_MNEMONIC_VMOVSS,
+    ZYDIS_MNEMONIC_VMOVUPD,
+    ZYDIS_MNEMONIC_VMOVUPS,
+    ZYDIS_MNEMONIC_VMPSADBW,
+    ZYDIS_MNEMONIC_VMPTRLD,
+    ZYDIS_MNEMONIC_VMPTRST,
+    ZYDIS_MNEMONIC_VMREAD,
+    ZYDIS_MNEMONIC_VMRESUME,
+    ZYDIS_MNEMONIC_VMRUN,
+    ZYDIS_MNEMONIC_VMSAVE,
+    ZYDIS_MNEMONIC_VMULPD,
+    ZYDIS_MNEMONIC_VMULPS,
+    ZYDIS_MNEMONIC_VMULSD,
+    ZYDIS_MNEMONIC_VMULSS,
+    ZYDIS_MNEMONIC_VMWRITE,
+    ZYDIS_MNEMONIC_VMXOFF,
+    ZYDIS_MNEMONIC_VMXON,
+    ZYDIS_MNEMONIC_VORPD,
+    ZYDIS_MNEMONIC_VORPS,
+    ZYDIS_MNEMONIC_VP2INTERSECTD,
+    ZYDIS_MNEMONIC_VP2INTERSECTQ,
+    ZYDIS_MNEMONIC_VP4DPWSSD,
+    ZYDIS_MNEMONIC_VP4DPWSSDS,
+    ZYDIS_MNEMONIC_VPABSB,
+    ZYDIS_MNEMONIC_VPABSD,
+    ZYDIS_MNEMONIC_VPABSQ,
+    ZYDIS_MNEMONIC_VPABSW,
+    ZYDIS_MNEMONIC_VPACKSSDW,
+    ZYDIS_MNEMONIC_VPACKSSWB,
+    ZYDIS_MNEMONIC_VPACKSTOREHD,
+    ZYDIS_MNEMONIC_VPACKSTOREHPD,
+    ZYDIS_MNEMONIC_VPACKSTOREHPS,
+    ZYDIS_MNEMONIC_VPACKSTOREHQ,
+    ZYDIS_MNEMONIC_VPACKSTORELD,
+    ZYDIS_MNEMONIC_VPACKSTORELPD,
+    ZYDIS_MNEMONIC_VPACKSTORELPS,
+    ZYDIS_MNEMONIC_VPACKSTORELQ,
+    ZYDIS_MNEMONIC_VPACKUSDW,
+    ZYDIS_MNEMONIC_VPACKUSWB,
+    ZYDIS_MNEMONIC_VPADCD,
+    ZYDIS_MNEMONIC_VPADDB,
+    ZYDIS_MNEMONIC_VPADDD,
+    ZYDIS_MNEMONIC_VPADDQ,
+    ZYDIS_MNEMONIC_VPADDSB,
+    ZYDIS_MNEMONIC_VPADDSETCD,
+    ZYDIS_MNEMONIC_VPADDSETSD,
+    ZYDIS_MNEMONIC_VPADDSW,
+    ZYDIS_MNEMONIC_VPADDUSB,
+    ZYDIS_MNEMONIC_VPADDUSW,
+    ZYDIS_MNEMONIC_VPADDW,
+    ZYDIS_MNEMONIC_VPALIGNR,
+    ZYDIS_MNEMONIC_VPAND,
+    ZYDIS_MNEMONIC_VPANDD,
+    ZYDIS_MNEMONIC_VPANDN,
+    ZYDIS_MNEMONIC_VPANDND,
+    ZYDIS_MNEMONIC_VPANDNQ,
+    ZYDIS_MNEMONIC_VPANDQ,
+    ZYDIS_MNEMONIC_VPAVGB,
+    ZYDIS_MNEMONIC_VPAVGW,
+    ZYDIS_MNEMONIC_VPBLENDD,
+    ZYDIS_MNEMONIC_VPBLENDMB,
+    ZYDIS_MNEMONIC_VPBLENDMD,
+    ZYDIS_MNEMONIC_VPBLENDMQ,
+    ZYDIS_MNEMONIC_VPBLENDMW,
+    ZYDIS_MNEMONIC_VPBLENDVB,
+    ZYDIS_MNEMONIC_VPBLENDW,
+    ZYDIS_MNEMONIC_VPBROADCASTB,
+    ZYDIS_MNEMONIC_VPBROADCASTD,
+    ZYDIS_MNEMONIC_VPBROADCASTMB2Q,
+    ZYDIS_MNEMONIC_VPBROADCASTMW2D,
+    ZYDIS_MNEMONIC_VPBROADCASTQ,
+    ZYDIS_MNEMONIC_VPBROADCASTW,
+    ZYDIS_MNEMONIC_VPCLMULQDQ,
+    ZYDIS_MNEMONIC_VPCMOV,
+    ZYDIS_MNEMONIC_VPCMPB,
+    ZYDIS_MNEMONIC_VPCMPD,
+    ZYDIS_MNEMONIC_VPCMPEQB,
+    ZYDIS_MNEMONIC_VPCMPEQD,
+    ZYDIS_MNEMONIC_VPCMPEQQ,
+    ZYDIS_MNEMONIC_VPCMPEQW,
+    ZYDIS_MNEMONIC_VPCMPESTRI,
+    ZYDIS_MNEMONIC_VPCMPESTRM,
+    ZYDIS_MNEMONIC_VPCMPGTB,
+    ZYDIS_MNEMONIC_VPCMPGTD,
+    ZYDIS_MNEMONIC_VPCMPGTQ,
+    ZYDIS_MNEMONIC_VPCMPGTW,
+    ZYDIS_MNEMONIC_VPCMPISTRI,
+    ZYDIS_MNEMONIC_VPCMPISTRM,
+    ZYDIS_MNEMONIC_VPCMPLTD,
+    ZYDIS_MNEMONIC_VPCMPQ,
+    ZYDIS_MNEMONIC_VPCMPUB,
+    ZYDIS_MNEMONIC_VPCMPUD,
+    ZYDIS_MNEMONIC_VPCMPUQ,
+    ZYDIS_MNEMONIC_VPCMPUW,
+    ZYDIS_MNEMONIC_VPCMPW,
+    ZYDIS_MNEMONIC_VPCOMB,
+    ZYDIS_MNEMONIC_VPCOMD,
+    ZYDIS_MNEMONIC_VPCOMPRESSB,
+    ZYDIS_MNEMONIC_VPCOMPRESSD,
+    ZYDIS_MNEMONIC_VPCOMPRESSQ,
+    ZYDIS_MNEMONIC_VPCOMPRESSW,
+    ZYDIS_MNEMONIC_VPCOMQ,
+    ZYDIS_MNEMONIC_VPCOMUB,
+    ZYDIS_MNEMONIC_VPCOMUD,
+    ZYDIS_MNEMONIC_VPCOMUQ,
+    ZYDIS_MNEMONIC_VPCOMUW,
+    ZYDIS_MNEMONIC_VPCOMW,
+    ZYDIS_MNEMONIC_VPCONFLICTD,
+    ZYDIS_MNEMONIC_VPCONFLICTQ,
+    ZYDIS_MNEMONIC_VPDPBUSD,
+    ZYDIS_MNEMONIC_VPDPBUSDS,
+    ZYDIS_MNEMONIC_VPDPWSSD,
+    ZYDIS_MNEMONIC_VPDPWSSDS,
+    ZYDIS_MNEMONIC_VPERM2F128,
+    ZYDIS_MNEMONIC_VPERM2I128,
+    ZYDIS_MNEMONIC_VPERMB,
+    ZYDIS_MNEMONIC_VPERMD,
+    ZYDIS_MNEMONIC_VPERMF32X4,
+    ZYDIS_MNEMONIC_VPERMI2B,
+    ZYDIS_MNEMONIC_VPERMI2D,
+    ZYDIS_MNEMONIC_VPERMI2PD,
+    ZYDIS_MNEMONIC_VPERMI2PS,
+    ZYDIS_MNEMONIC_VPERMI2Q,
+    ZYDIS_MNEMONIC_VPERMI2W,
+    ZYDIS_MNEMONIC_VPERMIL2PD,
+    ZYDIS_MNEMONIC_VPERMIL2PS,
+    ZYDIS_MNEMONIC_VPERMILPD,
+    ZYDIS_MNEMONIC_VPERMILPS,
+    ZYDIS_MNEMONIC_VPERMPD,
+    ZYDIS_MNEMONIC_VPERMPS,
+    ZYDIS_MNEMONIC_VPERMQ,
+    ZYDIS_MNEMONIC_VPERMT2B,
+    ZYDIS_MNEMONIC_VPERMT2D,
+    ZYDIS_MNEMONIC_VPERMT2PD,
+    ZYDIS_MNEMONIC_VPERMT2PS,
+    ZYDIS_MNEMONIC_VPERMT2Q,
+    ZYDIS_MNEMONIC_VPERMT2W,
+    ZYDIS_MNEMONIC_VPERMW,
+    ZYDIS_MNEMONIC_VPEXPANDB,
+    ZYDIS_MNEMONIC_VPEXPANDD,
+    ZYDIS_MNEMONIC_VPEXPANDQ,
+    ZYDIS_MNEMONIC_VPEXPANDW,
+    ZYDIS_MNEMONIC_VPEXTRB,
+    ZYDIS_MNEMONIC_VPEXTRD,
+    ZYDIS_MNEMONIC_VPEXTRQ,
+    ZYDIS_MNEMONIC_VPEXTRW,
+    ZYDIS_MNEMONIC_VPGATHERDD,
+    ZYDIS_MNEMONIC_VPGATHERDQ,
+    ZYDIS_MNEMONIC_VPGATHERQD,
+    ZYDIS_MNEMONIC_VPGATHERQQ,
+    ZYDIS_MNEMONIC_VPHADDBD,
+    ZYDIS_MNEMONIC_VPHADDBQ,
+    ZYDIS_MNEMONIC_VPHADDBW,
+    ZYDIS_MNEMONIC_VPHADDD,
+    ZYDIS_MNEMONIC_VPHADDDQ,
+    ZYDIS_MNEMONIC_VPHADDSW,
+    ZYDIS_MNEMONIC_VPHADDUBD,
+    ZYDIS_MNEMONIC_VPHADDUBQ,
+    ZYDIS_MNEMONIC_VPHADDUBW,
+    ZYDIS_MNEMONIC_VPHADDUDQ,
+    ZYDIS_MNEMONIC_VPHADDUWD,
+    ZYDIS_MNEMONIC_VPHADDUWQ,
+    ZYDIS_MNEMONIC_VPHADDW,
+    ZYDIS_MNEMONIC_VPHADDWD,
+    ZYDIS_MNEMONIC_VPHADDWQ,
+    ZYDIS_MNEMONIC_VPHMINPOSUW,
+    ZYDIS_MNEMONIC_VPHSUBBW,
+    ZYDIS_MNEMONIC_VPHSUBD,
+    ZYDIS_MNEMONIC_VPHSUBDQ,
+    ZYDIS_MNEMONIC_VPHSUBSW,
+    ZYDIS_MNEMONIC_VPHSUBW,
+    ZYDIS_MNEMONIC_VPHSUBWD,
+    ZYDIS_MNEMONIC_VPINSRB,
+    ZYDIS_MNEMONIC_VPINSRD,
+    ZYDIS_MNEMONIC_VPINSRQ,
+    ZYDIS_MNEMONIC_VPINSRW,
+    ZYDIS_MNEMONIC_VPLZCNTD,
+    ZYDIS_MNEMONIC_VPLZCNTQ,
+    ZYDIS_MNEMONIC_VPMACSDD,
+    ZYDIS_MNEMONIC_VPMACSDQH,
+    ZYDIS_MNEMONIC_VPMACSDQL,
+    ZYDIS_MNEMONIC_VPMACSSDD,
+    ZYDIS_MNEMONIC_VPMACSSDQH,
+    ZYDIS_MNEMONIC_VPMACSSDQL,
+    ZYDIS_MNEMONIC_VPMACSSWD,
+    ZYDIS_MNEMONIC_VPMACSSWW,
+    ZYDIS_MNEMONIC_VPMACSWD,
+    ZYDIS_MNEMONIC_VPMACSWW,
+    ZYDIS_MNEMONIC_VPMADCSSWD,
+    ZYDIS_MNEMONIC_VPMADCSWD,
+    ZYDIS_MNEMONIC_VPMADD231D,
+    ZYDIS_MNEMONIC_VPMADD233D,
+    ZYDIS_MNEMONIC_VPMADD52HUQ,
+    ZYDIS_MNEMONIC_VPMADD52LUQ,
+    ZYDIS_MNEMONIC_VPMADDUBSW,
+    ZYDIS_MNEMONIC_VPMADDWD,
+    ZYDIS_MNEMONIC_VPMASKMOVD,
+    ZYDIS_MNEMONIC_VPMASKMOVQ,
+    ZYDIS_MNEMONIC_VPMAXSB,
+    ZYDIS_MNEMONIC_VPMAXSD,
+    ZYDIS_MNEMONIC_VPMAXSQ,
+    ZYDIS_MNEMONIC_VPMAXSW,
+    ZYDIS_MNEMONIC_VPMAXUB,
+    ZYDIS_MNEMONIC_VPMAXUD,
+    ZYDIS_MNEMONIC_VPMAXUQ,
+    ZYDIS_MNEMONIC_VPMAXUW,
+    ZYDIS_MNEMONIC_VPMINSB,
+    ZYDIS_MNEMONIC_VPMINSD,
+    ZYDIS_MNEMONIC_VPMINSQ,
+    ZYDIS_MNEMONIC_VPMINSW,
+    ZYDIS_MNEMONIC_VPMINUB,
+    ZYDIS_MNEMONIC_VPMINUD,
+    ZYDIS_MNEMONIC_VPMINUQ,
+    ZYDIS_MNEMONIC_VPMINUW,
+    ZYDIS_MNEMONIC_VPMOVB2M,
+    ZYDIS_MNEMONIC_VPMOVD2M,
+    ZYDIS_MNEMONIC_VPMOVDB,
+    ZYDIS_MNEMONIC_VPMOVDW,
+    ZYDIS_MNEMONIC_VPMOVM2B,
+    ZYDIS_MNEMONIC_VPMOVM2D,
+    ZYDIS_MNEMONIC_VPMOVM2Q,
+    ZYDIS_MNEMONIC_VPMOVM2W,
+    ZYDIS_MNEMONIC_VPMOVMSKB,
+    ZYDIS_MNEMONIC_VPMOVQ2M,
+    ZYDIS_MNEMONIC_VPMOVQB,
+    ZYDIS_MNEMONIC_VPMOVQD,
+    ZYDIS_MNEMONIC_VPMOVQW,
+    ZYDIS_MNEMONIC_VPMOVSDB,
+    ZYDIS_MNEMONIC_VPMOVSDW,
+    ZYDIS_MNEMONIC_VPMOVSQB,
+    ZYDIS_MNEMONIC_VPMOVSQD,
+    ZYDIS_MNEMONIC_VPMOVSQW,
+    ZYDIS_MNEMONIC_VPMOVSWB,
+    ZYDIS_MNEMONIC_VPMOVSXBD,
+    ZYDIS_MNEMONIC_VPMOVSXBQ,
+    ZYDIS_MNEMONIC_VPMOVSXBW,
+    ZYDIS_MNEMONIC_VPMOVSXDQ,
+    ZYDIS_MNEMONIC_VPMOVSXWD,
+    ZYDIS_MNEMONIC_VPMOVSXWQ,
+    ZYDIS_MNEMONIC_VPMOVUSDB,
+    ZYDIS_MNEMONIC_VPMOVUSDW,
+    ZYDIS_MNEMONIC_VPMOVUSQB,
+    ZYDIS_MNEMONIC_VPMOVUSQD,
+    ZYDIS_MNEMONIC_VPMOVUSQW,
+    ZYDIS_MNEMONIC_VPMOVUSWB,
+    ZYDIS_MNEMONIC_VPMOVW2M,
+    ZYDIS_MNEMONIC_VPMOVWB,
+    ZYDIS_MNEMONIC_VPMOVZXBD,
+    ZYDIS_MNEMONIC_VPMOVZXBQ,
+    ZYDIS_MNEMONIC_VPMOVZXBW,
+    ZYDIS_MNEMONIC_VPMOVZXDQ,
+    ZYDIS_MNEMONIC_VPMOVZXWD,
+    ZYDIS_MNEMONIC_VPMOVZXWQ,
+    ZYDIS_MNEMONIC_VPMULDQ,
+    ZYDIS_MNEMONIC_VPMULHD,
+    ZYDIS_MNEMONIC_VPMULHRSW,
+    ZYDIS_MNEMONIC_VPMULHUD,
+    ZYDIS_MNEMONIC_VPMULHUW,
+    ZYDIS_MNEMONIC_VPMULHW,
+    ZYDIS_MNEMONIC_VPMULLD,
+    ZYDIS_MNEMONIC_VPMULLQ,
+    ZYDIS_MNEMONIC_VPMULLW,
+    ZYDIS_MNEMONIC_VPMULTISHIFTQB,
+    ZYDIS_MNEMONIC_VPMULUDQ,
+    ZYDIS_MNEMONIC_VPOPCNTB,
+    ZYDIS_MNEMONIC_VPOPCNTD,
+    ZYDIS_MNEMONIC_VPOPCNTQ,
+    ZYDIS_MNEMONIC_VPOPCNTW,
+    ZYDIS_MNEMONIC_VPOR,
+    ZYDIS_MNEMONIC_VPORD,
+    ZYDIS_MNEMONIC_VPORQ,
+    ZYDIS_MNEMONIC_VPPERM,
+    ZYDIS_MNEMONIC_VPREFETCH0,
+    ZYDIS_MNEMONIC_VPREFETCH1,
+    ZYDIS_MNEMONIC_VPREFETCH2,
+    ZYDIS_MNEMONIC_VPREFETCHE0,
+    ZYDIS_MNEMONIC_VPREFETCHE1,
+    ZYDIS_MNEMONIC_VPREFETCHE2,
+    ZYDIS_MNEMONIC_VPREFETCHENTA,
+    ZYDIS_MNEMONIC_VPREFETCHNTA,
+    ZYDIS_MNEMONIC_VPROLD,
+    ZYDIS_MNEMONIC_VPROLQ,
+    ZYDIS_MNEMONIC_VPROLVD,
+    ZYDIS_MNEMONIC_VPROLVQ,
+    ZYDIS_MNEMONIC_VPRORD,
+    ZYDIS_MNEMONIC_VPRORQ,
+    ZYDIS_MNEMONIC_VPRORVD,
+    ZYDIS_MNEMONIC_VPRORVQ,
+    ZYDIS_MNEMONIC_VPROTB,
+    ZYDIS_MNEMONIC_VPROTD,
+    ZYDIS_MNEMONIC_VPROTQ,
+    ZYDIS_MNEMONIC_VPROTW,
+    ZYDIS_MNEMONIC_VPSADBW,
+    ZYDIS_MNEMONIC_VPSBBD,
+    ZYDIS_MNEMONIC_VPSBBRD,
+    ZYDIS_MNEMONIC_VPSCATTERDD,
+    ZYDIS_MNEMONIC_VPSCATTERDQ,
+    ZYDIS_MNEMONIC_VPSCATTERQD,
+    ZYDIS_MNEMONIC_VPSCATTERQQ,
+    ZYDIS_MNEMONIC_VPSHAB,
+    ZYDIS_MNEMONIC_VPSHAD,
+    ZYDIS_MNEMONIC_VPSHAQ,
+    ZYDIS_MNEMONIC_VPSHAW,
+    ZYDIS_MNEMONIC_VPSHLB,
+    ZYDIS_MNEMONIC_VPSHLD,
+    ZYDIS_MNEMONIC_VPSHLDD,
+    ZYDIS_MNEMONIC_VPSHLDQ,
+    ZYDIS_MNEMONIC_VPSHLDVD,
+    ZYDIS_MNEMONIC_VPSHLDVQ,
+    ZYDIS_MNEMONIC_VPSHLDVW,
+    ZYDIS_MNEMONIC_VPSHLDW,
+    ZYDIS_MNEMONIC_VPSHLQ,
+    ZYDIS_MNEMONIC_VPSHLW,
+    ZYDIS_MNEMONIC_VPSHRDD,
+    ZYDIS_MNEMONIC_VPSHRDQ,
+    ZYDIS_MNEMONIC_VPSHRDVD,
+    ZYDIS_MNEMONIC_VPSHRDVQ,
+    ZYDIS_MNEMONIC_VPSHRDVW,
+    ZYDIS_MNEMONIC_VPSHRDW,
+    ZYDIS_MNEMONIC_VPSHUFB,
+    ZYDIS_MNEMONIC_VPSHUFBITQMB,
+    ZYDIS_MNEMONIC_VPSHUFD,
+    ZYDIS_MNEMONIC_VPSHUFHW,
+    ZYDIS_MNEMONIC_VPSHUFLW,
+    ZYDIS_MNEMONIC_VPSIGNB,
+    ZYDIS_MNEMONIC_VPSIGND,
+    ZYDIS_MNEMONIC_VPSIGNW,
+    ZYDIS_MNEMONIC_VPSLLD,
+    ZYDIS_MNEMONIC_VPSLLDQ,
+    ZYDIS_MNEMONIC_VPSLLQ,
+    ZYDIS_MNEMONIC_VPSLLVD,
+    ZYDIS_MNEMONIC_VPSLLVQ,
+    ZYDIS_MNEMONIC_VPSLLVW,
+    ZYDIS_MNEMONIC_VPSLLW,
+    ZYDIS_MNEMONIC_VPSRAD,
+    ZYDIS_MNEMONIC_VPSRAQ,
+    ZYDIS_MNEMONIC_VPSRAVD,
+    ZYDIS_MNEMONIC_VPSRAVQ,
+    ZYDIS_MNEMONIC_VPSRAVW,
+    ZYDIS_MNEMONIC_VPSRAW,
+    ZYDIS_MNEMONIC_VPSRLD,
+    ZYDIS_MNEMONIC_VPSRLDQ,
+    ZYDIS_MNEMONIC_VPSRLQ,
+    ZYDIS_MNEMONIC_VPSRLVD,
+    ZYDIS_MNEMONIC_VPSRLVQ,
+    ZYDIS_MNEMONIC_VPSRLVW,
+    ZYDIS_MNEMONIC_VPSRLW,
+    ZYDIS_MNEMONIC_VPSUBB,
+    ZYDIS_MNEMONIC_VPSUBD,
+    ZYDIS_MNEMONIC_VPSUBQ,
+    ZYDIS_MNEMONIC_VPSUBRD,
+    ZYDIS_MNEMONIC_VPSUBRSETBD,
+    ZYDIS_MNEMONIC_VPSUBSB,
+    ZYDIS_MNEMONIC_VPSUBSETBD,
+    ZYDIS_MNEMONIC_VPSUBSW,
+    ZYDIS_MNEMONIC_VPSUBUSB,
+    ZYDIS_MNEMONIC_VPSUBUSW,
+    ZYDIS_MNEMONIC_VPSUBW,
+    ZYDIS_MNEMONIC_VPTERNLOGD,
+    ZYDIS_MNEMONIC_VPTERNLOGQ,
+    ZYDIS_MNEMONIC_VPTEST,
+    ZYDIS_MNEMONIC_VPTESTMB,
+    ZYDIS_MNEMONIC_VPTESTMD,
+    ZYDIS_MNEMONIC_VPTESTMQ,
+    ZYDIS_MNEMONIC_VPTESTMW,
+    ZYDIS_MNEMONIC_VPTESTNMB,
+    ZYDIS_MNEMONIC_VPTESTNMD,
+    ZYDIS_MNEMONIC_VPTESTNMQ,
+    ZYDIS_MNEMONIC_VPTESTNMW,
+    ZYDIS_MNEMONIC_VPUNPCKHBW,
+    ZYDIS_MNEMONIC_VPUNPCKHDQ,
+    ZYDIS_MNEMONIC_VPUNPCKHQDQ,
+    ZYDIS_MNEMONIC_VPUNPCKHWD,
+    ZYDIS_MNEMONIC_VPUNPCKLBW,
+    ZYDIS_MNEMONIC_VPUNPCKLDQ,
+    ZYDIS_MNEMONIC_VPUNPCKLQDQ,
+    ZYDIS_MNEMONIC_VPUNPCKLWD,
+    ZYDIS_MNEMONIC_VPXOR,
+    ZYDIS_MNEMONIC_VPXORD,
+    ZYDIS_MNEMONIC_VPXORQ,
+    ZYDIS_MNEMONIC_VRANGEPD,
+    ZYDIS_MNEMONIC_VRANGEPS,
+    ZYDIS_MNEMONIC_VRANGESD,
+    ZYDIS_MNEMONIC_VRANGESS,
+    ZYDIS_MNEMONIC_VRCP14PD,
+    ZYDIS_MNEMONIC_VRCP14PS,
+    ZYDIS_MNEMONIC_VRCP14SD,
+    ZYDIS_MNEMONIC_VRCP14SS,
+    ZYDIS_MNEMONIC_VRCP23PS,
+    ZYDIS_MNEMONIC_VRCP28PD,
+    ZYDIS_MNEMONIC_VRCP28PS,
+    ZYDIS_MNEMONIC_VRCP28SD,
+    ZYDIS_MNEMONIC_VRCP28SS,
+    ZYDIS_MNEMONIC_VRCPPS,
+    ZYDIS_MNEMONIC_VRCPSS,
+    ZYDIS_MNEMONIC_VREDUCEPD,
+    ZYDIS_MNEMONIC_VREDUCEPS,
+    ZYDIS_MNEMONIC_VREDUCESD,
+    ZYDIS_MNEMONIC_VREDUCESS,
+    ZYDIS_MNEMONIC_VRNDFXPNTPD,
+    ZYDIS_MNEMONIC_VRNDFXPNTPS,
+    ZYDIS_MNEMONIC_VRNDSCALEPD,
+    ZYDIS_MNEMONIC_VRNDSCALEPS,
+    ZYDIS_MNEMONIC_VRNDSCALESD,
+    ZYDIS_MNEMONIC_VRNDSCALESS,
+    ZYDIS_MNEMONIC_VROUNDPD,
+    ZYDIS_MNEMONIC_VROUNDPS,
+    ZYDIS_MNEMONIC_VROUNDSD,
+    ZYDIS_MNEMONIC_VROUNDSS,
+    ZYDIS_MNEMONIC_VRSQRT14PD,
+    ZYDIS_MNEMONIC_VRSQRT14PS,
+    ZYDIS_MNEMONIC_VRSQRT14SD,
+    ZYDIS_MNEMONIC_VRSQRT14SS,
+    ZYDIS_MNEMONIC_VRSQRT23PS,
+    ZYDIS_MNEMONIC_VRSQRT28PD,
+    ZYDIS_MNEMONIC_VRSQRT28PS,
+    ZYDIS_MNEMONIC_VRSQRT28SD,
+    ZYDIS_MNEMONIC_VRSQRT28SS,
+    ZYDIS_MNEMONIC_VRSQRTPS,
+    ZYDIS_MNEMONIC_VRSQRTSS,
+    ZYDIS_MNEMONIC_VSCALEFPD,
+    ZYDIS_MNEMONIC_VSCALEFPS,
+    ZYDIS_MNEMONIC_VSCALEFSD,
+    ZYDIS_MNEMONIC_VSCALEFSS,
+    ZYDIS_MNEMONIC_VSCALEPS,
+    ZYDIS_MNEMONIC_VSCATTERDPD,
+    ZYDIS_MNEMONIC_VSCATTERDPS,
+    ZYDIS_MNEMONIC_VSCATTERPF0DPD,
+    ZYDIS_MNEMONIC_VSCATTERPF0DPS,
+    ZYDIS_MNEMONIC_VSCATTERPF0HINTDPD,
+    ZYDIS_MNEMONIC_VSCATTERPF0HINTDPS,
+    ZYDIS_MNEMONIC_VSCATTERPF0QPD,
+    ZYDIS_MNEMONIC_VSCATTERPF0QPS,
+    ZYDIS_MNEMONIC_VSCATTERPF1DPD,
+    ZYDIS_MNEMONIC_VSCATTERPF1DPS,
+    ZYDIS_MNEMONIC_VSCATTERPF1QPD,
+    ZYDIS_MNEMONIC_VSCATTERPF1QPS,
+    ZYDIS_MNEMONIC_VSCATTERQPD,
+    ZYDIS_MNEMONIC_VSCATTERQPS,
+    ZYDIS_MNEMONIC_VSHUFF32X4,
+    ZYDIS_MNEMONIC_VSHUFF64X2,
+    ZYDIS_MNEMONIC_VSHUFI32X4,
+    ZYDIS_MNEMONIC_VSHUFI64X2,
+    ZYDIS_MNEMONIC_VSHUFPD,
+    ZYDIS_MNEMONIC_VSHUFPS,
+    ZYDIS_MNEMONIC_VSQRTPD,
+    ZYDIS_MNEMONIC_VSQRTPS,
+    ZYDIS_MNEMONIC_VSQRTSD,
+    ZYDIS_MNEMONIC_VSQRTSS,
+    ZYDIS_MNEMONIC_VSTMXCSR,
+    ZYDIS_MNEMONIC_VSUBPD,
+    ZYDIS_MNEMONIC_VSUBPS,
+    ZYDIS_MNEMONIC_VSUBRPD,
+    ZYDIS_MNEMONIC_VSUBRPS,
+    ZYDIS_MNEMONIC_VSUBSD,
+    ZYDIS_MNEMONIC_VSUBSS,
+    ZYDIS_MNEMONIC_VTESTPD,
+    ZYDIS_MNEMONIC_VTESTPS,
+    ZYDIS_MNEMONIC_VUCOMISD,
+    ZYDIS_MNEMONIC_VUCOMISS,
+    ZYDIS_MNEMONIC_VUNPCKHPD,
+    ZYDIS_MNEMONIC_VUNPCKHPS,
+    ZYDIS_MNEMONIC_VUNPCKLPD,
+    ZYDIS_MNEMONIC_VUNPCKLPS,
+    ZYDIS_MNEMONIC_VXORPD,
+    ZYDIS_MNEMONIC_VXORPS,
+    ZYDIS_MNEMONIC_VZEROALL,
+    ZYDIS_MNEMONIC_VZEROUPPER,
+    ZYDIS_MNEMONIC_WBINVD,
+    ZYDIS_MNEMONIC_WRFSBASE,
+    ZYDIS_MNEMONIC_WRGSBASE,
+    ZYDIS_MNEMONIC_WRMSR,
+    ZYDIS_MNEMONIC_WRPKRU,
+    ZYDIS_MNEMONIC_WRSSD,
+    ZYDIS_MNEMONIC_WRSSQ,
+    ZYDIS_MNEMONIC_WRUSSD,
+    ZYDIS_MNEMONIC_WRUSSQ,
+    ZYDIS_MNEMONIC_XABORT,
+    ZYDIS_MNEMONIC_XADD,
+    ZYDIS_MNEMONIC_XBEGIN,
+    ZYDIS_MNEMONIC_XCHG,
+    ZYDIS_MNEMONIC_XCRYPT_CBC,
+    ZYDIS_MNEMONIC_XCRYPT_CFB,
+    ZYDIS_MNEMONIC_XCRYPT_CTR,
+    ZYDIS_MNEMONIC_XCRYPT_ECB,
+    ZYDIS_MNEMONIC_XCRYPT_OFB,
+    ZYDIS_MNEMONIC_XEND,
+    ZYDIS_MNEMONIC_XGETBV,
+    ZYDIS_MNEMONIC_XLAT,
+    ZYDIS_MNEMONIC_XOR,
+    ZYDIS_MNEMONIC_XORPD,
+    ZYDIS_MNEMONIC_XORPS,
+    ZYDIS_MNEMONIC_XRSTOR,
+    ZYDIS_MNEMONIC_XRSTOR64,
+    ZYDIS_MNEMONIC_XRSTORS,
+    ZYDIS_MNEMONIC_XRSTORS64,
+    ZYDIS_MNEMONIC_XSAVE,
+    ZYDIS_MNEMONIC_XSAVE64,
+    ZYDIS_MNEMONIC_XSAVEC,
+    ZYDIS_MNEMONIC_XSAVEC64,
+    ZYDIS_MNEMONIC_XSAVEOPT,
+    ZYDIS_MNEMONIC_XSAVEOPT64,
+    ZYDIS_MNEMONIC_XSAVES,
+    ZYDIS_MNEMONIC_XSAVES64,
+    ZYDIS_MNEMONIC_XSETBV,
+    ZYDIS_MNEMONIC_XSHA1,
+    ZYDIS_MNEMONIC_XSHA256,
+    ZYDIS_MNEMONIC_XSTORE,
+    ZYDIS_MNEMONIC_XTEST,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_MNEMONIC_MAX_VALUE = ZYDIS_MNEMONIC_XTEST,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_MNEMONIC_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MNEMONIC_MAX_VALUE)
+} ZydisMnemonic;
diff --git a/external/zydis/include/Zydis/Generated/EnumRegister.h b/external/zydis/include/Zydis/Generated/EnumRegister.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Generated/EnumRegister.h
@@ -0,0 +1,292 @@
+/**
+ * Defines the `ZydisRegister` enum.
+ */
+typedef enum ZydisRegister_
+{
+    ZYDIS_REGISTER_NONE,
+
+    // General purpose registers  8-bit
+    ZYDIS_REGISTER_AL,
+    ZYDIS_REGISTER_CL,
+    ZYDIS_REGISTER_DL,
+    ZYDIS_REGISTER_BL,
+    ZYDIS_REGISTER_AH,
+    ZYDIS_REGISTER_CH,
+    ZYDIS_REGISTER_DH,
+    ZYDIS_REGISTER_BH,
+    ZYDIS_REGISTER_SPL,
+    ZYDIS_REGISTER_BPL,
+    ZYDIS_REGISTER_SIL,
+    ZYDIS_REGISTER_DIL,
+    ZYDIS_REGISTER_R8B,
+    ZYDIS_REGISTER_R9B,
+    ZYDIS_REGISTER_R10B,
+    ZYDIS_REGISTER_R11B,
+    ZYDIS_REGISTER_R12B,
+    ZYDIS_REGISTER_R13B,
+    ZYDIS_REGISTER_R14B,
+    ZYDIS_REGISTER_R15B,
+    // General purpose registers 16-bit
+    ZYDIS_REGISTER_AX,
+    ZYDIS_REGISTER_CX,
+    ZYDIS_REGISTER_DX,
+    ZYDIS_REGISTER_BX,
+    ZYDIS_REGISTER_SP,
+    ZYDIS_REGISTER_BP,
+    ZYDIS_REGISTER_SI,
+    ZYDIS_REGISTER_DI,
+    ZYDIS_REGISTER_R8W,
+    ZYDIS_REGISTER_R9W,
+    ZYDIS_REGISTER_R10W,
+    ZYDIS_REGISTER_R11W,
+    ZYDIS_REGISTER_R12W,
+    ZYDIS_REGISTER_R13W,
+    ZYDIS_REGISTER_R14W,
+    ZYDIS_REGISTER_R15W,
+    // General purpose registers 32-bit
+    ZYDIS_REGISTER_EAX,
+    ZYDIS_REGISTER_ECX,
+    ZYDIS_REGISTER_EDX,
+    ZYDIS_REGISTER_EBX,
+    ZYDIS_REGISTER_ESP,
+    ZYDIS_REGISTER_EBP,
+    ZYDIS_REGISTER_ESI,
+    ZYDIS_REGISTER_EDI,
+    ZYDIS_REGISTER_R8D,
+    ZYDIS_REGISTER_R9D,
+    ZYDIS_REGISTER_R10D,
+    ZYDIS_REGISTER_R11D,
+    ZYDIS_REGISTER_R12D,
+    ZYDIS_REGISTER_R13D,
+    ZYDIS_REGISTER_R14D,
+    ZYDIS_REGISTER_R15D,
+    // General purpose registers 64-bit
+    ZYDIS_REGISTER_RAX,
+    ZYDIS_REGISTER_RCX,
+    ZYDIS_REGISTER_RDX,
+    ZYDIS_REGISTER_RBX,
+    ZYDIS_REGISTER_RSP,
+    ZYDIS_REGISTER_RBP,
+    ZYDIS_REGISTER_RSI,
+    ZYDIS_REGISTER_RDI,
+    ZYDIS_REGISTER_R8,
+    ZYDIS_REGISTER_R9,
+    ZYDIS_REGISTER_R10,
+    ZYDIS_REGISTER_R11,
+    ZYDIS_REGISTER_R12,
+    ZYDIS_REGISTER_R13,
+    ZYDIS_REGISTER_R14,
+    ZYDIS_REGISTER_R15,
+    // Floating point legacy registers
+    ZYDIS_REGISTER_ST0,
+    ZYDIS_REGISTER_ST1,
+    ZYDIS_REGISTER_ST2,
+    ZYDIS_REGISTER_ST3,
+    ZYDIS_REGISTER_ST4,
+    ZYDIS_REGISTER_ST5,
+    ZYDIS_REGISTER_ST6,
+    ZYDIS_REGISTER_ST7,
+    ZYDIS_REGISTER_X87CONTROL,
+    ZYDIS_REGISTER_X87STATUS,
+    ZYDIS_REGISTER_X87TAG,
+    // Floating point multimedia registers
+    ZYDIS_REGISTER_MM0,
+    ZYDIS_REGISTER_MM1,
+    ZYDIS_REGISTER_MM2,
+    ZYDIS_REGISTER_MM3,
+    ZYDIS_REGISTER_MM4,
+    ZYDIS_REGISTER_MM5,
+    ZYDIS_REGISTER_MM6,
+    ZYDIS_REGISTER_MM7,
+    // Floating point vector registers 128-bit
+    ZYDIS_REGISTER_XMM0,
+    ZYDIS_REGISTER_XMM1,
+    ZYDIS_REGISTER_XMM2,
+    ZYDIS_REGISTER_XMM3,
+    ZYDIS_REGISTER_XMM4,
+    ZYDIS_REGISTER_XMM5,
+    ZYDIS_REGISTER_XMM6,
+    ZYDIS_REGISTER_XMM7,
+    ZYDIS_REGISTER_XMM8,
+    ZYDIS_REGISTER_XMM9,
+    ZYDIS_REGISTER_XMM10,
+    ZYDIS_REGISTER_XMM11,
+    ZYDIS_REGISTER_XMM12,
+    ZYDIS_REGISTER_XMM13,
+    ZYDIS_REGISTER_XMM14,
+    ZYDIS_REGISTER_XMM15,
+    ZYDIS_REGISTER_XMM16,
+    ZYDIS_REGISTER_XMM17,
+    ZYDIS_REGISTER_XMM18,
+    ZYDIS_REGISTER_XMM19,
+    ZYDIS_REGISTER_XMM20,
+    ZYDIS_REGISTER_XMM21,
+    ZYDIS_REGISTER_XMM22,
+    ZYDIS_REGISTER_XMM23,
+    ZYDIS_REGISTER_XMM24,
+    ZYDIS_REGISTER_XMM25,
+    ZYDIS_REGISTER_XMM26,
+    ZYDIS_REGISTER_XMM27,
+    ZYDIS_REGISTER_XMM28,
+    ZYDIS_REGISTER_XMM29,
+    ZYDIS_REGISTER_XMM30,
+    ZYDIS_REGISTER_XMM31,
+    // Floating point vector registers 256-bit
+    ZYDIS_REGISTER_YMM0,
+    ZYDIS_REGISTER_YMM1,
+    ZYDIS_REGISTER_YMM2,
+    ZYDIS_REGISTER_YMM3,
+    ZYDIS_REGISTER_YMM4,
+    ZYDIS_REGISTER_YMM5,
+    ZYDIS_REGISTER_YMM6,
+    ZYDIS_REGISTER_YMM7,
+    ZYDIS_REGISTER_YMM8,
+    ZYDIS_REGISTER_YMM9,
+    ZYDIS_REGISTER_YMM10,
+    ZYDIS_REGISTER_YMM11,
+    ZYDIS_REGISTER_YMM12,
+    ZYDIS_REGISTER_YMM13,
+    ZYDIS_REGISTER_YMM14,
+    ZYDIS_REGISTER_YMM15,
+    ZYDIS_REGISTER_YMM16,
+    ZYDIS_REGISTER_YMM17,
+    ZYDIS_REGISTER_YMM18,
+    ZYDIS_REGISTER_YMM19,
+    ZYDIS_REGISTER_YMM20,
+    ZYDIS_REGISTER_YMM21,
+    ZYDIS_REGISTER_YMM22,
+    ZYDIS_REGISTER_YMM23,
+    ZYDIS_REGISTER_YMM24,
+    ZYDIS_REGISTER_YMM25,
+    ZYDIS_REGISTER_YMM26,
+    ZYDIS_REGISTER_YMM27,
+    ZYDIS_REGISTER_YMM28,
+    ZYDIS_REGISTER_YMM29,
+    ZYDIS_REGISTER_YMM30,
+    ZYDIS_REGISTER_YMM31,
+    // Floating point vector registers 512-bit
+    ZYDIS_REGISTER_ZMM0,
+    ZYDIS_REGISTER_ZMM1,
+    ZYDIS_REGISTER_ZMM2,
+    ZYDIS_REGISTER_ZMM3,
+    ZYDIS_REGISTER_ZMM4,
+    ZYDIS_REGISTER_ZMM5,
+    ZYDIS_REGISTER_ZMM6,
+    ZYDIS_REGISTER_ZMM7,
+    ZYDIS_REGISTER_ZMM8,
+    ZYDIS_REGISTER_ZMM9,
+    ZYDIS_REGISTER_ZMM10,
+    ZYDIS_REGISTER_ZMM11,
+    ZYDIS_REGISTER_ZMM12,
+    ZYDIS_REGISTER_ZMM13,
+    ZYDIS_REGISTER_ZMM14,
+    ZYDIS_REGISTER_ZMM15,
+    ZYDIS_REGISTER_ZMM16,
+    ZYDIS_REGISTER_ZMM17,
+    ZYDIS_REGISTER_ZMM18,
+    ZYDIS_REGISTER_ZMM19,
+    ZYDIS_REGISTER_ZMM20,
+    ZYDIS_REGISTER_ZMM21,
+    ZYDIS_REGISTER_ZMM22,
+    ZYDIS_REGISTER_ZMM23,
+    ZYDIS_REGISTER_ZMM24,
+    ZYDIS_REGISTER_ZMM25,
+    ZYDIS_REGISTER_ZMM26,
+    ZYDIS_REGISTER_ZMM27,
+    ZYDIS_REGISTER_ZMM28,
+    ZYDIS_REGISTER_ZMM29,
+    ZYDIS_REGISTER_ZMM30,
+    ZYDIS_REGISTER_ZMM31,
+    // Flags registers
+    ZYDIS_REGISTER_FLAGS,
+    ZYDIS_REGISTER_EFLAGS,
+    ZYDIS_REGISTER_RFLAGS,
+    // Instruction-pointer registers
+    ZYDIS_REGISTER_IP,
+    ZYDIS_REGISTER_EIP,
+    ZYDIS_REGISTER_RIP,
+    // Segment registers
+    ZYDIS_REGISTER_ES,
+    ZYDIS_REGISTER_CS,
+    ZYDIS_REGISTER_SS,
+    ZYDIS_REGISTER_DS,
+    ZYDIS_REGISTER_FS,
+    ZYDIS_REGISTER_GS,
+    // Table registers
+    ZYDIS_REGISTER_GDTR,
+    ZYDIS_REGISTER_LDTR,
+    ZYDIS_REGISTER_IDTR,
+    ZYDIS_REGISTER_TR,
+    // Test registers
+    ZYDIS_REGISTER_TR0,
+    ZYDIS_REGISTER_TR1,
+    ZYDIS_REGISTER_TR2,
+    ZYDIS_REGISTER_TR3,
+    ZYDIS_REGISTER_TR4,
+    ZYDIS_REGISTER_TR5,
+    ZYDIS_REGISTER_TR6,
+    ZYDIS_REGISTER_TR7,
+    // Control registers
+    ZYDIS_REGISTER_CR0,
+    ZYDIS_REGISTER_CR1,
+    ZYDIS_REGISTER_CR2,
+    ZYDIS_REGISTER_CR3,
+    ZYDIS_REGISTER_CR4,
+    ZYDIS_REGISTER_CR5,
+    ZYDIS_REGISTER_CR6,
+    ZYDIS_REGISTER_CR7,
+    ZYDIS_REGISTER_CR8,
+    ZYDIS_REGISTER_CR9,
+    ZYDIS_REGISTER_CR10,
+    ZYDIS_REGISTER_CR11,
+    ZYDIS_REGISTER_CR12,
+    ZYDIS_REGISTER_CR13,
+    ZYDIS_REGISTER_CR14,
+    ZYDIS_REGISTER_CR15,
+    // Debug registers
+    ZYDIS_REGISTER_DR0,
+    ZYDIS_REGISTER_DR1,
+    ZYDIS_REGISTER_DR2,
+    ZYDIS_REGISTER_DR3,
+    ZYDIS_REGISTER_DR4,
+    ZYDIS_REGISTER_DR5,
+    ZYDIS_REGISTER_DR6,
+    ZYDIS_REGISTER_DR7,
+    ZYDIS_REGISTER_DR8,
+    ZYDIS_REGISTER_DR9,
+    ZYDIS_REGISTER_DR10,
+    ZYDIS_REGISTER_DR11,
+    ZYDIS_REGISTER_DR12,
+    ZYDIS_REGISTER_DR13,
+    ZYDIS_REGISTER_DR14,
+    ZYDIS_REGISTER_DR15,
+    // Mask registers
+    ZYDIS_REGISTER_K0,
+    ZYDIS_REGISTER_K1,
+    ZYDIS_REGISTER_K2,
+    ZYDIS_REGISTER_K3,
+    ZYDIS_REGISTER_K4,
+    ZYDIS_REGISTER_K5,
+    ZYDIS_REGISTER_K6,
+    ZYDIS_REGISTER_K7,
+    // Bound registers
+    ZYDIS_REGISTER_BND0,
+    ZYDIS_REGISTER_BND1,
+    ZYDIS_REGISTER_BND2,
+    ZYDIS_REGISTER_BND3,
+    ZYDIS_REGISTER_BNDCFG,
+    ZYDIS_REGISTER_BNDSTATUS,
+    // Uncategorized
+    ZYDIS_REGISTER_MXCSR,
+    ZYDIS_REGISTER_PKRU,
+    ZYDIS_REGISTER_XCR0,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_REGISTER_MAX_VALUE = ZYDIS_REGISTER_XCR0,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_REGISTER_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_REGISTER_MAX_VALUE)
+} ZydisRegister;
diff --git a/external/zydis/include/Zydis/Internal/DecoderData.h b/external/zydis/include/Zydis/Internal/DecoderData.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Internal/DecoderData.h
@@ -0,0 +1,331 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#ifndef ZYDIS_INTERNAL_DECODERDATA_H
+#define ZYDIS_INTERNAL_DECODERDATA_H
+
+#include <Zycore/Defines.h>
+#include <Zydis/DecoderTypes.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+// MSVC does not like types other than (un-)signed int for bit-fields
+#ifdef ZYAN_MSVC
+#   pragma warning(push)
+#   pragma warning(disable:4214)
+#endif
+
+#pragma pack(push, 1)
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Decoder tree                                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisDecoderTreeNodeType` data-type.
+ */
+typedef ZyanU8 ZydisDecoderTreeNodeType;
+
+/**
+ * Values that represent zydis decoder tree node types.
+ */
+enum ZydisDecoderTreeNodeTypes
+{
+    ZYDIS_NODETYPE_INVALID                  = 0x00,
+    /**
+     * Reference to an instruction-definition.
+     */
+    ZYDIS_NODETYPE_DEFINITION_MASK          = 0x80,
+    /**
+     * Reference to an XOP-map filter.
+     */
+    ZYDIS_NODETYPE_FILTER_XOP               = 0x01,
+    /**
+     * Reference to an VEX-map filter.
+     */
+    ZYDIS_NODETYPE_FILTER_VEX               = 0x02,
+    /**
+     * Reference to an EVEX/MVEX-map filter.
+     */
+    ZYDIS_NODETYPE_FILTER_EMVEX             = 0x03,
+    /**
+     * Reference to an opcode filter.
+     */
+    ZYDIS_NODETYPE_FILTER_OPCODE            = 0x04,
+    /**
+     * Reference to an instruction-mode filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MODE              = 0x05,
+    /**
+     * Reference to an compacted instruction-mode filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MODE_COMPACT      = 0x06,
+    /**
+     * Reference to a ModRM.mod filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MODRM_MOD         = 0x07,
+    /**
+     * Reference to a compacted ModRM.mod filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT = 0x08,
+    /**
+     * Reference to a ModRM.reg filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MODRM_REG         = 0x09,
+    /**
+     * Reference to a ModRM.rm filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MODRM_RM          = 0x0A,
+    /**
+     * Reference to a PrefixGroup1 filter.
+     */
+    ZYDIS_NODETYPE_FILTER_PREFIX_GROUP1     = 0x0B,
+    /**
+     * Reference to a mandatory-prefix filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX  = 0x0C,
+    /**
+     * Reference to an operand-size filter.
+     */
+    ZYDIS_NODETYPE_FILTER_OPERAND_SIZE      = 0x0D,
+    /**
+     * Reference to an address-size filter.
+     */
+    ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE      = 0x0E,
+    /**
+     * Reference to a vector-length filter.
+     */
+    ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH     = 0x0F,
+    /**
+     * Reference to an REX/VEX/EVEX.W filter.
+     */
+    ZYDIS_NODETYPE_FILTER_REX_W             = 0x10,
+    /**
+     * Reference to an REX/VEX/EVEX.B filter.
+     */
+    ZYDIS_NODETYPE_FILTER_REX_B             = 0x11,
+    /**
+     * Reference to an EVEX.b filter.
+     */
+    ZYDIS_NODETYPE_FILTER_EVEX_B            = 0x12,
+    /**
+     * Reference to an MVEX.E filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MVEX_E            = 0x13,
+    /**
+     * Reference to a AMD-mode filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MODE_AMD          = 0x14,
+    /**
+     * Reference to a KNC-mode filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MODE_KNC          = 0x15,
+    /**
+     * Reference to a MPX-mode filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MODE_MPX          = 0x16,
+    /**
+     * Reference to a CET-mode filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MODE_CET          = 0x17,
+    /**
+     * Reference to a LZCNT-mode filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MODE_LZCNT        = 0x18,
+    /**
+     * Reference to a TZCNT-mode filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MODE_TZCNT        = 0x19,
+    /**
+     * Reference to a WBNOINVD-mode filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MODE_WBNOINVD     = 0x1A,
+    /**
+     * Reference to a CLDEMOTE-mode filter.
+     */
+    ZYDIS_NODETYPE_FILTER_MODE_CLDEMOTE     = 0x1B
+};
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisDecoderTreeNodeValue` data-type.
+ */
+typedef ZyanU16 ZydisDecoderTreeNodeValue;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisDecoderTreeNode` struct.
+ */
+typedef struct ZydisDecoderTreeNode_
+{
+    ZydisDecoderTreeNodeType type;
+    ZydisDecoderTreeNodeValue value;
+} ZydisDecoderTreeNode;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+#pragma pack(pop)
+
+#ifdef ZYAN_MSVC
+#   pragma warning(pop)
+#endif
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Physical instruction encoding info                                                             */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisInstructionEncodingFlags` data-type.
+ */
+typedef ZyanU8 ZydisInstructionEncodingFlags;
+
+/**
+ * The instruction has an optional modrm byte.
+ */
+#define ZYDIS_INSTR_ENC_FLAG_HAS_MODRM      0x01
+
+/**
+ * The instruction has an optional displacement value.
+ */
+#define ZYDIS_INSTR_ENC_FLAG_HAS_DISP       0x02
+
+/**
+ * The instruction has an optional immediate value.
+ */
+#define ZYDIS_INSTR_ENC_FLAG_HAS_IMM0       0x04
+
+/**
+ * The instruction has a second optional immediate value.
+ */
+#define ZYDIS_INSTR_ENC_FLAG_HAS_IMM1       0x08
+
+/**
+ * The instruction ignores the value of `modrm.mod` and always assumes `modrm.mod == 3`
+ *          ("reg, reg" - form).
+ *
+ *          Instructions with this flag can't have a SIB byte or a displacement value.
+ */
+#define ZYDIS_INSTR_ENC_FLAG_FORCE_REG_FORM 0x10
+
+/**
+ * Defines the `ZydisInstructionEncodingInfo` struct.
+ */
+typedef struct ZydisInstructionEncodingInfo_
+{
+    /**
+     * Contains flags with information about the physical instruction-encoding.
+     */
+    ZydisInstructionEncodingFlags flags;
+    /**
+     * Displacement info.
+     */
+    struct
+    {
+        /**
+         * The size of the displacement value.
+         */
+        ZyanU8 size[3];
+    } disp;
+    /**
+     * Immediate info.
+     */
+    struct
+    {
+        /**
+         * The size of the immediate value.
+         */
+        ZyanU8 size[3];
+        /**
+         * Signals, if the value is signed.
+         */
+        ZyanBool is_signed;
+        /**
+         * Signals, if the value is a relative offset.
+         */
+        ZyanBool is_relative;
+    } imm[2];
+} ZydisInstructionEncodingInfo;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Functions                                                                                      */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Decoder tree                                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+extern const ZydisDecoderTreeNode zydis_decoder_tree_root;
+
+/**
+ * Returns the root node of the instruction tree.
+ *
+ * @return  The root node of the instruction tree.
+ */
+ZYAN_INLINE const ZydisDecoderTreeNode* ZydisDecoderTreeGetRootNode(void)
+{
+    return &zydis_decoder_tree_root;
+}
+
+/**
+ * Returns the child node of `parent` specified by `index`.
+ *
+ * @param   parent  The parent node.
+ * @param   index   The index of the child node to retrieve.
+ *
+ * @return  The specified child node.
+ */
+ZYDIS_NO_EXPORT const ZydisDecoderTreeNode* ZydisDecoderTreeGetChildNode(
+    const ZydisDecoderTreeNode* parent, ZyanU16 index);
+
+/**
+ * Returns information about optional instruction parts (like modrm, displacement or
+ * immediates) for the instruction that is linked to the given `node`.
+ *
+ * @param   node    The instruction definition node.
+ * @param   info    A pointer to the `ZydisInstructionParts` struct.
+ */
+ZYDIS_NO_EXPORT void ZydisGetInstructionEncodingInfo(const ZydisDecoderTreeNode* node,
+    const ZydisInstructionEncodingInfo** info);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYDIS_INTERNAL_DECODERDATA_H */
diff --git a/external/zydis/include/Zydis/Internal/FormatterATT.h b/external/zydis/include/Zydis/Internal/FormatterATT.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Internal/FormatterATT.h
@@ -0,0 +1,178 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd, Joel Hoener
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Implements the `AT&T` style instruction-formatter.
+ */
+
+#ifndef ZYDIS_FORMATTER_ATT_H
+#define ZYDIS_FORMATTER_ATT_H
+
+#include <Zydis/Formatter.h>
+#include <Zydis/Internal/FormatterBase.h>
+#include <Zydis/Internal/String.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Formatter functions                                                                            */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Instruction                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterATTFormatInstruction(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Operands                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterATTFormatOperandMEM(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Elemental tokens                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterATTPrintMnemonic(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+ZyanStatus ZydisFormatterATTPrintRegister(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisRegister reg);
+
+ZyanStatus ZydisFormatterATTPrintDISP(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+ZyanStatus ZydisFormatterATTPrintIMM(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Fomatter presets                                                                               */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* AT&T                                                                                           */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * The default formatter configuration for `AT&T` style disassembly.
+ */
+static const ZydisFormatter FORMATTER_ATT =
+{
+    /* style                   */ ZYDIS_FORMATTER_STYLE_ATT,
+    /* force_memory_size       */ ZYAN_FALSE,
+    /* force_memory_seg        */ ZYAN_FALSE,
+    /* force_relative_branches */ ZYAN_FALSE,
+    /* force_relative_riprel   */ ZYAN_FALSE,
+    /* print_branch_size       */ ZYAN_FALSE,
+    /* detailed_prefixes       */ ZYAN_FALSE,
+    /* addr_base               */ ZYDIS_NUMERIC_BASE_HEX,
+    /* addr_signedness         */ ZYDIS_SIGNEDNESS_SIGNED,
+    /* addr_padding_absolute   */ ZYDIS_PADDING_AUTO,
+    /* addr_padding_relative   */ 2,
+    /* disp_base               */ ZYDIS_NUMERIC_BASE_HEX,
+    /* disp_signedness         */ ZYDIS_SIGNEDNESS_SIGNED,
+    /* disp_padding            */ 2,
+    /* imm_base                */ ZYDIS_NUMERIC_BASE_HEX,
+    /* imm_signedness          */ ZYDIS_SIGNEDNESS_AUTO,
+    /* imm_padding             */ 2,
+    /* case_prefixes           */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* case_mnemonic           */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* case_registers          */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* case_typecasts          */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* case_decorators         */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* hex_uppercase           */ ZYAN_TRUE,
+    /* number_format           */
+    {
+        // ZYDIS_NUMERIC_BASE_DEC
+        {
+            // Prefix
+            {
+                /* string      */ ZYAN_NULL,
+                /* string_data */ ZYAN_DEFINE_STRING_VIEW(""),
+                /* buffer      */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+            },
+            // Suffix
+            {
+                /* string      */ ZYAN_NULL,
+                /* string_data */ ZYAN_DEFINE_STRING_VIEW(""),
+                /* buffer      */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+            }
+        },
+        // ZYDIS_NUMERIC_BASE_HEX
+        {
+            // Prefix
+            {
+                /* string      */ &FORMATTER_ATT.number_format[
+                                    ZYDIS_NUMERIC_BASE_HEX][0].string_data,
+                /* string_data */ ZYAN_DEFINE_STRING_VIEW("0x"),
+                /* buffer      */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+            },
+            // Suffix
+            {
+                /* string      */ ZYAN_NULL,
+                /* string_data */ ZYAN_DEFINE_STRING_VIEW(""),
+                /* buffer      */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+            }
+        }
+    },
+    /* func_pre_instruction    */ ZYAN_NULL,
+    /* func_post_instruction   */ ZYAN_NULL,
+    /* func_format_instruction */ &ZydisFormatterATTFormatInstruction,
+    /* func_pre_operand        */ ZYAN_NULL,
+    /* func_post_operand       */ ZYAN_NULL,
+    /* func_format_operand_reg */ &ZydisFormatterBaseFormatOperandREG,
+    /* func_format_operand_mem */ &ZydisFormatterATTFormatOperandMEM,
+    /* func_format_operand_ptr */ &ZydisFormatterBaseFormatOperandPTR,
+    /* func_format_operand_imm */ &ZydisFormatterBaseFormatOperandIMM,
+    /* func_print_mnemonic     */ &ZydisFormatterATTPrintMnemonic,
+    /* func_print_register     */ &ZydisFormatterATTPrintRegister,
+    /* func_print_address_abs  */ &ZydisFormatterBasePrintAddressABS,
+    /* func_print_address_rel  */ &ZydisFormatterBasePrintAddressREL,
+    /* func_print_disp         */ &ZydisFormatterATTPrintDISP,
+    /* func_print_imm          */ &ZydisFormatterATTPrintIMM,
+    /* func_print_typecast     */ ZYAN_NULL,
+    /* func_print_segment      */ &ZydisFormatterBasePrintSegment,
+    /* func_print_prefixes     */ &ZydisFormatterBasePrintPrefixes,
+    /* func_print_decorator    */ &ZydisFormatterBasePrintDecorator
+};
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ZYDIS_FORMATTER_ATT_H
diff --git a/external/zydis/include/Zydis/Internal/FormatterBase.h b/external/zydis/include/Zydis/Internal/FormatterBase.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Internal/FormatterBase.h
@@ -0,0 +1,318 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd, Joel Hoener
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Provides formatter functions that are shared between the different formatters.
+ */
+
+#ifndef ZYDIS_FORMATTER_BASE_H
+#define ZYDIS_FORMATTER_BASE_H
+
+#include <Zydis/Formatter.h>
+#include <Zydis/Internal/String.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Macros                                                                                         */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* String                                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Appends an unsigned numeric value to the given string.
+ *
+ * @param   formatter       A pointer to the `ZydisFormatter` instance.
+ * @param   base            The numeric base.
+ * @param   str             The destination string.
+ * @param   value           The value.
+ * @param   padding_length  The padding length.
+ */
+#define ZYDIS_STRING_APPEND_NUM_U(formatter, base, str, value, padding_length) \
+    switch (base) \
+    { \
+    case ZYDIS_NUMERIC_BASE_DEC: \
+        ZYAN_CHECK(ZydisStringAppendDecU(str, value, padding_length, \
+            (formatter)->number_format[base][0].string, \
+            (formatter)->number_format[base][1].string)); \
+        break; \
+    case ZYDIS_NUMERIC_BASE_HEX: \
+        ZYAN_CHECK(ZydisStringAppendHexU(str, value, padding_length, \
+            (formatter)->hex_uppercase, \
+            (formatter)->number_format[base][0].string, \
+            (formatter)->number_format[base][1].string)); \
+        break; \
+    default: \
+        return ZYAN_STATUS_INVALID_ARGUMENT; \
+    }
+
+/**
+ * Appends a signed numeric value to the given string.
+ *
+ * @param   formatter       A pointer to the `ZydisFormatter` instance.
+ * @param   base            The numeric base.
+ * @param   str             The destination string.
+ * @param   value           The value.
+ * @param   padding_length  The padding length.
+ * @param   force_sign      Forces printing of the '+' sign for positive numbers.
+ */
+#define ZYDIS_STRING_APPEND_NUM_S(formatter, base, str, value, padding_length, force_sign) \
+    switch (base) \
+    { \
+    case ZYDIS_NUMERIC_BASE_DEC: \
+        ZYAN_CHECK(ZydisStringAppendDecS(str, value, padding_length, force_sign, \
+            (formatter)->number_format[base][0].string, \
+            (formatter)->number_format[base][1].string)); \
+        break; \
+    case ZYDIS_NUMERIC_BASE_HEX: \
+        ZYAN_CHECK(ZydisStringAppendHexS(str, value, padding_length,  \
+            (formatter)->hex_uppercase, force_sign, \
+            (formatter)->number_format[base][0].string, \
+            (formatter)->number_format[base][1].string)); \
+        break; \
+    default: \
+        return ZYAN_STATUS_INVALID_ARGUMENT; \
+    }
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Buffer                                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Invokes the `ZydisFormatterBufferAppend` routine, if tokenization is enabled for the
+ * current pass.
+ *
+ * @param   buffer  A pointer to the `ZydisFormatterBuffer` struct.
+ * @param   type    The token type.
+ *
+ * Using this macro instead of direct calls to `ZydisFormatterBufferAppend` greatly improves the
+ * performance for non-tokenizing passes.
+ */
+#define ZYDIS_BUFFER_APPEND_TOKEN(buffer, type) \
+    if ((buffer)->is_token_list) \
+    { \
+        ZYAN_CHECK(ZydisFormatterBufferAppend(buffer, type)); \
+    }
+
+/**
+ * Returns a snapshot of the buffer-state.
+ *
+ * @param   buffer  A pointer to the `ZydisFormatterBuffer` struct.
+ * @param   state   Receives a snapshot of the buffer-state.
+ *
+ * Using this macro instead of direct calls to `ZydisFormatterBufferRemember` improves the
+ * performance for non-tokenizing passes.
+ */
+#define ZYDIS_BUFFER_REMEMBER(buffer, state) \
+    if ((buffer)->is_token_list) \
+    { \
+        (state) = (ZyanUPointer)(buffer)->string.vector.data; \
+    } else \
+    { \
+        (state) = (ZyanUPointer)(buffer)->string.vector.size; \
+    }
+
+/**
+ * Appends a string (`STR_`-prefix) or a predefined token-list (`TOK_`-prefix).
+ *
+ * @param   buffer  A pointer to the `ZydisFormatterBuffer` struct.
+ * @param   name    The base name (without prefix) of the string- or token.
+ */
+#define ZYDIS_BUFFER_APPEND(buffer, name) \
+    if ((buffer)->is_token_list) \
+    { \
+        ZYAN_CHECK(ZydisFormatterBufferAppendPredefined(buffer, TOK_ ## name)); \
+    } else \
+    { \
+        ZYAN_CHECK(ZydisStringAppendShort(&buffer->string, &STR_ ## name)); \
+    }
+
+// TODO: Implement `letter_case` for predefined tokens
+
+/**
+ * Appends a string (`STR_`-prefix) or a predefined token-list (`TOK_`-prefix).
+ *
+ * @param   buffer      A pointer to the `ZydisFormatterBuffer` struct.
+ * @param   name        The base name (without prefix) of the string- or token.
+ * @param   letter-case The desired letter-case.
+ */
+#define ZYDIS_BUFFER_APPEND_CASE(buffer, name, letter_case) \
+    if ((buffer)->is_token_list) \
+    { \
+        ZYAN_CHECK(ZydisFormatterBufferAppendPredefined(buffer, TOK_ ## name)); \
+    } else \
+    { \
+        ZYAN_CHECK(ZydisStringAppendShortCase(&buffer->string, &STR_ ## name, letter_case)); \
+    }
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Helper functions                                                                               */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Buffer                                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+// MSVC does not like the C99 flexible-array extension
+#ifdef ZYAN_MSVC
+#   pragma warning(push)
+#   pragma warning(disable:4200)
+#endif
+
+#pragma pack(push, 1)
+
+typedef struct ZydisPredefinedToken_
+{
+    ZyanU8 size;
+    ZyanU8 next;
+    ZyanU8 data[];
+} ZydisPredefinedToken;
+
+#pragma pack(pop)
+
+#ifdef ZYAN_MSVC
+#   pragma warning(pop)
+#endif
+
+/**
+ * Appends a predefined token-list to the `buffer`.
+ *
+ * @param   buffer  A pointer to the `ZydisFormatterBuffer` struct.
+ * @param   data    A pointer to the `ZydisPredefinedToken` struct.
+ *
+ * @return  A zycore status code.
+ *
+ * This function is internally used to improve performance while adding static strings or multiple
+ * tokens at once.
+ */
+ZYAN_INLINE ZyanStatus ZydisFormatterBufferAppendPredefined(ZydisFormatterBuffer* buffer,
+    const ZydisPredefinedToken* data)
+{
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(data);
+
+    const ZyanUSize len = buffer->string.vector.size;
+    ZYAN_ASSERT((len > 0) && (len < 256));
+    if (buffer->capacity <= len + data->size)
+    {
+        return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE;
+    }
+
+    ZydisFormatterToken* const last = (ZydisFormatterToken*)buffer->string.vector.data - 1;
+    last->next = (ZyanU8)len;
+
+    ZYAN_MEMCPY((ZyanU8*)buffer->string.vector.data + len, &data->data[0], data->size);
+
+    const ZyanUSize delta = len + data->next;
+    buffer->capacity -= delta;
+    buffer->string.vector.data = (ZyanU8*)buffer->string.vector.data + delta;
+    buffer->string.vector.size = data->size - data->next;
+    buffer->string.vector.capacity = ZYAN_MIN(buffer->capacity, 255);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* General                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the size to be used as explicit size suffix (`AT&T`) or explicit typecast
+ * (`INTEL`), if required.
+ *
+ * @param   formatter   A pointer to the `ZydisFormatter` instance.
+ * @param   context     A pointer to the `ZydisFormatterContext` struct.
+ * @param   memop_id    The operand-id of the instructions first memory operand.
+ *
+ * @return  Returns the explicit size, if required, or `0`, if not needed.
+ *
+ * This function always returns a size different to `0`, if the `ZYDIS_FORMATTER_PROP_FORCE_SIZE`
+ * is set to `ZYAN_TRUE`.
+ */
+ZyanU32 ZydisFormatterHelperGetExplicitSize(const ZydisFormatter* formatter,
+    ZydisFormatterContext* context, ZyanU8 memop_id);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Formatter functions                                                                            */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Operands                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterBaseFormatOperandREG(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+ZyanStatus ZydisFormatterBaseFormatOperandPTR(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+ZyanStatus ZydisFormatterBaseFormatOperandIMM(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Elemental tokens                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterBasePrintAddressABS(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+ZyanStatus ZydisFormatterBasePrintAddressREL(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+ZyanStatus ZydisFormatterBasePrintIMM(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Optional tokens                                                                                */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterBasePrintSegment(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+ZyanStatus ZydisFormatterBasePrintPrefixes(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+ZyanStatus ZydisFormatterBasePrintDecorator(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisDecorator decorator);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ZYDIS_FORMATTER_BASE_H
diff --git a/external/zydis/include/Zydis/Internal/FormatterIntel.h b/external/zydis/include/Zydis/Internal/FormatterIntel.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Internal/FormatterIntel.h
@@ -0,0 +1,267 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd, Joel Hoener
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Implements the `INTEL` style instruction-formatter.
+ */
+
+#ifndef ZYDIS_FORMATTER_INTEL_H
+#define ZYDIS_FORMATTER_INTEL_H
+
+#include <Zydis/Formatter.h>
+#include <Zydis/Internal/FormatterBase.h>
+#include <Zydis/Internal/String.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Formatter functions                                                                            */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Intel                                                                                          */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterIntelFormatInstruction(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+ZyanStatus ZydisFormatterIntelFormatOperandMEM(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+ZyanStatus ZydisFormatterIntelPrintMnemonic(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+ZyanStatus ZydisFormatterIntelPrintRegister(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisRegister reg);
+
+ZyanStatus ZydisFormatterIntelPrintDISP(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+ZyanStatus ZydisFormatterIntelPrintTypecast(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* MASM                                                                                           */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterIntelFormatInstructionMASM(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+ZyanStatus ZydisFormatterIntelPrintAddressMASM(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Fomatter presets                                                                               */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* INTEL                                                                                          */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * The default formatter configuration for `INTEL` style disassembly.
+ */
+static const ZydisFormatter FORMATTER_INTEL =
+{
+    /* style                   */ ZYDIS_FORMATTER_STYLE_INTEL,
+    /* force_memory_size       */ ZYAN_FALSE,
+    /* force_memory_seg        */ ZYAN_FALSE,
+    /* force_relative_branches */ ZYAN_FALSE,
+    /* force_relative_riprel   */ ZYAN_FALSE,
+    /* print_branch_size       */ ZYAN_FALSE,
+    /* detailed_prefixes       */ ZYAN_FALSE,
+    /* addr_base               */ ZYDIS_NUMERIC_BASE_HEX,
+    /* addr_signedness         */ ZYDIS_SIGNEDNESS_SIGNED,
+    /* addr_padding_absolute   */ ZYDIS_PADDING_AUTO,
+    /* addr_padding_relative   */ 2,
+    /* disp_base               */ ZYDIS_NUMERIC_BASE_HEX,
+    /* disp_signedness         */ ZYDIS_SIGNEDNESS_SIGNED,
+    /* disp_padding            */ 2,
+    /* imm_base                */ ZYDIS_NUMERIC_BASE_HEX,
+    /* imm_signedness          */ ZYDIS_SIGNEDNESS_UNSIGNED,
+    /* imm_padding             */ 2,
+    /* case_prefixes           */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* case_mnemonic           */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* case_registers          */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* case_typecasts          */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* case_decorators         */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* hex_uppercase           */ ZYAN_TRUE,
+    /* number_format           */
+    {
+        // ZYDIS_NUMERIC_BASE_DEC
+        {
+            // Prefix
+            {
+                /* string      */ ZYAN_NULL,
+                /* string_data */ ZYAN_DEFINE_STRING_VIEW(""),
+                /* buffer      */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+            },
+            // Suffix
+            {
+                /* string      */ ZYAN_NULL,
+                /* string_data */ ZYAN_DEFINE_STRING_VIEW(""),
+                /* buffer      */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+            }
+        },
+        // ZYDIS_NUMERIC_BASE_HEX
+        {
+            // Prefix
+            {
+                /* string      */ &FORMATTER_INTEL.number_format[
+                                      ZYDIS_NUMERIC_BASE_HEX][0].string_data,
+                /* string_data */ ZYAN_DEFINE_STRING_VIEW("0x"),
+                /* buffer      */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+            },
+            // Suffix
+            {
+                /* string      */ ZYAN_NULL,
+                /* string_data */ ZYAN_DEFINE_STRING_VIEW(""),
+                /* buffer      */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+            }
+        }
+    },
+    /* func_pre_instruction    */ ZYAN_NULL,
+    /* func_post_instruction   */ ZYAN_NULL,
+    /* func_format_instruction */ &ZydisFormatterIntelFormatInstruction,
+    /* func_pre_operand        */ ZYAN_NULL,
+    /* func_post_operand       */ ZYAN_NULL,
+    /* func_format_operand_reg */ &ZydisFormatterBaseFormatOperandREG,
+    /* func_format_operand_mem */ &ZydisFormatterIntelFormatOperandMEM,
+    /* func_format_operand_ptr */ &ZydisFormatterBaseFormatOperandPTR,
+    /* func_format_operand_imm */ &ZydisFormatterBaseFormatOperandIMM,
+    /* func_print_mnemonic     */ &ZydisFormatterIntelPrintMnemonic,
+    /* func_print_register     */ &ZydisFormatterIntelPrintRegister,
+    /* func_print_address_abs  */ &ZydisFormatterBasePrintAddressABS,
+    /* func_print_address_rel  */ &ZydisFormatterBasePrintAddressREL,
+    /* func_print_disp         */ &ZydisFormatterIntelPrintDISP,
+    /* func_print_imm          */ &ZydisFormatterBasePrintIMM,
+    /* func_print_typecast     */ &ZydisFormatterIntelPrintTypecast,
+    /* func_print_segment      */ &ZydisFormatterBasePrintSegment,
+    /* func_print_prefixes     */ &ZydisFormatterBasePrintPrefixes,
+    /* func_print_decorator    */ &ZydisFormatterBasePrintDecorator
+};
+
+/* ---------------------------------------------------------------------------------------------- */
+/* MASM                                                                                           */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * The default formatter configuration for `MASM` style disassembly.
+ */
+static const ZydisFormatter FORMATTER_INTEL_MASM =
+{
+    /* style                   */ ZYDIS_FORMATTER_STYLE_INTEL_MASM,
+    /* force_memory_size       */ ZYAN_TRUE,
+    /* force_memory_seg        */ ZYAN_FALSE,
+    /* force_relative_branches */ ZYAN_FALSE,
+    /* force_relative_riprel   */ ZYAN_FALSE,
+    /* print_branch_size       */ ZYAN_FALSE,
+    /* detailed_prefixes       */ ZYAN_FALSE,
+    /* addr_base               */ ZYDIS_NUMERIC_BASE_HEX,
+    /* addr_signedness         */ ZYDIS_SIGNEDNESS_SIGNED,
+    /* addr_padding_absolute   */ ZYDIS_PADDING_DISABLED,
+    /* addr_padding_relative   */ ZYDIS_PADDING_DISABLED,
+    /* disp_base               */ ZYDIS_NUMERIC_BASE_HEX,
+    /* disp_signedness         */ ZYDIS_SIGNEDNESS_SIGNED,
+    /* disp_padding            */ ZYDIS_PADDING_DISABLED,
+    /* imm_base                */ ZYDIS_NUMERIC_BASE_HEX,
+    /* imm_signedness          */ ZYDIS_SIGNEDNESS_AUTO,
+    /* imm_padding             */ ZYDIS_PADDING_DISABLED,
+    /* case_prefixes           */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* case_mnemonic           */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* case_registers          */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* case_typecasts          */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* case_decorators         */ ZYDIS_LETTER_CASE_DEFAULT,
+    /* hex_uppercase           */ ZYAN_TRUE,
+    /* number_format           */
+    {
+        // ZYDIS_NUMERIC_BASE_DEC
+        {
+            // Prefix
+            {
+                /* string      */ ZYAN_NULL,
+                /* string_data */ ZYAN_DEFINE_STRING_VIEW(""),
+                /* buffer      */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+            },
+            // Suffix
+            {
+                /* string      */ ZYAN_NULL,
+                /* string_data */ ZYAN_DEFINE_STRING_VIEW(""),
+                /* buffer      */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+            }
+        },
+        // ZYDIS_NUMERIC_BASE_HEX
+        {
+            // Prefix
+            {
+                /* string      */ ZYAN_NULL,
+                /* string_data */ ZYAN_DEFINE_STRING_VIEW(""),
+                /* buffer      */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+            },
+            // Suffix
+            {
+                /* string      */ &FORMATTER_INTEL_MASM.number_format[
+                                      ZYDIS_NUMERIC_BASE_HEX][1].string_data,
+                /* string_data */ ZYAN_DEFINE_STRING_VIEW("h"),
+                /* buffer      */ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
+            }
+        }
+    },
+    /* func_pre_instruction    */ ZYAN_NULL,
+    /* func_post_instruction   */ ZYAN_NULL,
+    /* func_format_instruction */ &ZydisFormatterIntelFormatInstructionMASM,
+    /* func_pre_operand        */ ZYAN_NULL,
+    /* func_post_operand       */ ZYAN_NULL,
+    /* func_format_operand_reg */ &ZydisFormatterBaseFormatOperandREG,
+    /* func_format_operand_mem */ &ZydisFormatterIntelFormatOperandMEM,
+    /* func_format_operand_ptr */ &ZydisFormatterBaseFormatOperandPTR,
+    /* func_format_operand_imm */ &ZydisFormatterBaseFormatOperandIMM,
+    /* func_print_mnemonic     */ &ZydisFormatterIntelPrintMnemonic,
+    /* func_print_register     */ &ZydisFormatterIntelPrintRegister,
+    /* func_print_address_abs  */ &ZydisFormatterIntelPrintAddressMASM,
+    /* func_print_address_rel  */ &ZydisFormatterIntelPrintAddressMASM,
+    /* func_print_disp         */ &ZydisFormatterIntelPrintDISP,
+    /* func_print_imm          */ &ZydisFormatterBasePrintIMM,
+    /* func_print_typecast     */ &ZydisFormatterIntelPrintTypecast,
+    /* func_print_segment      */ &ZydisFormatterBasePrintSegment,
+    /* func_print_prefixes     */ &ZydisFormatterBasePrintPrefixes,
+    /* func_print_decorator    */ &ZydisFormatterBasePrintDecorator
+};
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ZYDIS_FORMATTER_INTEL_H
diff --git a/external/zydis/include/Zydis/Internal/SharedData.h b/external/zydis/include/Zydis/Internal/SharedData.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Internal/SharedData.h
@@ -0,0 +1,969 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#ifndef ZYDIS_INTERNAL_SHAREDDATA_H
+#define ZYDIS_INTERNAL_SHAREDDATA_H
+
+#include <Zycore/Defines.h>
+#include <Zydis/Mnemonic.h>
+#include <Zydis/Register.h>
+#include <Zydis/SharedTypes.h>
+#include <Zydis/DecoderTypes.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+// MSVC does not like types other than (un-)signed int for bit-fields
+#ifdef ZYAN_MSVC
+#   pragma warning(push)
+#   pragma warning(disable:4214)
+#endif
+
+#pragma pack(push, 1)
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Operand definition                                                                             */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisSemanticOperandType` enum.
+ */
+typedef enum ZydisSemanticOperandType_
+{
+    ZYDIS_SEMANTIC_OPTYPE_UNUSED,
+    ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG,
+    ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM,
+    ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1,
+    ZYDIS_SEMANTIC_OPTYPE_GPR8,
+    ZYDIS_SEMANTIC_OPTYPE_GPR16,
+    ZYDIS_SEMANTIC_OPTYPE_GPR32,
+    ZYDIS_SEMANTIC_OPTYPE_GPR64,
+    ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64,
+    ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64,
+    ZYDIS_SEMANTIC_OPTYPE_GPR16_32_32,
+    ZYDIS_SEMANTIC_OPTYPE_GPR_ASZ,
+    ZYDIS_SEMANTIC_OPTYPE_FPR,
+    ZYDIS_SEMANTIC_OPTYPE_MMX,
+    ZYDIS_SEMANTIC_OPTYPE_XMM,
+    ZYDIS_SEMANTIC_OPTYPE_YMM,
+    ZYDIS_SEMANTIC_OPTYPE_ZMM,
+    ZYDIS_SEMANTIC_OPTYPE_BND,
+    ZYDIS_SEMANTIC_OPTYPE_SREG,
+    ZYDIS_SEMANTIC_OPTYPE_CR,
+    ZYDIS_SEMANTIC_OPTYPE_DR,
+    ZYDIS_SEMANTIC_OPTYPE_MASK,
+    ZYDIS_SEMANTIC_OPTYPE_MEM,
+    ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX,
+    ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY,
+    ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ,
+    ZYDIS_SEMANTIC_OPTYPE_IMM,
+    ZYDIS_SEMANTIC_OPTYPE_REL,
+    ZYDIS_SEMANTIC_OPTYPE_PTR,
+    ZYDIS_SEMANTIC_OPTYPE_AGEN,
+    ZYDIS_SEMANTIC_OPTYPE_MOFFS,
+    ZYDIS_SEMANTIC_OPTYPE_MIB,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_SEMANTIC_OPTYPE_MAX_VALUE = ZYDIS_SEMANTIC_OPTYPE_MIB,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_SEMANTIC_OPTYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_SEMANTIC_OPTYPE_MAX_VALUE)
+} ZydisSemanticOperandType;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisInternalElementType` enum.
+ */
+typedef enum ZydisInternalElementType_
+{
+    ZYDIS_IELEMENT_TYPE_INVALID,
+    ZYDIS_IELEMENT_TYPE_VARIABLE,
+    ZYDIS_IELEMENT_TYPE_STRUCT,
+    ZYDIS_IELEMENT_TYPE_INT,
+    ZYDIS_IELEMENT_TYPE_UINT,
+    ZYDIS_IELEMENT_TYPE_INT1,
+    ZYDIS_IELEMENT_TYPE_INT8,
+    ZYDIS_IELEMENT_TYPE_INT16,
+    ZYDIS_IELEMENT_TYPE_INT32,
+    ZYDIS_IELEMENT_TYPE_INT64,
+    ZYDIS_IELEMENT_TYPE_UINT8,
+    ZYDIS_IELEMENT_TYPE_UINT16,
+    ZYDIS_IELEMENT_TYPE_UINT32,
+    ZYDIS_IELEMENT_TYPE_UINT64,
+    ZYDIS_IELEMENT_TYPE_UINT128,
+    ZYDIS_IELEMENT_TYPE_UINT256,
+    ZYDIS_IELEMENT_TYPE_FLOAT16,
+    ZYDIS_IELEMENT_TYPE_FLOAT32,
+    ZYDIS_IELEMENT_TYPE_FLOAT64,
+    ZYDIS_IELEMENT_TYPE_FLOAT80,
+    ZYDIS_IELEMENT_TYPE_BCD80,
+    ZYDIS_IELEMENT_TYPE_CC3,
+    ZYDIS_IELEMENT_TYPE_CC5,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_IELEMENT_TYPE_MAX_VALUE = ZYDIS_IELEMENT_TYPE_CC5,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_IELEMENT_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_IELEMENT_TYPE_MAX_VALUE)
+} ZydisInternalElementType;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisImplicitRegisterType` enum.
+ */
+typedef enum ZydisImplicitRegisterType_
+{
+    ZYDIS_IMPLREG_TYPE_STATIC,
+    ZYDIS_IMPLREG_TYPE_GPR_OSZ,
+    ZYDIS_IMPLREG_TYPE_GPR_ASZ,
+    ZYDIS_IMPLREG_TYPE_GPR_SSZ,
+    ZYDIS_IMPLREG_TYPE_IP_ASZ,
+    ZYDIS_IMPLREG_TYPE_IP_SSZ,
+    ZYDIS_IMPLREG_TYPE_FLAGS_SSZ,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_IMPLREG_TYPE_MAX_VALUE = ZYDIS_IMPLREG_TYPE_FLAGS_SSZ,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_IMPLREG_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_IMPLREG_TYPE_MAX_VALUE)
+} ZydisImplicitRegisterType;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisImplicitMemBase` enum.
+ */
+typedef enum ZydisImplicitMemBase_
+{
+    ZYDIS_IMPLMEM_BASE_AGPR_REG,
+    ZYDIS_IMPLMEM_BASE_AGPR_RM,
+    ZYDIS_IMPLMEM_BASE_AAX,
+    ZYDIS_IMPLMEM_BASE_ADX,
+    ZYDIS_IMPLMEM_BASE_ABX,
+    ZYDIS_IMPLMEM_BASE_ASP,
+    ZYDIS_IMPLMEM_BASE_ABP,
+    ZYDIS_IMPLMEM_BASE_ASI,
+    ZYDIS_IMPLMEM_BASE_ADI,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_IMPLMEM_BASE_MAX_VALUE = ZYDIS_IMPLMEM_BASE_ADI,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_IMPLMEM_BASE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_IMPLMEM_BASE_MAX_VALUE)
+} ZydisImplicitMemBase;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct
+// enum types
+ZYAN_STATIC_ASSERT(ZYDIS_SEMANTIC_OPTYPE_REQUIRED_BITS     <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_OPERAND_VISIBILITY_REQUIRED_BITS  <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_OPERAND_ACTION_REQUIRED_BITS      <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_IELEMENT_TYPE_REQUIRED_BITS       <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_OPERAND_ENCODING_REQUIRED_BITS    <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_IMPLREG_TYPE_REQUIRED_BITS        <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_REGISTER_REQUIRED_BITS            <= 16);
+ZYAN_STATIC_ASSERT(ZYDIS_IMPLMEM_BASE_REQUIRED_BITS        <=  8);
+
+/**
+ * Defines the `ZydisOperandDefinition` struct.
+ */
+typedef struct ZydisOperandDefinition_
+{
+    ZyanU8 type                            ZYAN_BITFIELD(ZYDIS_SEMANTIC_OPTYPE_REQUIRED_BITS);
+    ZyanU8 visibility                      ZYAN_BITFIELD(ZYDIS_OPERAND_VISIBILITY_REQUIRED_BITS);
+    ZyanU8 actions                         ZYAN_BITFIELD(ZYDIS_OPERAND_ACTION_REQUIRED_BITS);
+    ZyanU16 size[3];
+    ZyanU8 element_type                    ZYAN_BITFIELD(ZYDIS_IELEMENT_TYPE_REQUIRED_BITS);
+    union
+    {
+        ZyanU8 encoding                    ZYAN_BITFIELD(ZYDIS_OPERAND_ENCODING_REQUIRED_BITS);
+        struct
+        {
+            ZyanU8 type                    ZYAN_BITFIELD(ZYDIS_IMPLREG_TYPE_REQUIRED_BITS);
+            union
+            {
+                ZyanU16 reg                ZYAN_BITFIELD(ZYDIS_REGISTER_REQUIRED_BITS);
+                ZyanU8 id                  ZYAN_BITFIELD(6);
+            } reg;
+        } reg;
+        struct
+        {
+            ZyanU8 seg                     ZYAN_BITFIELD(3);
+            ZyanU8 base                    ZYAN_BITFIELD(ZYDIS_IMPLMEM_BASE_REQUIRED_BITS);
+        } mem;
+    } op;
+} ZydisOperandDefinition;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Instruction definition                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisReadWriteAction` enum.
+ */
+typedef enum ZydisReadWriteAction_
+{
+    ZYDIS_RW_ACTION_NONE,
+    ZYDIS_RW_ACTION_READ,
+    ZYDIS_RW_ACTION_WRITE,
+    ZYDIS_RW_ACTION_READWRITE,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_RW_ACTION_MAX_VALUE = ZYDIS_RW_ACTION_READWRITE,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_RW_ACTION_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_RW_ACTION_MAX_VALUE)
+} ZydisReadWriteAction;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisRegisterConstraint` enum.
+ */
+typedef enum ZydisRegisterConstraint_
+{
+    ZYDIS_REG_CONSTRAINTS_UNUSED,
+    ZYDIS_REG_CONSTRAINTS_NONE,
+    ZYDIS_REG_CONSTRAINTS_GPR,
+    ZYDIS_REG_CONSTRAINTS_SR_DEST,
+    ZYDIS_REG_CONSTRAINTS_SR,
+    ZYDIS_REG_CONSTRAINTS_CR,
+    ZYDIS_REG_CONSTRAINTS_DR,
+    ZYDIS_REG_CONSTRAINTS_MASK,
+    ZYDIS_REG_CONSTRAINTS_BND,
+    ZYDIS_REG_CONSTRAINTS_VSIB,
+    ZYDIS_REG_CONSTRAINTS_NO_REL,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_REG_CONSTRAINTS_MAX_VALUE = ZYDIS_REG_CONSTRAINTS_NO_REL,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_REG_CONSTRAINTS_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_REG_CONSTRAINTS_MAX_VALUE)
+} ZydisRegisterConstraint;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisInternalVectorLength` enum.
+ */
+typedef enum ZydisInternalVectorLength_
+{
+    ZYDIS_IVECTOR_LENGTH_DEFAULT,
+    ZYDIS_IVECTOR_LENGTH_FIXED_128,
+    ZYDIS_IVECTOR_LENGTH_FIXED_256,
+    ZYDIS_IVECTOR_LENGTH_FIXED_512,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_IVECTOR_LENGTH_MAX_VALUE = ZYDIS_IVECTOR_LENGTH_FIXED_512,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_IVECTOR_LENGTH_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_IVECTOR_LENGTH_MAX_VALUE)
+} ZydisInternalVectorLength;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisInternalElementSize` enum.
+ */
+typedef enum ZydisInternalElementSize_
+{
+    ZYDIS_IELEMENT_SIZE_INVALID,
+    ZYDIS_IELEMENT_SIZE_8,
+    ZYDIS_IELEMENT_SIZE_16,
+    ZYDIS_IELEMENT_SIZE_32,
+    ZYDIS_IELEMENT_SIZE_64,
+    ZYDIS_IELEMENT_SIZE_128,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_IELEMENT_SIZE_MAX_VALUE = ZYDIS_IELEMENT_SIZE_128,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_IELEMENT_SIZE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_IELEMENT_SIZE_MAX_VALUE)
+} ZydisInternalElementSize;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisEVEXFunctionality` enum.
+ */
+typedef enum ZydisEVEXFunctionality_
+{
+    ZYDIS_EVEX_FUNC_INVALID,
+    /**
+     * `EVEX.b` enables broadcast functionality.
+     */
+    ZYDIS_EVEX_FUNC_BC,
+    /**
+     * `EVEX.b` enables embedded-rounding functionality.
+     */
+    ZYDIS_EVEX_FUNC_RC,
+    /**
+     * `EVEX.b` enables sae functionality.
+     */
+    ZYDIS_EVEX_FUNC_SAE,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_EVEX_FUNC_MAX_VALUE = ZYDIS_EVEX_FUNC_SAE,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_EVEX_FUNC_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_EVEX_FUNC_MAX_VALUE)
+} ZydisEVEXFunctionality;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisEVEXTupleType` enum.
+ */
+typedef enum ZydisEVEXTupleType_
+{
+    ZYDIS_TUPLETYPE_INVALID,
+    /**
+     * Full Vector
+     */
+    ZYDIS_TUPLETYPE_FV,
+    /**
+     * Half Vector
+     */
+    ZYDIS_TUPLETYPE_HV,
+    /**
+     * Full Vector Mem
+     */
+    ZYDIS_TUPLETYPE_FVM,
+    /**
+     * Tuple1 Scalar
+     */
+    ZYDIS_TUPLETYPE_T1S,
+    /**
+     * Tuple1 Fixed
+     */
+    ZYDIS_TUPLETYPE_T1F,
+    /**
+     * Tuple1 4x32
+     */
+    ZYDIS_TUPLETYPE_T1_4X,
+    /**
+     * Gather / Scatter
+     */
+    ZYDIS_TUPLETYPE_GSCAT,
+    /**
+     * Tuple2
+     */
+    ZYDIS_TUPLETYPE_T2,
+    /**
+     * Tuple4
+     */
+    ZYDIS_TUPLETYPE_T4,
+    /**
+     * Tuple8
+     */
+    ZYDIS_TUPLETYPE_T8,
+    /**
+     * Half Mem
+     */
+    ZYDIS_TUPLETYPE_HVM,
+    /**
+     * QuarterMem
+     */
+    ZYDIS_TUPLETYPE_QVM,
+    /**
+     * OctMem
+     */
+    ZYDIS_TUPLETYPE_OVM,
+    /**
+     * Mem128
+     */
+    ZYDIS_TUPLETYPE_M128,
+    /**
+     * MOVDDUP
+     */
+    ZYDIS_TUPLETYPE_DUP,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_TUPLETYPE_MAX_VALUE = ZYDIS_TUPLETYPE_DUP,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_TUPLETYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_TUPLETYPE_MAX_VALUE)
+} ZydisEVEXTupleType;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisMVEXFunctionality` enum.
+ */
+typedef enum ZydisMVEXFunctionality_
+{
+    /**
+     * The `MVEX.SSS` value is ignored.
+     */
+    ZYDIS_MVEX_FUNC_IGNORED,
+    /**
+     * `MVEX.SSS` must be `000b`.
+     */
+    ZYDIS_MVEX_FUNC_INVALID,
+    /**
+     * `MVEX.SSS` controls embedded-rounding functionality.
+     */
+    ZYDIS_MVEX_FUNC_RC,
+    /**
+     * `MVEX.SSS` controls sae functionality.
+     */
+    ZYDIS_MVEX_FUNC_SAE,
+    /**
+     * No special operation (32bit float elements).
+     */
+    ZYDIS_MVEX_FUNC_F_32,
+    /**
+     * No special operation (32bit uint elements).
+     */
+    ZYDIS_MVEX_FUNC_I_32,
+    /**
+     * No special operation (64bit float elements).
+     */
+    ZYDIS_MVEX_FUNC_F_64,
+    /**
+     * No special operation (64bit uint elements).
+     */
+    ZYDIS_MVEX_FUNC_I_64,
+    /**
+     * Sf32(reg) or Si32(reg).
+     */
+    ZYDIS_MVEX_FUNC_SWIZZLE_32,
+    /**
+     * Sf64(reg) or Si64(reg).
+     */
+    ZYDIS_MVEX_FUNC_SWIZZLE_64,
+    /**
+     * Sf32(mem).
+     */
+    ZYDIS_MVEX_FUNC_SF_32,
+    /**
+     * Sf32(mem) broadcast only.
+     */
+    ZYDIS_MVEX_FUNC_SF_32_BCST,
+    /**
+     * Sf32(mem) broadcast 4to16 only.
+     */
+    ZYDIS_MVEX_FUNC_SF_32_BCST_4TO16,
+    /**
+     * Sf64(mem).
+     */
+    ZYDIS_MVEX_FUNC_SF_64,
+    /**
+     * Si32(mem).
+     */
+    ZYDIS_MVEX_FUNC_SI_32,
+    /**
+     * Si32(mem) broadcast only.
+     */
+    ZYDIS_MVEX_FUNC_SI_32_BCST,
+    /**
+     * Si32(mem) broadcast 4to16 only.
+     */
+    ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16,
+    /**
+     * Si64(mem).
+     */
+    ZYDIS_MVEX_FUNC_SI_64,
+    /**
+     * Uf32.
+     */
+    ZYDIS_MVEX_FUNC_UF_32,
+    /**
+     * Uf64.
+     */
+    ZYDIS_MVEX_FUNC_UF_64,
+    /**
+     * Ui32.
+     */
+    ZYDIS_MVEX_FUNC_UI_32,
+    /**
+     * Ui64.
+     */
+    ZYDIS_MVEX_FUNC_UI_64,
+    /**
+     * Df32.
+     */
+    ZYDIS_MVEX_FUNC_DF_32,
+    /**
+     * Df64.
+     */
+    ZYDIS_MVEX_FUNC_DF_64,
+    /**
+     * Di32.
+     */
+    ZYDIS_MVEX_FUNC_DI_32,
+    /**
+     * Di64.
+     */
+    ZYDIS_MVEX_FUNC_DI_64,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_MVEX_FUNC_MAX_VALUE = ZYDIS_MVEX_FUNC_DI_64,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_MVEX_FUNC_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MVEX_FUNC_MAX_VALUE)
+} ZydisMVEXFunctionality;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisVEXStaticBroadcast` enum.
+ */
+typedef enum ZydisVEXStaticBroadcast
+{
+    ZYDIS_VEX_STATIC_BROADCAST_NONE,
+    ZYDIS_VEX_STATIC_BROADCAST_1_TO_2,
+    ZYDIS_VEX_STATIC_BROADCAST_1_TO_4,
+    ZYDIS_VEX_STATIC_BROADCAST_1_TO_8,
+    ZYDIS_VEX_STATIC_BROADCAST_1_TO_16,
+    ZYDIS_VEX_STATIC_BROADCAST_1_TO_32,
+    ZYDIS_VEX_STATIC_BROADCAST_2_TO_4,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_VEX_STATIC_BROADCAST_MAX_VALUE = ZYDIS_VEX_STATIC_BROADCAST_2_TO_4,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_VEX_STATIC_BROADCAST_REQUIRED_BITS =
+        ZYAN_BITS_TO_REPRESENT(ZYDIS_VEX_STATIC_BROADCAST_MAX_VALUE)
+} ZydisVEXStaticBroadcast;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisEVEXStaticBroadcast` enum.
+ */
+typedef enum ZydisEVEXStaticBroadcast_
+{
+    ZYDIS_EVEX_STATIC_BROADCAST_NONE,
+    ZYDIS_EVEX_STATIC_BROADCAST_1_TO_2,
+    ZYDIS_EVEX_STATIC_BROADCAST_1_TO_4,
+    ZYDIS_EVEX_STATIC_BROADCAST_1_TO_8,
+    ZYDIS_EVEX_STATIC_BROADCAST_1_TO_16,
+    ZYDIS_EVEX_STATIC_BROADCAST_1_TO_32,
+    ZYDIS_EVEX_STATIC_BROADCAST_1_TO_64,
+    ZYDIS_EVEX_STATIC_BROADCAST_2_TO_4,
+    ZYDIS_EVEX_STATIC_BROADCAST_2_TO_8,
+    ZYDIS_EVEX_STATIC_BROADCAST_2_TO_16,
+    ZYDIS_EVEX_STATIC_BROADCAST_4_TO_8,
+    ZYDIS_EVEX_STATIC_BROADCAST_4_TO_16,
+    ZYDIS_EVEX_STATIC_BROADCAST_8_TO_16,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_EVEX_STATIC_BROADCAST_MAX_VALUE = ZYDIS_EVEX_STATIC_BROADCAST_8_TO_16,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_EVEX_STATIC_BROADCAST_REQUIRED_BITS =
+        ZYAN_BITS_TO_REPRESENT(ZYDIS_EVEX_STATIC_BROADCAST_MAX_VALUE)
+} ZydisEVEXStaticBroadcast;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisMVEXStaticBroadcast` enum.
+ */
+typedef enum ZydisMVEXStaticBroadcast_
+{
+    ZYDIS_MVEX_STATIC_BROADCAST_NONE,
+    ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8,
+    ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16,
+    ZYDIS_MVEX_STATIC_BROADCAST_4_TO_8,
+    ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_MVEX_STATIC_BROADCAST_MAX_VALUE = ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_MVEX_STATIC_BROADCAST_REQUIRED_BITS =
+        ZYAN_BITS_TO_REPRESENT(ZYDIS_MVEX_STATIC_BROADCAST_MAX_VALUE)
+} ZydisMVEXStaticBroadcast;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisMaskPolicy` enum.
+ */
+typedef enum ZydisMaskPolicy_
+{
+    ZYDIS_MASK_POLICY_INVALID,
+    /**
+     * The instruction accepts mask-registers other than the default-mask (K0), but
+     *          does not require them.
+     */
+    ZYDIS_MASK_POLICY_ALLOWED,
+    /**
+     * The instruction requires a mask-register other than the default-mask (K0).
+     */
+    ZYDIS_MASK_POLICY_REQUIRED,
+    /**
+     * The instruction does not allow a mask-register other than the default-mask (K0).
+     */
+    ZYDIS_MASK_POLICY_FORBIDDEN,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_MASK_POLICY_MAX_VALUE = ZYDIS_MASK_POLICY_FORBIDDEN,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_MASK_POLICY_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MASK_POLICY_MAX_VALUE)
+} ZydisMaskPolicy;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisMaskOverride` enum.
+ */
+typedef enum ZydisMaskOverride_
+{
+    ZYDIS_MASK_OVERRIDE_DEFAULT,
+    ZYDIS_MASK_OVERRIDE_ZEROING,
+    ZYDIS_MASK_OVERRIDE_CONTROL,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_MASK_OVERRIDE_MAX_VALUE = ZYDIS_MASK_OVERRIDE_CONTROL,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_MASK_OVERRIDE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MASK_OVERRIDE_MAX_VALUE)
+} ZydisMaskOverride;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct
+// enum types
+ZYAN_STATIC_ASSERT(ZYDIS_MNEMONIC_REQUIRED_BITS        <= 16);
+ZYAN_STATIC_ASSERT(ZYDIS_CATEGORY_REQUIRED_BITS        <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_ISA_SET_REQUIRED_BITS         <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_ISA_EXT_REQUIRED_BITS         <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_BRANCH_TYPE_REQUIRED_BITS     <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_EXCEPTION_CLASS_REQUIRED_BITS <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_REG_CONSTRAINTS_REQUIRED_BITS <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_RW_ACTION_REQUIRED_BITS       <=  8);
+
+#ifndef ZYDIS_MINIMAL_MODE
+#   define ZYDIS_INSTRUCTION_DEFINITION_BASE \
+        ZyanU16 mnemonic                       ZYAN_BITFIELD(ZYDIS_MNEMONIC_REQUIRED_BITS); \
+        ZyanU8 operand_count                   ZYAN_BITFIELD( 4); \
+        ZyanU16 operand_reference              ZYAN_BITFIELD(15); \
+        ZyanU8 operand_size_map                ZYAN_BITFIELD( 3); \
+        ZyanU8 address_size_map                ZYAN_BITFIELD( 2); \
+        ZyanU8 flags_reference                 ZYAN_BITFIELD( 7); \
+        ZyanBool requires_protected_mode       ZYAN_BITFIELD( 1); \
+        ZyanU8 category                        ZYAN_BITFIELD(ZYDIS_CATEGORY_REQUIRED_BITS); \
+        ZyanU8 isa_set                         ZYAN_BITFIELD(ZYDIS_ISA_SET_REQUIRED_BITS); \
+        ZyanU8 isa_ext                         ZYAN_BITFIELD(ZYDIS_ISA_EXT_REQUIRED_BITS); \
+        ZyanU8 branch_type                     ZYAN_BITFIELD(ZYDIS_BRANCH_TYPE_REQUIRED_BITS); \
+        ZyanU8 exception_class                 ZYAN_BITFIELD(ZYDIS_EXCEPTION_CLASS_REQUIRED_BITS); \
+        ZyanU8 constr_REG                      ZYAN_BITFIELD(ZYDIS_REG_CONSTRAINTS_REQUIRED_BITS); \
+        ZyanU8 constr_RM                       ZYAN_BITFIELD(ZYDIS_REG_CONSTRAINTS_REQUIRED_BITS); \
+        ZyanU8 cpu_state                       ZYAN_BITFIELD(ZYDIS_RW_ACTION_REQUIRED_BITS); \
+        ZyanU8 fpu_state                       ZYAN_BITFIELD(ZYDIS_RW_ACTION_REQUIRED_BITS); \
+        ZyanU8 xmm_state                       ZYAN_BITFIELD(ZYDIS_RW_ACTION_REQUIRED_BITS)
+#else
+#   define ZYDIS_INSTRUCTION_DEFINITION_BASE \
+        ZyanU16 mnemonic                       ZYAN_BITFIELD(ZYDIS_MNEMONIC_REQUIRED_BITS); \
+        ZyanU8 operand_size_map                ZYAN_BITFIELD( 3); \
+        ZyanU8 address_size_map                ZYAN_BITFIELD( 2); \
+        ZyanBool requires_protected_mode       ZYAN_BITFIELD( 1); \
+        ZyanU8 constr_REG                      ZYAN_BITFIELD(ZYDIS_REG_CONSTRAINTS_REQUIRED_BITS); \
+        ZyanU8 constr_RM                       ZYAN_BITFIELD(ZYDIS_REG_CONSTRAINTS_REQUIRED_BITS)
+#endif
+
+#define ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR \
+    ZYDIS_INSTRUCTION_DEFINITION_BASE; \
+    ZyanU8 constr_NDSNDD                   ZYAN_BITFIELD(ZYDIS_REG_CONSTRAINTS_REQUIRED_BITS)
+
+#define ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL \
+    ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR; \
+    ZyanBool is_gather                     ZYAN_BITFIELD( 1)
+
+/**
+ * Defines the `ZydisInstructionDefinition` struct.
+ */
+typedef struct ZydisInstructionDefinition_
+{
+    ZYDIS_INSTRUCTION_DEFINITION_BASE;
+} ZydisInstructionDefinition;
+
+/**
+ * Defines the `ZydisInstructionDefinitionLEGACY` struct.
+ */
+typedef struct ZydisInstructionDefinitionLEGACY_
+{
+    ZYDIS_INSTRUCTION_DEFINITION_BASE;
+#ifndef ZYDIS_MINIMAL_MODE
+    ZyanBool is_privileged                 ZYAN_BITFIELD( 1);
+#endif
+    ZyanBool accepts_LOCK                  ZYAN_BITFIELD( 1);
+#ifndef ZYDIS_MINIMAL_MODE
+    ZyanBool accepts_REP                   ZYAN_BITFIELD( 1);
+    ZyanBool accepts_REPEREPZ              ZYAN_BITFIELD( 1);
+    ZyanBool accepts_REPNEREPNZ            ZYAN_BITFIELD( 1);
+    ZyanBool accepts_BOUND                 ZYAN_BITFIELD( 1);
+    ZyanBool accepts_XACQUIRE              ZYAN_BITFIELD( 1);
+    ZyanBool accepts_XRELEASE              ZYAN_BITFIELD( 1);
+    ZyanBool accepts_hle_without_lock      ZYAN_BITFIELD( 1);
+    ZyanBool accepts_branch_hints          ZYAN_BITFIELD( 1);
+    ZyanBool accepts_segment               ZYAN_BITFIELD( 1);
+#endif
+} ZydisInstructionDefinitionLEGACY;
+
+/**
+ * Defines the `ZydisInstructionDefinition3DNOW` struct.
+ */
+typedef struct ZydisInstructionDefinition3DNOW_
+{
+    ZYDIS_INSTRUCTION_DEFINITION_BASE;
+} ZydisInstructionDefinition3DNOW;
+
+/**
+ * Defines the `ZydisInstructionDefinitionXOP` struct.
+ */
+typedef struct ZydisInstructionDefinitionXOP_
+{
+    ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR;
+} ZydisInstructionDefinitionXOP;
+
+// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct
+// enum types
+ZYAN_STATIC_ASSERT(ZYDIS_VEX_STATIC_BROADCAST_REQUIRED_BITS  <=  8);
+
+/**
+ * Defines the `ZydisInstructionDefinitionVEX` struct.
+ */
+typedef struct ZydisInstructionDefinitionVEX_
+{
+    ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL;
+#ifndef ZYDIS_MINIMAL_MODE
+    ZyanU8 broadcast                       ZYAN_BITFIELD(ZYDIS_VEX_STATIC_BROADCAST_REQUIRED_BITS);
+#endif
+} ZydisInstructionDefinitionVEX;
+
+#ifndef ZYDIS_DISABLE_AVX512
+
+// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct
+// enum types
+ZYAN_STATIC_ASSERT(ZYDIS_IVECTOR_LENGTH_REQUIRED_BITS        <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_TUPLETYPE_REQUIRED_BITS             <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_IELEMENT_SIZE_REQUIRED_BITS         <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_EVEX_FUNC_REQUIRED_BITS             <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_MASK_POLICY_REQUIRED_BITS           <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_MASK_OVERRIDE_REQUIRED_BITS         <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_EVEX_STATIC_BROADCAST_REQUIRED_BITS <=  8);
+
+/**
+ * Defines the `ZydisInstructionDefinitionEVEX` struct.
+ */
+typedef struct ZydisInstructionDefinitionEVEX_
+{
+    ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL;
+#ifndef ZYDIS_MINIMAL_MODE
+    ZyanU8 vector_length                   ZYAN_BITFIELD(ZYDIS_IVECTOR_LENGTH_REQUIRED_BITS);
+    ZyanU8 tuple_type                      ZYAN_BITFIELD(ZYDIS_TUPLETYPE_REQUIRED_BITS);
+    ZyanU8 element_size                    ZYAN_BITFIELD(ZYDIS_IELEMENT_SIZE_REQUIRED_BITS);
+    ZyanU8 functionality                   ZYAN_BITFIELD(ZYDIS_EVEX_FUNC_REQUIRED_BITS);
+#endif
+    ZyanU8 mask_policy                     ZYAN_BITFIELD(ZYDIS_MASK_POLICY_REQUIRED_BITS);
+    ZyanBool accepts_zero_mask             ZYAN_BITFIELD( 1);
+#ifndef ZYDIS_MINIMAL_MODE
+    ZyanU8 mask_override                   ZYAN_BITFIELD(ZYDIS_MASK_OVERRIDE_REQUIRED_BITS);
+    ZyanU8 broadcast                       ZYAN_BITFIELD(ZYDIS_EVEX_STATIC_BROADCAST_REQUIRED_BITS);
+#endif
+} ZydisInstructionDefinitionEVEX;
+#endif
+
+#ifndef ZYDIS_DISABLE_KNC
+
+// MSVC does not correctly execute the `pragma pack(1)` compiler-directive, if we use the correct
+// enum types
+ZYAN_STATIC_ASSERT(ZYDIS_MVEX_FUNC_REQUIRED_BITS             <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_MASK_POLICY_REQUIRED_BITS           <=  8);
+ZYAN_STATIC_ASSERT(ZYDIS_MVEX_STATIC_BROADCAST_REQUIRED_BITS <=  8);
+
+/**
+ * Defines the `ZydisInstructionDefinitionMVEX` struct.
+ */
+typedef struct ZydisInstructionDefinitionMVEX_
+{
+    ZYDIS_INSTRUCTION_DEFINITION_BASE_VECTOR_INTEL;
+    ZyanU8 functionality                   ZYAN_BITFIELD(ZYDIS_MVEX_FUNC_REQUIRED_BITS);
+    ZyanU8 mask_policy                     ZYAN_BITFIELD(ZYDIS_MASK_POLICY_REQUIRED_BITS);
+#ifndef ZYDIS_MINIMAL_MODE
+    ZyanBool has_element_granularity       ZYAN_BITFIELD( 1);
+    ZyanU8 broadcast                       ZYAN_BITFIELD(ZYDIS_MVEX_STATIC_BROADCAST_REQUIRED_BITS);
+#endif
+} ZydisInstructionDefinitionMVEX;
+#endif
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Accessed CPU flags                                                                             */
+/* ---------------------------------------------------------------------------------------------- */
+
+typedef struct ZydisAccessedFlags_
+{
+    ZydisCPUFlagAction action[ZYDIS_CPUFLAG_MAX_VALUE + 1];
+} ZydisAccessedFlags;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+#pragma pack(pop)
+
+#ifdef ZYAN_MSVC
+#   pragma warning(pop)
+#endif
+
+/* ============================================================================================== */
+/* Functions                                                                                      */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Instruction definition                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the instruction-definition with the given `encoding` and `id`.
+ *
+ * @param   encoding    The instruction-encoding.
+ * @param   id          The definition-id.
+ * @param   definition  A pointer to the variable that receives a pointer to the instruction-
+ *                      definition.
+ */
+ZYDIS_NO_EXPORT void ZydisGetInstructionDefinition(ZydisInstructionEncoding encoding,
+    ZyanU16 id, const ZydisInstructionDefinition** definition);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Operand definition                                                                             */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYDIS_MINIMAL_MODE
+/**
+ * Returns the the operand-definitions for the given instruction-`definition`.
+ *
+ * @param   definition  A pointer to the instruction-definition.
+ * @param   operand     A pointer to the variable that receives a pointer to the first operand-
+ *                      definition of the instruction.
+ *
+ * @return  The number of operands for the given instruction-definition.
+ */
+ZYDIS_NO_EXPORT ZyanU8 ZydisGetOperandDefinitions(const ZydisInstructionDefinition* definition,
+    const ZydisOperandDefinition** operand);
+#endif
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Element info                                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYDIS_MINIMAL_MODE
+/**
+ * Returns the actual type and size of an internal element-type.
+ *
+ * @param   element The internal element type.
+ * @param   type    The actual element type.
+ * @param   size    The element size.
+ */
+ZYDIS_NO_EXPORT void ZydisGetElementInfo(ZydisInternalElementType element, ZydisElementType* type,
+    ZydisElementSize* size);
+#endif
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Accessed CPU flags                                                                             */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYDIS_MINIMAL_MODE
+/**
+ * Returns the the operand-definitions for the given instruction-`definition`.
+ *
+ * @param   definition  A pointer to the instruction-definition.
+ * @param   flags       A pointer to the variable that receives the `ZydisAccessedFlags` struct.
+ *
+ * @return  `ZYAN_TRUE`, if the instruction accesses any flags, or `ZYAN_FALSE`, if not.
+ */
+ZYDIS_NO_EXPORT ZyanBool ZydisGetAccessedFlags(const ZydisInstructionDefinition* definition,
+    const ZydisAccessedFlags** flags);
+#endif
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYDIS_INTERNAL_SHAREDDATA_H */
diff --git a/external/zydis/include/Zydis/Internal/String.h b/external/zydis/include/Zydis/Internal/String.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Internal/String.h
@@ -0,0 +1,463 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd, Joel Hoener
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Provides some internal, more performant, but unsafe helper functions for the `ZyanString`
+ * data-type.
+ *
+ * Most of these functions are very similar to the ones in `Zycore/String.h`, but inlined and
+ * without optional overhead like parameter-validation checks, etc ...
+ *
+ * The `ZyanString` data-type is able to dynamically allocate memory on the heap, but as `Zydis` is
+ * designed to be a non-'malloc'ing library, all functions in this file assume that the instances
+ * they are operating on are created with a user-defined static-buffer.
+ */
+
+#ifndef ZYDIS_INTERNAL_STRING_H
+#define ZYDIS_INTERNAL_STRING_H
+
+#include <Zycore/LibC.h>
+#include <Zycore/String.h>
+#include <Zycore/Types.h>
+#include <Zydis/ShortString.h>
+#include <Zydis/Status.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Letter Case                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisLetterCase` enum.
+ */
+typedef enum ZydisLetterCase_
+{
+    /**
+     * Uses the given text "as is".
+     */
+    ZYDIS_LETTER_CASE_DEFAULT,
+    /**
+     * Converts the given text to lowercase letters.
+     */
+    ZYDIS_LETTER_CASE_LOWER,
+    /**
+     * Converts the given text to uppercase letters.
+     */
+    ZYDIS_LETTER_CASE_UPPER,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_LETTER_CASE_MAX_VALUE = ZYDIS_LETTER_CASE_UPPER,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_LETTER_CASE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_LETTER_CASE_MAX_VALUE)
+} ZydisLetterCase;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Macros                                                                                         */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Internal macros                                                                                */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Checks for a terminating '\0' character at the end of the string data.
+ */
+#define ZYDIS_STRING_ASSERT_NULLTERMINATION(string) \
+      ZYAN_ASSERT(*(char*)((ZyanU8*)(string)->vector.data + (string)->vector.size - 1) == '\0');
+
+/**
+ * Writes a terminating '\0' character at the end of the string data.
+ */
+#define ZYDIS_STRING_NULLTERMINATE(string) \
+      *(char*)((ZyanU8*)(string)->vector.data + (string)->vector.size - 1) = '\0';
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Internal Functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Appending                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Appends the content of the source string to the end of the destination string.
+ *
+ * @param   destination The destination string.
+ * @param   source      The source string.
+ *
+ * @return  A zyan status code.
+ */
+ZYAN_INLINE ZyanStatus ZydisStringAppend(ZyanString* destination, const ZyanStringView* source)
+{
+    ZYAN_ASSERT(destination && source);
+    ZYAN_ASSERT(!destination->vector.allocator);
+    ZYAN_ASSERT(destination->vector.size && source->string.vector.size);
+
+    if (destination->vector.size + source->string.vector.size - 1 > destination->vector.capacity)
+    {
+        return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE;
+    }
+
+    ZYAN_MEMCPY((char*)destination->vector.data + destination->vector.size - 1,
+        source->string.vector.data, source->string.vector.size - 1);
+
+    destination->vector.size += source->string.vector.size - 1;
+    ZYDIS_STRING_NULLTERMINATE(destination);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/**
+ * Appends the content of the source string to the end of the destination
+ * string, converting the characters to the specified letter-case.
+ *
+ * @param   destination The destination string.
+ * @param   source      The source string.
+ * @param   letter_case The desired letter-case.
+ *
+ * @return  A zyan status code.
+ */
+ZYAN_INLINE ZyanStatus ZydisStringAppendCase(ZyanString* destination, const ZyanStringView* source,
+    ZydisLetterCase letter_case)
+{
+    ZYAN_ASSERT(destination && source);
+    ZYAN_ASSERT(!destination->vector.allocator);
+    ZYAN_ASSERT(destination->vector.size && source->string.vector.size);
+
+    if (destination->vector.size + source->string.vector.size - 1 > destination->vector.capacity)
+    {
+        return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE;
+    }
+
+    ZYAN_MEMCPY((char*)destination->vector.data + destination->vector.size - 1,
+        source->string.vector.data, source->string.vector.size - 1);
+
+    switch (letter_case)
+    {
+    case ZYDIS_LETTER_CASE_DEFAULT:
+        break;
+    case ZYDIS_LETTER_CASE_LOWER:
+    {
+        const ZyanUSize index = destination->vector.size - 1;
+        const ZyanUSize count = source->string.vector.size - 1;
+        char* s = (char*)destination->vector.data + index;
+        for (ZyanUSize i = index; i < index + count; ++i)
+        {
+            const char c = *s;
+            if ((c >= 'A') && (c <= 'Z'))
+            {
+                *s = c | 32;
+            }
+            ++s;
+        }
+        break;
+    }
+    case ZYDIS_LETTER_CASE_UPPER:
+    {
+        const ZyanUSize index = destination->vector.size - 1;
+        const ZyanUSize count = source->string.vector.size - 1;
+        char* s = (char*)destination->vector.data + index;
+        for (ZyanUSize i = index; i < index + count; ++i)
+        {
+            const char c = *s;
+            if ((c >= 'a') && (c <= 'z'))
+            {
+                *s = c & ~32;
+            }
+            ++s;
+        }
+        break;
+    }
+    default:
+        ZYAN_UNREACHABLE;
+    }
+
+    destination->vector.size += source->string.vector.size - 1;
+    ZYDIS_STRING_NULLTERMINATE(destination);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/**
+ * Appends the content of the source short-string to the end of the destination string.
+ *
+ * @param   destination The destination string.
+ * @param   source      The source string.
+ *
+ * @return  A zyan status code.
+ */
+ZYAN_INLINE ZyanStatus ZydisStringAppendShort(ZyanString* destination,
+    const ZydisShortString* source)
+{
+    ZYAN_ASSERT(destination && source);
+    ZYAN_ASSERT(!destination->vector.allocator);
+    ZYAN_ASSERT(destination->vector.size && source->size);
+
+    if (destination->vector.size + source->size > destination->vector.capacity)
+    {
+        return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE;
+    }
+
+    ZYAN_MEMCPY((char*)destination->vector.data + destination->vector.size - 1, source->data,
+        (ZyanUSize)source->size + 1);
+
+    destination->vector.size += source->size;
+    ZYDIS_STRING_ASSERT_NULLTERMINATION(destination);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/**
+ * Appends the content of the source short-string to the end of the destination string,
+ * converting the characters to the specified letter-case.
+ *
+ * @param   destination The destination string.
+ * @param   source      The source string.
+ * @param   letter_case The desired letter-case.
+ *
+ * @return  A zyan status code.
+ */
+ZYAN_INLINE ZyanStatus ZydisStringAppendShortCase(ZyanString* destination,
+    const ZydisShortString* source, ZydisLetterCase letter_case)
+{
+    ZYAN_ASSERT(destination && source);
+    ZYAN_ASSERT(!destination->vector.allocator);
+    ZYAN_ASSERT(destination->vector.size && source->size);
+
+    if (destination->vector.size + source->size > destination->vector.capacity)
+    {
+        return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE;
+    }
+
+    ZYAN_MEMCPY((char*)destination->vector.data + destination->vector.size - 1, source->data,
+        (ZyanUSize)source->size + 1);
+
+    switch (letter_case)
+    {
+    case ZYDIS_LETTER_CASE_DEFAULT:
+        break;
+    case ZYDIS_LETTER_CASE_LOWER:
+    {
+        const ZyanUSize index = destination->vector.size - 1;
+        const ZyanUSize count = source->size;
+        char* s = (char*)destination->vector.data + index;
+        for (ZyanUSize i = index; i < index + count; ++i)
+        {
+            const char c = *s;
+            if ((c >= 'A') && (c <= 'Z'))
+            {
+                *s = c | 32;
+            }
+            ++s;
+        }
+        break;
+    }
+    case ZYDIS_LETTER_CASE_UPPER:
+    {
+        const ZyanUSize index = destination->vector.size - 1;
+        const ZyanUSize count = source->size;
+        char* s = (char*)destination->vector.data + index;
+        for (ZyanUSize i = index; i < index + count; ++i)
+        {
+            const char c = *s;
+            if ((c >= 'a') && (c <= 'z'))
+            {
+                *s = c & ~32;
+            }
+            ++s;
+        }
+        break;
+    }
+    default:
+        ZYAN_UNREACHABLE;
+    }
+
+    destination->vector.size += source->size;
+    ZYDIS_STRING_ASSERT_NULLTERMINATION(destination);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Formatting                                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Formats the given unsigned ordinal `value` to its decimal text-representation and
+ * appends it to the `string`.
+ *
+ * @param   string          A pointer to the `ZyanString` instance.
+ * @param   value           The value.
+ * @param   padding_length  Padds the converted value with leading zeros, if the number of chars is
+ *                          less than the `padding_length`.
+ * @param   prefix          The string to use as prefix or `ZYAN_NULL`, if not needed.
+ * @param   suffix          The string to use as suffix or `ZYAN_NULL`, if not needed.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZyanStatus ZydisStringAppendDecU(ZyanString* string, ZyanU64 value, ZyanU8 padding_length,
+    const ZyanStringView* prefix, const ZyanStringView* suffix);
+
+/**
+ * Formats the given signed ordinal `value` to its decimal text-representation and
+ * appends it to the `string`.
+ *
+ * @param   string          A pointer to the `ZyanString` instance.
+ * @param   value           The value.
+ * @param   padding_length  Padds the converted value with leading zeros, if the number of chars is
+ *                          less than the `padding_length`.
+ * @param   force_sign      Set `ZYAN_TRUE`, to force printing of the `+` sign for positive numbers.
+ * @param   prefix          The string to use as prefix or `ZYAN_NULL`, if not needed.
+ * @param   suffix          The string to use as suffix or `ZYAN_NULL`, if not needed.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZYAN_INLINE ZyanStatus ZydisStringAppendDecS(ZyanString* string, ZyanI64 value,
+    ZyanU8 padding_length, ZyanBool force_sign, const ZyanStringView* prefix,
+    const ZyanStringView* suffix)
+{
+    static const ZydisShortString str_add = ZYDIS_MAKE_SHORTSTRING("+");
+    static const ZydisShortString str_sub = ZYDIS_MAKE_SHORTSTRING("-");
+
+    if (value < 0)
+    {
+        ZYAN_CHECK(ZydisStringAppendShort(string, &str_sub));
+        if (prefix)
+        {
+            ZYAN_CHECK(ZydisStringAppend(string, prefix));
+        }
+        return ZydisStringAppendDecU(string, -value, padding_length,
+            (const ZyanStringView*)ZYAN_NULL, suffix);
+    }
+
+    if (force_sign)
+    {
+        ZYAN_ASSERT(value >= 0);
+        ZYAN_CHECK(ZydisStringAppendShort(string, &str_add));
+    }
+    return ZydisStringAppendDecU(string, value, padding_length, prefix, suffix);
+}
+
+/**
+ * Formats the given unsigned ordinal `value` to its hexadecimal text-representation and
+ * appends it to the `string`.
+ *
+ * @param   string          A pointer to the `ZyanString` instance.
+ * @param   value           The value.
+ * @param   padding_length  Padds the converted value with leading zeros, if the number of chars is
+ *                          less than the `padding_length`.
+ * @param   uppercase       Set `ZYAN_TRUE` to use uppercase letters ('A'-'F') instead of lowercase
+ *                          ones ('a'-'f').
+ * @param   prefix          The string to use as prefix or `ZYAN_NULL`, if not needed.
+ * @param   suffix          The string to use as suffix or `ZYAN_NULL`, if not needed.
+ *
+ * @return  A zyan status code.
+ *
+ * This function will fail, if the `ZYAN_STRING_IS_IMMUTABLE` flag is set for the specified
+ * `ZyanString` instance.
+ */
+ZyanStatus ZydisStringAppendHexU(ZyanString* string, ZyanU64 value, ZyanU8 padding_length,
+    ZyanBool uppercase, const ZyanStringView* prefix, const ZyanStringView* suffix);
+
+/**
+ * Formats the given signed ordinal `value` to its hexadecimal text-representation and
+ * appends it to the `string`.
+ *
+ * @param   string          A pointer to the string.
+ * @param   value           The value.
+ * @param   padding_length  Padds the converted value with leading zeros, if the number of chars is
+ *                          less than the `padding_length` (the sign char is ignored).
+ * @param   uppercase       Set `ZYAN_TRUE` to print the hexadecimal value in uppercase letters
+ *                          instead of lowercase ones.
+ * @param   force_sign      Set to `ZYAN_TRUE`, to force printing of the `+` sign for positive
+ *                          numbers.
+ * @param   prefix          The string to use as prefix or `NULL`, if not needed.
+ * @param   suffix          The string to use as suffix or `NULL`, if not needed.
+ *
+ * @return  `ZYAN_STATUS_SUCCESS`, if the function succeeded, or
+ *          `ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE`, if the size of the buffer was not
+ *          sufficient to append the given `value`.
+ *
+ * The string-buffer pointer is increased by the number of chars written, if the call was
+ * successful.
+ */
+ZYAN_INLINE ZyanStatus ZydisStringAppendHexS(ZyanString* string, ZyanI64 value,
+    ZyanU8 padding_length, ZyanBool uppercase, ZyanBool force_sign, const ZyanStringView* prefix,
+    const ZyanStringView* suffix)
+{
+    static const ZydisShortString str_add = ZYDIS_MAKE_SHORTSTRING("+");
+    static const ZydisShortString str_sub = ZYDIS_MAKE_SHORTSTRING("-");
+
+    if (value < 0)
+    {
+        ZYAN_CHECK(ZydisStringAppendShort(string, &str_sub));
+        if (prefix)
+        {
+            ZYAN_CHECK(ZydisStringAppend(string, prefix));
+        }
+        return ZydisStringAppendHexU(string, -value, padding_length, uppercase,
+            (const ZyanStringView*)ZYAN_NULL, suffix);
+    }
+
+    if (force_sign)
+    {
+        ZYAN_ASSERT(value >= 0);
+        ZYAN_CHECK(ZydisStringAppendShort(string, &str_add));
+    }
+    return ZydisStringAppendHexU(string, value, padding_length, uppercase, prefix, suffix);
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif // ZYDIS_INTERNAL_STRING_H
diff --git a/external/zydis/include/Zydis/MetaInfo.h b/external/zydis/include/Zydis/MetaInfo.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/MetaInfo.h
@@ -0,0 +1,88 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * @brief
+ */
+
+#ifndef ZYDIS_METAINFO_H
+#define ZYDIS_METAINFO_H
+
+#include <ZydisExportConfig.h>
+#include <Zycore/Defines.h>
+#include <Zycore/Types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+#include <Zydis/Generated/EnumInstructionCategory.h>
+#include <Zydis/Generated/EnumISASet.h>
+#include <Zydis/Generated/EnumISAExt.h>
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+ /**
+ * Returns the specified instruction category string.
+ *
+ * @param   category    The instruction category.
+ *
+ * @return  The instruction category string or `ZYAN_NULL`, if an invalid category was passed.
+ */
+ZYDIS_EXPORT const char* ZydisCategoryGetString(ZydisInstructionCategory category);
+
+/**
+ * Returns the specified isa-set string.
+ *
+ * @param   isa_set The isa-set.
+ *
+ * @return  The isa-set string or `ZYAN_NULL`, if an invalid isa-set was passed.
+ */
+ZYDIS_EXPORT const char* ZydisISASetGetString(ZydisISASet isa_set);
+
+/**
+ * Returns the specified isa-extension string.
+ *
+ * @param   isa_ext The isa-extension.
+ *
+ * @return  The isa-extension string or `ZYAN_NULL`, if an invalid isa-extension was passed.
+ */
+ZYDIS_EXPORT const char* ZydisISAExtGetString(ZydisISAExt isa_ext);
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYDIS_METAINFO_H */
diff --git a/external/zydis/include/Zydis/Mnemonic.h b/external/zydis/include/Zydis/Mnemonic.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Mnemonic.h
@@ -0,0 +1,88 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Mnemonic constant definitions and helper functions.
+ */
+
+#ifndef ZYDIS_MNEMONIC_H
+#define ZYDIS_MNEMONIC_H
+
+#include <Zycore/Types.h>
+#include <Zydis/ShortString.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+#include <Zydis/Generated/EnumMnemonic.h>
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/**
+ * @addtogroup mnemonic Mnemonic
+ * Functions for retrieving mnemonic names.
+ * @{
+ */
+
+/**
+ * Returns the specified instruction mnemonic string.
+ *
+ * @param   mnemonic    The mnemonic.
+ *
+ * @return  The instruction mnemonic string or `ZYAN_NULL`, if an invalid mnemonic was passed.
+ */
+ZYDIS_EXPORT const char* ZydisMnemonicGetString(ZydisMnemonic mnemonic);
+
+/**
+ * Returns the specified instruction mnemonic as `ZydisShortString`.
+ *
+ * @param   mnemonic    The mnemonic.
+ *
+ * @return  The instruction mnemonic string or `ZYAN_NULL`, if an invalid mnemonic was passed.
+ *
+ * The `buffer` of the returned struct is guaranteed to be zero-terminated in this special case.
+ */
+ZYDIS_EXPORT const ZydisShortString* ZydisMnemonicGetStringWrapped(ZydisMnemonic mnemonic);
+
+/**
+ * @}
+ */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYDIS_MNEMONIC_H */
diff --git a/external/zydis/include/Zydis/Register.h b/external/zydis/include/Zydis/Register.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Register.h
@@ -0,0 +1,289 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Utility functions and constants for registers.
+ */
+
+#ifndef ZYDIS_REGISTER_H
+#define ZYDIS_REGISTER_H
+
+#include <Zycore/Defines.h>
+#include <Zycore/Types.h>
+#include <Zydis/SharedTypes.h>
+#include <Zydis/ShortString.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Registers                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+#include <Zydis/Generated/EnumRegister.h>
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Register classes                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisRegisterClass` enum.
+ *
+ * Please note that this enum does not contain a matching entry for all values of the
+ * `ZydisRegister` enum, but only for those registers where it makes sense to logically group them
+ * for decoding/encoding purposes.
+ *
+ * These are mainly the registers that can be identified by an id within their corresponding
+ * register-class. The `IP` and `FLAGS` values are exceptions to this rule.
+ */
+typedef enum ZydisRegisterClass_
+{
+    ZYDIS_REGCLASS_INVALID,
+    /**
+     * 8-bit general-purpose registers.
+     */
+    ZYDIS_REGCLASS_GPR8,
+    /**
+     * 16-bit general-purpose registers.
+     */
+    ZYDIS_REGCLASS_GPR16,
+    /**
+     * 32-bit general-purpose registers.
+     */
+    ZYDIS_REGCLASS_GPR32,
+    /**
+     * 64-bit general-purpose registers.
+     */
+    ZYDIS_REGCLASS_GPR64,
+    /**
+     * Floating point legacy registers.
+     */
+    ZYDIS_REGCLASS_X87,
+    /**
+     * Floating point multimedia registers.
+     */
+    ZYDIS_REGCLASS_MMX,
+    /**
+     * 128-bit vector registers.
+     */
+    ZYDIS_REGCLASS_XMM,
+    /**
+     * 256-bit vector registers.
+     */
+    ZYDIS_REGCLASS_YMM,
+    /**
+     * 512-bit vector registers.
+     */
+    ZYDIS_REGCLASS_ZMM,
+    /**
+     * Flags registers.
+     */
+    ZYDIS_REGCLASS_FLAGS,
+    /**
+     * Instruction-pointer registers.
+     */
+    ZYDIS_REGCLASS_IP,
+    /**
+     * Segment registers.
+     */
+    ZYDIS_REGCLASS_SEGMENT,
+    /**
+     * Test registers.
+     */
+    ZYDIS_REGCLASS_TEST,
+    /**
+     * Control registers.
+     */
+    ZYDIS_REGCLASS_CONTROL,
+    /**
+     * Debug registers.
+     */
+    ZYDIS_REGCLASS_DEBUG,
+    /**
+     * Mask registers.
+     */
+    ZYDIS_REGCLASS_MASK,
+    /**
+     * Bound registers.
+     */
+    ZYDIS_REGCLASS_BOUND,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_REGCLASS_MAX_VALUE = ZYDIS_REGCLASS_BOUND,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_REGCLASS_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_REGCLASS_MAX_VALUE)
+} ZydisRegisterClass;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Register width                                                                                 */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisRegisterWidth` data-type.
+ */
+typedef ZyanU16 ZydisRegisterWidth;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Register context                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisRegisterContext` struct.
+ */
+typedef struct ZydisRegisterContext_
+{
+    /**
+     * The values stored in the register context.
+     */
+    ZyanU64 values[ZYDIS_REGISTER_MAX_VALUE + 1];
+} ZydisRegisterContext;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/**
+ * @addtogroup register Register
+ * Functions allowing retrieval of information about registers.
+ * @{
+ */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Register                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the register specified by the `register_class` and `id` tuple.
+ *
+ * @param   register_class  The register class.
+ * @param   id              The register id.
+ *
+ * @return  The register specified by the `register_class` and `id` tuple or `ZYDIS_REGISTER_NONE`,
+ *          if an invalid parameter was passed.
+ */
+ZYDIS_EXPORT ZydisRegister ZydisRegisterEncode(ZydisRegisterClass register_class, ZyanU8 id);
+
+/**
+ * Returns the id of the specified register.
+ *
+ * @param   reg The register.
+ *
+ * @return  The id of the specified register, or -1 if an invalid parameter was passed.
+ */
+ZYDIS_EXPORT ZyanI8 ZydisRegisterGetId(ZydisRegister reg);
+
+/**
+ * Returns the register-class of the specified register.
+ *
+ * @param   reg The register.
+ *
+ * @return  The register-class of the specified register.
+ */
+ZYDIS_EXPORT ZydisRegisterClass ZydisRegisterGetClass(ZydisRegister reg);
+
+/**
+ * Returns the width of the specified register.
+ *
+ * @param   mode    The active machine mode.
+ * @param   reg     The register.
+ *
+ * @return  The width of the specified register, or `ZYDIS_REGISTER_NONE` if the register is
+ *          invalid for the active machine-mode.
+ */
+ZYDIS_EXPORT ZydisRegisterWidth ZydisRegisterGetWidth(ZydisMachineMode mode, ZydisRegister reg);
+
+/**
+ * Returns the largest enclosing register of the given register.
+ *
+ * @param   mode    The active machine mode.
+ * @param   reg     The register.
+ *
+ * @return  The largest enclosing register of the given register, or `ZYDIS_REGISTER_NONE` if the
+ *          register is invalid for the active machine-mode or does not have an enclosing-register.
+ */
+ZYDIS_EXPORT ZydisRegister ZydisRegisterGetLargestEnclosing(ZydisMachineMode mode,
+    ZydisRegister reg);
+
+/**
+ * Returns the specified register string.
+ *
+ * @param   reg The register.
+ *
+ * @return  The register string or `ZYAN_NULL`, if an invalid register was passed.
+ */
+ZYDIS_EXPORT const char* ZydisRegisterGetString(ZydisRegister reg);
+
+/**
+ * Returns the specified register string as `ZydisShortString`.
+ *
+ * @param   reg The register.
+ *
+ * @return  The register string or `ZYAN_NULL`, if an invalid register was passed.
+ *
+ * The `buffer` of the returned struct is guaranteed to be zero-terminated in this special case.
+ */
+ZYDIS_EXPORT const ZydisShortString* ZydisRegisterGetStringWrapped(ZydisRegister reg);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Register class                                                                                 */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns the width of the specified register-class.
+ *
+ * @param   mode            The active machine mode.
+ * @param   register_class  The register class.
+ *
+ * @return  The width of the specified register.
+ */
+ZYDIS_EXPORT ZydisRegisterWidth ZydisRegisterClassGetWidth(ZydisMachineMode mode,
+    ZydisRegisterClass register_class);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * @}
+ */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYDIS_REGISTER_H */
diff --git a/external/zydis/include/Zydis/SharedTypes.h b/external/zydis/include/Zydis/SharedTypes.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/SharedTypes.h
@@ -0,0 +1,480 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Defines decoder/encoder-shared macros and types.
+ */
+
+#ifndef ZYDIS_SHAREDTYPES_H
+#define ZYDIS_SHAREDTYPES_H
+
+#include <Zycore/Types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Macros                                                                                         */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Constants                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+#define ZYDIS_MAX_INSTRUCTION_LENGTH 15
+#define ZYDIS_MAX_OPERAND_COUNT      10
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Machine mode                                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisMachineMode` enum.
+ */
+typedef enum ZydisMachineMode_
+{
+    /**
+     * 64 bit mode.
+     */
+    ZYDIS_MACHINE_MODE_LONG_64,
+    /**
+     * 32 bit protected mode.
+     */
+    ZYDIS_MACHINE_MODE_LONG_COMPAT_32,
+    /**
+     * 16 bit protected mode.
+     */
+    ZYDIS_MACHINE_MODE_LONG_COMPAT_16,
+    /**
+     * 32 bit protected mode.
+     */
+    ZYDIS_MACHINE_MODE_LEGACY_32,
+    /**
+     * 16 bit protected mode.
+     */
+    ZYDIS_MACHINE_MODE_LEGACY_16,
+    /**
+     * 16 bit real mode.
+     */
+    ZYDIS_MACHINE_MODE_REAL_16,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_MACHINE_MODE_MAX_VALUE = ZYDIS_MACHINE_MODE_REAL_16,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_MACHINE_MODE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_MACHINE_MODE_MAX_VALUE)
+} ZydisMachineMode;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Address width                                                                                  */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisAddressWidth` enum.
+ */
+typedef enum ZydisAddressWidth_
+{
+    ZYDIS_ADDRESS_WIDTH_16,
+    ZYDIS_ADDRESS_WIDTH_32,
+    ZYDIS_ADDRESS_WIDTH_64,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_ADDRESS_WIDTH_MAX_VALUE = ZYDIS_ADDRESS_WIDTH_64,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_ADDRESS_WIDTH_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_ADDRESS_WIDTH_MAX_VALUE)
+} ZydisAddressWidth;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Element type                                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisElementType` enum.
+ */
+typedef enum ZydisElementType_
+{
+    ZYDIS_ELEMENT_TYPE_INVALID,
+    /**
+     * A struct type.
+     */
+    ZYDIS_ELEMENT_TYPE_STRUCT,
+    /**
+     * Unsigned integer value.
+     */
+    ZYDIS_ELEMENT_TYPE_UINT,
+    /**
+     * Signed integer value.
+     */
+    ZYDIS_ELEMENT_TYPE_INT,
+    /**
+     * 16-bit floating point value (`half`).
+     */
+    ZYDIS_ELEMENT_TYPE_FLOAT16,
+    /**
+     * 32-bit floating point value (`single`).
+     */
+    ZYDIS_ELEMENT_TYPE_FLOAT32,
+    /**
+     * 64-bit floating point value (`double`).
+     */
+    ZYDIS_ELEMENT_TYPE_FLOAT64,
+    /**
+     * 80-bit floating point value (`extended`).
+     */
+    ZYDIS_ELEMENT_TYPE_FLOAT80,
+    /**
+     * Binary coded decimal value.
+     */
+    ZYDIS_ELEMENT_TYPE_LONGBCD,
+    /**
+     * A condition code (e.g. used by `CMPPD`, `VCMPPD`, ...).
+     */
+    ZYDIS_ELEMENT_TYPE_CC,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_ELEMENT_TYPE_MAX_VALUE = ZYDIS_ELEMENT_TYPE_CC,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_ELEMENT_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_ELEMENT_TYPE_MAX_VALUE)
+} ZydisElementType;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Element size                                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisElementSize` datatype.
+ */
+typedef ZyanU16 ZydisElementSize;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Operand type                                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisOperandType` enum.
+ */
+typedef enum ZydisOperandType_
+{
+    /**
+     * The operand is not used.
+     */
+    ZYDIS_OPERAND_TYPE_UNUSED,
+    /**
+     * The operand is a register operand.
+     */
+    ZYDIS_OPERAND_TYPE_REGISTER,
+    /**
+     * The operand is a memory operand.
+     */
+    ZYDIS_OPERAND_TYPE_MEMORY,
+    /**
+     * The operand is a pointer operand with a segment:offset lvalue.
+     */
+    ZYDIS_OPERAND_TYPE_POINTER,
+    /**
+     * The operand is an immediate operand.
+     */
+    ZYDIS_OPERAND_TYPE_IMMEDIATE,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_OPERAND_TYPE_MAX_VALUE = ZYDIS_OPERAND_TYPE_IMMEDIATE,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_OPERAND_TYPE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_OPERAND_TYPE_MAX_VALUE)
+} ZydisOperandType;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Operand encoding                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisOperandEncoding` enum.
+ */
+typedef enum ZydisOperandEncoding_
+{
+    ZYDIS_OPERAND_ENCODING_NONE,
+    ZYDIS_OPERAND_ENCODING_MODRM_REG,
+    ZYDIS_OPERAND_ENCODING_MODRM_RM,
+    ZYDIS_OPERAND_ENCODING_OPCODE,
+    ZYDIS_OPERAND_ENCODING_NDSNDD,
+    ZYDIS_OPERAND_ENCODING_IS4,
+    ZYDIS_OPERAND_ENCODING_MASK,
+    ZYDIS_OPERAND_ENCODING_DISP8,
+    ZYDIS_OPERAND_ENCODING_DISP16,
+    ZYDIS_OPERAND_ENCODING_DISP32,
+    ZYDIS_OPERAND_ENCODING_DISP64,
+    ZYDIS_OPERAND_ENCODING_DISP16_32_64,
+    ZYDIS_OPERAND_ENCODING_DISP32_32_64,
+    ZYDIS_OPERAND_ENCODING_DISP16_32_32,
+    ZYDIS_OPERAND_ENCODING_UIMM8,
+    ZYDIS_OPERAND_ENCODING_UIMM16,
+    ZYDIS_OPERAND_ENCODING_UIMM32,
+    ZYDIS_OPERAND_ENCODING_UIMM64,
+    ZYDIS_OPERAND_ENCODING_UIMM16_32_64,
+    ZYDIS_OPERAND_ENCODING_UIMM32_32_64,
+    ZYDIS_OPERAND_ENCODING_UIMM16_32_32,
+    ZYDIS_OPERAND_ENCODING_SIMM8,
+    ZYDIS_OPERAND_ENCODING_SIMM16,
+    ZYDIS_OPERAND_ENCODING_SIMM32,
+    ZYDIS_OPERAND_ENCODING_SIMM64,
+    ZYDIS_OPERAND_ENCODING_SIMM16_32_64,
+    ZYDIS_OPERAND_ENCODING_SIMM32_32_64,
+    ZYDIS_OPERAND_ENCODING_SIMM16_32_32,
+    ZYDIS_OPERAND_ENCODING_JIMM8,
+    ZYDIS_OPERAND_ENCODING_JIMM16,
+    ZYDIS_OPERAND_ENCODING_JIMM32,
+    ZYDIS_OPERAND_ENCODING_JIMM64,
+    ZYDIS_OPERAND_ENCODING_JIMM16_32_64,
+    ZYDIS_OPERAND_ENCODING_JIMM32_32_64,
+    ZYDIS_OPERAND_ENCODING_JIMM16_32_32,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_OPERAND_ENCODING_MAX_VALUE = ZYDIS_OPERAND_ENCODING_JIMM16_32_32,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_OPERAND_ENCODING_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_OPERAND_ENCODING_MAX_VALUE)
+} ZydisOperandEncoding;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Operand visibility                                                                             */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisOperandVisibility` enum.
+ */
+typedef enum ZydisOperandVisibility_
+{
+    ZYDIS_OPERAND_VISIBILITY_INVALID,
+    /**
+     * The operand is explicitly encoded in the instruction.
+     */
+    ZYDIS_OPERAND_VISIBILITY_EXPLICIT,
+    /**
+     * The operand is part of the opcode, but listed as an operand.
+     */
+    ZYDIS_OPERAND_VISIBILITY_IMPLICIT,
+    /**
+     * The operand is part of the opcode, and not typically listed as an operand.
+     */
+    ZYDIS_OPERAND_VISIBILITY_HIDDEN,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_OPERAND_VISIBILITY_MAX_VALUE = ZYDIS_OPERAND_VISIBILITY_HIDDEN,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_OPERAND_VISIBILITY_REQUIRED_BITS =
+        ZYAN_BITS_TO_REPRESENT(ZYDIS_OPERAND_VISIBILITY_MAX_VALUE)
+} ZydisOperandVisibility;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Operand action                                                                                 */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisOperandAction` enum.
+ */
+typedef enum ZydisOperandAction_
+{
+    /* ------------------------------------------------------------------------------------------ */
+    /* Elemental actions                                                                          */
+    /* ------------------------------------------------------------------------------------------ */
+
+    /**
+     * The operand is read by the instruction.
+     */
+    ZYDIS_OPERAND_ACTION_READ       = 0x01,
+    /**
+     * The operand is written by the instruction (must write).
+     */
+    ZYDIS_OPERAND_ACTION_WRITE      = 0x02,
+    /**
+     * The operand is conditionally read by the instruction.
+     */
+    ZYDIS_OPERAND_ACTION_CONDREAD   = 0x04,
+    /**
+     * The operand is conditionally written by the instruction (may write).
+     */
+    ZYDIS_OPERAND_ACTION_CONDWRITE  = 0x08,
+
+    /* ------------------------------------------------------------------------------------------ */
+    /* Combined actions                                                                           */
+    /* ------------------------------------------------------------------------------------------ */
+
+    /**
+     * The operand is read (must read) and written by the instruction (must write).
+     */
+    ZYDIS_OPERAND_ACTION_READWRITE = ZYDIS_OPERAND_ACTION_READ | ZYDIS_OPERAND_ACTION_WRITE,
+    /**
+     * The operand is conditionally read (may read) and conditionally written by
+     * the instruction (may write).
+     */
+    ZYDIS_OPERAND_ACTION_CONDREAD_CONDWRITE =
+        ZYDIS_OPERAND_ACTION_CONDREAD | ZYDIS_OPERAND_ACTION_CONDWRITE,
+    /**
+     * The operand is read (must read) and conditionally written by the
+     * instruction (may write).
+     */
+    ZYDIS_OPERAND_ACTION_READ_CONDWRITE =
+        ZYDIS_OPERAND_ACTION_READ | ZYDIS_OPERAND_ACTION_CONDWRITE,
+    /**
+     * The operand is written (must write) and conditionally read by the
+     * instruction (may read).
+     */
+    ZYDIS_OPERAND_ACTION_CONDREAD_WRITE =
+        ZYDIS_OPERAND_ACTION_CONDREAD | ZYDIS_OPERAND_ACTION_WRITE,
+
+    /**
+     * Mask combining all reading access flags.
+     */
+    ZYDIS_OPERAND_ACTION_MASK_READ  = ZYDIS_OPERAND_ACTION_READ | ZYDIS_OPERAND_ACTION_CONDREAD,
+    /**
+     * Mask combining all writing access flags.
+     */
+    ZYDIS_OPERAND_ACTION_MASK_WRITE = ZYDIS_OPERAND_ACTION_WRITE | ZYDIS_OPERAND_ACTION_CONDWRITE,
+
+    /* ------------------------------------------------------------------------------------------ */
+
+    /**
+     * The minimum number of bits required to represent all values of this bitset.
+     */
+    ZYDIS_OPERAND_ACTION_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_OPERAND_ACTION_CONDWRITE)
+} ZydisOperandAction;
+
+/**
+ * Defines the `ZydisOperandActions` data-type.
+ */
+typedef ZyanU8 ZydisOperandActions;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Instruction encoding                                                                           */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisInstructionEncoding` enum.
+ */
+typedef enum ZydisInstructionEncoding_
+{
+    /**
+     * The instruction uses the legacy encoding.
+     */
+    ZYDIS_INSTRUCTION_ENCODING_LEGACY,
+    /**
+     * The instruction uses the AMD 3DNow-encoding.
+     */
+    ZYDIS_INSTRUCTION_ENCODING_3DNOW,
+    /**
+     * The instruction uses the AMD XOP-encoding.
+     */
+    ZYDIS_INSTRUCTION_ENCODING_XOP,
+    /**
+     * The instruction uses the VEX-encoding.
+     */
+    ZYDIS_INSTRUCTION_ENCODING_VEX,
+    /**
+     * The instruction uses the EVEX-encoding.
+     */
+    ZYDIS_INSTRUCTION_ENCODING_EVEX,
+    /**
+     * The instruction uses the MVEX-encoding.
+     */
+    ZYDIS_INSTRUCTION_ENCODING_MVEX,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_INSTRUCTION_ENCODING_MAX_VALUE = ZYDIS_INSTRUCTION_ENCODING_MVEX,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_INSTRUCTION_ENCODING_REQUIRED_BITS =
+        ZYAN_BITS_TO_REPRESENT(ZYDIS_INSTRUCTION_ENCODING_MAX_VALUE)
+} ZydisInstructionEncoding;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Opcode map                                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisOpcodeMap` enum.
+ */
+typedef enum ZydisOpcodeMap_
+{
+    ZYDIS_OPCODE_MAP_DEFAULT,
+    ZYDIS_OPCODE_MAP_0F,
+    ZYDIS_OPCODE_MAP_0F38,
+    ZYDIS_OPCODE_MAP_0F3A,
+    ZYDIS_OPCODE_MAP_0F0F,
+    ZYDIS_OPCODE_MAP_XOP8,
+    ZYDIS_OPCODE_MAP_XOP9,
+    ZYDIS_OPCODE_MAP_XOPA,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_OPCODE_MAP_MAX_VALUE = ZYDIS_OPCODE_MAP_XOPA,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_OPCODE_MAP_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_OPCODE_MAP_MAX_VALUE)
+} ZydisOpcodeMap;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYDIS_SHAREDTYPES_H */
diff --git a/external/zydis/include/Zydis/ShortString.h b/external/zydis/include/Zydis/ShortString.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/ShortString.h
@@ -0,0 +1,90 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Defines the immutable and storage-efficient `ZydisShortString` struct, which
+ * is used to store strings in the generated tables.
+ */
+
+#ifndef ZYDIS_SHORTSTRING_H
+#define ZYDIS_SHORTSTRING_H
+
+#include <ZydisExportConfig.h>
+#include <Zycore/Defines.h>
+#include <Zycore/Types.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+#pragma pack(push, 1)
+
+/**
+ * Defines the `ZydisShortString` struct.
+ *
+ * This compact struct is mainly used for internal string-tables to save up some bytes.
+ *
+ * All fields in this struct should be considered as "private". Any changes may lead to unexpected
+ * behavior.
+ */
+typedef struct ZydisShortString_
+{
+    /**
+     * The buffer that contains the actual (null-terminated) string.
+    */
+    const char* data;
+    /**
+     * The length (number of characters) of the string (without 0-termination).
+    */
+    ZyanU8 size;
+} ZydisShortString;
+
+#pragma pack(pop)
+
+/* ============================================================================================== */
+/* Macros                                                                                         */
+/* ============================================================================================== */
+
+/**
+ * Declares a `ZydisShortString` from a static C-style string.
+ *
+ * @param   string  The C-string constant.
+ */
+#define ZYDIS_MAKE_SHORTSTRING(string) \
+    { string, sizeof(string) - 1 }
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYDIS_SHORTSTRING_H */
diff --git a/external/zydis/include/Zydis/Status.h b/external/zydis/include/Zydis/Status.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Status.h
@@ -0,0 +1,159 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Status code definitions and check macros.
+ */
+
+#ifndef ZYDIS_STATUS_H
+#define ZYDIS_STATUS_H
+
+#include <Zycore/Status.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Status codes                                                                                   */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Module IDs                                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * The zydis module id.
+ */
+#define ZYAN_MODULE_ZYDIS   0x002
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Status codes                                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Decoder                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * An attempt was made to read data from an input data-source that has no more
+ * data available.
+ */
+#define ZYDIS_STATUS_NO_MORE_DATA \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x00)
+
+/**
+ * An general error occured while decoding the current instruction. The
+ * instruction might be undefined.
+ */
+#define ZYDIS_STATUS_DECODING_ERROR \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x01)
+
+/**
+ * The instruction exceeded the maximum length of 15 bytes.
+ */
+#define ZYDIS_STATUS_INSTRUCTION_TOO_LONG \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x02)
+
+/**
+ * The instruction encoded an invalid register.
+ */
+#define ZYDIS_STATUS_BAD_REGISTER \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x03)
+
+/**
+ * A lock-prefix (F0) was found while decoding an instruction that does not
+ * support locking.
+ */
+#define ZYDIS_STATUS_ILLEGAL_LOCK \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x04)
+
+/**
+ * A legacy-prefix (F2, F3, 66) was found while decoding a XOP/VEX/EVEX/MVEX
+ * instruction.
+ */
+#define ZYDIS_STATUS_ILLEGAL_LEGACY_PFX \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x05)
+
+/**
+ * A rex-prefix was found while decoding a XOP/VEX/EVEX/MVEX instruction.
+ */
+#define ZYDIS_STATUS_ILLEGAL_REX \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x06)
+
+/**
+ * An invalid opcode-map value was found while decoding a XOP/VEX/EVEX/MVEX-prefix.
+ */
+#define ZYDIS_STATUS_INVALID_MAP \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x07)
+
+/**
+ * An error occured while decoding the EVEX-prefix.
+ */
+#define ZYDIS_STATUS_MALFORMED_EVEX \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x08)
+
+/**
+ * An error occured while decoding the MVEX-prefix.
+ */
+#define ZYDIS_STATUS_MALFORMED_MVEX \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x09)
+
+/**
+ * An invalid write-mask was specified for an EVEX/MVEX instruction.
+ */
+#define ZYDIS_STATUS_INVALID_MASK \
+    ZYAN_MAKE_STATUS(1, ZYAN_MODULE_ZYDIS, 0x0A)
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Formatter                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returning this status code in some specified formatter callbacks will cause
+ * the formatter to omit the corresponding token.
+ *
+ * Valid callbacks:
+ * - `ZYDIS_FORMATTER_FUNC_PRE_OPERAND`
+ * - `ZYDIS_FORMATTER_FUNC_POST_OPERAND`
+ * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_REG`
+ * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_MEM`
+ * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_PTR`
+ * - `ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_IMM`
+ */
+#define ZYDIS_STATUS_SKIP_TOKEN \
+    ZYAN_MAKE_STATUS(0, ZYAN_MODULE_ZYDIS, 0x0B)
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYDIS_STATUS_H */
diff --git a/external/zydis/include/Zydis/Utils.h b/external/zydis/include/Zydis/Utils.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Utils.h
@@ -0,0 +1,269 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Other utility functions.
+ */
+
+#ifndef ZYDIS_UTILS_H
+#define ZYDIS_UTILS_H
+
+#include <Zycore/Defines.h>
+#include <Zydis/DecoderTypes.h>
+#include <Zydis/Status.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Macros                                                                                         */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Constants                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+#define ZYDIS_MAX_INSTRUCTION_SEGMENT_COUNT 9
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/**
+ * Defines the `ZydisInstructionSegment` struct.
+ */
+typedef enum ZydisInstructionSegment_
+{
+    ZYDIS_INSTR_SEGMENT_NONE,
+    /**
+     * The legacy prefixes (including ignored `REX` prefixes).
+     */
+    ZYDIS_INSTR_SEGMENT_PREFIXES,
+    /**
+     * The effective `REX` prefix byte.
+     */
+    ZYDIS_INSTR_SEGMENT_REX,
+    /**
+     * The `XOP` prefix bytes.
+     */
+    ZYDIS_INSTR_SEGMENT_XOP,
+    /**
+     * The `VEX` prefix bytes.
+     */
+    ZYDIS_INSTR_SEGMENT_VEX,
+    /**
+     * The `EVEX` prefix bytes.
+     */
+    ZYDIS_INSTR_SEGMENT_EVEX,
+    /**
+     * The `MVEX` prefix bytes.
+     */
+    ZYDIS_INSTR_SEGMENT_MVEX,
+    /**
+     * The opcode bytes.
+     */
+    ZYDIS_INSTR_SEGMENT_OPCODE,
+    /**
+     * The `ModRM` byte.
+     */
+    ZYDIS_INSTR_SEGMENT_MODRM,
+    /**
+     * The `SIB` byte.
+     */
+    ZYDIS_INSTR_SEGMENT_SIB,
+    /**
+     * The displacement bytes.
+     */
+    ZYDIS_INSTR_SEGMENT_DISPLACEMENT,
+    /**
+     * The immediate bytes.
+     */
+    ZYDIS_INSTR_SEGMENT_IMMEDIATE,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_INSTR_SEGMENT_MAX_VALUE = ZYDIS_INSTR_SEGMENT_IMMEDIATE,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_INSTR_SEGMENT_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_INSTR_SEGMENT_MAX_VALUE)
+} ZydisInstructionSegment;
+
+/**
+ * Defines the `ZydisInstructionSegments` struct.
+ */
+typedef struct ZydisInstructionSegments_
+{
+    /**
+     * The number of logical instruction segments.
+     */
+    ZyanU8 count;
+    struct
+    {
+        /**
+         * The type of the segment.
+         */
+        ZydisInstructionSegment type;
+        /**
+         * The offset of the segment relative to the start of the instruction (in bytes).
+         */
+        ZyanU8 offset;
+        /**
+         * The size of the segment, in bytes.
+         */
+        ZyanU8 size;
+    } segments[ZYDIS_MAX_INSTRUCTION_SEGMENT_COUNT];
+} ZydisInstructionSegments;
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/**
+ * @addtogroup utils Utils
+ * Miscellaneous utility functions. Address translation and other helpers.
+ * @{
+ */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Address calculation                                                                            */
+/* ---------------------------------------------------------------------------------------------- */
+
+// TODO: Provide a function that works in minimal-mode and does not require a operand parameter
+
+/**
+ * Calculates the absolute address value for the given instruction operand.
+ *
+ * @param   instruction     A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   operand         A pointer to the `ZydisDecodedOperand` struct.
+ * @param   runtime_address The runtime address of the instruction.
+ * @param   result_address  A pointer to the memory that receives the absolute address.
+ *
+ * @return  A zyan status code.
+ *
+ * You should use this function in the following cases:
+ * - `IMM` operands with relative address (e.g. `JMP`, `CALL`, ...)
+ * - `MEM` operands with `RIP`/`EIP`-relative address (e.g. `MOV RAX, [RIP+0x12345678]`)
+ * - `MEM` operands with absolute address (e.g. `MOV RAX, [0x12345678]`)
+ *   - The displacement needs to get truncated and zero extended
+ */
+ZYDIS_EXPORT ZyanStatus ZydisCalcAbsoluteAddress(const ZydisDecodedInstruction* instruction,
+    const ZydisDecodedOperand* operand, ZyanU64 runtime_address, ZyanU64* result_address);
+
+/**
+ * Calculates the absolute address value for the given instruction operand.
+ *
+ * @param   instruction         A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   operand             A pointer to the `ZydisDecodedOperand` struct.
+ * @param   runtime_address     The runtime address of the instruction.
+ * @param   register_context    A pointer to the `ZydisRegisterContext` struct.
+ * @param   result_address      A pointer to the memory that receives the absolute target-address.
+ *
+ * @return  A zyan status code.
+ *
+ * This function behaves like `ZydisCalcAbsoluteAddress` but takes an additional register-context
+ * argument to allow calculation of addresses depending on runtime register values.
+ *
+ * Note that `IP/EIP/RIP` from the register-context will be ignored in favor of the passed
+ * runtime-address.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisCalcAbsoluteAddressEx(const ZydisDecodedInstruction* instruction,
+    const ZydisDecodedOperand* operand, ZyanU64 runtime_address,
+    const ZydisRegisterContext* register_context, ZyanU64* result_address);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Accessed CPU flags                                                                             */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns a mask of accessed CPU-flags matching the given `action`.
+ *
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   action      The CPU-flag action.
+ * @param   flags       Receives the flag mask.
+ *
+ * @return  A zyan status code.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisGetAccessedFlagsByAction(const ZydisDecodedInstruction* instruction,
+    ZydisCPUFlagAction action, ZydisCPUFlags* flags);
+
+/**
+ * Returns a mask of accessed CPU-flags that are read (tested) by the current instruction.
+ *
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   flags       Receives the flag mask.
+ *
+ * @return  A zyan status code.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisGetAccessedFlagsRead(const ZydisDecodedInstruction* instruction,
+    ZydisCPUFlags* flags);
+
+/**
+ * Returns a mask of accessed CPU-flags that are written (modified, undefined)
+ * by the current instruction.
+ *
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   flags       Receives the flag mask.
+ *
+ * @return  A zyan status code.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisGetAccessedFlagsWritten(const ZydisDecodedInstruction* instruction,
+    ZydisCPUFlags* flags);
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Instruction segments                                                                           */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Returns offsets and sizes of all logical instruction segments (e.g. `OPCODE`,
+ * `MODRM`, ...).
+ *
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   segments    Receives the instruction segments information.
+ *
+ * @return  A zyan status code.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisGetInstructionSegments(const ZydisDecodedInstruction* instruction,
+    ZydisInstructionSegments* segments);
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * @}
+ */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYDIS_UTILS_H */
diff --git a/external/zydis/include/Zydis/Zydis.h b/external/zydis/include/Zydis/Zydis.h
new file mode 100644
--- /dev/null
+++ b/external/zydis/include/Zydis/Zydis.h
@@ -0,0 +1,169 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+/**
+ * @file
+ * Master include file, including everything else.
+ */
+
+#ifndef ZYDIS_H
+#define ZYDIS_H
+
+#include <Zycore/Defines.h>
+#include <Zycore/Types.h>
+
+#ifndef ZYDIS_DISABLE_DECODER
+#   include <Zydis/Decoder.h>
+#   include <Zydis/DecoderTypes.h>
+#endif
+
+#ifndef ZYDIS_DISABLE_FORMATTER
+#   include <Zydis/Formatter.h>
+#endif
+
+#include <Zydis/MetaInfo.h>
+#include <Zydis/Mnemonic.h>
+#include <Zydis/Register.h>
+#include <Zydis/SharedTypes.h>
+#include <Zydis/Status.h>
+#include <Zydis/Utils.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* ============================================================================================== */
+/* Macros                                                                                         */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Constants                                                                                      */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * A macro that defines the zydis version.
+ */
+#define ZYDIS_VERSION (ZyanU64)0x0003000100000000
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Helper macros                                                                                  */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Extracts the major-part of the zydis version.
+ *
+ * @param   version The zydis version value
+ */
+#define ZYDIS_VERSION_MAJOR(version) (ZyanU16)(((version) & 0xFFFF000000000000) >> 48)
+
+/**
+ * Extracts the minor-part of the zydis version.
+ *
+ * @param   version The zydis version value
+ */
+#define ZYDIS_VERSION_MINOR(version) (ZyanU16)(((version) & 0x0000FFFF00000000) >> 32)
+
+/**
+ * Extracts the patch-part of the zydis version.
+ *
+ * @param   version The zydis version value
+ */
+#define ZYDIS_VERSION_PATCH(version) (ZyanU16)(((version) & 0x00000000FFFF0000) >> 16)
+
+/**
+ * Extracts the build-part of the zydis version.
+ *
+ * @param   version The zydis version value
+ */
+#define ZYDIS_VERSION_BUILD(version) (ZyanU16)((version) & 0x000000000000FFFF)
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Enums and types                                                                                */
+/* ============================================================================================== */
+
+/**
+ * Defines the `ZydisFeature` enum.
+ */
+typedef enum ZydisFeature_
+{
+    ZYDIS_FEATURE_DECODER,
+    ZYDIS_FEATURE_FORMATTER,
+    ZYDIS_FEATURE_AVX512,
+    ZYDIS_FEATURE_KNC,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_FEATURE_MAX_VALUE = ZYDIS_FEATURE_KNC,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_FEATURE_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_FEATURE_MAX_VALUE)
+} ZydisFeature;
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/**
+ * @addtogroup version Version
+ * Functions for checking the library version and build options.
+ * @{
+ */
+
+/**
+ * Returns the zydis version.
+ *
+ * @return  The zydis version.
+ *
+ * Use the macros provided in this file to extract the major, minor, patch and build part from the
+ * returned version value.
+ */
+ZYDIS_EXPORT ZyanU64 ZydisGetVersion(void);
+
+/**
+ * Checks, if the specified feature is enabled in the current zydis library instance.
+ *
+ * @param   feature The feature.
+ *
+ * @return  `ZYAN_STATUS_TRUE` if the feature is enabled, `ZYAN_STATUS_FALSE` if not. Another
+ *          zyan status code, if an error occured.
+ */
+ZYDIS_EXPORT ZyanStatus ZydisIsFeatureEnabled(ZydisFeature feature);
+
+/**
+ * @}
+ */
+
+/* ============================================================================================== */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ZYDIS_H */
diff --git a/external/zydis/src/Decoder.c b/external/zydis/src/Decoder.c
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Decoder.c
@@ -0,0 +1,4928 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#include <Zycore/LibC.h>
+#include <Zydis/Decoder.h>
+#include <Zydis/Status.h>
+#include <Zydis/Internal/DecoderData.h>
+#include <Zydis/Internal/SharedData.h>
+
+/* ============================================================================================== */
+/* Internal enums and types                                                                       */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Decoder context                                                                                */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisDecoderContext` struct.
+ */
+typedef struct ZydisDecoderContext_
+{
+    /**
+     * A pointer to the `ZydisDecoder` instance.
+     */
+    const ZydisDecoder* decoder;
+    /**
+     * The input buffer.
+     */
+    const ZyanU8* buffer;
+    /**
+     * The input buffer length.
+     */
+    ZyanUSize buffer_len;
+    struct
+    {
+        /**
+         * Signals, if the instruction has a `LOCK` prefix (`F0`).
+         *
+         * This prefix originally belongs to group 1, but separating it from the other ones makes
+         * parsing easier for us later.
+         */
+        ZyanBool has_lock;
+        /**
+         * The effective prefix of group 1 (either `F2` or `F3`).
+         */
+        ZyanU8 group1;
+        /**
+         * The effective prefix of group 3 (`2E`,`36`, `3E`, `26`, `64` or `65`).
+         */
+        ZyanU8 group2;
+        /**
+         * Signals, if the instruction has an operand-size override prefix (`66`).
+         *
+         * This is the only prefix in group 3.
+         */
+        // ZyanBool has_osz_override;
+        /**
+         * Signals, if the instruction has an address-size override prefix (`67`).
+         *
+         * This is the only prefix in group 4.
+         */
+        // ZyanBool has_asz_override;
+        /**
+         * The effective segment prefix.
+         */
+        ZyanU8 effective_segment;
+        /**
+         * The prefix that should be treated as the mandatory-prefix, if the
+         * current instruction needs one.
+         *
+         * The last `F3`/`F2` prefix has precedence over previous ones and
+         * `F3`/`F2` in general have precedence over `66`.
+         */
+        ZyanU8 mandatory_candidate;
+        /**
+         * The offset of the effective `LOCK` prefix.
+         */
+        ZyanU8 offset_lock;
+        /**
+         * The offset of the effective prefix in group 1.
+         */
+        ZyanU8 offset_group1;
+        /**
+         * The offset of the effective prefix in group 2.
+         */
+        ZyanU8 offset_group2;
+        /**
+         * The offset of the operand-size override prefix (`66`).
+         *
+         * This is the only prefix in group 3.
+         */
+        ZyanU8 offset_osz_override;
+        /**
+         * The offset of the address-size override prefix (`67`).
+         *
+         * This is the only prefix in group 4.
+         */
+        ZyanU8 offset_asz_override;
+        /**
+         * The offset of the effective segment prefix.
+         */
+        ZyanU8 offset_segment;
+        /**
+         * The offset of the mandatory-candidate prefix.
+         */
+        ZyanU8 offset_mandatory;
+    } prefixes;
+    /**
+     * Contains the effective operand-size index.
+     *
+     * 0 = 16 bit, 1 = 32 bit, 2 = 64 bit
+     */
+    ZyanU8 eosz_index;
+    /**
+     * Contains the effective address-size index.
+     *
+     * 0 = 16 bit, 1 = 32 bit, 2 = 64 bit
+     */
+    ZyanU8 easz_index;
+    /**
+     * Contains some cached REX/XOP/VEX/EVEX/MVEX values to provide uniform access.
+     */
+    struct
+    {
+        ZyanU8 W;
+        ZyanU8 R;
+        ZyanU8 X;
+        ZyanU8 B;
+        ZyanU8 L;
+        ZyanU8 LL;
+        ZyanU8 R2;
+        ZyanU8 V2;
+        ZyanU8 v_vvvv;
+        ZyanU8 mask;
+    } cache;
+#ifndef ZYDIS_DISABLE_AVX512
+    /**
+     * Internal EVEX-specific information.
+     */
+    struct
+    {
+        /**
+         * The EVEX tuple-type.
+         */
+        ZydisEVEXTupleType tuple_type;
+        /**
+         * The EVEX element-size.
+         */
+        ZyanU8 element_size;
+    } evex;
+#endif
+#ifndef ZYDIS_DISABLE_KNC
+    /**
+     * Internal MVEX-specific information.
+     */
+    struct
+    {
+        /**
+         * The MVEX functionality.
+         */
+        ZydisMVEXFunctionality functionality;
+    } mvex;
+#endif
+#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC)
+    /**
+     * The scale factor for EVEX/MVEX compressed 8-bit displacement values.
+     */
+    ZyanU8 cd8_scale;
+#endif
+} ZydisDecoderContext;
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Register encoding                                                                              */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Defines the `ZydisRegisterEncoding` enum.
+ */
+typedef enum ZydisRegisterEncoding_
+{
+    ZYDIS_REG_ENCODING_INVALID,
+    /**
+     * The register-id is encoded as part of the opcode.
+     *
+     * Possible extension by `REX/XOP/VEX/EVEX/MVEX.B`.
+     */
+    ZYDIS_REG_ENCODING_OPCODE,
+    /**
+     * The register-id is encoded in `modrm.reg`.
+     *
+     * Possible extension by `EVEX/MVEX.R'` (vector only) and `REX/XOP/VEX/EVEX/MVEX.R`.
+     */
+    ZYDIS_REG_ENCODING_REG,
+    /**
+     * The register-id is encoded in `XOP/VEX/EVEX/MVEX.vvvv`.
+     *
+     * Possible extension by `EVEX/MVEX.v'` (vector only).
+     */
+    ZYDIS_REG_ENCODING_NDSNDD,
+    /**
+     * The register-id is encoded in `modrm.rm`.
+     *
+     * Possible extension by `EVEX/MVEX.X` (vector only) and `REX/XOP/VEX/EVEX/MVEX.B`.
+     */
+    ZYDIS_REG_ENCODING_RM,
+    /**
+     * The register-id is encoded in `modrm.rm` or `sib.base` (if SIB is present).
+     *
+     * Possible extension by `REX/XOP/VEX/EVEX/MVEX.B`.
+     */
+    ZYDIS_REG_ENCODING_BASE,
+    /**
+     * The register-id is encoded in `sib.index`.
+     *
+     * Possible extension by `REX/XOP/VEX/EVEX/MVEX.X`.
+     */
+    ZYDIS_REG_ENCODING_INDEX,
+    /**
+     * The register-id is encoded in `sib.index`.
+     *
+     * Possible extension by `EVEX/MVEX.V'` (vector only) and `REX/XOP/VEX/EVEX/MVEX.X`.
+     */
+    ZYDIS_REG_ENCODING_VIDX,
+    /**
+     * The register-id is encoded in an additional 8-bit immediate value.
+     *
+     * Bits [7:4] in 64-bit mode with possible extension by bit [3] (vector only), bits [7:5] for
+     * all other modes.
+     */
+    ZYDIS_REG_ENCODING_IS4,
+    /**
+     * The register-id is encoded in `EVEX.aaa/MVEX.kkk`.
+     */
+    ZYDIS_REG_ENCODING_MASK,
+
+    /**
+     * Maximum value of this enum.
+     */
+    ZYDIS_REG_ENCODING_MAX_VALUE = ZYDIS_REG_ENCODING_MASK,
+    /**
+     * The minimum number of bits required to represent all values of this enum.
+     */
+    ZYDIS_REG_ENCODING_REQUIRED_BITS = ZYAN_BITS_TO_REPRESENT(ZYDIS_REG_ENCODING_MAX_VALUE)
+} ZydisRegisterEncoding;
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Internal functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Input helper functions                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Reads one byte from the current read-position of the input data-source.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` instance.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   value       A pointer to the memory that receives the byte from the input data-source.
+ *
+ * @return  A zyan status code.
+ *
+ * This function may fail, if the `ZYDIS_MAX_INSTRUCTION_LENGTH` limit got exceeded, or no more
+ * data is available.
+ */
+static ZyanStatus ZydisInputPeek(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU8* value)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(value);
+
+    if (instruction->length >= ZYDIS_MAX_INSTRUCTION_LENGTH)
+    {
+        return ZYDIS_STATUS_INSTRUCTION_TOO_LONG;
+    }
+
+    if (context->buffer_len > 0)
+    {
+        *value = context->buffer[0];
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    return ZYDIS_STATUS_NO_MORE_DATA;
+}
+
+/**
+ * Increases the read-position of the input data-source by one byte.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` instance
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ *
+ * This function is supposed to get called ONLY after a successful call of `ZydisInputPeek`.
+ *
+ * This function increases the `length` field of the `ZydisDecodedInstruction` struct by one.
+ */
+static void ZydisInputSkip(ZydisDecoderContext* context, ZydisDecodedInstruction* instruction)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(instruction->length < ZYDIS_MAX_INSTRUCTION_LENGTH);
+
+    ++instruction->length;
+    ++context->buffer;
+    --context->buffer_len;
+}
+
+/**
+ * Reads one byte from the current read-position of the input data-source and increases
+ *          the read-position by one byte afterwards.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` instance.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   value       A pointer to the memory that receives the byte from the input data-source.
+ *
+ * @return  A zyan status code.
+ *
+ * This function acts like a subsequent call of `ZydisInputPeek` and `ZydisInputSkip`.
+ */
+static ZyanStatus ZydisInputNext(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU8* value)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(value);
+
+    if (instruction->length >= ZYDIS_MAX_INSTRUCTION_LENGTH)
+    {
+        return ZYDIS_STATUS_INSTRUCTION_TOO_LONG;
+    }
+
+    if (context->buffer_len > 0)
+    {
+        *value = context->buffer++[0];
+        ++instruction->length;
+        --context->buffer_len;
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    return ZYDIS_STATUS_NO_MORE_DATA;
+}
+
+/**
+ * Reads a variable amount of bytes from the current read-position of the input
+ *          data-source and increases the read-position by specified amount of bytes afterwards.
+ *
+ * @param   context         A pointer to the `ZydisDecoderContext` instance.
+ * @param   instruction     A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   value           A pointer to the memory that receives the byte from the input
+ *                          data-source.
+ * @param   number_of_bytes The number of bytes to read from the input data-source.
+ *
+ * @return  A zyan status code.
+ *
+ * This function acts like a subsequent call of `ZydisInputPeek` and `ZydisInputSkip`.
+ */
+static ZyanStatus ZydisInputNextBytes(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU8* value, ZyanU8 number_of_bytes)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(value);
+
+    if (instruction->length + number_of_bytes > ZYDIS_MAX_INSTRUCTION_LENGTH)
+    {
+        return ZYDIS_STATUS_INSTRUCTION_TOO_LONG;
+    }
+
+    if (context->buffer_len >= number_of_bytes)
+    {
+        instruction->length += number_of_bytes;
+
+        ZYAN_MEMCPY(value, context->buffer, number_of_bytes);
+        context->buffer += number_of_bytes;
+        context->buffer_len -= number_of_bytes;
+
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    return ZYDIS_STATUS_NO_MORE_DATA;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Decode functions                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Decodes the `REX`-prefix.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` struct.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   data        The `REX` byte.
+ */
+static void ZydisDecodeREX(ZydisDecoderContext* context, ZydisDecodedInstruction* instruction,
+    ZyanU8 data)
+{
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT((data & 0xF0) == 0x40);
+
+    instruction->attributes |= ZYDIS_ATTRIB_HAS_REX;
+    instruction->raw.rex.W       = (data >> 3) & 0x01;
+    instruction->raw.rex.R       = (data >> 2) & 0x01;
+    instruction->raw.rex.X       = (data >> 1) & 0x01;
+    instruction->raw.rex.B       = (data >> 0) & 0x01;
+
+    // Update internal fields
+    context->cache.W = instruction->raw.rex.W;
+    context->cache.R = instruction->raw.rex.R;
+    context->cache.X = instruction->raw.rex.X;
+    context->cache.B = instruction->raw.rex.B;
+}
+
+/**
+ * Decodes the `XOP`-prefix.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` struct.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   data        The `XOP` bytes.
+ *
+ * @return  A zyan status code.
+ */
+static ZyanStatus ZydisDecodeXOP(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, const ZyanU8 data[3])
+{
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(data[0] == 0x8F);
+    ZYAN_ASSERT(((data[1] >> 0) & 0x1F) >= 8);
+    ZYAN_ASSERT(instruction->raw.xop.offset == instruction->length - 3);
+
+    instruction->attributes |= ZYDIS_ATTRIB_HAS_XOP;
+    instruction->raw.xop.R       = (data[1] >> 7) & 0x01;
+    instruction->raw.xop.X       = (data[1] >> 6) & 0x01;
+    instruction->raw.xop.B       = (data[1] >> 5) & 0x01;
+    instruction->raw.xop.m_mmmm  = (data[1] >> 0) & 0x1F;
+
+    if ((instruction->raw.xop.m_mmmm < 0x08) || (instruction->raw.xop.m_mmmm > 0x0A))
+    {
+        // Invalid according to the AMD documentation
+        return ZYDIS_STATUS_INVALID_MAP;
+    }
+
+    instruction->raw.xop.W    = (data[2] >> 7) & 0x01;
+    instruction->raw.xop.vvvv = (data[2] >> 3) & 0x0F;
+    instruction->raw.xop.L    = (data[2] >> 2) & 0x01;
+    instruction->raw.xop.pp   = (data[2] >> 0) & 0x03;
+
+    // Update internal fields
+    context->cache.W = instruction->raw.xop.W;
+    context->cache.R = 0x01 & ~instruction->raw.xop.R;
+    context->cache.X = 0x01 & ~instruction->raw.xop.X;
+    context->cache.B = 0x01 & ~instruction->raw.xop.B;
+    context->cache.L = instruction->raw.xop.L;
+    context->cache.LL = instruction->raw.xop.L;
+    context->cache.v_vvvv = (0x0F & ~instruction->raw.xop.vvvv);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/**
+ * Decodes the `VEX`-prefix.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` struct.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   data        The `VEX` bytes.
+ *
+ * @return  A zyan status code.
+ */
+static ZyanStatus ZydisDecodeVEX(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, const ZyanU8 data[3])
+{
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT((data[0] == 0xC4) || (data[0] == 0xC5));
+
+    instruction->attributes |= ZYDIS_ATTRIB_HAS_VEX;
+    switch (data[0])
+    {
+    case 0xC4:
+        ZYAN_ASSERT(instruction->raw.vex.offset == instruction->length - 3);
+        instruction->raw.vex.size    = 3;
+        instruction->raw.vex.R       = (data[1] >> 7) & 0x01;
+        instruction->raw.vex.X       = (data[1] >> 6) & 0x01;
+        instruction->raw.vex.B       = (data[1] >> 5) & 0x01;
+        instruction->raw.vex.m_mmmm  = (data[1] >> 0) & 0x1F;
+        instruction->raw.vex.W       = (data[2] >> 7) & 0x01;
+        instruction->raw.vex.vvvv    = (data[2] >> 3) & 0x0F;
+        instruction->raw.vex.L       = (data[2] >> 2) & 0x01;
+        instruction->raw.vex.pp      = (data[2] >> 0) & 0x03;
+        break;
+    case 0xC5:
+        ZYAN_ASSERT(instruction->raw.vex.offset == instruction->length - 2);
+        instruction->raw.vex.size    = 2;
+        instruction->raw.vex.R       = (data[1] >> 7) & 0x01;
+        instruction->raw.vex.X       = 1;
+        instruction->raw.vex.B       = 1;
+        instruction->raw.vex.m_mmmm  = 1;
+        instruction->raw.vex.W       = 0;
+        instruction->raw.vex.vvvv    = (data[1] >> 3) & 0x0F;
+        instruction->raw.vex.L       = (data[1] >> 2) & 0x01;
+        instruction->raw.vex.pp      = (data[1] >> 0) & 0x03;
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+
+    // Map 0 is only valid for some KNC instructions
+#ifdef ZYDIS_DISABLE_KNC
+    if ((instruction->raw.vex.m_mmmm == 0) || (instruction->raw.vex.m_mmmm > 0x03))
+#else
+    if (instruction->raw.vex.m_mmmm > 0x03)
+#endif
+    {
+        // Invalid according to the intel documentation
+        return ZYDIS_STATUS_INVALID_MAP;
+    }
+
+    // Update internal fields
+    context->cache.W = instruction->raw.vex.W;
+    context->cache.R = 0x01 & ~instruction->raw.vex.R;
+    context->cache.X = 0x01 & ~instruction->raw.vex.X;
+    context->cache.B = 0x01 & ~instruction->raw.vex.B;
+    context->cache.L = instruction->raw.vex.L;
+    context->cache.LL = instruction->raw.vex.L;
+    context->cache.v_vvvv = (0x0F & ~instruction->raw.vex.vvvv);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+#ifndef ZYDIS_DISABLE_AVX512
+/**
+ * Decodes the `EVEX`-prefix.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` struct.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   data        The `EVEX` bytes.
+ *
+ * @return  A zyan status code.
+ */
+static ZyanStatus ZydisDecodeEVEX(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, const ZyanU8 data[4])
+{
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(data[0] == 0x62);
+    ZYAN_ASSERT(instruction->raw.evex.offset == instruction->length - 4);
+
+    instruction->attributes |= ZYDIS_ATTRIB_HAS_EVEX;
+    instruction->raw.evex.R         = (data[1] >> 7) & 0x01;
+    instruction->raw.evex.X         = (data[1] >> 6) & 0x01;
+    instruction->raw.evex.B         = (data[1] >> 5) & 0x01;
+    instruction->raw.evex.R2        = (data[1] >> 4) & 0x01;
+
+    if (((data[1] >> 2) & 0x03) != 0x00)
+    {
+        // Invalid according to the intel documentation
+        return ZYDIS_STATUS_MALFORMED_EVEX;
+    }
+
+    instruction->raw.evex.mm        = (data[1] >> 0) & 0x03;
+
+    if (instruction->raw.evex.mm == 0x00)
+    {
+        // Invalid according to the intel documentation
+        return ZYDIS_STATUS_INVALID_MAP;
+    }
+
+    instruction->raw.evex.W         = (data[2] >> 7) & 0x01;
+    instruction->raw.evex.vvvv      = (data[2] >> 3) & 0x0F;
+
+    ZYAN_ASSERT(((data[2] >> 2) & 0x01) == 0x01);
+
+    instruction->raw.evex.pp        = (data[2] >> 0) & 0x03;
+    instruction->raw.evex.z         = (data[3] >> 7) & 0x01;
+    instruction->raw.evex.L2        = (data[3] >> 6) & 0x01;
+    instruction->raw.evex.L         = (data[3] >> 5) & 0x01;
+    instruction->raw.evex.b         = (data[3] >> 4) & 0x01;
+    instruction->raw.evex.V2        = (data[3] >> 3) & 0x01;
+
+    if (!instruction->raw.evex.V2 &&
+        (context->decoder->machine_mode != ZYDIS_MACHINE_MODE_LONG_64))
+    {
+        return ZYDIS_STATUS_MALFORMED_EVEX;
+    }
+
+    instruction->raw.evex.aaa       = (data[3] >> 0) & 0x07;
+
+    if (instruction->raw.evex.z && !instruction->raw.evex.aaa)
+    {
+        return ZYDIS_STATUS_INVALID_MASK; // TODO: Dedicated status code
+    }
+
+    // Update internal fields
+    context->cache.W = instruction->raw.evex.W;
+    context->cache.R = 0x01 & ~instruction->raw.evex.R;
+    context->cache.X = 0x01 & ~instruction->raw.evex.X;
+    context->cache.B = 0x01 & ~instruction->raw.evex.B;
+    context->cache.LL = (data[3] >> 5) & 0x03;
+    context->cache.R2 = 0x01 & ~instruction->raw.evex.R2;
+    context->cache.V2 = 0x01 & ~instruction->raw.evex.V2;
+    context->cache.v_vvvv =
+        ((0x01 & ~instruction->raw.evex.V2) << 4) | (0x0F & ~instruction->raw.evex.vvvv);
+    context->cache.mask = instruction->raw.evex.aaa;
+
+    if (!instruction->raw.evex.V2 && (context->decoder->machine_mode != ZYDIS_MACHINE_MODE_LONG_64))
+    {
+        return ZYDIS_STATUS_MALFORMED_EVEX;
+    }
+    if (!instruction->raw.evex.b && (context->cache.LL == 3))
+    {
+        // LL = 3 is only valid for instructions with embedded rounding control
+        return ZYDIS_STATUS_MALFORMED_EVEX;
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+#endif
+
+#ifndef ZYDIS_DISABLE_KNC
+/**
+ * Decodes the `MVEX`-prefix.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` struct.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   data        The `MVEX` bytes.
+ *
+ * @return  A zyan status code.
+ */
+static ZyanStatus ZydisDecodeMVEX(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, const ZyanU8 data[4])
+{
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(data[0] == 0x62);
+    ZYAN_ASSERT(instruction->raw.mvex.offset == instruction->length - 4);
+
+    instruction->attributes |= ZYDIS_ATTRIB_HAS_MVEX;
+    instruction->raw.mvex.R       = (data[1] >> 7) & 0x01;
+    instruction->raw.mvex.X       = (data[1] >> 6) & 0x01;
+    instruction->raw.mvex.B       = (data[1] >> 5) & 0x01;
+    instruction->raw.mvex.R2      = (data[1] >> 4) & 0x01;
+    instruction->raw.mvex.mmmm    = (data[1] >> 0) & 0x0F;
+
+    if (instruction->raw.mvex.mmmm > 0x03)
+    {
+        // Invalid according to the intel documentation
+        return ZYDIS_STATUS_INVALID_MAP;
+    }
+
+    instruction->raw.mvex.W       = (data[2] >> 7) & 0x01;
+    instruction->raw.mvex.vvvv    = (data[2] >> 3) & 0x0F;
+
+    ZYAN_ASSERT(((data[2] >> 2) & 0x01) == 0x00);
+
+    instruction->raw.mvex.pp      = (data[2] >> 0) & 0x03;
+    instruction->raw.mvex.E       = (data[3] >> 7) & 0x01;
+    instruction->raw.mvex.SSS     = (data[3] >> 4) & 0x07;
+    instruction->raw.mvex.V2      = (data[3] >> 3) & 0x01;
+    instruction->raw.mvex.kkk     = (data[3] >> 0) & 0x07;
+
+    // Update internal fields
+    context->cache.W = instruction->raw.mvex.W;
+    context->cache.R = 0x01 & ~instruction->raw.mvex.R;
+    context->cache.X = 0x01 & ~instruction->raw.mvex.X;
+    context->cache.B = 0x01 & ~instruction->raw.mvex.B;
+    context->cache.R2 = 0x01 & ~instruction->raw.mvex.R2;
+    context->cache.V2 = 0x01 & ~instruction->raw.mvex.V2;
+    context->cache.LL = 2;
+    context->cache.v_vvvv =
+        ((0x01 & ~instruction->raw.mvex.V2) << 4) | (0x0F & ~instruction->raw.mvex.vvvv);
+    context->cache.mask = instruction->raw.mvex.kkk;
+
+    return ZYAN_STATUS_SUCCESS;
+}
+#endif
+
+/**
+ * Decodes the `ModRM`-byte.
+ *
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   data        The `ModRM` byte.
+ */
+static void ZydisDecodeModRM(ZydisDecodedInstruction* instruction, ZyanU8 data)
+{
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(!(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM));
+    ZYAN_ASSERT(instruction->raw.modrm.offset == instruction->length - 1);
+
+    instruction->attributes |= ZYDIS_ATTRIB_HAS_MODRM;
+    instruction->raw.modrm.mod     = (data >> 6) & 0x03;
+    instruction->raw.modrm.reg     = (data >> 3) & 0x07;
+    instruction->raw.modrm.rm      = (data >> 0) & 0x07;
+}
+
+/**
+ * Decodes the `SIB`-byte.
+ *
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct
+ * @param   data        The `SIB` byte.
+ */
+static void ZydisDecodeSIB(ZydisDecodedInstruction* instruction, ZyanU8 data)
+{
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM);
+    ZYAN_ASSERT(instruction->raw.modrm.rm == 4);
+    ZYAN_ASSERT(!(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB));
+    ZYAN_ASSERT(instruction->raw.sib.offset == instruction->length - 1);
+
+    instruction->attributes |= ZYDIS_ATTRIB_HAS_SIB;
+    instruction->raw.sib.scale   = (data >> 6) & 0x03;
+    instruction->raw.sib.index   = (data >> 3) & 0x07;
+    instruction->raw.sib.base    = (data >> 0) & 0x07;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Reads a displacement value.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` struct.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   size        The physical size of the displacement value.
+ *
+ * @return  A zyan status code.
+ */
+static ZyanStatus ZydisReadDisplacement(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU8 size)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(instruction->raw.disp.size == 0);
+
+    instruction->raw.disp.size = size;
+    instruction->raw.disp.offset = instruction->length;
+
+    switch (size)
+    {
+    case 8:
+    {
+        ZyanU8 value;
+        ZYAN_CHECK(ZydisInputNext(context, instruction, &value));
+        instruction->raw.disp.value = *(ZyanI8*)&value;
+        break;
+    }
+    case 16:
+    {
+        ZyanU16 value;
+        ZYAN_CHECK(ZydisInputNextBytes(context, instruction, (ZyanU8*)&value, 2));
+        instruction->raw.disp.value = *(ZyanI16*)&value;
+        break;
+    }
+    case 32:
+    {
+        ZyanU32 value;
+        ZYAN_CHECK(ZydisInputNextBytes(context, instruction, (ZyanU8*)&value, 4));
+        instruction->raw.disp.value = *(ZyanI32*)&value;
+        break;
+    }
+    case 64:
+    {
+        ZyanU64 value;
+        ZYAN_CHECK(ZydisInputNextBytes(context, instruction, (ZyanU8*)&value, 8));
+        instruction->raw.disp.value = *(ZyanI64*)&value;
+        break;
+    }
+    default:
+        ZYAN_UNREACHABLE;
+    }
+
+    // TODO: Fix endianess on big-endian systems
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/**
+ * Reads an immediate value.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` struct.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   id          The immediate id (either `0` or `1`).
+ * @param   size        The physical size of the immediate value.
+ * @param   is_signed   Signals, if the immediate value is signed.
+ * @param   is_relative Signals, if the immediate value is a relative offset.
+ *
+ * @return  A zyan status code.
+ */
+static ZyanStatus ZydisReadImmediate(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU8 id, ZyanU8 size, ZyanBool is_signed,
+    ZyanBool is_relative)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT((id == 0) || (id == 1));
+    ZYAN_ASSERT(is_signed || !is_relative);
+    ZYAN_ASSERT(instruction->raw.imm[id].size == 0);
+
+    instruction->raw.imm[id].size = size;
+    instruction->raw.imm[id].offset = instruction->length;
+    instruction->raw.imm[id].is_signed = is_signed;
+    instruction->raw.imm[id].is_relative = is_relative;
+    switch (size)
+    {
+    case 8:
+    {
+        ZyanU8 value;
+        ZYAN_CHECK(ZydisInputNext(context, instruction, &value));
+        if (is_signed)
+        {
+            instruction->raw.imm[id].value.s = (ZyanI8)value;
+        } else
+        {
+            instruction->raw.imm[id].value.u = value;
+        }
+        break;
+    }
+    case 16:
+    {
+        ZyanU16 value;
+        ZYAN_CHECK(ZydisInputNextBytes(context, instruction, (ZyanU8*)&value, 2));
+        if (is_signed)
+        {
+            instruction->raw.imm[id].value.s = (ZyanI16)value;
+        } else
+        {
+            instruction->raw.imm[id].value.u = value;
+        }
+        break;
+    }
+    case 32:
+    {
+        ZyanU32 value;
+        ZYAN_CHECK(ZydisInputNextBytes(context, instruction, (ZyanU8*)&value, 4));
+        if (is_signed)
+        {
+            instruction->raw.imm[id].value.s = (ZyanI32)value;
+        } else
+        {
+            instruction->raw.imm[id].value.u = value;
+        }
+        break;
+    }
+    case 64:
+    {
+        ZyanU64 value;
+        ZYAN_CHECK(ZydisInputNextBytes(context, instruction, (ZyanU8*)&value, 8));
+        if (is_signed)
+        {
+            instruction->raw.imm[id].value.s = (ZyanI64)value;
+        } else
+        {
+            instruction->raw.imm[id].value.u = value;
+        }
+        break;
+    }
+    default:
+        ZYAN_UNREACHABLE;
+    }
+
+    // TODO: Fix endianess on big-endian systems
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Semantical instruction decoding                                                                */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYDIS_MINIMAL_MODE
+/**
+ * Calculates the register-id for a specific register-encoding and register-class.
+ *
+ * @param   context         A pointer to the `ZydisDecoderContext` struct.
+ * @param   instruction     A pointer to the ` ZydisDecodedInstruction` struct.
+ * @param   encoding        The register-encoding.
+ * @param   register_class  The register-class.
+ *
+ * @return  A zyan status code.
+ *
+ * This function calculates the register-id by combining different fields and flags of previously
+ * decoded structs.
+ */
+static ZyanU8 ZydisCalcRegisterId(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZydisRegisterEncoding encoding,
+    ZydisRegisterClass register_class)
+{
+    switch (context->decoder->machine_mode)
+    {
+    case ZYDIS_MACHINE_MODE_LONG_COMPAT_16:
+    case ZYDIS_MACHINE_MODE_LEGACY_16:
+    case ZYDIS_MACHINE_MODE_REAL_16:
+    case ZYDIS_MACHINE_MODE_LONG_COMPAT_32:
+    case ZYDIS_MACHINE_MODE_LEGACY_32:
+        switch (encoding)
+        {
+        case ZYDIS_REG_ENCODING_OPCODE:
+        {
+            ZYAN_ASSERT((register_class == ZYDIS_REGCLASS_GPR8) ||
+                        (register_class == ZYDIS_REGCLASS_GPR16) ||
+                        (register_class == ZYDIS_REGCLASS_GPR32) ||
+                        (register_class == ZYDIS_REGCLASS_GPR64));
+            ZyanU8 value = (instruction->opcode & 0x0F);
+            if (value > 7)
+            {
+                value = value - 8;
+            }
+            return value;
+        }
+        case ZYDIS_REG_ENCODING_REG:
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM);
+            return instruction->raw.modrm.reg;
+        case ZYDIS_REG_ENCODING_NDSNDD:
+            return context->cache.v_vvvv & 0x07;
+        case ZYDIS_REG_ENCODING_RM:
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM);
+            return instruction->raw.modrm.rm;
+        case ZYDIS_REG_ENCODING_BASE:
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM);
+            ZYAN_ASSERT(instruction->raw.modrm.mod != 3);
+            if (instruction->raw.modrm.rm == 4)
+            {
+                ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB);
+                return instruction->raw.sib.base;
+            }
+            return instruction->raw.modrm.rm;
+        case ZYDIS_REG_ENCODING_INDEX:
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM);
+            ZYAN_ASSERT(instruction->raw.modrm.mod != 3);
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB);
+            return instruction->raw.sib.index;
+        case ZYDIS_REG_ENCODING_VIDX:
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM);
+            ZYAN_ASSERT(instruction->raw.modrm.mod != 3);
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB);
+            ZYAN_ASSERT((register_class == ZYDIS_REGCLASS_XMM) ||
+                        (register_class == ZYDIS_REGCLASS_YMM) ||
+                        (register_class == ZYDIS_REGCLASS_ZMM));
+            return instruction->raw.sib.index;
+        case ZYDIS_REG_ENCODING_IS4:
+            return (instruction->raw.imm[0].value.u >> 4) & 0x07;
+        case ZYDIS_REG_ENCODING_MASK:
+            return context->cache.mask;
+        default:
+            ZYAN_UNREACHABLE;
+        }
+    case ZYDIS_MACHINE_MODE_LONG_64:
+        switch (encoding)
+        {
+        case ZYDIS_REG_ENCODING_OPCODE:
+        {
+            ZYAN_ASSERT((register_class == ZYDIS_REGCLASS_GPR8) ||
+                        (register_class == ZYDIS_REGCLASS_GPR16) ||
+                        (register_class == ZYDIS_REGCLASS_GPR32) ||
+                        (register_class == ZYDIS_REGCLASS_GPR64));
+            ZyanU8 value = (instruction->opcode & 0x0F);
+            if (value > 7)
+            {
+                value = value - 8;
+            }
+            return value | (context->cache.B << 3);
+        }
+        case ZYDIS_REG_ENCODING_REG:
+        {
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM);
+            ZyanU8 value = instruction->raw.modrm.reg;
+            switch (register_class)
+            {
+            case ZYDIS_REGCLASS_GPR8:
+            case ZYDIS_REGCLASS_GPR16:
+            case ZYDIS_REGCLASS_GPR32:
+            case ZYDIS_REGCLASS_GPR64:
+            case ZYDIS_REGCLASS_XMM:
+            case ZYDIS_REGCLASS_YMM:
+            case ZYDIS_REGCLASS_ZMM:
+            case ZYDIS_REGCLASS_CONTROL:
+            case ZYDIS_REGCLASS_DEBUG:
+                value |= (context->cache.R << 3);
+                break;
+            default:
+                break;
+            }
+            // R' only exists for EVEX and MVEX. No encoding check needed
+            switch (register_class)
+            {
+            case ZYDIS_REGCLASS_XMM:
+            case ZYDIS_REGCLASS_YMM:
+            case ZYDIS_REGCLASS_ZMM:
+                value |= (context->cache.R2 << 4);
+                break;
+            default:
+                break;
+            }
+            return value;
+        }
+        case ZYDIS_REG_ENCODING_NDSNDD:
+            // v' only exists for EVEX and MVEX. No encoding check needed
+            switch (register_class)
+            {
+            case ZYDIS_REGCLASS_XMM:
+            case ZYDIS_REGCLASS_YMM:
+            case ZYDIS_REGCLASS_ZMM:
+                return context->cache.v_vvvv;
+            case ZYDIS_REGCLASS_MASK:
+                return context->cache.v_vvvv & 0x07;
+            default:
+                return context->cache.v_vvvv & 0x0F;
+            }
+        case ZYDIS_REG_ENCODING_RM:
+        {
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM);
+            ZyanU8 value = instruction->raw.modrm.rm;
+            switch (register_class)
+            {
+            case ZYDIS_REGCLASS_GPR8:
+            case ZYDIS_REGCLASS_GPR16:
+            case ZYDIS_REGCLASS_GPR32:
+            case ZYDIS_REGCLASS_GPR64:
+            case ZYDIS_REGCLASS_XMM:
+            case ZYDIS_REGCLASS_YMM:
+            case ZYDIS_REGCLASS_ZMM:
+            case ZYDIS_REGCLASS_CONTROL:
+            case ZYDIS_REGCLASS_DEBUG:
+                value |= (context->cache.B << 3);
+                break;
+            default:
+                break;
+            }
+            // We have to check the instruction-encoding, because the extension by X is only valid
+            // for EVEX and MVEX instructions
+            if ((instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) ||
+                (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX))
+            {
+                switch (register_class)
+                {
+                case ZYDIS_REGCLASS_XMM:
+                case ZYDIS_REGCLASS_YMM:
+                case ZYDIS_REGCLASS_ZMM:
+                    value |= (context->cache.X << 4);
+                    break;
+                default:
+                    break;
+                }
+            }
+            return value;
+        }
+        case ZYDIS_REG_ENCODING_BASE:
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM);
+            ZYAN_ASSERT(instruction->raw.modrm.mod != 3);
+            if (instruction->raw.modrm.rm == 4)
+            {
+                ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB);
+                return instruction->raw.sib.base | (context->cache.B << 3);
+            }
+            return instruction->raw.modrm.rm | (context->cache.B << 3);
+        case ZYDIS_REG_ENCODING_INDEX:
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM);
+            ZYAN_ASSERT(instruction->raw.modrm.mod != 3);
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB);
+            return instruction->raw.sib.index | (context->cache.X << 3);
+        case ZYDIS_REG_ENCODING_VIDX:
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM);
+            ZYAN_ASSERT(instruction->raw.modrm.mod != 3);
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB);
+            ZYAN_ASSERT((register_class == ZYDIS_REGCLASS_XMM) ||
+                        (register_class == ZYDIS_REGCLASS_YMM) ||
+                        (register_class == ZYDIS_REGCLASS_ZMM));
+            // v' only exists for EVEX and MVEX. No encoding check needed
+            return instruction->raw.sib.index | (context->cache.X << 3) |
+                (context->cache.V2 << 4);
+        case ZYDIS_REG_ENCODING_IS4:
+        {
+            ZyanU8 value = (instruction->raw.imm[0].value.u >> 4) & 0x0F;
+            // We have to check the instruction-encoding, because the extension by bit [3] is only
+            // valid for EVEX and MVEX instructions
+            if ((instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) ||
+                (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX))
+            {
+                switch (register_class)
+                {
+                case ZYDIS_REGCLASS_XMM:
+                case ZYDIS_REGCLASS_YMM:
+                case ZYDIS_REGCLASS_ZMM:
+                    value |= ((instruction->raw.imm[0].value.u & 0x08) << 1);
+                default:
+                    break;
+                }
+            }
+            return value;
+        }
+        case ZYDIS_REG_ENCODING_MASK:
+            return context->cache.mask;
+        default:
+            ZYAN_UNREACHABLE;
+        }
+    default:
+        ZYAN_UNREACHABLE;
+    }
+}
+#endif
+
+#ifndef ZYDIS_MINIMAL_MODE
+/**
+ * Sets the operand-size and element-specific information for the given operand.
+ *
+ * @param   context         A pointer to the `ZydisDecoderContext` instance.
+ * @param   instruction     A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   operand         A pointer to the `ZydisDecodedOperand` struct.
+ * @param   definition      A pointer to the `ZydisOperandDefinition` struct.
+ */
+static void ZydisSetOperandSizeAndElementInfo(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZydisDecodedOperand* operand,
+    const ZydisOperandDefinition* definition)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(operand);
+    ZYAN_ASSERT(definition);
+
+    // Operand size
+    switch (operand->type)
+    {
+    case ZYDIS_OPERAND_TYPE_REGISTER:
+    {
+        if (definition->size[context->eosz_index])
+        {
+            operand->size = definition->size[context->eosz_index] * 8;
+        } else
+        {
+            operand->size = ZydisRegisterGetWidth(context->decoder->machine_mode,
+                operand->reg.value);
+        }
+        operand->element_type = ZYDIS_ELEMENT_TYPE_INT;
+        operand->element_size = operand->size;
+        break;
+    }
+    case ZYDIS_OPERAND_TYPE_MEMORY:
+        switch (instruction->encoding)
+        {
+        case ZYDIS_INSTRUCTION_ENCODING_LEGACY:
+        case ZYDIS_INSTRUCTION_ENCODING_3DNOW:
+        case ZYDIS_INSTRUCTION_ENCODING_XOP:
+        case ZYDIS_INSTRUCTION_ENCODING_VEX:
+            if (operand->mem.type == ZYDIS_MEMOP_TYPE_AGEN)
+            {
+                ZYAN_ASSERT(definition->size[context->eosz_index] == 0);
+                operand->size = instruction->address_width;
+                operand->element_type = ZYDIS_ELEMENT_TYPE_INT;
+            } else
+            {
+                ZYAN_ASSERT(definition->size[context->eosz_index]);
+                operand->size = definition->size[context->eosz_index] * 8;
+            }
+            break;
+        case ZYDIS_INSTRUCTION_ENCODING_EVEX:
+#ifndef ZYDIS_DISABLE_AVX512
+            if (definition->size[context->eosz_index])
+            {
+                // Operand size is hardcoded
+                operand->size = definition->size[context->eosz_index] * 8;
+            } else
+            {
+                // Operand size depends on the tuple-type, the element-size and the number of
+                // elements
+                ZYAN_ASSERT(instruction->avx.vector_length);
+                ZYAN_ASSERT(context->evex.element_size);
+                switch (context->evex.tuple_type)
+                {
+                case ZYDIS_TUPLETYPE_FV:
+                    if (instruction->avx.broadcast.mode)
+                    {
+                        operand->size = context->evex.element_size;
+                    } else
+                    {
+                        operand->size = instruction->avx.vector_length;
+                    }
+                    break;
+                case ZYDIS_TUPLETYPE_HV:
+                    if (instruction->avx.broadcast.mode)
+                    {
+                        operand->size = context->evex.element_size;
+                    } else
+                    {
+                        operand->size = (ZyanU16)instruction->avx.vector_length / 2;
+                    }
+                    break;
+                default:
+                    ZYAN_UNREACHABLE;
+                }
+            }
+            ZYAN_ASSERT(operand->size);
+#else
+            ZYAN_UNREACHABLE;
+#endif
+            break;
+        case ZYDIS_INSTRUCTION_ENCODING_MVEX:
+#ifndef ZYDIS_DISABLE_KNC
+            if (definition->size[context->eosz_index])
+            {
+                // Operand size is hardcoded
+                operand->size = definition->size[context->eosz_index] * 8;
+            } else
+            {
+                ZYAN_ASSERT(definition->element_type == ZYDIS_IELEMENT_TYPE_VARIABLE);
+                ZYAN_ASSERT(instruction->avx.vector_length == 512);
+
+                switch (instruction->avx.conversion.mode)
+                {
+                case ZYDIS_CONVERSION_MODE_INVALID:
+                    operand->size = 512;
+                    switch (context->mvex.functionality)
+                    {
+                    case ZYDIS_MVEX_FUNC_SF_32:
+                    case ZYDIS_MVEX_FUNC_SF_32_BCST_4TO16:
+                    case ZYDIS_MVEX_FUNC_UF_32:
+                    case ZYDIS_MVEX_FUNC_DF_32:
+                        operand->element_type = ZYDIS_ELEMENT_TYPE_FLOAT32;
+                        operand->element_size = 32;
+                        break;
+                    case ZYDIS_MVEX_FUNC_SF_32_BCST:
+                        operand->size = 256;
+                        operand->element_type = ZYDIS_ELEMENT_TYPE_FLOAT32;
+                        operand->element_size = 32;
+                        break;
+                    case ZYDIS_MVEX_FUNC_SI_32:
+                    case ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16:
+                    case ZYDIS_MVEX_FUNC_UI_32:
+                    case ZYDIS_MVEX_FUNC_DI_32:
+                        operand->element_type = ZYDIS_ELEMENT_TYPE_INT;
+                        operand->element_size = 32;
+                        break;
+                    case ZYDIS_MVEX_FUNC_SI_32_BCST:
+                        operand->size = 256;
+                        operand->element_type = ZYDIS_ELEMENT_TYPE_INT;
+                        operand->element_size = 32;
+                        break;
+                    case ZYDIS_MVEX_FUNC_SF_64:
+                    case ZYDIS_MVEX_FUNC_UF_64:
+                    case ZYDIS_MVEX_FUNC_DF_64:
+                        operand->element_type = ZYDIS_ELEMENT_TYPE_FLOAT64;
+                        operand->element_size = 64;
+                        break;
+                    case ZYDIS_MVEX_FUNC_SI_64:
+                    case ZYDIS_MVEX_FUNC_UI_64:
+                    case ZYDIS_MVEX_FUNC_DI_64:
+                        operand->element_type = ZYDIS_ELEMENT_TYPE_INT;
+                        operand->element_size = 64;
+                        break;
+                    default:
+                        ZYAN_UNREACHABLE;
+                    }
+                    break;
+                case ZYDIS_CONVERSION_MODE_FLOAT16:
+                    operand->size = 256;
+                    operand->element_type = ZYDIS_ELEMENT_TYPE_FLOAT16;
+                    operand->element_size = 16;
+                    break;
+                case ZYDIS_CONVERSION_MODE_SINT16:
+                    operand->size = 256;
+                    operand->element_type = ZYDIS_ELEMENT_TYPE_INT;
+                    operand->element_size = 16;
+                    break;
+                case ZYDIS_CONVERSION_MODE_UINT16:
+                    operand->size = 256;
+                    operand->element_type = ZYDIS_ELEMENT_TYPE_UINT;
+                    operand->element_size = 16;
+                    break;
+                case ZYDIS_CONVERSION_MODE_SINT8:
+                    operand->size = 128;
+                    operand->element_type = ZYDIS_ELEMENT_TYPE_INT;
+                    operand->element_size = 8;
+                    break;
+                case ZYDIS_CONVERSION_MODE_UINT8:
+                    operand->size = 128;
+                    operand->element_type = ZYDIS_ELEMENT_TYPE_UINT;
+                    operand->element_size = 8;
+                    break;
+                default:
+                    ZYAN_UNREACHABLE;
+                }
+
+                switch (instruction->avx.broadcast.mode)
+                {
+                case ZYDIS_BROADCAST_MODE_INVALID:
+                    // Nothing to do here
+                    break;
+                case ZYDIS_BROADCAST_MODE_1_TO_8:
+                case ZYDIS_BROADCAST_MODE_1_TO_16:
+                    operand->size = operand->element_size;
+                    break;
+                case ZYDIS_BROADCAST_MODE_4_TO_8:
+                case ZYDIS_BROADCAST_MODE_4_TO_16:
+                    operand->size = operand->element_size * 4;
+                    break;
+                default:
+                    ZYAN_UNREACHABLE;
+                }
+            }
+#else
+            ZYAN_UNREACHABLE;
+#endif
+            break;
+        default:
+            ZYAN_UNREACHABLE;
+        }
+        break;
+    case ZYDIS_OPERAND_TYPE_POINTER:
+        ZYAN_ASSERT((instruction->raw.imm[0].size == 16) ||
+                    (instruction->raw.imm[0].size == 32));
+        ZYAN_ASSERT( instruction->raw.imm[1].size == 16);
+        operand->size = instruction->raw.imm[0].size + instruction->raw.imm[1].size;
+        break;
+    case ZYDIS_OPERAND_TYPE_IMMEDIATE:
+        operand->size = definition->size[context->eosz_index] * 8;
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+
+    // Element-type and -size
+    if (definition->element_type && (definition->element_type != ZYDIS_IELEMENT_TYPE_VARIABLE))
+    {
+        ZydisGetElementInfo(definition->element_type, &operand->element_type,
+            &operand->element_size);
+        if (!operand->element_size)
+        {
+            // The element size is the same as the operand size. This is used for single element
+            // scaling operands
+            operand->element_size = operand->size;
+        }
+    }
+
+    // Element count
+    if (operand->element_size && operand->size && (operand->element_type != ZYDIS_ELEMENT_TYPE_CC))
+    {
+        operand->element_count = operand->size / operand->element_size;
+    } else
+    {
+        operand->element_count = 1;
+    }
+}
+#endif
+
+#ifndef ZYDIS_MINIMAL_MODE
+/**
+ * Decodes an register-operand.
+ *
+ * @param   instruction     A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   operand         A pointer to the `ZydisDecodedOperand` struct.
+ * @param   register_class   The register class.
+ * @param   register_id      The register id.
+ *
+ * @return  A zyan status code.
+ */
+static ZyanStatus ZydisDecodeOperandRegister(ZydisDecodedInstruction* instruction,
+    ZydisDecodedOperand* operand, ZydisRegisterClass register_class, ZyanU8 register_id)
+{
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(operand);
+
+    operand->type = ZYDIS_OPERAND_TYPE_REGISTER;
+
+    if (register_class == ZYDIS_REGCLASS_GPR8)
+    {
+        if ((instruction->attributes & ZYDIS_ATTRIB_HAS_REX) && (register_id >= 4))
+        {
+            operand->reg.value = ZYDIS_REGISTER_SPL + (register_id - 4);
+        } else
+        {
+            operand->reg.value = ZYDIS_REGISTER_AL + register_id;
+        }
+    } else
+    {
+        operand->reg.value = ZydisRegisterEncode(register_class, register_id);
+        ZYAN_ASSERT(operand->reg.value);
+        /*if (!operand->reg.value)
+        {
+            return ZYAN_STATUS_BAD_REGISTER;
+        }*/
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+#endif
+
+#ifndef ZYDIS_MINIMAL_MODE
+/**
+ * Decodes a memory operand.
+ *
+ * @param   context             A pointer to the `ZydisDecoderContext` instance.
+ * @param   instruction         A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   operand             A pointer to the `ZydisDecodedOperand` struct.
+ * @param   vidx_register_class The register-class to use as the index register-class for
+ *                              instructions with `VSIB` addressing.
+ *
+ * @return  A zyan status code.
+ */
+static ZyanStatus ZydisDecodeOperandMemory(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZydisDecodedOperand* operand,
+    ZydisRegisterClass vidx_register_class)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(operand);
+    ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM);
+    ZYAN_ASSERT(instruction->raw.modrm.mod != 3);
+    ZYAN_ASSERT(!vidx_register_class || ((instruction->raw.modrm.rm == 4) &&
+        ((instruction->address_width == 32) || (instruction->address_width == 64))));
+
+    operand->type = ZYDIS_OPERAND_TYPE_MEMORY;
+    operand->mem.type = ZYDIS_MEMOP_TYPE_MEM;
+
+    const ZyanU8 modrm_rm = instruction->raw.modrm.rm;
+    ZyanU8 displacement_size = 0;
+    switch (instruction->address_width)
+    {
+    case 16:
+    {
+        static const ZydisRegister bases[] =
+        {
+            ZYDIS_REGISTER_BX,   ZYDIS_REGISTER_BX,   ZYDIS_REGISTER_BP,   ZYDIS_REGISTER_BP,
+            ZYDIS_REGISTER_SI,   ZYDIS_REGISTER_DI,   ZYDIS_REGISTER_BP,   ZYDIS_REGISTER_BX
+        };
+        static const ZydisRegister indices[] =
+        {
+            ZYDIS_REGISTER_SI,   ZYDIS_REGISTER_DI,   ZYDIS_REGISTER_SI,   ZYDIS_REGISTER_DI,
+            ZYDIS_REGISTER_NONE, ZYDIS_REGISTER_NONE, ZYDIS_REGISTER_NONE, ZYDIS_REGISTER_NONE
+        };
+        operand->mem.base = bases[modrm_rm];
+        operand->mem.index = indices[modrm_rm];
+        operand->mem.scale = (operand->mem.index == ZYDIS_REGISTER_NONE) ? 0 : 1;
+        switch (instruction->raw.modrm.mod)
+        {
+        case 0:
+            if (modrm_rm == 6)
+            {
+                displacement_size = 16;
+                operand->mem.base = ZYDIS_REGISTER_NONE;
+            }
+            break;
+        case 1:
+            displacement_size = 8;
+            break;
+        case 2:
+            displacement_size = 16;
+            break;
+        default:
+            ZYAN_UNREACHABLE;
+        }
+        break;
+    }
+    case 32:
+    {
+        operand->mem.base = ZYDIS_REGISTER_EAX + ZydisCalcRegisterId(context, instruction,
+            ZYDIS_REG_ENCODING_BASE, ZYDIS_REGCLASS_GPR32);
+        switch (instruction->raw.modrm.mod)
+        {
+        case 0:
+            if (modrm_rm == 5)
+            {
+                if (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64)
+                {
+                    operand->mem.base = ZYDIS_REGISTER_EIP;
+                } else
+                {
+                    operand->mem.base = ZYDIS_REGISTER_NONE;
+                }
+                displacement_size = 32;
+            }
+            break;
+        case 1:
+            displacement_size = 8;
+            break;
+        case 2:
+            displacement_size = 32;
+            break;
+        default:
+            ZYAN_UNREACHABLE;
+        }
+        if (modrm_rm == 4)
+        {
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB);
+            operand->mem.index =
+                ZydisRegisterEncode(vidx_register_class ? vidx_register_class : ZYDIS_REGCLASS_GPR32,
+                    ZydisCalcRegisterId(context, instruction,
+                        vidx_register_class ? ZYDIS_REG_ENCODING_VIDX : ZYDIS_REG_ENCODING_INDEX,
+                        vidx_register_class ? vidx_register_class : ZYDIS_REGCLASS_GPR32));
+            operand->mem.scale = (1 << instruction->raw.sib.scale);
+            if (operand->mem.index == ZYDIS_REGISTER_ESP)
+            {
+                operand->mem.index = ZYDIS_REGISTER_NONE;
+                operand->mem.scale = 0;
+            }
+            if (operand->mem.base == ZYDIS_REGISTER_EBP)
+            {
+                if (instruction->raw.modrm.mod == 0)
+                {
+                    operand->mem.base = ZYDIS_REGISTER_NONE;
+                }
+                displacement_size = (instruction->raw.modrm.mod == 1) ? 8 : 32;
+            }
+        } else
+        {
+            operand->mem.index = ZYDIS_REGISTER_NONE;
+            operand->mem.scale = 0;
+        }
+        break;
+    }
+    case 64:
+    {
+        operand->mem.base = ZYDIS_REGISTER_RAX + ZydisCalcRegisterId(context, instruction,
+            ZYDIS_REG_ENCODING_BASE, ZYDIS_REGCLASS_GPR64);
+        switch (instruction->raw.modrm.mod)
+        {
+        case 0:
+            if (modrm_rm == 5)
+            {
+                if (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64)
+                {
+                    operand->mem.base = ZYDIS_REGISTER_RIP;
+                } else
+                {
+                    operand->mem.base = ZYDIS_REGISTER_NONE;
+                }
+                displacement_size = 32;
+            }
+            break;
+        case 1:
+            displacement_size = 8;
+            break;
+        case 2:
+            displacement_size = 32;
+            break;
+        default:
+            ZYAN_UNREACHABLE;
+        }
+        if ((modrm_rm & 0x07) == 4)
+        {
+            ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_SIB);
+            operand->mem.index =
+                ZydisRegisterEncode(vidx_register_class ? vidx_register_class : ZYDIS_REGCLASS_GPR64,
+                    ZydisCalcRegisterId(context, instruction,
+                        vidx_register_class ? ZYDIS_REG_ENCODING_VIDX : ZYDIS_REG_ENCODING_INDEX,
+                        vidx_register_class ? vidx_register_class : ZYDIS_REGCLASS_GPR64));
+            operand->mem.scale = (1 << instruction->raw.sib.scale);;
+            if (operand->mem.index == ZYDIS_REGISTER_RSP)
+            {
+                operand->mem.index = ZYDIS_REGISTER_NONE;
+                operand->mem.scale = 0;
+            }
+            if ((operand->mem.base == ZYDIS_REGISTER_RBP) ||
+                (operand->mem.base == ZYDIS_REGISTER_R13))
+            {
+                if (instruction->raw.modrm.mod == 0)
+                {
+                    operand->mem.base = ZYDIS_REGISTER_NONE;
+                }
+                displacement_size = (instruction->raw.modrm.mod == 1) ? 8 : 32;
+            }
+        } else
+        {
+            operand->mem.index = ZYDIS_REGISTER_NONE;
+            operand->mem.scale = 0;
+        }
+        break;
+    }
+    default:
+        ZYAN_UNREACHABLE;
+    }
+    if (displacement_size)
+    {
+        ZYAN_ASSERT(instruction->raw.disp.size == displacement_size);
+        operand->mem.disp.has_displacement = ZYAN_TRUE;
+        operand->mem.disp.value = instruction->raw.disp.value;
+    }
+    return ZYAN_STATUS_SUCCESS;
+}
+#endif
+
+#ifndef ZYDIS_MINIMAL_MODE
+/**
+ * Decodes an implicit register operand.
+ *
+ * @param   context         A pointer to the `ZydisDecoderContext` instance.
+ * @param   instruction     A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   operand         A pointer to the `ZydisDecodedOperand` struct.
+ * @param   definition      A pointer to the `ZydisOperandDefinition` struct.
+ */
+static void ZydisDecodeOperandImplicitRegister(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZydisDecodedOperand* operand,
+    const ZydisOperandDefinition* definition)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(operand);
+    ZYAN_ASSERT(definition);
+
+    operand->type = ZYDIS_OPERAND_TYPE_REGISTER;
+
+    switch (definition->op.reg.type)
+    {
+    case ZYDIS_IMPLREG_TYPE_STATIC:
+        operand->reg.value = definition->op.reg.reg.reg;
+        break;
+    case ZYDIS_IMPLREG_TYPE_GPR_OSZ:
+    {
+        static const ZydisRegisterClass lookup[3] =
+        {
+            ZYDIS_REGCLASS_GPR16,
+            ZYDIS_REGCLASS_GPR32,
+            ZYDIS_REGCLASS_GPR64
+        };
+        operand->reg.value =
+            ZydisRegisterEncode(lookup[context->eosz_index], definition->op.reg.reg.id);
+        break;
+    }
+    case ZYDIS_IMPLREG_TYPE_GPR_ASZ:
+        operand->reg.value = ZydisRegisterEncode(
+            (instruction->address_width      == 16) ? ZYDIS_REGCLASS_GPR16  :
+            (instruction->address_width      == 32) ? ZYDIS_REGCLASS_GPR32  : ZYDIS_REGCLASS_GPR64,
+            definition->op.reg.reg.id);
+        break;
+    case ZYDIS_IMPLREG_TYPE_GPR_SSZ:
+        operand->reg.value = ZydisRegisterEncode(
+            (context->decoder->address_width == ZYDIS_ADDRESS_WIDTH_16) ? ZYDIS_REGCLASS_GPR16  :
+            (context->decoder->address_width == ZYDIS_ADDRESS_WIDTH_32) ? ZYDIS_REGCLASS_GPR32  :
+                                                                         ZYDIS_REGCLASS_GPR64,
+            definition->op.reg.reg.id);
+        break;
+    case ZYDIS_IMPLREG_TYPE_IP_ASZ:
+        operand->reg.value =
+            (instruction->address_width      == 16) ? ZYDIS_REGISTER_IP     :
+            (instruction->address_width      == 32) ? ZYDIS_REGISTER_EIP    : ZYDIS_REGISTER_RIP;
+        break;
+    case ZYDIS_IMPLREG_TYPE_IP_SSZ:
+        operand->reg.value =
+            (context->decoder->address_width == ZYDIS_ADDRESS_WIDTH_16) ? ZYDIS_REGISTER_EIP    :
+            (context->decoder->address_width == ZYDIS_ADDRESS_WIDTH_32) ? ZYDIS_REGISTER_EIP    :
+                                                                         ZYDIS_REGISTER_RIP;
+        break;
+    case ZYDIS_IMPLREG_TYPE_FLAGS_SSZ:
+        operand->reg.value =
+            (context->decoder->address_width == ZYDIS_ADDRESS_WIDTH_16) ? ZYDIS_REGISTER_FLAGS  :
+            (context->decoder->address_width == ZYDIS_ADDRESS_WIDTH_32) ? ZYDIS_REGISTER_EFLAGS :
+                                                                         ZYDIS_REGISTER_RFLAGS;
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+}
+#endif
+
+#ifndef ZYDIS_MINIMAL_MODE
+/**
+ * Decodes an implicit memory operand.
+ *
+ * @param   context         A pointer to the `ZydisDecoderContext` instance.
+ * @param   instruction     A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   operand         A pointer to the `ZydisDecodedOperand` struct.
+ * @param   definition      A pointer to the `ZydisOperandDefinition` struct.
+ */
+static void ZydisDecodeOperandImplicitMemory(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZydisDecodedOperand* operand,
+    const ZydisOperandDefinition* definition)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(operand);
+    ZYAN_ASSERT(definition);
+
+    static const ZydisRegisterClass lookup[3] =
+    {
+        ZYDIS_REGCLASS_GPR16,
+        ZYDIS_REGCLASS_GPR32,
+        ZYDIS_REGCLASS_GPR64
+    };
+
+    operand->type = ZYDIS_OPERAND_TYPE_MEMORY;
+    operand->mem.type = ZYDIS_MEMOP_TYPE_MEM;
+
+    switch (definition->op.mem.base)
+    {
+    case ZYDIS_IMPLMEM_BASE_AGPR_REG:
+        operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index],
+            ZydisCalcRegisterId(context, instruction, ZYDIS_REG_ENCODING_REG,
+                lookup[context->easz_index]));
+        break;
+    case ZYDIS_IMPLMEM_BASE_AGPR_RM:
+        operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index],
+            ZydisCalcRegisterId(context, instruction, ZYDIS_REG_ENCODING_RM,
+                lookup[context->easz_index]));
+        break;
+    case ZYDIS_IMPLMEM_BASE_AAX:
+        operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], 0);
+        break;
+    case ZYDIS_IMPLMEM_BASE_ADX:
+        operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], 2);
+        break;
+    case ZYDIS_IMPLMEM_BASE_ABX:
+        operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], 3);
+        break;
+    case ZYDIS_IMPLMEM_BASE_ASP:
+        operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], 4);
+        break;
+    case ZYDIS_IMPLMEM_BASE_ABP:
+        operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], 5);
+        break;
+    case ZYDIS_IMPLMEM_BASE_ASI:
+        operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], 6);
+        break;
+    case ZYDIS_IMPLMEM_BASE_ADI:
+        operand->mem.base = ZydisRegisterEncode(lookup[context->easz_index], 7);
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+
+    if (definition->op.mem.seg)
+    {
+        operand->mem.segment =
+            ZydisRegisterEncode(ZYDIS_REGCLASS_SEGMENT, definition->op.mem.seg - 1);
+        ZYAN_ASSERT(operand->mem.segment);
+    }
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYDIS_MINIMAL_MODE
+/**
+ * Decodes the instruction operands.
+ *
+ * @param   context     A pointer to the`ZydisDecoderContext` struct.
+ * @param   instruction A pointer to the`ZydisDecodedInstruction` struct.
+ * @param   definition  A pointer to the`ZydisInstructionDefinition` struct.
+ *
+ * @return  A zyan status code.
+ */
+static ZyanStatus ZydisDecodeOperands(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, const ZydisInstructionDefinition* definition)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(definition);
+
+    ZyanU8 imm_id = 0;
+    const ZydisOperandDefinition* operand;
+    instruction->operand_count = ZydisGetOperandDefinitions(definition, &operand);
+
+    ZYAN_ASSERT(instruction->operand_count <= ZYAN_ARRAY_LENGTH(instruction->operands));
+
+    for (ZyanU8 i = 0; i < instruction->operand_count; ++i)
+    {
+        ZydisRegisterClass register_class = ZYDIS_REGCLASS_INVALID;
+
+        instruction->operands[i].id = i;
+        instruction->operands[i].visibility = operand->visibility;
+        instruction->operands[i].actions = operand->actions;
+        ZYAN_ASSERT(!(operand->actions &
+                        ZYDIS_OPERAND_ACTION_READ & ZYDIS_OPERAND_ACTION_CONDREAD) ||
+                     (operand->actions & ZYDIS_OPERAND_ACTION_READ) ^
+                     (operand->actions & ZYDIS_OPERAND_ACTION_CONDREAD));
+        ZYAN_ASSERT(!(operand->actions &
+                        ZYDIS_OPERAND_ACTION_WRITE & ZYDIS_OPERAND_ACTION_CONDWRITE) ||
+                     (operand->actions & ZYDIS_OPERAND_ACTION_WRITE) ^
+                     (operand->actions & ZYDIS_OPERAND_ACTION_CONDWRITE));
+
+        // Implicit operands
+        switch (operand->type)
+        {
+        case ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG:
+            ZydisDecodeOperandImplicitRegister(context, instruction, &instruction->operands[i],
+                operand);
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM:
+            ZydisDecodeOperandImplicitMemory(context, instruction, &instruction->operands[i],
+                operand);
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1:
+            instruction->operands[i].type = ZYDIS_OPERAND_TYPE_IMMEDIATE;
+            instruction->operands[i].size = 8;
+            instruction->operands[i].imm.value.u = 1;
+            instruction->operands[i].imm.is_signed = ZYAN_FALSE;
+            instruction->operands[i].imm.is_relative = ZYAN_FALSE;
+            break;
+        default:
+            break;
+        }
+        if (instruction->operands[i].type)
+        {
+            goto FinalizeOperand;
+        }
+
+        instruction->operands[i].encoding = operand->op.encoding;
+
+        // Register operands
+        switch (operand->type)
+        {
+        case ZYDIS_SEMANTIC_OPTYPE_GPR8:
+            register_class = ZYDIS_REGCLASS_GPR8;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_GPR16:
+            register_class = ZYDIS_REGCLASS_GPR16;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_GPR32:
+            register_class = ZYDIS_REGCLASS_GPR32;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_GPR64:
+            register_class = ZYDIS_REGCLASS_GPR64;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64:
+            ZYAN_ASSERT((instruction->operand_width == 16) || (instruction->operand_width == 32) ||
+                        (instruction->operand_width == 64));
+            register_class =
+                (instruction->operand_width == 16) ? ZYDIS_REGCLASS_GPR16 : (
+                (instruction->operand_width == 32) ? ZYDIS_REGCLASS_GPR32 : ZYDIS_REGCLASS_GPR64);
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64:
+            ZYAN_ASSERT((instruction->operand_width == 16) || (instruction->operand_width == 32) ||
+                        (instruction->operand_width == 64));
+            register_class =
+                (instruction->operand_width == 16) ? ZYDIS_REGCLASS_GPR32 : (
+                (instruction->operand_width == 32) ? ZYDIS_REGCLASS_GPR32: ZYDIS_REGCLASS_GPR64);
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_GPR16_32_32:
+            ZYAN_ASSERT((instruction->operand_width == 16) || (instruction->operand_width == 32) ||
+                        (instruction->operand_width == 64));
+            register_class =
+                (instruction->operand_width == 16) ? ZYDIS_REGCLASS_GPR16 : ZYDIS_REGCLASS_GPR32;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_GPR_ASZ:
+            ZYAN_ASSERT((instruction->address_width == 16) || (instruction->address_width == 32) ||
+                        (instruction->address_width == 64));
+            register_class =
+                (instruction->address_width == 16) ? ZYDIS_REGCLASS_GPR16 : (
+                (instruction->address_width == 32) ? ZYDIS_REGCLASS_GPR32 : ZYDIS_REGCLASS_GPR64);
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_FPR:
+            register_class = ZYDIS_REGCLASS_X87;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_MMX:
+            register_class = ZYDIS_REGCLASS_MMX;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_XMM:
+            register_class = ZYDIS_REGCLASS_XMM;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_YMM:
+            register_class = ZYDIS_REGCLASS_YMM;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_ZMM:
+            register_class = ZYDIS_REGCLASS_ZMM;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_BND:
+            register_class = ZYDIS_REGCLASS_BOUND;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_SREG:
+            register_class = ZYDIS_REGCLASS_SEGMENT;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_CR:
+            register_class = ZYDIS_REGCLASS_CONTROL;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_DR:
+            register_class = ZYDIS_REGCLASS_DEBUG;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_MASK:
+            register_class = ZYDIS_REGCLASS_MASK;
+            break;
+        default:
+            break;
+        }
+        if (register_class)
+        {
+            switch (operand->op.encoding)
+            {
+            case ZYDIS_OPERAND_ENCODING_MODRM_REG:
+                ZYAN_CHECK(
+                    ZydisDecodeOperandRegister(
+                        instruction, &instruction->operands[i], register_class,
+                    ZydisCalcRegisterId(
+                        context, instruction, ZYDIS_REG_ENCODING_REG, register_class)));
+                break;
+            case ZYDIS_OPERAND_ENCODING_MODRM_RM:
+                ZYAN_CHECK(
+                    ZydisDecodeOperandRegister(
+                        instruction, &instruction->operands[i], register_class,
+                    ZydisCalcRegisterId(
+                        context, instruction, ZYDIS_REG_ENCODING_RM, register_class)));
+                break;
+            case ZYDIS_OPERAND_ENCODING_OPCODE:
+                ZYAN_CHECK(
+                    ZydisDecodeOperandRegister(
+                        instruction, &instruction->operands[i], register_class,
+                    ZydisCalcRegisterId(
+                        context, instruction, ZYDIS_REG_ENCODING_OPCODE, register_class)));
+                break;
+            case ZYDIS_OPERAND_ENCODING_NDSNDD:
+                ZYAN_CHECK(
+                    ZydisDecodeOperandRegister(
+                        instruction, &instruction->operands[i], register_class,
+                    ZydisCalcRegisterId(
+                        context, instruction, ZYDIS_REG_ENCODING_NDSNDD, register_class)));
+                break;
+            case ZYDIS_OPERAND_ENCODING_MASK:
+                ZYAN_CHECK(
+                    ZydisDecodeOperandRegister(
+                        instruction, &instruction->operands[i], register_class,
+                    ZydisCalcRegisterId(
+                        context, instruction, ZYDIS_REG_ENCODING_MASK, register_class)));
+                break;
+            case ZYDIS_OPERAND_ENCODING_IS4:
+                ZYAN_CHECK(
+                    ZydisDecodeOperandRegister(
+                        instruction, &instruction->operands[i], register_class,
+                    ZydisCalcRegisterId(
+                        context, instruction, ZYDIS_REG_ENCODING_IS4, register_class)));
+                break;
+            default:
+                ZYAN_UNREACHABLE;
+            }
+
+            goto FinalizeOperand;
+        }
+
+        // Memory operands
+        switch (operand->type)
+        {
+        case ZYDIS_SEMANTIC_OPTYPE_MEM:
+            ZYAN_CHECK(
+                ZydisDecodeOperandMemory(
+                    context, instruction, &instruction->operands[i], ZYDIS_REGCLASS_INVALID));
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX:
+            ZYAN_CHECK(
+                ZydisDecodeOperandMemory(
+                    context, instruction, &instruction->operands[i], ZYDIS_REGCLASS_XMM));
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY:
+            ZYAN_CHECK(
+                ZydisDecodeOperandMemory(
+                    context, instruction, &instruction->operands[i], ZYDIS_REGCLASS_YMM));
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ:
+            ZYAN_CHECK(
+                ZydisDecodeOperandMemory(
+                    context, instruction, &instruction->operands[i], ZYDIS_REGCLASS_ZMM));
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_PTR:
+            ZYAN_ASSERT((instruction->raw.imm[0].size == 16) ||
+                         (instruction->raw.imm[0].size == 32));
+            ZYAN_ASSERT( instruction->raw.imm[1].size == 16);
+            instruction->operands[i].type = ZYDIS_OPERAND_TYPE_POINTER;
+            instruction->operands[i].ptr.offset  = (ZyanU32)instruction->raw.imm[0].value.u;
+            instruction->operands[i].ptr.segment = (ZyanU16)instruction->raw.imm[1].value.u;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_AGEN:
+            instruction->operands[i].actions = 0; // TODO: Remove after generator update
+            ZYAN_CHECK(
+                ZydisDecodeOperandMemory(
+                    context, instruction, &instruction->operands[i], ZYDIS_REGCLASS_INVALID));
+            instruction->operands[i].mem.type = ZYDIS_MEMOP_TYPE_AGEN;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_MOFFS:
+            ZYAN_ASSERT(instruction->raw.disp.size);
+            instruction->operands[i].type = ZYDIS_OPERAND_TYPE_MEMORY;
+            instruction->operands[i].mem.type = ZYDIS_MEMOP_TYPE_MEM;
+            instruction->operands[i].mem.disp.has_displacement = ZYAN_TRUE;
+            instruction->operands[i].mem.disp.value = instruction->raw.disp.value;
+            break;
+        case ZYDIS_SEMANTIC_OPTYPE_MIB:
+            instruction->operands[i].actions = 0; // TODO: Remove after generator update
+            ZYAN_CHECK(
+                ZydisDecodeOperandMemory(
+                    context, instruction, &instruction->operands[i], ZYDIS_REGCLASS_INVALID));
+            instruction->operands[i].mem.type = ZYDIS_MEMOP_TYPE_MIB;
+            break;
+        default:
+            break;
+        }
+        if (instruction->operands[i].type)
+        {
+#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC)
+            // Handle compressed 8-bit displacement
+            if (((instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) ||
+                 (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)) &&
+                 (instruction->raw.disp.size == 8))
+            {
+                instruction->operands[i].mem.disp.value *= context->cd8_scale;
+            }
+#endif
+
+            goto FinalizeOperand;
+        }
+
+        // Immediate operands
+        switch (operand->type)
+        {
+        case ZYDIS_SEMANTIC_OPTYPE_REL:
+            ZYAN_ASSERT(instruction->raw.imm[imm_id].is_relative);
+        case ZYDIS_SEMANTIC_OPTYPE_IMM:
+            ZYAN_ASSERT((imm_id == 0) || (imm_id == 1));
+            instruction->operands[i].type = ZYDIS_OPERAND_TYPE_IMMEDIATE;
+            instruction->operands[i].size = operand->size[context->eosz_index] * 8;
+            if (operand->op.encoding == ZYDIS_OPERAND_ENCODING_IS4)
+            {
+                // The upper half of the 8-bit immediate is used to encode a register specifier
+                ZYAN_ASSERT(instruction->raw.imm[imm_id].size == 8);
+                instruction->operands[i].imm.value.u =
+                    (ZyanU8)instruction->raw.imm[imm_id].value.u & 0x0F;
+            } else
+            {
+                instruction->operands[i].imm.value.u = instruction->raw.imm[imm_id].value.u;
+            }
+            instruction->operands[i].imm.is_signed = instruction->raw.imm[imm_id].is_signed;
+            instruction->operands[i].imm.is_relative = instruction->raw.imm[imm_id].is_relative;
+            ++imm_id;
+            break;
+        default:
+            break;
+        }
+        ZYAN_ASSERT(instruction->operands[i].type == ZYDIS_OPERAND_TYPE_IMMEDIATE);
+
+FinalizeOperand:
+        // Set segment-register for memory operands
+        if (instruction->operands[i].type == ZYDIS_OPERAND_TYPE_MEMORY)
+        {
+            if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_CS)
+            {
+                instruction->operands[i].mem.segment = ZYDIS_REGISTER_CS;
+            } else
+            if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_SS)
+            {
+                instruction->operands[i].mem.segment = ZYDIS_REGISTER_SS;
+            } else
+            if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_DS)
+            {
+                instruction->operands[i].mem.segment = ZYDIS_REGISTER_DS;
+            } else
+            if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_ES)
+            {
+                instruction->operands[i].mem.segment = ZYDIS_REGISTER_ES;
+            } else
+            if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_FS)
+            {
+                instruction->operands[i].mem.segment = ZYDIS_REGISTER_FS;
+            } else
+            if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_GS)
+            {
+                instruction->operands[i].mem.segment = ZYDIS_REGISTER_GS;
+            } else
+            {
+                if (instruction->operands[i].mem.segment == ZYDIS_REGISTER_NONE)
+                {
+                    if ((instruction->operands[i].mem.base == ZYDIS_REGISTER_RSP) ||
+                        (instruction->operands[i].mem.base == ZYDIS_REGISTER_RBP) ||
+                        (instruction->operands[i].mem.base == ZYDIS_REGISTER_ESP) ||
+                        (instruction->operands[i].mem.base == ZYDIS_REGISTER_EBP) ||
+                        (instruction->operands[i].mem.base == ZYDIS_REGISTER_SP)  ||
+                        (instruction->operands[i].mem.base == ZYDIS_REGISTER_BP))
+                    {
+                        instruction->operands[i].mem.segment = ZYDIS_REGISTER_SS;
+                    } else
+                    {
+                        instruction->operands[i].mem.segment = ZYDIS_REGISTER_DS;
+                    }
+                }
+            }
+        }
+
+        ZydisSetOperandSizeAndElementInfo(context, instruction, &instruction->operands[i], operand);
+        ++operand;
+    }
+
+#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC)
+    // Fix operand-action for EVEX/MVEX instructions with merge-mask
+    if (instruction->avx.mask.mode == ZYDIS_MASK_MODE_MERGING)
+    {
+        ZYAN_ASSERT(instruction->operand_count >= 1);
+        switch (instruction->operands[0].actions)
+        {
+        case ZYDIS_OPERAND_ACTION_WRITE:
+            if (instruction->operands[0].type == ZYDIS_OPERAND_TYPE_MEMORY)
+            {
+                instruction->operands[0].actions = ZYDIS_OPERAND_ACTION_CONDWRITE;
+            } else
+            {
+                instruction->operands[0].actions = ZYDIS_OPERAND_ACTION_READ_CONDWRITE;
+            }
+            break;
+        case ZYDIS_OPERAND_ACTION_READWRITE:
+            instruction->operands[0].actions = ZYDIS_OPERAND_ACTION_READ_CONDWRITE;
+            break;
+        default:
+            break;
+        }
+    }
+#endif
+
+    return ZYAN_STATUS_SUCCESS;
+}
+#endif
+
+#ifndef ZYDIS_MINIMAL_MODE
+/**
+ * Sets attributes for the given instruction.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` struct.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   definition  A pointer to the `ZydisInstructionDefinition` struct.
+ */
+static void ZydisSetAttributes(ZydisDecoderContext* context, ZydisDecodedInstruction* instruction,
+    const ZydisInstructionDefinition* definition)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(definition);
+
+    if (definition->cpu_state != ZYDIS_RW_ACTION_NONE)
+    {
+        static const ZydisInstructionAttributes mapping[ZYDIS_RW_ACTION_MAX_VALUE + 1] =
+        {
+            /* NONE      */ 0,
+            /* READ      */ ZYDIS_ATTRIB_CPU_STATE_CR,
+            /* WRITE     */ ZYDIS_ATTRIB_CPU_STATE_CW,
+            /* READWRITE */ ZYDIS_ATTRIB_CPU_STATE_CR | ZYDIS_ATTRIB_CPU_STATE_CW
+        };
+        ZYAN_ASSERT(definition->cpu_state < ZYAN_ARRAY_LENGTH(mapping));
+        instruction->attributes |= mapping[definition->cpu_state];
+    }
+
+    if (definition->fpu_state != ZYDIS_RW_ACTION_NONE)
+    {
+        static const ZydisInstructionAttributes mapping[ZYDIS_RW_ACTION_MAX_VALUE + 1] =
+        {
+            /* NONE      */ 0,
+            /* READ      */ ZYDIS_ATTRIB_FPU_STATE_CR,
+            /* WRITE     */ ZYDIS_ATTRIB_FPU_STATE_CW,
+            /* READWRITE */ ZYDIS_ATTRIB_FPU_STATE_CR | ZYDIS_ATTRIB_FPU_STATE_CW
+        };
+        ZYAN_ASSERT(definition->fpu_state < ZYAN_ARRAY_LENGTH(mapping));
+        instruction->attributes |= mapping[definition->fpu_state];
+    }
+
+    if (definition->xmm_state != ZYDIS_RW_ACTION_NONE)
+    {
+        static const ZydisInstructionAttributes mapping[ZYDIS_RW_ACTION_MAX_VALUE + 1] =
+        {
+            /* NONE      */ 0,
+            /* READ      */ ZYDIS_ATTRIB_XMM_STATE_CR,
+            /* WRITE     */ ZYDIS_ATTRIB_XMM_STATE_CW,
+            /* READWRITE */ ZYDIS_ATTRIB_XMM_STATE_CR | ZYDIS_ATTRIB_XMM_STATE_CW
+        };
+        ZYAN_ASSERT(definition->xmm_state < ZYAN_ARRAY_LENGTH(mapping));
+        instruction->attributes |= mapping[definition->xmm_state];
+    }
+
+    switch (instruction->encoding)
+    {
+    case ZYDIS_INSTRUCTION_ENCODING_LEGACY:
+    {
+        const ZydisInstructionDefinitionLEGACY* def =
+            (const ZydisInstructionDefinitionLEGACY*)definition;
+
+        if (def->is_privileged)
+        {
+            instruction->attributes |= ZYDIS_ATTRIB_IS_PRIVILEGED;
+        }
+        if (def->accepts_LOCK)
+        {
+            instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_LOCK;
+            if (context->prefixes.has_lock)
+            {
+                instruction->attributes |= ZYDIS_ATTRIB_HAS_LOCK;
+                instruction->raw.prefixes[context->prefixes.offset_lock].type =
+                    ZYDIS_PREFIX_TYPE_EFFECTIVE;
+            }
+        }
+        if (def->accepts_REP)
+        {
+            instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_REP;
+        }
+        if (def->accepts_REPEREPZ)
+        {
+            instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_REPE;
+        }
+        if (def->accepts_REPNEREPNZ)
+        {
+            instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_REPNE;
+        }
+        if (def->accepts_BOUND)
+        {
+            instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_BND;
+        }
+        if (def->accepts_XACQUIRE)
+        {
+            instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_XACQUIRE;
+        }
+        if (def->accepts_XRELEASE)
+        {
+            instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_XRELEASE;
+        }
+        if (def->accepts_hle_without_lock)
+        {
+            instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_HLE_WITHOUT_LOCK;
+        }
+
+        switch (context->prefixes.group1)
+        {
+        case 0xF2:
+            if (instruction->attributes & ZYDIS_ATTRIB_ACCEPTS_REPNE)
+            {
+                instruction->attributes |= ZYDIS_ATTRIB_HAS_REPNE;
+                break;
+            }
+            if (instruction->attributes & ZYDIS_ATTRIB_ACCEPTS_XACQUIRE)
+            {
+                if ((instruction->attributes & ZYDIS_ATTRIB_HAS_LOCK) ||
+                    (def->accepts_hle_without_lock))
+                {
+                    instruction->attributes |= ZYDIS_ATTRIB_HAS_XACQUIRE;
+                    break;
+                }
+            }
+            if (context->decoder->decoder_mode[ZYDIS_DECODER_MODE_MPX] &&
+                instruction->attributes & ZYDIS_ATTRIB_ACCEPTS_BND)
+            {
+                instruction->attributes |= ZYDIS_ATTRIB_HAS_BND;
+                break;
+            }
+            break;
+        case 0xF3:
+            if (instruction->attributes & ZYDIS_ATTRIB_ACCEPTS_REP)
+            {
+                instruction->attributes |= ZYDIS_ATTRIB_HAS_REP;
+                break;
+            }
+            if (instruction->attributes & ZYDIS_ATTRIB_ACCEPTS_REPE)
+            {
+                instruction->attributes |= ZYDIS_ATTRIB_HAS_REPE;
+                break;
+            }
+            if (instruction->attributes & ZYDIS_ATTRIB_ACCEPTS_XRELEASE)
+            {
+                if ((instruction->attributes & ZYDIS_ATTRIB_HAS_LOCK) ||
+                    (def->accepts_hle_without_lock))
+                {
+                    instruction->attributes |= ZYDIS_ATTRIB_HAS_XRELEASE;
+                    break;
+                }
+            }
+            break;
+        default:
+            break;
+        }
+        if ((instruction->raw.prefixes[context->prefixes.offset_group1].type ==
+             ZYDIS_PREFIX_TYPE_IGNORED) &&
+            (instruction->attributes & (
+             ZYDIS_ATTRIB_HAS_REP | ZYDIS_ATTRIB_HAS_REPE | ZYDIS_ATTRIB_HAS_REPNE |
+             ZYDIS_ATTRIB_HAS_BND | ZYDIS_ATTRIB_HAS_XACQUIRE | ZYDIS_ATTRIB_HAS_XRELEASE)))
+        {
+            instruction->raw.prefixes[context->prefixes.offset_group1].type =
+                ZYDIS_PREFIX_TYPE_EFFECTIVE;
+        }
+
+        if (def->accepts_branch_hints)
+        {
+            instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_BRANCH_HINTS;
+            switch (context->prefixes.group2)
+            {
+            case 0x2E:
+                instruction->attributes |= ZYDIS_ATTRIB_HAS_BRANCH_NOT_TAKEN;
+                instruction->raw.prefixes[context->prefixes.offset_group2].type =
+                    ZYDIS_PREFIX_TYPE_EFFECTIVE;
+                break;
+            case 0x3E:
+                instruction->attributes |= ZYDIS_ATTRIB_HAS_BRANCH_TAKEN;
+                instruction->raw.prefixes[context->prefixes.offset_group2].type =
+                    ZYDIS_PREFIX_TYPE_EFFECTIVE;
+                break;
+            default:
+                break;
+            }
+        } else
+        {
+            if (def->accepts_segment)
+            {
+                instruction->attributes |= ZYDIS_ATTRIB_ACCEPTS_SEGMENT;
+            }
+            if (context->prefixes.effective_segment && def->accepts_segment)
+            {
+                switch (context->prefixes.effective_segment)
+                {
+                case 0x2E:
+                    instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_CS;
+                    break;
+                case 0x36:
+                    instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_SS;
+                    break;
+                case 0x3E:
+                    instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_DS;
+                    break;
+                case 0x26:
+                    instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_ES;
+                    break;
+                case 0x64:
+                    instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_FS;
+                    break;
+                case 0x65:
+                    instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_GS;
+                    break;
+                default:
+                    ZYAN_UNREACHABLE;
+                }
+            }
+            if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT)
+            {
+                instruction->raw.prefixes[context->prefixes.offset_segment].type =
+                    ZYDIS_PREFIX_TYPE_EFFECTIVE;
+            }
+        }
+
+        break;
+    }
+    case ZYDIS_INSTRUCTION_ENCODING_3DNOW:
+    case ZYDIS_INSTRUCTION_ENCODING_XOP:
+    case ZYDIS_INSTRUCTION_ENCODING_VEX:
+    case ZYDIS_INSTRUCTION_ENCODING_EVEX:
+    case ZYDIS_INSTRUCTION_ENCODING_MVEX:
+        if (context->prefixes.effective_segment)
+        {
+            switch (context->prefixes.effective_segment)
+            {
+            case 0x2E:
+                instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_CS;
+                break;
+            case 0x36:
+                instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_SS;
+                break;
+            case 0x3E:
+                instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_DS;
+                break;
+            case 0x26:
+                instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_ES;
+                break;
+            case 0x64:
+                instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_FS;
+                break;
+            case 0x65:
+                instruction->attributes |= ZYDIS_ATTRIB_HAS_SEGMENT_GS;
+                break;
+            default:
+                ZYAN_UNREACHABLE;
+            }
+            if (instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT)
+            {
+                instruction->raw.prefixes[context->prefixes.offset_segment].type =
+                    ZYDIS_PREFIX_TYPE_EFFECTIVE;
+            }
+        }
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+}
+#endif
+
+#ifndef ZYDIS_MINIMAL_MODE
+/**
+ * Sets AVX-specific information for the given instruction.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` struct.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   definition  A pointer to the `ZydisInstructionDefinition` struct.
+ *
+ * Information set for `XOP`:
+ * - Vector Length
+ *
+ * Information set for `VEX`:
+ * - Vector length
+ * - Static broadcast-factor
+ *
+ * Information set for `EVEX`:
+ * - Vector length
+ * - Broadcast-factor (static and dynamic)
+ * - Rounding-mode and SAE
+ * - Mask mode
+ * - Compressed 8-bit displacement scale-factor
+ *
+ * Information set for `MVEX`:
+ * - Vector length
+ * - Broadcast-factor (static and dynamic)
+ * - Rounding-mode and SAE
+ * - Swizzle- and conversion-mode
+ * - Mask mode
+ * - Eviction hint
+ * - Compressed 8-bit displacement scale-factor
+ */
+static void ZydisSetAVXInformation(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, const ZydisInstructionDefinition* definition)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(definition);
+
+    switch (instruction->encoding)
+    {
+    case ZYDIS_INSTRUCTION_ENCODING_XOP:
+    {
+        // Vector length
+        static const ZyanU16 lookup[2] =
+        {
+            128,
+            256
+        };
+        ZYAN_ASSERT(context->cache.LL < ZYAN_ARRAY_LENGTH(lookup));
+        instruction->avx.vector_length = lookup[context->cache.LL];
+        break;
+    }
+    case ZYDIS_INSTRUCTION_ENCODING_VEX:
+    {
+        // Vector length
+        static const ZyanU16 lookup[2] =
+        {
+            128,
+            256
+        };
+        ZYAN_ASSERT(context->cache.LL < ZYAN_ARRAY_LENGTH(lookup));
+        instruction->avx.vector_length = lookup[context->cache.LL];
+
+        // Static broadcast-factor
+        const ZydisInstructionDefinitionVEX* def =
+            (const ZydisInstructionDefinitionVEX*)definition;
+        if (def->broadcast)
+        {
+            instruction->avx.broadcast.is_static = ZYAN_TRUE;
+            static ZydisBroadcastMode broadcasts[ZYDIS_VEX_STATIC_BROADCAST_MAX_VALUE + 1] =
+            {
+                ZYDIS_BROADCAST_MODE_INVALID,
+                ZYDIS_BROADCAST_MODE_1_TO_2,
+                ZYDIS_BROADCAST_MODE_1_TO_4,
+                ZYDIS_BROADCAST_MODE_1_TO_8,
+                ZYDIS_BROADCAST_MODE_1_TO_16,
+                ZYDIS_BROADCAST_MODE_1_TO_32,
+                ZYDIS_BROADCAST_MODE_2_TO_4
+            };
+            instruction->avx.broadcast.mode = broadcasts[def->broadcast];
+        }
+        break;
+    }
+    case ZYDIS_INSTRUCTION_ENCODING_EVEX:
+    {
+#ifndef ZYDIS_DISABLE_AVX512
+        const ZydisInstructionDefinitionEVEX* def =
+            (const ZydisInstructionDefinitionEVEX*)definition;
+
+        // Vector length
+        ZyanU8 vector_length = context->cache.LL;
+        if (def->vector_length)
+        {
+            vector_length = def->vector_length - 1;
+        }
+        static const ZyanU16 lookup[3] =
+        {
+            128,
+            256,
+            512
+        };
+        ZYAN_ASSERT(vector_length < ZYAN_ARRAY_LENGTH(lookup));
+        instruction->avx.vector_length = lookup[vector_length];
+
+        context->evex.tuple_type = def->tuple_type;
+        if (def->tuple_type)
+        {
+            ZYAN_ASSERT(instruction->raw.modrm.mod != 3);
+            ZYAN_ASSERT(def->element_size);
+
+            // Element size
+            static const ZyanU8 element_sizes[ZYDIS_IELEMENT_SIZE_MAX_VALUE + 1] =
+            {
+                  0,   8,  16,  32,  64, 128
+            };
+            ZYAN_ASSERT(def->element_size < ZYAN_ARRAY_LENGTH(element_sizes));
+            context->evex.element_size = element_sizes[def->element_size];
+
+            // Compressed disp8 scale and broadcast-factor
+            switch (def->tuple_type)
+            {
+            case ZYDIS_TUPLETYPE_FV:
+            {
+                const ZyanU8 evex_b = instruction->raw.evex.b;
+                const ZyanU8 evex_w = context->cache.W;
+                ZYAN_ASSERT(evex_b < 2);
+                ZYAN_ASSERT(evex_w < 2);
+                ZYAN_ASSERT(!evex_b || ((!evex_w && context->evex.element_size == 32) ||
+                                        ( evex_w && context->evex.element_size == 64)));
+                ZYAN_ASSERT(!evex_b || def->functionality == ZYDIS_EVEX_FUNC_BC);
+
+                static const ZyanU8 scales[2][2][3] =
+                {
+                    /*B0*/ { /*W0*/ { 16, 32, 64 }, /*W1*/ { 16, 32, 64 } },
+                    /*B1*/ { /*W0*/ {  4,  4,  4 }, /*W1*/ {  8,  8,  8 } }
+                };
+                static const ZydisBroadcastMode broadcasts[2][2][3] =
+                {
+                    /*B0*/
+                    {
+                        /*W0*/
+                        {
+                            ZYDIS_BROADCAST_MODE_INVALID,
+                            ZYDIS_BROADCAST_MODE_INVALID,
+                            ZYDIS_BROADCAST_MODE_INVALID
+                        },
+                        /*W1*/
+                        {
+                            ZYDIS_BROADCAST_MODE_INVALID,
+                            ZYDIS_BROADCAST_MODE_INVALID,
+                            ZYDIS_BROADCAST_MODE_INVALID
+                        }
+                    },
+                    /*B1*/
+                    {
+                        /*W0*/
+                        {
+                            ZYDIS_BROADCAST_MODE_1_TO_4,
+                            ZYDIS_BROADCAST_MODE_1_TO_8,
+                            ZYDIS_BROADCAST_MODE_1_TO_16
+                        },
+                        /*W1*/
+                        {
+                            ZYDIS_BROADCAST_MODE_1_TO_2,
+                            ZYDIS_BROADCAST_MODE_1_TO_4,
+                            ZYDIS_BROADCAST_MODE_1_TO_8
+                        }
+                    }
+                };
+                context->cd8_scale = scales[evex_b][evex_w][vector_length];
+                instruction->avx.broadcast.mode = broadcasts[evex_b][evex_w][vector_length];
+                break;
+            }
+            case ZYDIS_TUPLETYPE_HV:
+            {
+                const ZyanU8 evex_b = instruction->raw.evex.b;
+                ZYAN_ASSERT(evex_b < 2);
+                ZYAN_ASSERT(!context->cache.W);
+                ZYAN_ASSERT(context->evex.element_size == 32);
+                ZYAN_ASSERT(!evex_b || def->functionality == ZYDIS_EVEX_FUNC_BC);
+
+                static const ZyanU8 scales[2][3] =
+                {
+                    /*B0*/ {  8, 16, 32 },
+                    /*B1*/ {  4,  4,  4 }
+                };
+                static const ZydisBroadcastMode broadcasts[2][3] =
+                {
+                    /*B0*/
+                    {
+                        ZYDIS_BROADCAST_MODE_INVALID,
+                        ZYDIS_BROADCAST_MODE_INVALID,
+                        ZYDIS_BROADCAST_MODE_INVALID
+                    },
+                    /*B1*/
+                    {
+                        ZYDIS_BROADCAST_MODE_1_TO_2,
+                        ZYDIS_BROADCAST_MODE_1_TO_4,
+                        ZYDIS_BROADCAST_MODE_1_TO_8
+                    }
+                };
+                context->cd8_scale = scales[evex_b][vector_length];
+                instruction->avx.broadcast.mode = broadcasts[evex_b][vector_length];
+                break;
+            }
+            case ZYDIS_TUPLETYPE_FVM:
+            {
+                static const ZyanU8 scales[3] =
+                {
+                    16, 32, 64
+                };
+                context->cd8_scale = scales[vector_length];
+                break;
+            }
+            case ZYDIS_TUPLETYPE_GSCAT:
+                switch (context->cache.W)
+                {
+                case 0:
+                    ZYAN_ASSERT(context->evex.element_size == 32);
+                    break;
+                case 1:
+                    ZYAN_ASSERT(context->evex.element_size == 64);
+                    break;
+                default:
+                    ZYAN_UNREACHABLE;
+                }
+                ZYAN_FALLTHROUGH;
+            case ZYDIS_TUPLETYPE_T1S:
+            {
+                static const ZyanU8 scales[6] =
+                {
+                    /*   */  0,
+                    /*  8*/  1,
+                    /* 16*/  2,
+                    /* 32*/  4,
+                    /* 64*/  8,
+                    /*128*/ 16,
+                };
+                ZYAN_ASSERT(def->element_size < ZYAN_ARRAY_LENGTH(scales));
+                context->cd8_scale = scales[def->element_size];
+                break;
+            };
+            case ZYDIS_TUPLETYPE_T1F:
+                switch (context->evex.element_size)
+                {
+                case 32:
+                    context->cd8_scale = 4;
+                    break;
+                case 64:
+                    context->cd8_scale = 8;
+                    break;
+                default:
+                    ZYAN_UNREACHABLE;
+                }
+                break;
+            case ZYDIS_TUPLETYPE_T1_4X:
+                ZYAN_ASSERT(context->evex.element_size == 32);
+                ZYAN_ASSERT(context->cache.W == 0);
+                context->cd8_scale = 16;
+                break;
+            case ZYDIS_TUPLETYPE_T2:
+                switch (context->cache.W)
+                {
+                case 0:
+                    ZYAN_ASSERT(context->evex.element_size == 32);
+                    context->cd8_scale = 8;
+                    break;
+                case 1:
+                    ZYAN_ASSERT(context->evex.element_size == 64);
+                    ZYAN_ASSERT((instruction->avx.vector_length == 256) ||
+                                (instruction->avx.vector_length == 512));
+                    context->cd8_scale = 16;
+                    break;
+                default:
+                    ZYAN_UNREACHABLE;
+                }
+                break;
+            case ZYDIS_TUPLETYPE_T4:
+                switch (context->cache.W)
+                {
+                case 0:
+                    ZYAN_ASSERT(context->evex.element_size == 32);
+                    ZYAN_ASSERT((instruction->avx.vector_length == 256) ||
+                                (instruction->avx.vector_length == 512));
+                    context->cd8_scale = 16;
+                    break;
+                case 1:
+                    ZYAN_ASSERT(context->evex.element_size == 64);
+                    ZYAN_ASSERT(instruction->avx.vector_length == 512);
+                    context->cd8_scale = 32;
+                    break;
+                default:
+                    ZYAN_UNREACHABLE;
+                }
+                break;
+            case ZYDIS_TUPLETYPE_T8:
+                ZYAN_ASSERT(!context->cache.W);
+                ZYAN_ASSERT(instruction->avx.vector_length == 512);
+                ZYAN_ASSERT(context->evex.element_size == 32);
+                context->cd8_scale = 32;
+                break;
+            case ZYDIS_TUPLETYPE_HVM:
+            {
+                static const ZyanU8 scales[3] =
+                {
+                     8, 16, 32
+                };
+                context->cd8_scale = scales[vector_length];
+                break;
+            }
+            case ZYDIS_TUPLETYPE_QVM:
+            {
+                static const ZyanU8 scales[3] =
+                {
+                     4,  8, 16
+                };
+                context->cd8_scale = scales[vector_length];
+                break;
+            }
+            case ZYDIS_TUPLETYPE_OVM:
+            {
+                static const ZyanU8 scales[3] =
+                {
+                     2,  4,  8
+                };
+                context->cd8_scale = scales[vector_length];
+                break;
+            }
+            case ZYDIS_TUPLETYPE_M128:
+                context->cd8_scale = 16;
+                break;
+            case ZYDIS_TUPLETYPE_DUP:
+            {
+                static const ZyanU8 scales[3] =
+                {
+                     8, 32, 64
+                };
+                context->cd8_scale = scales[vector_length];
+                break;
+            }
+            default:
+                ZYAN_UNREACHABLE;
+            }
+        } else
+        {
+            ZYAN_ASSERT(instruction->raw.modrm.mod == 3);
+        }
+
+        // Static broadcast-factor
+        if (def->broadcast)
+        {
+            ZYAN_ASSERT(!instruction->avx.broadcast.mode);
+            instruction->avx.broadcast.is_static = ZYAN_TRUE;
+            static const ZydisBroadcastMode broadcasts[ZYDIS_EVEX_STATIC_BROADCAST_MAX_VALUE + 1] =
+            {
+                ZYDIS_BROADCAST_MODE_INVALID,
+                ZYDIS_BROADCAST_MODE_1_TO_2,
+                ZYDIS_BROADCAST_MODE_1_TO_4,
+                ZYDIS_BROADCAST_MODE_1_TO_8,
+                ZYDIS_BROADCAST_MODE_1_TO_16,
+                ZYDIS_BROADCAST_MODE_1_TO_32,
+                ZYDIS_BROADCAST_MODE_1_TO_64,
+                ZYDIS_BROADCAST_MODE_2_TO_4,
+                ZYDIS_BROADCAST_MODE_2_TO_8,
+                ZYDIS_BROADCAST_MODE_2_TO_16,
+                ZYDIS_BROADCAST_MODE_4_TO_8,
+                ZYDIS_BROADCAST_MODE_4_TO_16,
+                ZYDIS_BROADCAST_MODE_8_TO_16
+            };
+            ZYAN_ASSERT(def->broadcast < ZYAN_ARRAY_LENGTH(broadcasts));
+            instruction->avx.broadcast.mode = broadcasts[def->broadcast];
+        }
+
+        // Rounding mode and SAE
+        if (instruction->raw.evex.b)
+        {
+            switch (def->functionality)
+            {
+            case ZYDIS_EVEX_FUNC_INVALID:
+            case ZYDIS_EVEX_FUNC_BC:
+                // Noting to do here
+                break;
+            case ZYDIS_EVEX_FUNC_RC:
+                instruction->avx.rounding.mode = ZYDIS_ROUNDING_MODE_RN + context->cache.LL;
+                // Intentional fallthrough
+            case ZYDIS_EVEX_FUNC_SAE:
+                instruction->avx.has_sae = ZYAN_TRUE;
+                break;
+            default:
+                ZYAN_UNREACHABLE;
+            }
+        }
+
+        // Mask
+        instruction->avx.mask.reg = ZYDIS_REGISTER_K0 + instruction->raw.evex.aaa;
+        switch (def->mask_override)
+        {
+        case ZYDIS_MASK_OVERRIDE_DEFAULT:
+            instruction->avx.mask.mode = ZYDIS_MASK_MODE_MERGING + instruction->raw.evex.z;
+            break;
+        case ZYDIS_MASK_OVERRIDE_ZEROING:
+            instruction->avx.mask.mode = ZYDIS_MASK_MODE_ZEROING;
+            break;
+        case ZYDIS_MASK_OVERRIDE_CONTROL:
+            instruction->avx.mask.mode = ZYDIS_MASK_MODE_CONTROL + instruction->raw.evex.z;
+            break;
+        default:
+            ZYAN_UNREACHABLE;
+        }
+        if (!instruction->raw.evex.aaa)
+        {
+            instruction->avx.mask.mode = ZYDIS_MASK_MODE_DISABLED;
+        }
+#else
+        ZYAN_UNREACHABLE;
+#endif
+        break;
+    }
+    case ZYDIS_INSTRUCTION_ENCODING_MVEX:
+    {
+#ifndef ZYDIS_DISABLE_KNC
+        // Vector length
+        instruction->avx.vector_length = 512;
+
+        const ZydisInstructionDefinitionMVEX* def =
+            (const ZydisInstructionDefinitionMVEX*)definition;
+
+        // Static broadcast-factor
+        ZyanU8 index = def->has_element_granularity;
+        ZYAN_ASSERT(!index || !def->broadcast);
+        if (!index && def->broadcast)
+        {
+            instruction->avx.broadcast.is_static = ZYAN_TRUE;
+            switch (def->broadcast)
+            {
+            case ZYDIS_MVEX_STATIC_BROADCAST_1_TO_8:
+                instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_8;
+                index = 1;
+                break;
+            case ZYDIS_MVEX_STATIC_BROADCAST_1_TO_16:
+                instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_16;
+                index = 1;
+                break;
+            case ZYDIS_MVEX_STATIC_BROADCAST_4_TO_8:
+                instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_8;
+                index = 2;
+                break;
+            case ZYDIS_MVEX_STATIC_BROADCAST_4_TO_16:
+                instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_16;
+                index = 2;
+                break;
+            default:
+                ZYAN_UNREACHABLE;
+            }
+        }
+
+        // Compressed disp8 scale and broadcast-factor
+        switch (def->functionality)
+        {
+        case ZYDIS_MVEX_FUNC_IGNORED:
+        case ZYDIS_MVEX_FUNC_INVALID:
+        case ZYDIS_MVEX_FUNC_RC:
+        case ZYDIS_MVEX_FUNC_SAE:
+        case ZYDIS_MVEX_FUNC_SWIZZLE_32:
+        case ZYDIS_MVEX_FUNC_SWIZZLE_64:
+            // Nothing to do here
+            break;
+        case ZYDIS_MVEX_FUNC_F_32:
+        case ZYDIS_MVEX_FUNC_I_32:
+        case ZYDIS_MVEX_FUNC_F_64:
+        case ZYDIS_MVEX_FUNC_I_64:
+            context->cd8_scale = 64;
+            break;
+        case ZYDIS_MVEX_FUNC_SF_32:
+        case ZYDIS_MVEX_FUNC_SF_32_BCST:
+        case ZYDIS_MVEX_FUNC_SF_32_BCST_4TO16:
+        case ZYDIS_MVEX_FUNC_UF_32:
+        {
+            static const ZyanU8 lookup[3][8] =
+            {
+                { 64,  4, 16, 32, 16, 16, 32, 32 },
+                {  4,  0,  0,  2,  1,  1,  2,  2 },
+                { 16,  0,  0,  8,  4,  4,  8,  8 }
+            };
+            ZYAN_ASSERT(instruction->raw.mvex.SSS < ZYAN_ARRAY_LENGTH(lookup[index]));
+            context->cd8_scale = lookup[index][instruction->raw.mvex.SSS];
+            break;
+        }
+        case ZYDIS_MVEX_FUNC_SI_32:
+        case ZYDIS_MVEX_FUNC_UI_32:
+        case ZYDIS_MVEX_FUNC_SI_32_BCST:
+        case ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16:
+        {
+            static const ZyanU8 lookup[3][8] =
+            {
+                { 64,  4, 16,  0, 16, 16, 32, 32 },
+                {  4,  0,  0,  0,  1,  1,  2,  2 },
+                { 16,  0,  0,  0,  4,  4,  8,  8 }
+            };
+            ZYAN_ASSERT(instruction->raw.mvex.SSS < ZYAN_ARRAY_LENGTH(lookup[index]));
+            context->cd8_scale = lookup[index][instruction->raw.mvex.SSS];
+            break;
+        }
+        case ZYDIS_MVEX_FUNC_SF_64:
+        case ZYDIS_MVEX_FUNC_UF_64:
+        case ZYDIS_MVEX_FUNC_SI_64:
+        case ZYDIS_MVEX_FUNC_UI_64:
+        {
+            static const ZyanU8 lookup[3][3] =
+            {
+                { 64,  8, 32 },
+                {  8,  0,  0 },
+                { 32,  0,  0 }
+            };
+            ZYAN_ASSERT(instruction->raw.mvex.SSS < ZYAN_ARRAY_LENGTH(lookup[index]));
+            context->cd8_scale = lookup[index][instruction->raw.mvex.SSS];
+            break;
+        }
+        case ZYDIS_MVEX_FUNC_DF_32:
+        case ZYDIS_MVEX_FUNC_DI_32:
+        {
+            static const ZyanU8 lookup[2][8] =
+            {
+                { 64,  0,  0, 32, 16, 16, 32, 32 },
+                {  4,  0,  0,  2,  1,  1,  2,  2 }
+            };
+            ZYAN_ASSERT(index < 2);
+            ZYAN_ASSERT(instruction->raw.mvex.SSS < ZYAN_ARRAY_LENGTH(lookup[index]));
+            context->cd8_scale = lookup[index][instruction->raw.mvex.SSS];
+            break;
+        }
+        case ZYDIS_MVEX_FUNC_DF_64:
+        case ZYDIS_MVEX_FUNC_DI_64:
+        {
+            static const ZyanU8 lookup[2][1] =
+            {
+                { 64 },
+                {  8 }
+            };
+            ZYAN_ASSERT(index < 2);
+            ZYAN_ASSERT(instruction->raw.mvex.SSS < ZYAN_ARRAY_LENGTH(lookup[index]));
+            context->cd8_scale = lookup[index][instruction->raw.mvex.SSS];
+            break;
+        }
+        default:
+            ZYAN_UNREACHABLE;
+        }
+
+        // Rounding mode, sae, swizzle, convert
+        context->mvex.functionality = def->functionality;
+        switch (def->functionality)
+        {
+        case ZYDIS_MVEX_FUNC_IGNORED:
+        case ZYDIS_MVEX_FUNC_INVALID:
+        case ZYDIS_MVEX_FUNC_F_32:
+        case ZYDIS_MVEX_FUNC_I_32:
+        case ZYDIS_MVEX_FUNC_F_64:
+        case ZYDIS_MVEX_FUNC_I_64:
+            // Nothing to do here
+            break;
+        case ZYDIS_MVEX_FUNC_RC:
+            instruction->avx.rounding.mode = ZYDIS_ROUNDING_MODE_RN + instruction->raw.mvex.SSS;
+            break;
+        case ZYDIS_MVEX_FUNC_SAE:
+            if (instruction->raw.mvex.SSS >= 4)
+            {
+                instruction->avx.has_sae = ZYAN_TRUE;
+            }
+            break;
+        case ZYDIS_MVEX_FUNC_SWIZZLE_32:
+        case ZYDIS_MVEX_FUNC_SWIZZLE_64:
+            instruction->avx.swizzle.mode = ZYDIS_SWIZZLE_MODE_DCBA + instruction->raw.mvex.SSS;
+            break;
+        case ZYDIS_MVEX_FUNC_SF_32:
+        case ZYDIS_MVEX_FUNC_SF_32_BCST:
+        case ZYDIS_MVEX_FUNC_SF_32_BCST_4TO16:
+            switch (instruction->raw.mvex.SSS)
+            {
+            case 0:
+                break;
+            case 1:
+                instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_16;
+                break;
+            case 2:
+                instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_16;
+                break;
+            case 3:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_FLOAT16;
+                break;
+            case 4:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT8;
+                break;
+            case 5:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT8;
+                break;
+            case 6:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT16;
+                break;
+            case 7:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT16;
+                break;
+            default:
+                ZYAN_UNREACHABLE;
+            }
+            break;
+        case ZYDIS_MVEX_FUNC_SI_32:
+        case ZYDIS_MVEX_FUNC_SI_32_BCST:
+        case ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16:
+            switch (instruction->raw.mvex.SSS)
+            {
+            case 0:
+                break;
+            case 1:
+                instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_16;
+                break;
+            case 2:
+                instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_16;
+                break;
+            case 4:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT8;
+                break;
+            case 5:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT8;
+                break;
+            case 6:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT16;
+                break;
+            case 7:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT16;
+                break;
+            default:
+                ZYAN_UNREACHABLE;
+            }
+            break;
+        case ZYDIS_MVEX_FUNC_SF_64:
+        case ZYDIS_MVEX_FUNC_SI_64:
+            switch (instruction->raw.mvex.SSS)
+            {
+            case 0:
+                break;
+            case 1:
+                instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_1_TO_8;
+                break;
+            case 2:
+                instruction->avx.broadcast.mode = ZYDIS_BROADCAST_MODE_4_TO_8;
+                break;
+            default:
+                ZYAN_UNREACHABLE;
+            }
+            break;
+        case ZYDIS_MVEX_FUNC_UF_32:
+        case ZYDIS_MVEX_FUNC_DF_32:
+            switch (instruction->raw.mvex.SSS)
+            {
+            case 0:
+                break;
+            case 3:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_FLOAT16;
+                break;
+            case 4:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT8;
+                break;
+            case 5:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT8;
+                break;
+            case 6:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT16;
+                break;
+            case 7:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT16;
+                break;
+            default:
+                ZYAN_UNREACHABLE;
+            }
+            break;
+        case ZYDIS_MVEX_FUNC_UF_64:
+        case ZYDIS_MVEX_FUNC_DF_64:
+            break;
+        case ZYDIS_MVEX_FUNC_UI_32:
+        case ZYDIS_MVEX_FUNC_DI_32:
+            switch (instruction->raw.mvex.SSS)
+            {
+            case 0:
+                break;
+            case 4:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT8;
+                break;
+            case 5:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT8;
+                break;
+            case 6:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_UINT16;
+                break;
+            case 7:
+                instruction->avx.conversion.mode = ZYDIS_CONVERSION_MODE_SINT16;
+                break;
+            default:
+                ZYAN_UNREACHABLE;
+            }
+            break;
+        case ZYDIS_MVEX_FUNC_UI_64:
+        case ZYDIS_MVEX_FUNC_DI_64:
+            break;
+        default:
+            ZYAN_UNREACHABLE;
+        }
+
+        // Eviction hint
+        if ((instruction->raw.modrm.mod != 3) && instruction->raw.mvex.E)
+        {
+            instruction->avx.has_eviction_hint = ZYAN_TRUE;
+        }
+
+        // Mask
+        instruction->avx.mask.mode = ZYDIS_MASK_MODE_MERGING;
+        instruction->avx.mask.reg = ZYDIS_REGISTER_K0 + instruction->raw.mvex.kkk;
+#else
+        ZYAN_UNREACHABLE;
+#endif
+        break;
+    }
+    default:
+        // Nothing to do here
+        break;
+    }
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Physical instruction decoding                                                                  */
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Collects optional instruction prefixes.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` struct.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ *
+ * @return  A zyan status code.
+ *
+ * This function sets the corresponding flag for each prefix and automatically decodes the last
+ * `REX`-prefix (if exists).
+ */
+static ZyanStatus ZydisCollectOptionalPrefixes(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(instruction->raw.prefix_count == 0);
+
+    ZyanU8 rex = 0x00;
+    ZyanU8 offset = 0;
+    ZyanBool done = ZYAN_FALSE;
+    do
+    {
+        ZyanU8 prefix_byte;
+        ZYAN_CHECK(ZydisInputPeek(context, instruction, &prefix_byte));
+        switch (prefix_byte)
+        {
+        case 0xF0:
+            context->prefixes.has_lock = ZYAN_TRUE;
+            context->prefixes.offset_lock = offset;
+            break;
+        case 0xF2:
+            ZYAN_FALLTHROUGH;
+        case 0xF3:
+            context->prefixes.group1 = prefix_byte;
+            context->prefixes.mandatory_candidate = prefix_byte;
+            context->prefixes.offset_group1 = offset;
+            context->prefixes.offset_mandatory = offset;
+            break;
+        case 0x2E:
+            ZYAN_FALLTHROUGH;
+        case 0x36:
+            ZYAN_FALLTHROUGH;
+        case 0x3E:
+            ZYAN_FALLTHROUGH;
+        case 0x26:
+            context->prefixes.group2 = prefix_byte;
+            context->prefixes.offset_group2 = offset;
+            if ((context->decoder->machine_mode != ZYDIS_MACHINE_MODE_LONG_64) ||
+               ((context->prefixes.effective_segment != 0x64) &&
+                (context->prefixes.effective_segment != 0x65)))
+            {
+                context->prefixes.effective_segment = prefix_byte;
+                context->prefixes.offset_segment = offset;
+            }
+            break;
+        case 0x64:
+            ZYAN_FALLTHROUGH;
+        case 0x65:
+            context->prefixes.group2 = prefix_byte;
+            context->prefixes.offset_group2 = offset;
+            context->prefixes.effective_segment = prefix_byte;
+            context->prefixes.offset_segment = offset;
+            break;
+        case 0x66:
+            // context->prefixes.has_osz_override = ZYAN_TRUE;
+            context->prefixes.offset_osz_override = offset;
+            if (!context->prefixes.mandatory_candidate)
+            {
+                context->prefixes.mandatory_candidate = 0x66;
+                context->prefixes.offset_mandatory = offset;
+            }
+            instruction->attributes |= ZYDIS_ATTRIB_HAS_OPERANDSIZE;
+            break;
+        case 0x67:
+            // context->prefixes.has_asz_override = ZYAN_TRUE;
+            context->prefixes.offset_asz_override = offset;
+            instruction->attributes |= ZYDIS_ATTRIB_HAS_ADDRESSSIZE;
+            break;
+        default:
+            if ((context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) &&
+                (prefix_byte & 0xF0) == 0x40)
+            {
+                rex = prefix_byte;
+                instruction->raw.rex.offset = offset;
+            } else
+            {
+                done = ZYAN_TRUE;
+            }
+            break;
+        }
+        if (!done)
+        {
+            // Invalidate `REX`, if it's not the last legacy prefix
+            if (rex && (rex != prefix_byte))
+            {
+                rex = 0x00;
+                instruction->raw.rex.offset = 0;
+            }
+            instruction->raw.prefixes[instruction->raw.prefix_count++].value = prefix_byte;
+            ZydisInputSkip(context, instruction);
+            ++offset;
+        }
+    } while (!done);
+
+    if (instruction->attributes & ZYDIS_ATTRIB_HAS_OPERANDSIZE)
+    {
+        instruction->raw.prefixes[context->prefixes.offset_osz_override].type =
+            ZYDIS_PREFIX_TYPE_EFFECTIVE;
+    }
+    if (instruction->attributes & ZYDIS_ATTRIB_HAS_ADDRESSSIZE)
+    {
+        instruction->raw.prefixes[context->prefixes.offset_asz_override].type =
+            ZYDIS_PREFIX_TYPE_EFFECTIVE;
+    }
+    if (rex)
+    {
+        instruction->raw.prefixes[instruction->raw.rex.offset].type = ZYDIS_PREFIX_TYPE_EFFECTIVE;
+        ZydisDecodeREX(context, instruction, rex);
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/**
+ * Decodes optional instruction parts like the ModRM byte, the SIB byte and
+ * additional displacements and/or immediate values.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` struct.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   info        A pointer to the `ZydisInstructionEncodingInfo` struct.
+ *
+ * @return  A zyan status code.
+ */
+static ZyanStatus ZydisDecodeOptionalInstructionParts(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, const ZydisInstructionEncodingInfo* info)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(info);
+
+    if (info->flags & ZYDIS_INSTR_ENC_FLAG_HAS_MODRM)
+    {
+        if (!instruction->raw.modrm.offset)
+        {
+            instruction->raw.modrm.offset = instruction->length;
+            ZyanU8 modrm_byte;
+            ZYAN_CHECK(ZydisInputNext(context, instruction, &modrm_byte));
+            ZydisDecodeModRM(instruction, modrm_byte);
+        }
+        ZyanU8 has_sib = 0;
+        ZyanU8 displacement_size = 0;
+        if (!(info->flags & ZYDIS_INSTR_ENC_FLAG_FORCE_REG_FORM))
+        {
+            switch (instruction->address_width)
+            {
+            case 16:
+                switch (instruction->raw.modrm.mod)
+                {
+                case 0:
+                    if (instruction->raw.modrm.rm == 6)
+                    {
+                        displacement_size = 16;
+                    }
+                    break;
+                case 1:
+                    displacement_size = 8;
+                    break;
+                case 2:
+                    displacement_size = 16;
+                    break;
+                case 3:
+                    break;
+                default:
+                    ZYAN_UNREACHABLE;
+                }
+                break;
+            case 32:
+            case 64:
+                has_sib =
+                    (instruction->raw.modrm.mod != 3) && (instruction->raw.modrm.rm == 4);
+                switch (instruction->raw.modrm.mod)
+                {
+                case 0:
+                    if (instruction->raw.modrm.rm == 5)
+                    {
+                        if (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64)
+                        {
+                            instruction->attributes |= ZYDIS_ATTRIB_IS_RELATIVE;
+                        }
+                        displacement_size = 32;
+                    }
+                    break;
+                case 1:
+                    displacement_size = 8;
+                    break;
+                case 2:
+                    displacement_size = 32;
+                    break;
+                case 3:
+                    break;
+                default:
+                    ZYAN_UNREACHABLE;
+                }
+                break;
+            default:
+                ZYAN_UNREACHABLE;
+            }
+            if (has_sib)
+            {
+                instruction->raw.sib.offset = instruction->length;
+                ZyanU8 sib_byte;
+                ZYAN_CHECK(ZydisInputNext(context, instruction, &sib_byte));
+                ZydisDecodeSIB(instruction, sib_byte);
+                if (instruction->raw.sib.base == 5)
+                {
+                    displacement_size = (instruction->raw.modrm.mod == 1) ? 8 : 32;
+                }
+            }
+            if (displacement_size)
+            {
+                ZYAN_CHECK(ZydisReadDisplacement(context, instruction, displacement_size));
+            }
+        }
+    }
+
+    if (info->flags & ZYDIS_INSTR_ENC_FLAG_HAS_DISP)
+    {
+        ZYAN_CHECK(ZydisReadDisplacement(
+            context, instruction, info->disp.size[context->easz_index]));
+    }
+
+    if (info->flags & ZYDIS_INSTR_ENC_FLAG_HAS_IMM0)
+    {
+        if (info->imm[0].is_relative)
+        {
+            instruction->attributes |= ZYDIS_ATTRIB_IS_RELATIVE;
+        }
+        ZYAN_CHECK(ZydisReadImmediate(context, instruction, 0,
+            info->imm[0].size[context->eosz_index], info->imm[0].is_signed,
+            info->imm[0].is_relative));
+    }
+
+    if (info->flags & ZYDIS_INSTR_ENC_FLAG_HAS_IMM1)
+    {
+        ZYAN_ASSERT(!(info->flags & ZYDIS_INSTR_ENC_FLAG_HAS_DISP));
+        ZYAN_CHECK(ZydisReadImmediate(context, instruction, 1,
+            info->imm[1].size[context->eosz_index], info->imm[1].is_signed,
+            info->imm[1].is_relative));
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Sets the effective operand size for the given instruction.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` struct.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   definition  A pointer to the `ZydisInstructionDefinition` struct.
+ */
+static void ZydisSetEffectiveOperandWidth(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, const ZydisInstructionDefinition* definition)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(definition);
+
+    static const ZyanU8 operand_size_map[8][8] =
+    {
+        // Default for most instructions
+        {
+            16, // 16 __ W0
+            32, // 16 66 W0
+            32, // 32 __ W0
+            16, // 32 66 W0
+            32, // 64 __ W0
+            16, // 64 66 W0
+            64, // 64 __ W1
+            64  // 64 66 W1
+        },
+        // Operand size is forced to 8-bit (this is done later to preserve the `eosz_index`)
+        {
+            16, // 16 __ W0
+            32, // 16 66 W0
+            32, // 32 __ W0
+            16, // 32 66 W0
+            32, // 64 __ W0
+            16, // 64 66 W0
+            64, // 64 __ W1
+            64  // 64 66 W1
+        },
+        // Operand size override 0x66 is ignored
+        {
+            16, // 16 __ W0
+            16, // 16 66 W0
+            32, // 32 __ W0
+            32, // 32 66 W0
+            32, // 64 __ W0
+            32, // 64 66 W0
+            64, // 64 __ W1
+            64  // 64 66 W1
+        },
+        // REX.W promotes to 32-bit instead of 64-bit
+        {
+            16, // 16 __ W0
+            32, // 16 66 W0
+            32, // 32 __ W0
+            16, // 32 66 W0
+            32, // 64 __ W0
+            16, // 64 66 W0
+            32, // 64 __ W1
+            32  // 64 66 W1
+        },
+        // Operand size defaults to 64-bit in 64-bit mode
+        {
+            16, // 16 __ W0
+            32, // 16 66 W0
+            32, // 32 __ W0
+            16, // 32 66 W0
+            64, // 64 __ W0
+            16, // 64 66 W0
+            64, // 64 __ W1
+            64  // 64 66 W1
+        },
+        // Operand size is forced to 64-bit in 64-bit mode
+        {
+            16, // 16 __ W0
+            32, // 16 66 W0
+            32, // 32 __ W0
+            16, // 32 66 W0
+            64, // 64 __ W0
+            64, // 64 66 W0
+            64, // 64 __ W1
+            64  // 64 66 W1
+        },
+        // Operand size is forced to 32-bit, if no REX.W is present.
+        {
+            32, // 16 __ W0
+            32, // 16 66 W0
+            32, // 32 __ W0
+            32, // 32 66 W0
+            32, // 64 __ W0
+            32, // 64 66 W0
+            64, // 64 __ W1
+            64  // 64 66 W1
+        },
+        // Operand size is forced to 64-bit in 64-bit mode and forced to 32-bit in all other modes.
+        // This is used for e.g. `mov CR, GPR` and `mov GPR, CR`.
+        {
+            32, // 16 __ W0
+            32, // 16 66 W0
+            32, // 32 __ W0
+            32, // 32 66 W0
+            64, // 64 __ W0
+            64, // 64 66 W0
+            64, // 64 __ W1
+            64  // 64 66 W1
+        }
+    };
+
+    ZyanU8 index = (instruction->attributes & ZYDIS_ATTRIB_HAS_OPERANDSIZE) ? 1 : 0;
+    switch (context->decoder->machine_mode)
+    {
+    case ZYDIS_MACHINE_MODE_LONG_COMPAT_16:
+    case ZYDIS_MACHINE_MODE_LEGACY_16:
+    case ZYDIS_MACHINE_MODE_REAL_16:
+        index += 0;
+        break;
+    case ZYDIS_MACHINE_MODE_LONG_COMPAT_32:
+    case ZYDIS_MACHINE_MODE_LEGACY_32:
+        index += 2;
+        break;
+    case ZYDIS_MACHINE_MODE_LONG_64:
+        index += 4;
+        index += (context->cache.W & 0x01) << 1;
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+
+    ZYAN_ASSERT(definition->operand_size_map < ZYAN_ARRAY_LENGTH(operand_size_map));
+    ZYAN_ASSERT(index < ZYAN_ARRAY_LENGTH(operand_size_map[definition->operand_size_map]));
+
+    instruction->operand_width = operand_size_map[definition->operand_size_map][index];
+
+    switch (instruction->operand_width)
+    {
+    case 16:
+        context->eosz_index = 0;
+        break;
+    case 32:
+        context->eosz_index = 1;
+        break;
+    case 64:
+        context->eosz_index = 2;
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+
+    // TODO: Cleanup code and remove hardcoded condition
+    if (definition->operand_size_map == 1)
+    {
+        instruction->operand_width = 8;
+    }
+}
+
+/**
+ * Sets the effective address width for the given instruction.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` struct.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   definition  A pointer to the `ZydisInstructionDefinition` struct.
+ */
+static void ZydisSetEffectiveAddressWidth(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, const ZydisInstructionDefinition* definition)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+
+    static const ZyanU8 address_size_map[3][8] =
+    {
+        // Default for most instructions
+        {
+            16, // 16 __
+            32, // 16 67
+            32, // 32 __
+            16, // 32 67
+            64, // 64 __
+            32, // 64 67
+        },
+        // The address-size override is ignored
+        {
+            16, // 16 __
+            16, // 16 67
+            32, // 32 __
+            32, // 32 67
+            64, // 64 __
+            64, // 64 67
+        },
+        // The address-size is forced to 64-bit in 64-bit mode and 32-bit in non 64-bit mode. This
+        // is used by e.g. `ENCLS`, `ENCLV`, `ENCLU`.
+        {
+            32, // 16 __
+            32, // 16 67
+            32, // 32 __
+            32, // 32 67
+            64, // 64 __
+            64 // 64 67
+        }
+    };
+
+    ZyanU8 index = (instruction->attributes & ZYDIS_ATTRIB_HAS_ADDRESSSIZE) ? 1 : 0;
+    switch (context->decoder->address_width)
+    {
+    case ZYDIS_ADDRESS_WIDTH_16:
+        index += 0;
+        break;
+    case ZYDIS_ADDRESS_WIDTH_32:
+        index += 2;
+        break;
+    case ZYDIS_ADDRESS_WIDTH_64:
+        index += 4;
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+    ZYAN_ASSERT(definition->address_size_map < ZYAN_ARRAY_LENGTH(address_size_map));
+    ZYAN_ASSERT(index < ZYAN_ARRAY_LENGTH(address_size_map[definition->address_size_map]));
+
+    instruction->address_width = address_size_map[definition->address_size_map][index];
+
+    switch (instruction->address_width)
+    {
+    case 16:
+        context->easz_index = 0;
+        break;
+    case 32:
+        context->easz_index = 1;
+        break;
+    case 64:
+        context->easz_index = 2;
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+static ZyanStatus ZydisNodeHandlerXOP(ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    switch (instruction->encoding)
+    {
+    case ZYDIS_INSTRUCTION_ENCODING_LEGACY:
+        *index = 0;
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_XOP:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_XOP);
+        *index = (instruction->raw.xop.m_mmmm - 0x08) + (instruction->raw.xop.pp * 3) + 1;
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerVEX(ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    switch (instruction->encoding)
+    {
+    case ZYDIS_INSTRUCTION_ENCODING_LEGACY:
+        *index = 0;
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_VEX:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_VEX);
+        *index = instruction->raw.vex.m_mmmm + (instruction->raw.vex.pp << 2) + 1;
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerEMVEX(ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    switch (instruction->encoding)
+    {
+    case ZYDIS_INSTRUCTION_ENCODING_LEGACY:
+        *index = 0;
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_EVEX:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_EVEX);
+        *index = instruction->raw.evex.mm + (instruction->raw.evex.pp << 2) + 1;
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_MVEX:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MVEX);
+        *index = instruction->raw.mvex.mmmm + (instruction->raw.mvex.pp << 2) + 17;
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerOpcode(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    // Handle possible encoding-prefix and opcode-map changes
+    switch (instruction->encoding)
+    {
+    case ZYDIS_INSTRUCTION_ENCODING_LEGACY:
+        ZYAN_CHECK(ZydisInputNext(context, instruction, &instruction->opcode));
+        switch (instruction->opcode_map)
+        {
+        case ZYDIS_OPCODE_MAP_DEFAULT:
+            switch (instruction->opcode)
+            {
+            case 0x0F:
+                instruction->opcode_map = ZYDIS_OPCODE_MAP_0F;
+                break;
+            case 0xC4:
+            case 0xC5:
+            case 0x62:
+            {
+                ZyanU8 next_input;
+                ZYAN_CHECK(ZydisInputPeek(context, instruction, &next_input));
+                if (((next_input & 0xF0) >= 0xC0) ||
+                    (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64))
+                {
+                    if (instruction->attributes & ZYDIS_ATTRIB_HAS_REX)
+                    {
+                        return ZYDIS_STATUS_ILLEGAL_REX;
+                    }
+                    if (context->prefixes.has_lock)
+                    {
+                        return ZYDIS_STATUS_ILLEGAL_LOCK;
+                    }
+                    if (context->prefixes.mandatory_candidate)
+                    {
+                        return ZYDIS_STATUS_ILLEGAL_LEGACY_PFX;
+                    }
+                    ZyanU8 prefix_bytes[4] = { 0, 0, 0, 0 };
+                    prefix_bytes[0] = instruction->opcode;
+                    switch (instruction->opcode)
+                    {
+                    case 0xC4:
+                        instruction->raw.vex.offset = instruction->length - 1;
+                        // Read additional 3-byte VEX-prefix data
+                        ZYAN_ASSERT(!(instruction->attributes & ZYDIS_ATTRIB_HAS_VEX));
+                        ZYAN_CHECK(ZydisInputNextBytes(context, instruction, &prefix_bytes[1], 2));
+                        break;
+                    case 0xC5:
+                        instruction->raw.vex.offset = instruction->length - 1;
+                        // Read additional 2-byte VEX-prefix data
+                        ZYAN_ASSERT(!(instruction->attributes & ZYDIS_ATTRIB_HAS_VEX));
+                        ZYAN_CHECK(ZydisInputNext(context, instruction, &prefix_bytes[1]));
+                        break;
+                    case 0x62:
+#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC)
+                        // Read additional EVEX/MVEX-prefix data
+                        ZYAN_ASSERT(!(instruction->attributes & ZYDIS_ATTRIB_HAS_EVEX));
+                        ZYAN_ASSERT(!(instruction->attributes & ZYDIS_ATTRIB_HAS_MVEX));
+                        ZYAN_CHECK(ZydisInputNextBytes(context, instruction, &prefix_bytes[1], 3));
+                        break;
+#else
+                        return ZYDIS_STATUS_DECODING_ERROR;
+#endif
+                    default:
+                        ZYAN_UNREACHABLE;
+                    }
+                    switch (instruction->opcode)
+                    {
+                    case 0xC4:
+                    case 0xC5:
+                        // Decode VEX-prefix
+                        instruction->encoding = ZYDIS_INSTRUCTION_ENCODING_VEX;
+                        ZYAN_CHECK(ZydisDecodeVEX(context, instruction, prefix_bytes));
+                        instruction->opcode_map =
+                            ZYDIS_OPCODE_MAP_DEFAULT + instruction->raw.vex.m_mmmm;
+                        break;
+                    case 0x62:
+#if defined(ZYDIS_DISABLE_AVX512) && defined(ZYDIS_DISABLE_KNC)
+                        return ZYDIS_STATUS_DECODING_ERROR;
+#else
+                        switch ((prefix_bytes[2] >> 2) & 0x01)
+                        {
+                        case 0:
+#ifndef ZYDIS_DISABLE_KNC
+                            instruction->raw.mvex.offset = instruction->length - 4;
+                            // `KNC` instructions are only valid in 64-bit mode.
+                            // This condition catches the `MVEX` encoded ones to save a bunch of
+                            // `mode` filters in the data-tables.
+                            // `KNC` instructions with `VEX` encoding still require a `mode` filter.
+                            if (context->decoder->machine_mode != ZYDIS_MACHINE_MODE_LONG_64)
+                            {
+                                return ZYDIS_STATUS_DECODING_ERROR;
+                            }
+                            // Decode MVEX-prefix
+                            instruction->encoding = ZYDIS_INSTRUCTION_ENCODING_MVEX;
+                            ZYAN_CHECK(ZydisDecodeMVEX(context, instruction, prefix_bytes));
+                            instruction->opcode_map =
+                                ZYDIS_OPCODE_MAP_DEFAULT + instruction->raw.mvex.mmmm;
+                            break;
+#else
+                            return ZYDIS_STATUS_DECODING_ERROR;
+#endif
+                        case 1:
+#ifndef ZYDIS_DISABLE_AVX512
+                            instruction->raw.evex.offset = instruction->length - 4;
+                            // Decode EVEX-prefix
+                            instruction->encoding = ZYDIS_INSTRUCTION_ENCODING_EVEX;
+                            ZYAN_CHECK(ZydisDecodeEVEX(context, instruction, prefix_bytes));
+                            instruction->opcode_map =
+                                ZYDIS_OPCODE_MAP_DEFAULT + instruction->raw.evex.mm;
+                            break;
+#else
+                            return ZYDIS_STATUS_DECODING_ERROR;
+#endif
+                        default:
+                            ZYAN_UNREACHABLE;
+                        }
+                        break;
+#endif
+                    default:
+                        ZYAN_UNREACHABLE;
+                    }
+                }
+                break;
+            }
+            case 0x8F:
+            {
+                ZyanU8 next_input;
+                ZYAN_CHECK(ZydisInputPeek(context, instruction, &next_input));
+                if ((next_input & 0x1F) >= 8)
+                {
+                    if (instruction->attributes & ZYDIS_ATTRIB_HAS_REX)
+                    {
+                        return ZYDIS_STATUS_ILLEGAL_REX;
+                    }
+                    if (context->prefixes.has_lock)
+                    {
+                        return ZYDIS_STATUS_ILLEGAL_LOCK;
+                    }
+                    if (context->prefixes.mandatory_candidate)
+                    {
+                        return ZYDIS_STATUS_ILLEGAL_LEGACY_PFX;
+                    }
+                    instruction->raw.xop.offset = instruction->length - 1;
+                    ZyanU8 prefixBytes[3] = { 0x8F, 0x00, 0x00 };
+                    // Read additional xop-prefix data
+                    ZYAN_CHECK(ZydisInputNextBytes(context, instruction, &prefixBytes[1], 2));
+                    // Decode xop-prefix
+                    instruction->encoding = ZYDIS_INSTRUCTION_ENCODING_XOP;
+                    ZYAN_CHECK(ZydisDecodeXOP(context, instruction, prefixBytes));
+                    instruction->opcode_map =
+                        ZYDIS_OPCODE_MAP_XOP8 + instruction->raw.xop.m_mmmm - 0x08;
+                }
+                break;
+            }
+            default:
+                break;
+            }
+            break;
+        case ZYDIS_OPCODE_MAP_0F:
+            switch (instruction->opcode)
+            {
+            case 0x0F:
+                if (context->prefixes.has_lock)
+                {
+                    return ZYDIS_STATUS_ILLEGAL_LOCK;
+                }
+                instruction->encoding = ZYDIS_INSTRUCTION_ENCODING_3DNOW;
+                instruction->opcode_map = ZYDIS_OPCODE_MAP_0F0F;
+                break;
+            case 0x38:
+                instruction->opcode_map = ZYDIS_OPCODE_MAP_0F38;
+                break;
+            case 0x3A:
+                instruction->opcode_map = ZYDIS_OPCODE_MAP_0F3A;
+                break;
+            default:
+                break;
+            }
+            break;
+        case ZYDIS_OPCODE_MAP_0F38:
+        case ZYDIS_OPCODE_MAP_0F3A:
+        case ZYDIS_OPCODE_MAP_XOP8:
+        case ZYDIS_OPCODE_MAP_XOP9:
+        case ZYDIS_OPCODE_MAP_XOPA:
+            // Nothing to do here
+            break;
+        default:
+            ZYAN_UNREACHABLE;
+        }
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_3DNOW:
+        // All 3DNOW (0x0F 0x0F) instructions are using the same operand encoding. We just
+        // decode a random (pi2fw) instruction and extract the actual opcode later.
+        *index = 0x0C;
+        return ZYAN_STATUS_SUCCESS;
+    default:
+        ZYAN_CHECK(ZydisInputNext(context, instruction, &instruction->opcode));
+        break;
+    }
+
+    *index = instruction->opcode;
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerMode(ZydisDecoderContext* context, ZyanU16* index)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(index);
+
+    switch (context->decoder->machine_mode)
+    {
+    case ZYDIS_MACHINE_MODE_LONG_COMPAT_16:
+    case ZYDIS_MACHINE_MODE_LEGACY_16:
+    case ZYDIS_MACHINE_MODE_REAL_16:
+        *index = 0;
+        break;
+    case ZYDIS_MACHINE_MODE_LONG_COMPAT_32:
+    case ZYDIS_MACHINE_MODE_LEGACY_32:
+        *index = 1;
+        break;
+    case ZYDIS_MACHINE_MODE_LONG_64:
+        *index = 2;
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerModeCompact(ZydisDecoderContext* context, ZyanU16* index)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(index);
+
+    *index = (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) ? 0 : 1;
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerModrmMod(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    if (!instruction->raw.modrm.offset)
+    {
+        instruction->raw.modrm.offset = instruction->length;
+        ZyanU8 modrm_byte;
+        ZYAN_CHECK(ZydisInputNext(context, instruction, &modrm_byte));
+        ZydisDecodeModRM(instruction, modrm_byte);
+    }
+    *index = instruction->raw.modrm.mod;
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerModrmModCompact(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_CHECK(ZydisNodeHandlerModrmMod(context, instruction, index));
+    *index = (*index == 0x3) ? 0 : 1;
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerModrmReg(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    if (!instruction->raw.modrm.offset)
+    {
+        instruction->raw.modrm.offset = instruction->length;
+        ZyanU8 modrm_byte;
+        ZYAN_CHECK(ZydisInputNext(context, instruction, &modrm_byte));
+        ZydisDecodeModRM(instruction, modrm_byte);
+    }
+    *index = instruction->raw.modrm.reg;
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerModrmRm(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    if (!instruction->raw.modrm.offset)
+    {
+        instruction->raw.modrm.offset = instruction->length;
+        ZyanU8 modrm_byte;
+        ZYAN_CHECK(ZydisInputNext(context, instruction, &modrm_byte));
+        ZydisDecodeModRM(instruction, modrm_byte);
+    }
+    *index = instruction->raw.modrm.rm;
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerMandatoryPrefix(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    switch (context->prefixes.mandatory_candidate)
+    {
+    case 0x66:
+        instruction->raw.prefixes[context->prefixes.offset_mandatory].type =
+            ZYDIS_PREFIX_TYPE_MANDATORY;
+        instruction->attributes &= ~ZYDIS_ATTRIB_HAS_OPERANDSIZE;
+        *index = 2;
+        break;
+    case 0xF3:
+        instruction->raw.prefixes[context->prefixes.offset_mandatory].type =
+            ZYDIS_PREFIX_TYPE_MANDATORY;
+        *index = 3;
+        break;
+    case 0xF2:
+        instruction->raw.prefixes[context->prefixes.offset_mandatory].type =
+            ZYDIS_PREFIX_TYPE_MANDATORY;
+        *index = 4;
+        break;
+    default:
+        *index = 1;
+        break;
+    }
+    // TODO: Consume prefix and make sure it's available again, if we need to fallback
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerOperandSize(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    if ((context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) && (context->cache.W))
+    {
+        *index = 2;
+    } else
+    {
+        if (instruction->attributes & ZYDIS_ATTRIB_HAS_OPERANDSIZE)
+        {
+            instruction->raw.prefixes[context->prefixes.offset_osz_override].type =
+                ZYDIS_PREFIX_TYPE_EFFECTIVE;
+        }
+        switch (context->decoder->machine_mode)
+        {
+        case ZYDIS_MACHINE_MODE_LONG_COMPAT_16:
+        case ZYDIS_MACHINE_MODE_LEGACY_16:
+        case ZYDIS_MACHINE_MODE_REAL_16:
+            *index = (instruction->attributes & ZYDIS_ATTRIB_HAS_OPERANDSIZE) ? 1 : 0;
+            break;
+        case ZYDIS_MACHINE_MODE_LONG_COMPAT_32:
+        case ZYDIS_MACHINE_MODE_LEGACY_32:
+        case ZYDIS_MACHINE_MODE_LONG_64:
+            *index = (instruction->attributes & ZYDIS_ATTRIB_HAS_OPERANDSIZE) ? 0 : 1;
+            break;
+        default:
+            ZYAN_UNREACHABLE;
+        }
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerAddressSize(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    /*if (instruction->attributes & ZYDIS_ATTRIB_HAS_ADDRESSSIZE)
+    {
+        instruction->raw.prefixes[context->prefixes.offset_asz_override].type =
+            ZYDIS_PREFIX_TYPE_EFFECTIVE;
+    }*/
+    switch (context->decoder->address_width)
+    {
+    case ZYDIS_ADDRESS_WIDTH_16:
+        *index = (instruction->attributes & ZYDIS_ATTRIB_HAS_ADDRESSSIZE) ? 1 : 0;
+        break;
+    case ZYDIS_ADDRESS_WIDTH_32:
+        *index = (instruction->attributes & ZYDIS_ATTRIB_HAS_ADDRESSSIZE) ? 0 : 1;
+        break;
+    case ZYDIS_ADDRESS_WIDTH_64:
+        *index = (instruction->attributes & ZYDIS_ATTRIB_HAS_ADDRESSSIZE) ? 1 : 2;
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerVectorLength(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    switch (instruction->encoding)
+    {
+    case ZYDIS_INSTRUCTION_ENCODING_XOP:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_XOP);
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_VEX:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_VEX);
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_EVEX:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_EVEX);
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_MVEX:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MVEX);
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+    *index = context->cache.LL;
+    if (*index == 3)
+    {
+        return ZYDIS_STATUS_DECODING_ERROR;
+    }
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerRexW(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    switch (instruction->encoding)
+    {
+    case ZYDIS_INSTRUCTION_ENCODING_LEGACY:
+        // nothing to do here
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_XOP:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_XOP);
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_VEX:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_VEX);
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_EVEX:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_EVEX);
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_MVEX:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MVEX);
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+    *index = context->cache.W;
+    return ZYAN_STATUS_SUCCESS;
+}
+
+static ZyanStatus ZydisNodeHandlerRexB(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    switch (instruction->encoding)
+    {
+    case ZYDIS_INSTRUCTION_ENCODING_LEGACY:
+        // nothing to do here
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_XOP:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_XOP);
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_VEX:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_VEX);
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_EVEX:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_EVEX);
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_MVEX:
+        ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MVEX);
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+    *index = context->cache.B;
+    return ZYAN_STATUS_SUCCESS;
+}
+
+#ifndef ZYDIS_DISABLE_AVX512
+static ZyanStatus ZydisNodeHandlerEvexB(ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    ZYAN_ASSERT(instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX);
+    ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_EVEX);
+    *index = instruction->raw.evex.b;
+    return ZYAN_STATUS_SUCCESS;
+}
+#endif
+
+#ifndef ZYDIS_DISABLE_KNC
+static ZyanStatus ZydisNodeHandlerMvexE(ZydisDecodedInstruction* instruction, ZyanU16* index)
+{
+    ZYAN_ASSERT(instruction);
+    ZYAN_ASSERT(index);
+
+    ZYAN_ASSERT(instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX);
+    ZYAN_ASSERT(instruction->attributes & ZYDIS_ATTRIB_HAS_MVEX);
+    *index = instruction->raw.mvex.E;
+    return ZYAN_STATUS_SUCCESS;
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Checks for certain post-decode error-conditions.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` instance.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ * @param   definition  A pointer to the `ZydisInstructionDefinition` struct.
+ *
+ * @return  A zyan status code.
+ *
+ * This function is called immediately after a valid instruction-definition was found.
+ */
+static ZyanStatus ZydisCheckErrorConditions(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction, const ZydisInstructionDefinition* definition)
+{
+    const ZydisRegisterConstraint constr_REG = definition->constr_REG;
+    const ZydisRegisterConstraint constr_RM  = definition->constr_RM;
+    // We set this to `NONE` instead of `UNUSED` to save up some unnecessary runtime checks
+    ZydisRegisterConstraint constr_NDSNDD = ZYDIS_REG_CONSTRAINTS_NONE;
+    ZyanBool has_VSIB  = ZYAN_FALSE;
+    ZyanBool is_gather = ZYAN_FALSE;
+#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC)
+    ZydisMaskPolicy mask_policy = ZYDIS_MASK_POLICY_INVALID;
+#endif
+
+    switch (instruction->encoding)
+    {
+    case ZYDIS_INSTRUCTION_ENCODING_LEGACY:
+    {
+        const ZydisInstructionDefinitionLEGACY* def =
+            (const ZydisInstructionDefinitionLEGACY*)definition;
+
+        if (def->requires_protected_mode &&
+            (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_REAL_16))
+        {
+            return ZYDIS_STATUS_DECODING_ERROR;
+        }
+
+        if (context->prefixes.has_lock && !def->accepts_LOCK)
+        {
+            return ZYDIS_STATUS_ILLEGAL_LOCK;
+        }
+        break;
+    }
+    case ZYDIS_INSTRUCTION_ENCODING_3DNOW:
+    {
+        break;
+    }
+    case ZYDIS_INSTRUCTION_ENCODING_XOP:
+    {
+        const ZydisInstructionDefinitionXOP* def =
+            (const ZydisInstructionDefinitionXOP*)definition;
+        constr_NDSNDD = def->constr_NDSNDD;
+        break;
+    }
+    case ZYDIS_INSTRUCTION_ENCODING_VEX:
+    {
+        const ZydisInstructionDefinitionVEX* def =
+            (const ZydisInstructionDefinitionVEX*)definition;
+        constr_NDSNDD = def->constr_NDSNDD;
+        is_gather = def->is_gather;
+        break;
+    }
+    case ZYDIS_INSTRUCTION_ENCODING_EVEX:
+    {
+#ifndef ZYDIS_DISABLE_AVX512
+        const ZydisInstructionDefinitionEVEX* def =
+            (const ZydisInstructionDefinitionEVEX*)definition;
+        constr_NDSNDD = def->constr_NDSNDD;
+        is_gather = def->is_gather;
+        mask_policy = def->mask_policy;
+
+        // Check for invalid zero-mask
+        if ((instruction->raw.evex.z) && (!def->accepts_zero_mask))
+        {
+            return ZYDIS_STATUS_INVALID_MASK; // TODO: Dedicated status code
+        }
+#else
+        ZYAN_UNREACHABLE;
+#endif
+        break;
+    }
+    case ZYDIS_INSTRUCTION_ENCODING_MVEX:
+    {
+#ifndef ZYDIS_DISABLE_KNC
+        const ZydisInstructionDefinitionMVEX* def =
+            (const ZydisInstructionDefinitionMVEX*)definition;
+        constr_NDSNDD = def->constr_NDSNDD;
+        is_gather = def->is_gather;
+        mask_policy = def->mask_policy;
+
+        // Check for invalid MVEX.SSS values
+        static const ZyanU8 lookup[26][8] =
+        {
+            // ZYDIS_MVEX_FUNC_IGNORED
+            { 1, 1, 1, 1, 1, 1, 1, 1 },
+            // ZYDIS_MVEX_FUNC_INVALID
+            { 1, 0, 0, 0, 0, 0, 0, 0 },
+            // ZYDIS_MVEX_FUNC_RC
+            { 1, 1, 1, 1, 1, 1, 1, 1 },
+            // ZYDIS_MVEX_FUNC_SAE
+            { 1, 1, 1, 1, 1, 1, 1, 1 },
+            // ZYDIS_MVEX_FUNC_F_32
+            { 1, 0, 0, 0, 0, 0, 0, 0 },
+            // ZYDIS_MVEX_FUNC_I_32
+            { 1, 0, 0, 0, 0, 0, 0, 0 },
+            // ZYDIS_MVEX_FUNC_F_64
+            { 1, 0, 0, 0, 0, 0, 0, 0 },
+            // ZYDIS_MVEX_FUNC_I_64
+            { 1, 0, 0, 0, 0, 0, 0, 0 },
+            // ZYDIS_MVEX_FUNC_SWIZZLE_32
+            { 1, 1, 1, 1, 1, 1, 1, 1 },
+            // ZYDIS_MVEX_FUNC_SWIZZLE_64
+            { 1, 1, 1, 1, 1, 1, 1, 1 },
+            // ZYDIS_MVEX_FUNC_SF_32
+            { 1, 1, 1, 1, 1, 1, 1, 1 },
+            // ZYDIS_MVEX_FUNC_SF_32_BCST
+            { 1, 1, 1, 0, 0, 0, 0, 0 },
+            // ZYDIS_MVEX_FUNC_SF_32_BCST_4TO16
+            { 1, 0, 1, 0, 0, 0, 0, 0 },
+            // ZYDIS_MVEX_FUNC_SF_64
+            { 1, 1, 1, 0, 0, 0, 0, 0 },
+            // ZYDIS_MVEX_FUNC_SI_32
+            { 1, 1, 1, 0, 1, 1, 1, 1 },
+            // ZYDIS_MVEX_FUNC_SI_32_BCST
+            { 1, 1, 1, 0, 0, 0, 0, 0 },
+            // ZYDIS_MVEX_FUNC_SI_32_BCST_4TO16
+            { 1, 0, 1, 0, 0, 0, 0, 0 },
+            // ZYDIS_MVEX_FUNC_SI_64
+            { 1, 1, 1, 0, 0, 0, 0, 0 },
+            // ZYDIS_MVEX_FUNC_UF_32
+            { 1, 0, 0, 1, 1, 1, 1, 1 },
+            // ZYDIS_MVEX_FUNC_UF_64
+            { 1, 0, 0, 0, 0, 0, 0, 0 },
+            // ZYDIS_MVEX_FUNC_UI_32
+            { 1, 0, 0, 0, 1, 1, 1, 1 },
+            // ZYDIS_MVEX_FUNC_UI_64
+            { 1, 0, 0, 0, 0, 0, 0, 0 },
+            // ZYDIS_MVEX_FUNC_DF_32
+            { 1, 0, 0, 1, 1, 1, 1, 1 },
+            // ZYDIS_MVEX_FUNC_DF_64
+            { 1, 0, 0, 0, 0, 0, 0, 0 },
+            // ZYDIS_MVEX_FUNC_DI_32
+            { 1, 0, 0, 0, 1, 1, 1, 1 },
+            // ZYDIS_MVEX_FUNC_DI_64
+            { 1, 0, 0, 0, 0, 0, 0, 0 }
+        };
+        ZYAN_ASSERT(def->functionality < ZYAN_ARRAY_LENGTH(lookup));
+        ZYAN_ASSERT(instruction->raw.mvex.SSS < 8);
+        if (!lookup[def->functionality][instruction->raw.mvex.SSS])
+        {
+            return ZYDIS_STATUS_DECODING_ERROR;
+        }
+#else
+        ZYAN_UNREACHABLE;
+#endif
+        break;
+    }
+    default:
+        ZYAN_UNREACHABLE;
+    }
+
+    // Validate register constraints
+    switch (constr_REG)
+    {
+    case ZYDIS_REG_CONSTRAINTS_UNUSED:
+    case ZYDIS_REG_CONSTRAINTS_NONE:
+        break;
+    case ZYDIS_REG_CONSTRAINTS_GPR:
+        if ((context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) && context->cache.R2)
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+        break;
+    case ZYDIS_REG_CONSTRAINTS_SR_DEST:
+        // `ZYDIS_REGISTER_CR` is not allowed as `MOV` target
+        if (instruction->raw.modrm.reg == 1)
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+        ZYAN_FALLTHROUGH;
+    case ZYDIS_REG_CONSTRAINTS_SR:
+    {
+        if (instruction->raw.modrm.reg > 5)
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+        break;
+    }
+    case ZYDIS_REG_CONSTRAINTS_CR:
+    {
+        // Attempts to reference CR1, CR5, CR6, CR7, and CR9CR15 result in undefined opcode (#UD)
+        // exceptions
+        const ZyanU8 value = instruction->raw.modrm.reg | (context->cache.R << 3);
+        static const ZyanU8 lookup[16] =
+        {
+            1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0
+        };
+        ZYAN_ASSERT(value < ZYAN_ARRAY_LENGTH(lookup));
+        if (!lookup[value])
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+        break;
+    }
+    case ZYDIS_REG_CONSTRAINTS_DR:
+        // Attempts to reference DR8DR15 result in undefined opcode (#UD) exceptions. DR4 and DR5
+        // are only valid, if the debug extension (DE) flag in CR4 is set. As we can't check this,
+        // we just allow them.
+        if (context->cache.R)
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+        break;
+    case ZYDIS_REG_CONSTRAINTS_MASK:
+        if ((context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) &&
+            (context->cache.R || context->cache.R2))
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+        break;
+    case ZYDIS_REG_CONSTRAINTS_BND:
+        ZYAN_ASSERT(!context->cache.R2);
+        if (context->cache.R || instruction->raw.modrm.reg > 3)
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+    switch (constr_RM)
+    {
+    case ZYDIS_REG_CONSTRAINTS_UNUSED:
+    case ZYDIS_REG_CONSTRAINTS_NONE:
+        break;
+    case ZYDIS_REG_CONSTRAINTS_SR_DEST:
+        // `ZYDIS_REGISTER_CR` is not allowed as `MOV` target
+        if (instruction->raw.modrm.rm == 1)
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+        ZYAN_FALLTHROUGH;
+    case ZYDIS_REG_CONSTRAINTS_SR:
+    {
+        if (instruction->raw.modrm.rm > 6)
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+        break;
+    }
+    case ZYDIS_REG_CONSTRAINTS_MASK:
+        break;
+    case ZYDIS_REG_CONSTRAINTS_BND:
+        if (context->cache.B || instruction->raw.modrm.rm > 3)
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+        break;
+    case ZYDIS_REG_CONSTRAINTS_VSIB:
+        has_VSIB = ZYAN_TRUE;
+        break;
+    case ZYDIS_REG_CONSTRAINTS_NO_REL:
+        if ((context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) &&
+            (instruction->raw.modrm.mod == 0) &&
+            (instruction->raw.modrm.rm  == 5))
+        {
+            return ZYDIS_STATUS_DECODING_ERROR;
+        }
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+    switch (constr_NDSNDD)
+    {
+    case ZYDIS_REG_CONSTRAINTS_UNUSED:
+        // `.vvvv` is not allowed, if the instruction does not encode a NDS/NDD operand
+        if (context->cache.v_vvvv & 0x0F)
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+        // `.v'` is not allowed, if the instruction does not encode a NDS/NDD or VSIB operand
+        if (!has_VSIB && context->cache.V2)
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+        break;
+    case ZYDIS_REG_CONSTRAINTS_NONE:
+        ZYAN_ASSERT(!has_VSIB || ((instruction->encoding != ZYDIS_INSTRUCTION_ENCODING_EVEX) &&
+                                  (instruction->encoding != ZYDIS_INSTRUCTION_ENCODING_MVEX)));
+        break;
+    case ZYDIS_REG_CONSTRAINTS_GPR:
+        // `.v'` is invalid for GPR-registers
+        if (context->cache.V2)
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+        break;
+    case ZYDIS_REG_CONSTRAINTS_MASK:
+        if ((context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64) &&
+            (context->cache.v_vvvv > 7))
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+
+    // Check gather registers
+    if (is_gather)
+    {
+        ZYAN_ASSERT(has_VSIB);
+        ZYAN_ASSERT(instruction->raw.modrm.mod != 3);
+        ZYAN_ASSERT(instruction->raw.modrm.rm  == 4);
+
+        ZyanU8 dest  = instruction->raw.modrm.reg;
+        ZyanU8 index = instruction->raw.sib.index;
+        if (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64)
+        {
+            dest  = dest  | (context->cache.R << 3) | (context->cache.R2 << 4);
+            index = index | (context->cache.X << 3) | (context->cache.V2 << 4);
+        }
+        ZyanU8 mask  = 0xF0;
+
+        switch (instruction->encoding)
+        {
+        case ZYDIS_INSTRUCTION_ENCODING_VEX:
+            ZYAN_ASSERT((constr_REG    == ZYDIS_REG_CONSTRAINTS_NONE) &&
+                        (constr_RM     == ZYDIS_REG_CONSTRAINTS_VSIB) &&
+                        (constr_NDSNDD == ZYDIS_REG_CONSTRAINTS_NONE));
+            if (context->decoder->machine_mode == ZYDIS_MACHINE_MODE_LONG_64)
+            {
+                mask = context->cache.v_vvvv;
+            } else
+            {
+                // Ignore the high-register bits in 16- and 32-bit mode
+                mask = context->cache.v_vvvv & 0x07;
+            }
+            break;
+        case ZYDIS_INSTRUCTION_ENCODING_EVEX:
+        case ZYDIS_INSTRUCTION_ENCODING_MVEX:
+            ZYAN_ASSERT(((constr_REG    == ZYDIS_REG_CONSTRAINTS_UNUSED) ||
+                         (constr_REG    == ZYDIS_REG_CONSTRAINTS_NONE)) &&
+                         (constr_RM     == ZYDIS_REG_CONSTRAINTS_VSIB) &&
+                         (constr_NDSNDD == ZYDIS_REG_CONSTRAINTS_UNUSED));
+
+            // Some gather instructions (like `VGATHERPF0{D|Q}{PS|PD}`) do not have a destination
+            // operand
+            if (constr_REG == ZYDIS_REG_CONSTRAINTS_UNUSED)
+            {
+                dest = 0xF1;
+            }
+            break;
+        default:
+            ZYAN_UNREACHABLE;
+        }
+        // If any pair of the index, mask, or destination registers are the same, the instruction
+        // results a UD fault.
+        if (dest == index || dest == mask || index == mask)
+        {
+            return ZYDIS_STATUS_BAD_REGISTER;
+        }
+    }
+
+#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC)
+    // Check for invalid MASK registers
+    switch (mask_policy)
+    {
+    case ZYDIS_MASK_POLICY_INVALID:
+    case ZYDIS_MASK_POLICY_ALLOWED:
+        // Nothing to do here
+        break;
+    case ZYDIS_MASK_POLICY_REQUIRED:
+        if (!context->cache.mask)
+        {
+            return ZYDIS_STATUS_INVALID_MASK;
+        }
+        break;
+    case ZYDIS_MASK_POLICY_FORBIDDEN:
+        if (context->cache.mask)
+        {
+            return ZYDIS_STATUS_INVALID_MASK;
+        }
+        break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+#endif
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/**
+ * Uses the decoder-tree to decode the current instruction.
+ *
+ * @param   context     A pointer to the `ZydisDecoderContext` instance.
+ * @param   instruction A pointer to the `ZydisDecodedInstruction` struct.
+ *
+ * @return  A zyan status code.
+ */
+static ZyanStatus ZydisDecodeInstruction(ZydisDecoderContext* context,
+    ZydisDecodedInstruction* instruction)
+{
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(instruction);
+
+    // Iterate through the decoder tree
+    const ZydisDecoderTreeNode* node = ZydisDecoderTreeGetRootNode();
+    const ZydisDecoderTreeNode* temp = ZYAN_NULL;
+    ZydisDecoderTreeNodeType node_type;
+    do
+    {
+        node_type = node->type;
+        ZyanU16 index = 0;
+        ZyanStatus status = 0;
+        switch (node_type)
+        {
+        case ZYDIS_NODETYPE_INVALID:
+            if (temp)
+            {
+                node = temp;
+                temp = ZYAN_NULL;
+                node_type = ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX;
+                if (context->prefixes.mandatory_candidate != 0x00)
+                {
+                    instruction->raw.prefixes[context->prefixes.offset_mandatory].type =
+                        ZYDIS_PREFIX_TYPE_IGNORED;
+                }
+                if (context->prefixes.mandatory_candidate == 0x66)
+                {
+                    if (context->prefixes.offset_osz_override ==
+                        context->prefixes.offset_mandatory)
+                    {
+                        instruction->raw.prefixes[context->prefixes.offset_mandatory].type =
+                            ZYDIS_PREFIX_TYPE_EFFECTIVE;
+                    }
+                    instruction->attributes |= ZYDIS_ATTRIB_HAS_OPERANDSIZE;
+                }
+                continue;
+            }
+            return ZYDIS_STATUS_DECODING_ERROR;
+        case ZYDIS_NODETYPE_FILTER_XOP:
+            status = ZydisNodeHandlerXOP(instruction, &index);
+            break;
+        case ZYDIS_NODETYPE_FILTER_VEX:
+            status = ZydisNodeHandlerVEX(instruction, &index);
+            break;
+        case ZYDIS_NODETYPE_FILTER_EMVEX:
+            status = ZydisNodeHandlerEMVEX(instruction, &index);
+            break;
+        case ZYDIS_NODETYPE_FILTER_OPCODE:
+            status = ZydisNodeHandlerOpcode(context, instruction, &index);
+            break;
+        case ZYDIS_NODETYPE_FILTER_MODE:
+            status = ZydisNodeHandlerMode(context, &index);
+            break;
+        case ZYDIS_NODETYPE_FILTER_MODE_COMPACT:
+            status = ZydisNodeHandlerModeCompact(context, &index);
+            break;
+        case ZYDIS_NODETYPE_FILTER_MODRM_MOD:
+            status = ZydisNodeHandlerModrmMod(context, instruction, &index);
+            break;
+        case ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT:
+            status = ZydisNodeHandlerModrmModCompact(context, instruction, &index);
+            break;
+        case ZYDIS_NODETYPE_FILTER_MODRM_REG:
+            status = ZydisNodeHandlerModrmReg(context, instruction, &index);
+            break;
+        case ZYDIS_NODETYPE_FILTER_MODRM_RM:
+            status = ZydisNodeHandlerModrmRm(context, instruction, &index);
+            break;
+        case ZYDIS_NODETYPE_FILTER_PREFIX_GROUP1:
+            index = context->prefixes.group1 ? 1 : 0;
+            break;
+        case ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX:
+            status = ZydisNodeHandlerMandatoryPrefix(context, instruction, &index);
+            temp = ZydisDecoderTreeGetChildNode(node, 0);
+            // TODO: Return to this point, if index == 0 contains a value and the previous path
+            // TODO: was not successfull
+            // TODO: Restore consumed prefix
+            break;
+        case ZYDIS_NODETYPE_FILTER_OPERAND_SIZE:
+            status = ZydisNodeHandlerOperandSize(context, instruction, &index);
+            break;
+        case ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE:
+            status = ZydisNodeHandlerAddressSize(context, instruction, &index);
+            break;
+        case ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH:
+            status = ZydisNodeHandlerVectorLength(context, instruction, &index);
+            break;
+        case ZYDIS_NODETYPE_FILTER_REX_W:
+            status = ZydisNodeHandlerRexW(context, instruction, &index);
+            break;
+        case ZYDIS_NODETYPE_FILTER_REX_B:
+            status = ZydisNodeHandlerRexB(context, instruction, &index);
+            break;
+#ifndef ZYDIS_DISABLE_AVX512
+        case ZYDIS_NODETYPE_FILTER_EVEX_B:
+            status = ZydisNodeHandlerEvexB(instruction, &index);
+            break;
+#endif
+#ifndef ZYDIS_DISABLE_KNC
+        case ZYDIS_NODETYPE_FILTER_MVEX_E:
+            status = ZydisNodeHandlerMvexE(instruction, &index);
+            break;
+#endif
+        case ZYDIS_NODETYPE_FILTER_MODE_AMD:
+            index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_AMD_BRANCHES] ? 1 : 0;
+            break;
+        case ZYDIS_NODETYPE_FILTER_MODE_KNC:
+            index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_KNC] ? 1 : 0;
+            break;
+        case ZYDIS_NODETYPE_FILTER_MODE_MPX:
+            index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_MPX] ? 1 : 0;
+            break;
+        case ZYDIS_NODETYPE_FILTER_MODE_CET:
+            index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_CET] ? 1 : 0;
+            break;
+        case ZYDIS_NODETYPE_FILTER_MODE_LZCNT:
+            index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_LZCNT] ? 1 : 0;
+            break;
+        case ZYDIS_NODETYPE_FILTER_MODE_TZCNT:
+            index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_TZCNT] ? 1 : 0;
+            break;
+        case ZYDIS_NODETYPE_FILTER_MODE_WBNOINVD:
+            index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_WBNOINVD] ? 1 : 0;
+            break;
+        case ZYDIS_NODETYPE_FILTER_MODE_CLDEMOTE:
+            index = context->decoder->decoder_mode[ZYDIS_DECODER_MODE_CLDEMOTE] ? 1 : 0;
+            break;
+        default:
+            if (node_type & ZYDIS_NODETYPE_DEFINITION_MASK)
+            {
+                const ZydisInstructionDefinition* definition;
+                ZydisGetInstructionDefinition(instruction->encoding, node->value, &definition);
+                ZydisSetEffectiveOperandWidth(context, instruction, definition);
+                ZydisSetEffectiveAddressWidth(context, instruction, definition);
+
+                const ZydisInstructionEncodingInfo* info;
+                ZydisGetInstructionEncodingInfo(node, &info);
+                ZYAN_CHECK(ZydisDecodeOptionalInstructionParts(context, instruction, info));
+                ZYAN_CHECK(ZydisCheckErrorConditions(context, instruction, definition));
+
+                if (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_3DNOW)
+                {
+                    // Get actual 3dnow opcode and definition
+                    ZYAN_CHECK(ZydisInputNext(context, instruction, &instruction->opcode));
+                    node = ZydisDecoderTreeGetRootNode();
+                    node = ZydisDecoderTreeGetChildNode(node, 0x0F);
+                    node = ZydisDecoderTreeGetChildNode(node, 0x0F);
+                    node = ZydisDecoderTreeGetChildNode(node, instruction->opcode);
+                    if (node->type == ZYDIS_NODETYPE_INVALID)
+                    {
+                        return ZYDIS_STATUS_DECODING_ERROR;
+                    }
+                    ZYAN_ASSERT(node->type == ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT);
+                    node = ZydisDecoderTreeGetChildNode(
+                        node, (instruction->raw.modrm.mod == 0x3) ? 0 : 1);
+                    ZYAN_ASSERT(node->type & ZYDIS_NODETYPE_DEFINITION_MASK);
+                    ZydisGetInstructionDefinition(instruction->encoding, node->value, &definition);
+                }
+
+                instruction->mnemonic = definition->mnemonic;
+#ifndef ZYDIS_MINIMAL_MODE
+                instruction->meta.category = definition->category;
+                instruction->meta.isa_set = definition->isa_set;
+                instruction->meta.isa_ext = definition->isa_ext;
+                instruction->meta.branch_type = definition->branch_type;
+                ZYAN_ASSERT((instruction->meta.branch_type == ZYDIS_BRANCH_TYPE_NONE) ||
+                        ((instruction->meta.category == ZYDIS_CATEGORY_CALL) ||
+                         (instruction->meta.category == ZYDIS_CATEGORY_COND_BR) ||
+                         (instruction->meta.category == ZYDIS_CATEGORY_UNCOND_BR) ||
+                         (instruction->meta.category == ZYDIS_CATEGORY_RET)));
+                instruction->meta.exception_class = definition->exception_class;
+
+                if (!context->decoder->decoder_mode[ZYDIS_DECODER_MODE_MINIMAL])
+                {
+                    ZydisSetAttributes(context, instruction, definition);
+                    switch (instruction->encoding)
+                    {
+                    case ZYDIS_INSTRUCTION_ENCODING_XOP:
+                    case ZYDIS_INSTRUCTION_ENCODING_VEX:
+                    case ZYDIS_INSTRUCTION_ENCODING_EVEX:
+                    case ZYDIS_INSTRUCTION_ENCODING_MVEX:
+                        ZydisSetAVXInformation(context, instruction, definition);
+                        break;
+                    default:
+                        break;
+                    }
+                    ZYAN_CHECK(ZydisDecodeOperands(context, instruction, definition));
+                    const ZydisAccessedFlags* flags;
+                    if (ZydisGetAccessedFlags(definition, &flags))
+                    {
+                        instruction->attributes |= ZYDIS_ATTRIB_CPUFLAG_ACCESS;
+                        ZYAN_ASSERT((ZYAN_ARRAY_LENGTH(instruction->accessed_flags) ==
+                                     ZYAN_ARRAY_LENGTH(flags->action             )) &&
+                                    (sizeof           (instruction->accessed_flags) ==
+                                     sizeof           (flags->action             )));
+                        ZYAN_MEMCPY(&instruction->accessed_flags, &flags->action,
+                            sizeof(flags->action));
+                    }
+                }
+#endif
+
+                return ZYAN_STATUS_SUCCESS;
+            }
+            ZYAN_UNREACHABLE;
+        }
+        ZYAN_CHECK(status);
+        node = ZydisDecoderTreeGetChildNode(node, index);
+    } while ((node_type != ZYDIS_NODETYPE_INVALID) && !(node_type & ZYDIS_NODETYPE_DEFINITION_MASK));
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+ZyanStatus ZydisDecoderInit(ZydisDecoder* decoder, ZydisMachineMode machine_mode,
+    ZydisAddressWidth address_width)
+{
+    static const ZyanBool decoderModes[ZYDIS_DECODER_MODE_MAX_VALUE + 1] =
+    {
+#ifdef ZYDIS_MINIMAL_MODE
+        ZYAN_TRUE , // ZYDIS_DECODER_MODE_MINIMAL
+#else
+        ZYAN_FALSE, // ZYDIS_DECODER_MODE_MINIMAL
+#endif
+        ZYAN_FALSE, // ZYDIS_DECODER_MODE_AMD_BRANCHES
+        ZYAN_FALSE, // ZYDIS_DECODER_MODE_KNC
+        ZYAN_TRUE , // ZYDIS_DECODER_MODE_MPX
+        ZYAN_TRUE , // ZYDIS_DECODER_MODE_CET
+        ZYAN_TRUE , // ZYDIS_DECODER_MODE_LZCNT
+        ZYAN_TRUE , // ZYDIS_DECODER_MODE_TZCNT
+        ZYAN_FALSE, // ZYDIS_DECODER_MODE_WBNOINVD
+        ZYAN_TRUE   // ZYDIS_DECODER_MODE_CLDEMOTE
+    };
+
+    if (!decoder)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+    switch (machine_mode)
+    {
+    case ZYDIS_MACHINE_MODE_LONG_64:
+        if (address_width != ZYDIS_ADDRESS_WIDTH_64)
+        {
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+        break;
+    case ZYDIS_MACHINE_MODE_LONG_COMPAT_32:
+    case ZYDIS_MACHINE_MODE_LONG_COMPAT_16:
+    case ZYDIS_MACHINE_MODE_LEGACY_32:
+    case ZYDIS_MACHINE_MODE_LEGACY_16:
+    case ZYDIS_MACHINE_MODE_REAL_16:
+        if ((address_width != ZYDIS_ADDRESS_WIDTH_16) && (address_width != ZYDIS_ADDRESS_WIDTH_32))
+        {
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+        break;
+    default:
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    decoder->machine_mode = machine_mode;
+    decoder->address_width = address_width;
+    ZYAN_MEMCPY(&decoder->decoder_mode, &decoderModes, sizeof(decoderModes));
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisDecoderEnableMode(ZydisDecoder* decoder, ZydisDecoderMode mode, ZyanBool enabled)
+{
+    if (!decoder || (mode > ZYDIS_DECODER_MODE_MAX_VALUE))
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+#ifdef ZYDIS_MINIMAL_MODE
+    if ((mode == ZYDIS_DECODER_MODE_MINIMAL) && !enabled)
+    {
+        return ZYAN_STATUS_INVALID_OPERATION;
+    }
+#endif
+
+    decoder->decoder_mode[mode] = enabled;
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisDecoderDecodeBuffer(const ZydisDecoder* decoder, const void* buffer,
+    ZyanUSize length, ZydisDecodedInstruction* instruction)
+{
+    if (!decoder || !instruction)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    if (!buffer || !length)
+    {
+        return ZYDIS_STATUS_NO_MORE_DATA;
+    }
+
+    ZydisDecoderContext context;
+    ZYAN_MEMSET(&context, 0, sizeof(context));
+    context.decoder = decoder;
+    context.buffer = (ZyanU8*)buffer;
+    context.buffer_len = length;
+
+    ZYAN_MEMSET(instruction, 0, sizeof(*instruction));
+    instruction->machine_mode = decoder->machine_mode;
+    static const ZyanU8 lookup[ZYDIS_ADDRESS_WIDTH_MAX_VALUE + 1] =
+    {
+        16, 32, 64
+    };
+    instruction->stack_width = lookup[decoder->address_width];
+
+    ZYAN_CHECK(ZydisCollectOptionalPrefixes(&context, instruction));
+    ZYAN_CHECK(ZydisDecodeInstruction(&context, instruction));
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ============================================================================================== */
diff --git a/external/zydis/src/DecoderData.c b/external/zydis/src/DecoderData.c
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/DecoderData.c
@@ -0,0 +1,174 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#include <Zydis/Internal/DecoderData.h>
+
+/* ============================================================================================== */
+/* Data tables                                                                                    */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Physical instruction encodings                                                                 */
+/* ---------------------------------------------------------------------------------------------- */
+
+#include <Generated/InstructionEncodings.inc>
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Decoder tree                                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+#define ZYDIS_INVALID \
+    { ZYDIS_NODETYPE_INVALID, 0x00000000 }
+#define ZYDIS_FILTER(type, id) \
+    { type, id }
+#define ZYDIS_DEFINITION(encoding_id, id) \
+    { ZYDIS_NODETYPE_DEFINITION_MASK | encoding_id, id }
+
+#include <Generated/DecoderTables.inc>
+
+#undef ZYDIS_INVALID
+#undef ZYDIS_FILTER
+#undef ZYDIS_DEFINITION
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Functions                                                                                      */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Decoder tree                                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+const ZydisDecoderTreeNode zydis_decoder_tree_root = { ZYDIS_NODETYPE_FILTER_OPCODE, 0x0000 };
+
+const ZydisDecoderTreeNode* ZydisDecoderTreeGetChildNode(const ZydisDecoderTreeNode* parent,
+    ZyanU16 index)
+{
+    switch (parent->type)
+    {
+    case ZYDIS_NODETYPE_FILTER_XOP:
+        ZYAN_ASSERT(index <  13);
+        return &FILTERS_XOP[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_VEX:
+        ZYAN_ASSERT(index <  17);
+        return &FILTERS_VEX[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_EMVEX:
+        ZYAN_ASSERT(index <  33);
+        return &FILTERS_EMVEX[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_OPCODE:
+        ZYAN_ASSERT(index < 256);
+        return &FILTERS_OPCODE[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_MODE:
+        ZYAN_ASSERT(index <   4);
+        return &FILTERS_MODE[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_MODE_COMPACT:
+        ZYAN_ASSERT(index <   3);
+        return &FILTERS_MODE_COMPACT[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_MODRM_MOD:
+        ZYAN_ASSERT(index <   4);
+        return &FILTERS_MODRM_MOD[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT:
+        ZYAN_ASSERT(index <   2);
+        return &FILTERS_MODRM_MOD_COMPACT[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_MODRM_REG:
+        ZYAN_ASSERT(index <   8);
+        return &FILTERS_MODRM_REG[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_MODRM_RM:
+        ZYAN_ASSERT(index <   8);
+        return &FILTERS_MODRM_RM[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_PREFIX_GROUP1:
+        ZYAN_ASSERT(index < 2);
+        return &FILTERS_PREFIX_GROUP1[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX:
+        ZYAN_ASSERT(index <   5);
+        return &FILTERS_MANDATORY_PREFIX[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_OPERAND_SIZE:
+        ZYAN_ASSERT(index <   3);
+        return &FILTERS_OPERAND_SIZE[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE:
+        ZYAN_ASSERT(index <   3);
+        return &FILTERS_ADDRESS_SIZE[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH:
+        ZYAN_ASSERT(index <   3);
+        return &FILTERS_VECTOR_LENGTH[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_REX_W:
+        ZYAN_ASSERT(index <   2);
+        return &FILTERS_REX_W[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_REX_B:
+        ZYAN_ASSERT(index <   2);
+        return &FILTERS_REX_B[parent->value][index];
+#ifndef ZYDIS_DISABLE_AVX512
+    case ZYDIS_NODETYPE_FILTER_EVEX_B:
+        ZYAN_ASSERT(index <   2);
+        return &FILTERS_EVEX_B[parent->value][index];
+#endif
+#ifndef ZYDIS_DISABLE_KNC
+    case ZYDIS_NODETYPE_FILTER_MVEX_E:
+        ZYAN_ASSERT(index <   2);
+        return &FILTERS_MVEX_E[parent->value][index];
+#endif
+    case ZYDIS_NODETYPE_FILTER_MODE_AMD:
+        ZYAN_ASSERT(index <   2);
+        return &FILTERS_MODE_AMD[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_MODE_KNC:
+        ZYAN_ASSERT(index <   2);
+        return &FILTERS_MODE_KNC[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_MODE_MPX:
+        ZYAN_ASSERT(index <   2);
+        return &FILTERS_MODE_MPX[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_MODE_CET:
+        ZYAN_ASSERT(index <   2);
+        return &FILTERS_MODE_CET[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_MODE_LZCNT:
+        ZYAN_ASSERT(index <   2);
+        return &FILTERS_MODE_LZCNT[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_MODE_TZCNT:
+        ZYAN_ASSERT(index <   2);
+        return &FILTERS_MODE_TZCNT[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_MODE_WBNOINVD:
+        ZYAN_ASSERT(index <   2);
+        return &FILTERS_MODE_WBNOINVD[parent->value][index];
+    case ZYDIS_NODETYPE_FILTER_MODE_CLDEMOTE:
+        ZYAN_ASSERT(index <   2);
+        return &FILTERS_MODE_CLDEMOTE[parent->value][index];
+    default:
+        ZYAN_UNREACHABLE;
+    }
+}
+
+void ZydisGetInstructionEncodingInfo(const ZydisDecoderTreeNode* node,
+    const ZydisInstructionEncodingInfo** info)
+{
+    ZYAN_ASSERT(node->type & ZYDIS_NODETYPE_DEFINITION_MASK);
+    const ZyanU8 class = (node->type) & 0x7F;
+    ZYAN_ASSERT(class < ZYAN_ARRAY_LENGTH(INSTR_ENCODINGS));
+    *info = &INSTR_ENCODINGS[class];
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
diff --git a/external/zydis/src/Formatter.c b/external/zydis/src/Formatter.c
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Formatter.c
@@ -0,0 +1,646 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd, Joel Hoener
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#include <Zycore/LibC.h>
+#include <Zydis/Formatter.h>
+#include <Zydis/Internal/FormatterATT.h>
+#include <Zydis/Internal/FormatterIntel.h>
+#include <Zydis/Internal/String.h>
+
+/* ============================================================================================== */
+/* Constants                                                                                      */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Formatter presets                                                                              */
+/* ---------------------------------------------------------------------------------------------- */
+
+static const ZydisFormatter* const FORMATTER_PRESETS[ZYDIS_FORMATTER_STYLE_MAX_VALUE + 1] =
+{
+    &FORMATTER_ATT,
+    &FORMATTER_INTEL,
+    &FORMATTER_INTEL_MASM
+};
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Internal functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Helper functions                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+void ZydisFormatterBufferInit(ZydisFormatterBuffer* buffer, char* user_buffer,
+    ZyanUSize length)
+{
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(user_buffer);
+    ZYAN_ASSERT(length);
+
+    buffer->is_token_list              = ZYAN_FALSE;
+    buffer->string.flags               = ZYAN_STRING_HAS_FIXED_CAPACITY;
+    buffer->string.vector.allocator    = ZYAN_NULL;
+    buffer->string.vector.element_size = sizeof(char);
+    buffer->string.vector.size         = 1;
+    buffer->string.vector.capacity     = length;
+    buffer->string.vector.data         = user_buffer;
+    *user_buffer = '\0';
+}
+
+void ZydisFormatterBufferInitTokenized(ZydisFormatterBuffer* buffer,
+    ZydisFormatterToken** first_token, void* user_buffer, ZyanUSize length)
+{
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(first_token);
+    ZYAN_ASSERT(user_buffer);
+    ZYAN_ASSERT(length);
+
+    *first_token = user_buffer;
+    (*first_token)->type = ZYDIS_TOKEN_INVALID;
+    (*first_token)->next = 0;
+
+    user_buffer = (ZyanU8*)user_buffer + sizeof(ZydisFormatterToken);
+    length -= sizeof(ZydisFormatterToken);
+
+    buffer->is_token_list              = ZYAN_TRUE;
+    buffer->capacity                   = length;
+    buffer->string.flags               = ZYAN_STRING_HAS_FIXED_CAPACITY;
+    buffer->string.vector.allocator    = ZYAN_NULL;
+    buffer->string.vector.element_size = sizeof(char);
+    buffer->string.vector.size         = 1;
+    buffer->string.vector.capacity     = length;
+    buffer->string.vector.data         = user_buffer;
+    *(char*)user_buffer = '\0';
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Initialization                                                                                 */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterInit(ZydisFormatter* formatter, ZydisFormatterStyle style)
+{
+    if (!formatter || (style > ZYDIS_FORMATTER_STYLE_MAX_VALUE))
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    ZYAN_MEMCPY(formatter, FORMATTER_PRESETS[style], sizeof(*formatter));
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Setter                                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterSetProperty(ZydisFormatter* formatter, ZydisFormatterProperty property,
+    ZyanUPointer value)
+{
+    if (!formatter)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    ZydisNumericBase base = (ZydisNumericBase)(-1);
+    ZyanU8 index = 0xFF;
+
+    switch (property)
+    {
+    case ZYDIS_FORMATTER_PROP_FORCE_SIZE:
+    {
+        formatter->force_memory_size = (value) ? ZYAN_TRUE : ZYAN_FALSE;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_FORCE_SEGMENT:
+    {
+        formatter->force_memory_segment = (value) ? ZYAN_TRUE : ZYAN_FALSE;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_FORCE_RELATIVE_BRANCHES:
+    {
+        formatter->force_relative_branches = (value) ? ZYAN_TRUE : ZYAN_FALSE;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_FORCE_RELATIVE_RIPREL:
+    {
+        formatter->force_relative_riprel = (value) ? ZYAN_TRUE : ZYAN_FALSE;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_PRINT_BRANCH_SIZE:
+    {
+        formatter->print_branch_size = (value) ? ZYAN_TRUE : ZYAN_FALSE;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_DETAILED_PREFIXES:
+    {
+        formatter->detailed_prefixes = (value) ? ZYAN_TRUE : ZYAN_FALSE;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_ADDR_BASE:
+    {
+        if ((ZydisNumericBase)value > ZYDIS_NUMERIC_BASE_MAX_VALUE)
+        {
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+        formatter->addr_base = (ZydisNumericBase)value;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_ADDR_SIGNEDNESS:
+    {
+        if ((ZydisSignedness)value > ZYDIS_SIGNEDNESS_MAX_VALUE)
+        {
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+        formatter->addr_signedness = (ZydisSignedness)value;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_ADDR_PADDING_ABSOLUTE:
+    {
+        formatter->addr_padding_absolute = (ZydisPadding)value;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_ADDR_PADDING_RELATIVE:
+    {
+        formatter->addr_padding_relative = (ZydisPadding)value;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_DISP_BASE:
+    {
+        if ((ZydisNumericBase)value > ZYDIS_NUMERIC_BASE_MAX_VALUE)
+        {
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+        formatter->disp_base = (ZydisNumericBase)value;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_DISP_SIGNEDNESS:
+    {
+        if ((ZydisSignedness)value > ZYDIS_SIGNEDNESS_MAX_VALUE)
+        {
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+        formatter->disp_signedness = (ZydisSignedness)value;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_DISP_PADDING:
+    {
+        if ((ZydisPadding)value == ZYDIS_PADDING_AUTO)
+        {
+            if (formatter->style > ZYDIS_FORMATTER_STYLE_MAX_VALUE)
+            {
+                return ZYAN_STATUS_INVALID_ARGUMENT;
+            }
+            formatter->disp_padding = FORMATTER_PRESETS[formatter->style]->disp_padding;
+        }
+        formatter->disp_padding = (ZydisPadding)value;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_IMM_BASE:
+    {
+        if ((ZydisNumericBase)value > ZYDIS_NUMERIC_BASE_MAX_VALUE)
+        {
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+        formatter->imm_base = (ZydisNumericBase)value;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_IMM_SIGNEDNESS:
+    {
+        if ((ZydisSignedness)value  > ZYDIS_SIGNEDNESS_MAX_VALUE)
+        {
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+        formatter->imm_signedness  = (ZydisSignedness)value;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_IMM_PADDING:
+    {
+        if ((ZydisPadding)value == ZYDIS_PADDING_AUTO)
+        {
+            if (formatter->style > ZYDIS_FORMATTER_STYLE_MAX_VALUE)
+            {
+                return ZYAN_STATUS_INVALID_ARGUMENT;
+            }
+            formatter->imm_padding = FORMATTER_PRESETS[formatter->style]->imm_padding;
+        }
+        formatter->imm_padding = (ZydisPadding)value;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_UPPERCASE_PREFIXES:
+    {
+        formatter->case_prefixes = (value) ? ZYDIS_LETTER_CASE_UPPER : ZYDIS_LETTER_CASE_DEFAULT;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_UPPERCASE_MNEMONIC:
+    {
+        formatter->case_mnemonic = (value) ? ZYDIS_LETTER_CASE_UPPER : ZYDIS_LETTER_CASE_DEFAULT;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_UPPERCASE_REGISTERS:
+    {
+        formatter->case_registers = (value) ? ZYDIS_LETTER_CASE_UPPER : ZYDIS_LETTER_CASE_DEFAULT;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_UPPERCASE_TYPECASTS:
+    {
+        formatter->case_typecasts = (value) ? ZYDIS_LETTER_CASE_UPPER : ZYDIS_LETTER_CASE_DEFAULT;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_UPPERCASE_DECORATORS:
+    {
+        formatter->case_decorators = (value) ? ZYDIS_LETTER_CASE_UPPER : ZYDIS_LETTER_CASE_DEFAULT;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_DEC_PREFIX:
+    {
+        base  = ZYDIS_NUMERIC_BASE_DEC;
+        index = 0;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_DEC_SUFFIX:
+    {
+        base  = ZYDIS_NUMERIC_BASE_DEC;
+        index = 1;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_HEX_UPPERCASE:
+    {
+        formatter->hex_uppercase = (value) ? ZYAN_TRUE : ZYAN_FALSE;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_HEX_PREFIX:
+    {
+        base  = ZYDIS_NUMERIC_BASE_HEX;
+        index = 0;
+        break;
+    }
+    case ZYDIS_FORMATTER_PROP_HEX_SUFFIX:
+    {
+        base  = ZYDIS_NUMERIC_BASE_HEX;
+        index = 1;
+        break;
+    }
+    default:
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    // Set prefix or suffix
+    if (base != (ZydisNumericBase)(-1))
+    {
+        if (value)
+        {
+            const ZyanUSize len = ZYAN_STRLEN((char*)value);
+            if (len > 10)
+            {
+                return ZYAN_STATUS_INVALID_ARGUMENT;
+            }
+            ZYAN_MEMCPY(formatter->number_format[base][index].buffer, (void*)value, len);
+            formatter->number_format[base][index].buffer[len] = '\0';
+            formatter->number_format[base][index].string_data.string.vector.data =
+                formatter->number_format[base][index].buffer;
+            formatter->number_format[base][index].string_data.string.vector.size = len + 1;
+            formatter->number_format[base][index].string =
+                &formatter->number_format[base][index].string_data;
+        } else
+        {
+            formatter->number_format[base][index].string = ZYAN_NULL;
+        }
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterSetHook(ZydisFormatter* formatter, ZydisFormatterFunction type,
+    const void** callback)
+{
+    if (!formatter || !callback || (type > ZYDIS_FORMATTER_FUNC_MAX_VALUE))
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    const void* const temp = *callback;
+
+    // The following code relies on the order of the enum values and the function fields inside
+    // the `ZydisFormatter` struct
+
+#ifdef ZYAN_DEBUG
+    const ZyanUPointer* test = (ZyanUPointer*)(&formatter->func_pre_instruction + type);
+    switch (type)
+    {
+    case ZYDIS_FORMATTER_FUNC_PRE_INSTRUCTION:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_pre_instruction   ); break;
+    case ZYDIS_FORMATTER_FUNC_POST_INSTRUCTION:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_post_instruction  ); break;
+    case ZYDIS_FORMATTER_FUNC_FORMAT_INSTRUCTION:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_format_instruction); break;
+    case ZYDIS_FORMATTER_FUNC_PRE_OPERAND:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_pre_operand       ); break;
+    case ZYDIS_FORMATTER_FUNC_POST_OPERAND:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_post_operand      ); break;
+    case ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_REG:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_format_operand_reg); break;
+    case ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_MEM:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_format_operand_mem); break;
+    case ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_PTR:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_format_operand_ptr); break;
+    case ZYDIS_FORMATTER_FUNC_FORMAT_OPERAND_IMM:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_format_operand_imm); break;
+    case ZYDIS_FORMATTER_FUNC_PRINT_MNEMONIC:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_mnemonic    ); break;
+    case ZYDIS_FORMATTER_FUNC_PRINT_REGISTER:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_register    ); break;
+    case ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_ABS:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_address_abs ); break;
+    case ZYDIS_FORMATTER_FUNC_PRINT_ADDRESS_REL:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_address_rel ); break;
+    case ZYDIS_FORMATTER_FUNC_PRINT_DISP:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_disp        ); break;
+    case ZYDIS_FORMATTER_FUNC_PRINT_IMM:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_imm         ); break;
+    case ZYDIS_FORMATTER_FUNC_PRINT_TYPECAST:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_typecast    ); break;
+    case ZYDIS_FORMATTER_FUNC_PRINT_SEGMENT:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_segment     ); break;
+    case ZYDIS_FORMATTER_FUNC_PRINT_PREFIXES:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_prefixes    ); break;
+    case ZYDIS_FORMATTER_FUNC_PRINT_DECORATOR:
+        ZYAN_ASSERT(test == (ZyanUPointer*)&formatter->func_print_decorator   ); break;
+    default:
+        ZYAN_UNREACHABLE;
+    }
+#endif
+
+    *callback = *(const void**)(&formatter->func_pre_instruction + type);
+    if (!temp)
+    {
+        return ZYAN_STATUS_SUCCESS;
+    }
+    ZYAN_MEMCPY(&formatter->func_pre_instruction + type, &temp, sizeof(ZyanUPointer));
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Formatting                                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterFormatInstruction(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, char* buffer, ZyanUSize length,
+    ZyanU64 runtime_address)
+{
+     return ZydisFormatterFormatInstructionEx(formatter, instruction, buffer, length,
+         runtime_address, ZYAN_NULL);
+}
+
+ZyanStatus ZydisFormatterFormatInstructionEx(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, char* buffer, ZyanUSize length,
+    ZyanU64 runtime_address, void* user_data)
+{
+    if (!formatter || !instruction || !buffer || (length == 0))
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    ZydisFormatterBuffer formatter_buffer;
+    ZydisFormatterBufferInit(&formatter_buffer, buffer, length);
+
+    ZydisFormatterContext context;
+    context.instruction     = instruction;
+    context.runtime_address = runtime_address;
+    context.operand         = ZYAN_NULL;
+    context.user_data       = user_data;
+
+    if (formatter->func_pre_instruction)
+    {
+        ZYAN_CHECK(formatter->func_pre_instruction(formatter, &formatter_buffer, &context));
+    }
+
+    ZYAN_CHECK(formatter->func_format_instruction(formatter, &formatter_buffer, &context));
+
+    if (formatter->func_post_instruction)
+    {
+        ZYAN_CHECK(formatter->func_post_instruction(formatter, &formatter_buffer, &context));
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterFormatOperand(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, ZyanU8 index, char* buffer, ZyanUSize length,
+    ZyanU64 runtime_address)
+{
+    return ZydisFormatterFormatOperandEx(formatter, instruction, index, buffer, length,
+        runtime_address, ZYAN_NULL);
+}
+
+ZyanStatus ZydisFormatterFormatOperandEx(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, ZyanU8 index, char* buffer, ZyanUSize length,
+    ZyanU64 runtime_address, void* user_data)
+{
+    if (!formatter || !instruction || index >= instruction->operand_count || !buffer ||
+        (length == 0))
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    ZydisFormatterBuffer formatter_buffer;
+    ZydisFormatterBufferInit(&formatter_buffer, buffer, length);
+
+    ZydisFormatterContext context;
+    context.instruction     = instruction;
+    context.runtime_address = runtime_address;
+    context.operand         = &instruction->operands[index];
+    context.user_data       = user_data;
+
+    // We ignore `ZYDIS_STATUS_SKIP_TOKEN` for all operand-functions as it does not make any sense
+    // to skip the only operand printed by this function
+
+    if (formatter->func_pre_operand)
+    {
+        ZYAN_CHECK(formatter->func_pre_operand(formatter, &formatter_buffer, &context));
+    }
+
+    switch (context.operand->type)
+    {
+    case ZYDIS_OPERAND_TYPE_REGISTER:
+        ZYAN_CHECK(formatter->func_format_operand_reg(formatter, &formatter_buffer, &context));
+        break;
+    case ZYDIS_OPERAND_TYPE_MEMORY:
+        ZYAN_CHECK(formatter->func_format_operand_mem(formatter, &formatter_buffer, &context));
+        break;
+    case ZYDIS_OPERAND_TYPE_IMMEDIATE:
+        ZYAN_CHECK(formatter->func_format_operand_imm(formatter, &formatter_buffer, &context));
+        break;
+    case ZYDIS_OPERAND_TYPE_POINTER:
+        ZYAN_CHECK(formatter->func_format_operand_ptr(formatter, &formatter_buffer, &context));
+        break;
+    default:
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    if (formatter->func_post_operand)
+    {
+        ZYAN_CHECK(formatter->func_post_operand(formatter, &formatter_buffer, &context));
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Tokenizing                                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterTokenizeInstruction(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, void* buffer, ZyanUSize length,
+    ZyanU64 runtime_address, ZydisFormatterTokenConst** token)
+{
+    return ZydisFormatterTokenizeInstructionEx(formatter, instruction, buffer, length,
+        runtime_address, token, ZYAN_NULL);
+}
+
+ZyanStatus ZydisFormatterTokenizeInstructionEx(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, void* buffer, ZyanUSize length,
+    ZyanU64 runtime_address, ZydisFormatterTokenConst** token, void* user_data)
+{
+    if (!formatter || !instruction || !buffer || (length <= sizeof(ZydisFormatterToken)) || !token)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    ZydisFormatterBuffer formatter_buffer;
+    ZydisFormatterToken* first_token;
+    ZydisFormatterBufferInitTokenized(&formatter_buffer, &first_token, buffer, length);
+
+    ZydisFormatterContext context;
+    context.instruction     = instruction;
+    context.runtime_address = runtime_address;
+    context.operand         = ZYAN_NULL;
+    context.user_data       = user_data;
+
+    if (formatter->func_pre_instruction)
+    {
+        ZYAN_CHECK(formatter->func_pre_instruction(formatter, &formatter_buffer, &context));
+    }
+
+    ZYAN_CHECK(formatter->func_format_instruction(formatter, &formatter_buffer, &context));
+
+    if (formatter->func_post_instruction)
+    {
+        ZYAN_CHECK(formatter->func_post_instruction(formatter, &formatter_buffer, &context));
+    }
+
+    if (first_token->next)
+    {
+        *token = (ZydisFormatterTokenConst*)((ZyanU8*)first_token + sizeof(ZydisFormatterToken) +
+            first_token->next);
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    *token = first_token;
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterTokenizeOperand(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, ZyanU8 index, void* buffer, ZyanUSize length,
+    ZyanU64 runtime_address, ZydisFormatterTokenConst** token)
+{
+    return ZydisFormatterTokenizeOperandEx(formatter, instruction, index, buffer, length,
+        runtime_address, token, ZYAN_NULL);
+}
+
+ZyanStatus ZydisFormatterTokenizeOperandEx(const ZydisFormatter* formatter,
+    const ZydisDecodedInstruction* instruction, ZyanU8 index, void* buffer, ZyanUSize length,
+    ZyanU64 runtime_address, ZydisFormatterTokenConst** token, void* user_data)
+{
+    if (!formatter || !instruction || (index >= instruction->operand_count) || !buffer ||
+        (length <= sizeof(ZydisFormatterToken)) || !token)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    ZydisFormatterToken* first_token;
+    ZydisFormatterBuffer formatter_buffer;
+    ZydisFormatterBufferInitTokenized(&formatter_buffer, &first_token, buffer, length);
+
+    ZydisFormatterContext context;
+    context.instruction     = instruction;
+    context.runtime_address = runtime_address;
+    context.operand         = &instruction->operands[index];
+    context.user_data       = user_data;
+
+    // We ignore `ZYDIS_STATUS_SKIP_TOKEN` for all operand-functions as it does not make any sense
+    // to skip the only operand printed by this function
+
+    if (formatter->func_pre_operand)
+    {
+        ZYAN_CHECK(formatter->func_pre_operand(formatter, &formatter_buffer, &context));
+    }
+
+    switch (context.operand->type)
+    {
+    case ZYDIS_OPERAND_TYPE_REGISTER:
+        ZYAN_CHECK(formatter->func_format_operand_reg(formatter, &formatter_buffer, &context));
+        break;
+    case ZYDIS_OPERAND_TYPE_MEMORY:
+        ZYAN_CHECK(formatter->func_format_operand_mem(formatter, &formatter_buffer, &context));
+        break;
+    case ZYDIS_OPERAND_TYPE_IMMEDIATE:
+        ZYAN_CHECK(formatter->func_format_operand_imm(formatter, &formatter_buffer, &context));
+        break;
+    case ZYDIS_OPERAND_TYPE_POINTER:
+        ZYAN_CHECK(formatter->func_format_operand_ptr(formatter, &formatter_buffer, &context));
+        break;
+    default:
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    if (formatter->func_post_operand)
+    {
+        ZYAN_CHECK(formatter->func_post_operand(formatter, &formatter_buffer, &context));
+    }
+
+    if (first_token->next)
+    {
+        *token = (ZydisFormatterTokenConst*)((ZyanU8*)first_token + sizeof(ZydisFormatterToken) +
+            first_token->next);
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    *token = first_token;
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ============================================================================================== */
+
+/* ============================================================================================== */
diff --git a/external/zydis/src/FormatterATT.c b/external/zydis/src/FormatterATT.c
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/FormatterATT.c
@@ -0,0 +1,395 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd, Joel Hoener
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#include <Zydis/Internal/FormatterATT.h>
+
+/* ============================================================================================== */
+/* Constants                                                                                      */
+/* ============================================================================================== */
+
+#include <Generated/FormatterStrings.inc>
+
+/* ============================================================================================== */
+/* Formatter functions                                                                            */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Instruction                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterATTFormatInstruction(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    ZYAN_CHECK(formatter->func_print_prefixes(formatter, buffer, context));
+    ZYAN_CHECK(formatter->func_print_mnemonic(formatter, buffer, context));
+
+    ZyanUPointer state_mnemonic;
+    ZYDIS_BUFFER_REMEMBER(buffer, state_mnemonic);
+    ZyanI8 c = (ZyanI8)context->instruction->operand_count - 1;
+    for (; c >= 0; --c)
+    {
+        if (context->instruction->operands[c].visibility != ZYDIS_OPERAND_VISIBILITY_HIDDEN)
+        {
+            break;
+        }
+    }
+
+    for (ZyanI8 i = c; i >= 0; --i)
+    {
+        const ZydisDecodedOperand* const operand = &context->instruction->operands[i];
+
+        // Print embedded-mask registers as decorator instead of a regular operand
+        if ((i == 1) && (operand->type == ZYDIS_OPERAND_TYPE_REGISTER) &&
+            (operand->encoding == ZYDIS_OPERAND_ENCODING_MASK))
+        {
+            continue;
+        }
+
+        ZyanUPointer buffer_state;
+        ZYDIS_BUFFER_REMEMBER(buffer, buffer_state);
+
+        if (buffer_state != state_mnemonic)
+        {
+            ZYDIS_BUFFER_APPEND(buffer, DELIM_OPERAND);
+        } else
+        {
+            ZYDIS_BUFFER_APPEND(buffer, DELIM_MNEMONIC);
+        }
+
+        // Set current operand
+        context->operand = operand;
+
+        ZyanStatus status;
+        if (formatter->func_pre_operand)
+        {
+            status = formatter->func_pre_operand(formatter, buffer, context);
+            if (status == ZYDIS_STATUS_SKIP_TOKEN)
+            {
+                ZYAN_CHECK(ZydisFormatterBufferRestore(buffer, buffer_state));
+                continue;
+            }
+            if (!ZYAN_SUCCESS(status))
+            {
+                return status;
+            }
+        }
+
+        switch (operand->type)
+        {
+        case ZYDIS_OPERAND_TYPE_REGISTER:
+            status = formatter->func_format_operand_reg(formatter, buffer, context);
+            break;
+        case ZYDIS_OPERAND_TYPE_MEMORY:
+            status = formatter->func_format_operand_mem(formatter, buffer, context);
+            break;
+        case ZYDIS_OPERAND_TYPE_POINTER:
+            status = formatter->func_format_operand_ptr(formatter, buffer, context);
+            break;
+        case ZYDIS_OPERAND_TYPE_IMMEDIATE:
+            status = formatter->func_format_operand_imm(formatter, buffer, context);
+            break;
+        default:
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+        if (status == ZYDIS_STATUS_SKIP_TOKEN)
+        {
+            ZYAN_CHECK(ZydisFormatterBufferRestore(buffer, buffer_state));
+            continue;
+        }
+        if (!ZYAN_SUCCESS(status))
+        {
+            return status;
+        }
+
+        if (formatter->func_post_operand)
+        {
+            status = formatter->func_post_operand(formatter, buffer, context);
+            if (status == ZYDIS_STATUS_SKIP_TOKEN)
+            {
+                ZYAN_CHECK(ZydisFormatterBufferRestore(buffer, buffer_state));
+                continue;
+            }
+            if (ZYAN_SUCCESS(status))
+            {
+                return status;
+            }
+        }
+
+#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC)
+        if ((context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) ||
+            (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX))
+        {
+            if  ((i == 0) &&
+                 (context->instruction->operands[i + 1].encoding == ZYDIS_OPERAND_ENCODING_MASK))
+            {
+                ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context,
+                    ZYDIS_DECORATOR_MASK));
+            }
+            if (operand->type == ZYDIS_OPERAND_TYPE_MEMORY)
+            {
+                ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context,
+                    ZYDIS_DECORATOR_BC));
+                if (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)
+                {
+                    ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context,
+                        ZYDIS_DECORATOR_CONVERSION));
+                    ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context,
+                        ZYDIS_DECORATOR_EH));
+                }
+            } else
+            {
+                if ((i == (context->instruction->operand_count - 1)) ||
+                    (context->instruction->operands[i + 1].type == ZYDIS_OPERAND_TYPE_IMMEDIATE))
+                {
+                    if (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)
+                    {
+                        ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context,
+                            ZYDIS_DECORATOR_SWIZZLE));
+                    }
+                    ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context,
+                        ZYDIS_DECORATOR_RC));
+                    ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context,
+                        ZYDIS_DECORATOR_SAE));
+                }
+            }
+        }
+#endif
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Operands                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterATTFormatOperandMEM(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    ZYAN_CHECK(formatter->func_print_segment(formatter, buffer, context));
+
+    const ZyanBool absolute = !formatter->force_relative_riprel &&
+        (context->runtime_address != ZYDIS_RUNTIME_ADDRESS_NONE);
+    if (absolute && context->operand->mem.disp.has_displacement &&
+        (context->operand->mem.index == ZYDIS_REGISTER_NONE) &&
+       ((context->operand->mem.base  == ZYDIS_REGISTER_NONE) ||
+        (context->operand->mem.base  == ZYDIS_REGISTER_EIP ) ||
+        (context->operand->mem.base  == ZYDIS_REGISTER_RIP )))
+    {
+        // EIP/RIP-relative or absolute-displacement address operand
+        ZYAN_CHECK(formatter->func_print_address_abs(formatter, buffer, context));
+    } else
+    {
+        ZyanBool should_print_reg = context->operand->mem.base != ZYDIS_REGISTER_NONE;
+        ZyanBool should_print_idx = (context->operand->mem.index != ZYDIS_REGISTER_NONE) &&
+            (context->operand->mem.type != ZYDIS_MEMOP_TYPE_MIB);
+        ZyanBool neither_reg_nor_idx = !should_print_reg && !should_print_idx;
+
+        // Regular memory operand
+        if (context->operand->mem.disp.has_displacement && (context->operand->mem.disp.value
+            || neither_reg_nor_idx))
+        {
+            ZYAN_CHECK(formatter->func_print_disp(formatter, buffer, context));
+        }
+
+        if (neither_reg_nor_idx)
+        {
+            return ZYAN_STATUS_SUCCESS;
+        }
+
+        ZYDIS_BUFFER_APPEND(buffer, MEMORY_BEGIN_ATT);
+
+        if (should_print_reg)
+        {
+            ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context,
+                context->operand->mem.base));
+        }
+        if (should_print_idx)
+        {
+            ZYDIS_BUFFER_APPEND(buffer, DELIM_MEMORY);
+            ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context,
+                context->operand->mem.index));
+            if (context->operand->mem.scale)
+            {
+                ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_DELIMITER);
+                ZYDIS_BUFFER_APPEND(buffer, DELIM_MEMORY);
+                ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_IMMEDIATE);
+                ZYAN_CHECK(ZydisStringAppendDecU(&buffer->string, context->operand->mem.scale, 0,
+                    ZYAN_NULL, ZYAN_NULL));
+            }
+        }
+
+        ZYDIS_BUFFER_APPEND(buffer, MEMORY_END_ATT);
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Elemental tokens                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterATTPrintMnemonic(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    const ZydisShortString* mnemonic = ZydisMnemonicGetStringWrapped(
+        context->instruction->mnemonic);
+    if (!mnemonic)
+    {
+        ZYDIS_BUFFER_APPEND_CASE(buffer, INVALID_MNEMONIC, formatter->case_mnemonic);
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_MNEMONIC);
+    if (context->instruction->meta.branch_type == ZYDIS_BRANCH_TYPE_FAR)
+    {
+        ZYAN_CHECK(ZydisStringAppendShortCase(&buffer->string, &STR_FAR_ATT,
+            formatter->case_mnemonic));
+    }
+    ZYAN_CHECK(ZydisStringAppendShortCase(&buffer->string, mnemonic, formatter->case_mnemonic));
+
+    // Append operand-size suffix
+    ZyanU32 size = 0;
+    for (ZyanU8 i = 0; i < context->instruction->operand_count; ++i)
+    {
+        const ZydisDecodedOperand* const operand = &context->instruction->operands[i];
+        if (operand->visibility == ZYDIS_OPERAND_VISIBILITY_HIDDEN)
+        {
+            break;
+        }
+        if ((operand->type == ZYDIS_OPERAND_TYPE_MEMORY) &&
+            (operand->mem.type == ZYDIS_MEMOP_TYPE_MEM))
+        {
+            size = ZydisFormatterHelperGetExplicitSize(formatter, context, i);
+            break;
+        }
+    }
+
+    switch (size)
+    {
+    case   8: ZydisStringAppendShort(&buffer->string, &STR_SIZE_8_ATT  ); break;
+    case  16: ZydisStringAppendShort(&buffer->string, &STR_SIZE_16_ATT ); break;
+    case  32: ZydisStringAppendShort(&buffer->string, &STR_SIZE_32_ATT ); break;
+    case  64: ZydisStringAppendShort(&buffer->string, &STR_SIZE_64_ATT ); break;
+    case 128: ZydisStringAppendShort(&buffer->string, &STR_SIZE_128_ATT); break;
+    case 256: ZydisStringAppendShort(&buffer->string, &STR_SIZE_256_ATT); break;
+    case 512: ZydisStringAppendShort(&buffer->string, &STR_SIZE_512_ATT); break;
+    default:
+        break;
+    }
+
+    if (formatter->print_branch_size)
+    {
+        switch (context->instruction->meta.branch_type)
+        {
+        case ZYDIS_BRANCH_TYPE_NONE:
+            break;
+        case ZYDIS_BRANCH_TYPE_SHORT:
+            return ZydisStringAppendShortCase(&buffer->string, &STR_SHORT,
+                formatter->case_mnemonic);
+        case ZYDIS_BRANCH_TYPE_NEAR:
+            return ZydisStringAppendShortCase(&buffer->string, &STR_NEAR,
+                formatter->case_mnemonic);
+        default:
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterATTPrintRegister(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisRegister reg)
+{
+    ZYAN_UNUSED(context);
+
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    ZYDIS_BUFFER_APPEND(buffer, REGISTER);
+    const ZydisShortString* str = ZydisRegisterGetStringWrapped(reg);
+    if (!str)
+    {
+        return ZydisStringAppendShortCase(&buffer->string, &STR_INVALID_REG,
+            formatter->case_registers);
+    }
+    return ZydisStringAppendShortCase(&buffer->string, str, formatter->case_registers);
+}
+
+ZyanStatus ZydisFormatterATTPrintDISP(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_DISPLACEMENT);
+    switch (formatter->disp_signedness)
+    {
+    case ZYDIS_SIGNEDNESS_AUTO:
+    case ZYDIS_SIGNEDNESS_SIGNED:
+        ZYDIS_STRING_APPEND_NUM_S(formatter, formatter->disp_base, &buffer->string,
+            context->operand->mem.disp.value, formatter->disp_padding, ZYAN_FALSE);
+        break;
+    case ZYDIS_SIGNEDNESS_UNSIGNED:
+        ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->disp_base, &buffer->string,
+            context->operand->mem.disp.value, formatter->disp_padding);
+        break;
+    default:
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterATTPrintIMM(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    ZYDIS_BUFFER_APPEND(buffer, IMMEDIATE);
+    return ZydisFormatterBasePrintIMM(formatter, buffer, context);
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
diff --git a/external/zydis/src/FormatterBase.c b/external/zydis/src/FormatterBase.c
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/FormatterBase.c
@@ -0,0 +1,756 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd, Joel Hoener
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#include <Zydis/Internal/FormatterBase.h>
+#include <Zydis/Utils.h>
+
+/* ============================================================================================== */
+/* Constants                                                                                      */
+/* ============================================================================================== */
+
+#include <Generated/FormatterStrings.inc>
+
+static const ZydisShortString* const STR_PREF_REX[16] =
+{
+    &STR_PREF_REX_40,
+    &STR_PREF_REX_41,
+    &STR_PREF_REX_42,
+    &STR_PREF_REX_43,
+    &STR_PREF_REX_44,
+    &STR_PREF_REX_45,
+    &STR_PREF_REX_46,
+    &STR_PREF_REX_47,
+    &STR_PREF_REX_48,
+    &STR_PREF_REX_49,
+    &STR_PREF_REX_4A,
+    &STR_PREF_REX_4B,
+    &STR_PREF_REX_4C,
+    &STR_PREF_REX_4D,
+    &STR_PREF_REX_4E,
+    &STR_PREF_REX_4F
+};
+
+static const ZydisPredefinedToken* const TOK_PREF_REX[16] =
+{
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_40,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_41,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_42,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_43,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_44,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_45,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_46,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_47,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_48,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_49,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4A,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4B,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4C,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4D,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4E,
+    (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4F
+};
+
+/* ============================================================================================== */
+/* Helper functions                                                                               */
+/* ============================================================================================== */
+
+ZyanU32 ZydisFormatterHelperGetExplicitSize(const ZydisFormatter* formatter,
+    ZydisFormatterContext* context, ZyanU8 memop_id)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(context);
+    ZYAN_ASSERT(memop_id < context->instruction->operand_count);
+
+    const ZydisDecodedOperand* const operand = &context->instruction->operands[memop_id];
+    ZYAN_ASSERT(operand->type == ZYDIS_OPERAND_TYPE_MEMORY);
+    ZYAN_ASSERT(operand->mem.type == ZYDIS_MEMOP_TYPE_MEM);
+
+    if (formatter->force_memory_size)
+    {
+        return operand->size;
+    }
+
+    switch (operand->id)
+    {
+    case 0:
+        if ((context->instruction->operands[1].type == ZYDIS_OPERAND_TYPE_UNUSED) ||
+            (context->instruction->operands[1].type == ZYDIS_OPERAND_TYPE_IMMEDIATE))
+        {
+            return context->instruction->operands[0].size;
+        }
+        if (context->instruction->operands[0].size != context->instruction->operands[1].size)
+        {
+            return context->instruction->operands[0].size;
+        }
+        if ((context->instruction->operands[1].type == ZYDIS_OPERAND_TYPE_REGISTER) &&
+            (context->instruction->operands[1].visibility == ZYDIS_OPERAND_VISIBILITY_IMPLICIT) &&
+            (context->instruction->operands[1].reg.value == ZYDIS_REGISTER_CL))
+        {
+            return context->instruction->operands[0].size;
+        }
+        break;
+    case 1:
+    case 2:
+        if (context->instruction->operands[operand->id - 1].size !=
+            context->instruction->operands[operand->id].size)
+        {
+            return context->instruction->operands[operand->id].size;
+        }
+        break;
+    default:
+        break;
+    }
+
+    return 0;
+}
+
+/* ============================================================================================== */
+/* Formatter functions                                                                            */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Operands                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterBaseFormatOperandREG(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    return formatter->func_print_register(formatter, buffer, context, context->operand->reg.value);
+}
+
+ZyanStatus ZydisFormatterBaseFormatOperandPTR(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_IMMEDIATE);
+    ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->addr_base, &buffer->string,
+        context->operand->ptr.segment, 4);
+    ZYDIS_BUFFER_APPEND(buffer, DELIM_SEGMENT);
+    ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_IMMEDIATE);
+    ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->addr_base, &buffer->string,
+        context->operand->ptr.offset , 8);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterBaseFormatOperandIMM(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    // The immediate operand contains an address
+    if (context->operand->imm.is_relative)
+    {
+        const ZyanBool absolute = !formatter->force_relative_branches &&
+            (context->runtime_address != ZYDIS_RUNTIME_ADDRESS_NONE);
+        if (absolute)
+        {
+            return formatter->func_print_address_abs(formatter, buffer, context);
+        }
+        return formatter->func_print_address_rel(formatter, buffer, context);
+    }
+
+    // The immediate operand contains an actual ordinal value
+    return formatter->func_print_imm(formatter, buffer, context);
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Elemental tokens                                                                               */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterBasePrintAddressABS(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    ZyanU64 address;
+    ZYAN_CHECK(ZydisCalcAbsoluteAddress(context->instruction, context->operand,
+        context->runtime_address, &address));
+    ZyanU8 padding = (formatter->addr_padding_absolute ==
+        ZYDIS_PADDING_AUTO) ? 0 : (ZyanU8)formatter->addr_padding_absolute;
+    if ((formatter->addr_padding_absolute == ZYDIS_PADDING_AUTO) &&
+        (formatter->addr_base == ZYDIS_NUMERIC_BASE_HEX))
+    {
+        switch (context->instruction->stack_width)
+        {
+        case 16:
+            padding =  4;
+            address = (ZyanU16)address;
+            break;
+        case 32:
+            padding =  8;
+            address = (ZyanU32)address;
+            break;
+        case 64:
+            padding = 16;
+            break;
+        default:
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+    }
+
+    ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_ADDRESS_ABS);
+    ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->addr_base, &buffer->string, address, padding);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterBasePrintAddressREL(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    ZyanU64 address;
+    ZYAN_CHECK(ZydisCalcAbsoluteAddress(context->instruction, context->operand, 0, &address));
+
+    ZyanU8 padding = (formatter->addr_padding_relative ==
+        ZYDIS_PADDING_AUTO) ? 0 : (ZyanU8)formatter->addr_padding_relative;
+    if ((formatter->addr_padding_relative == ZYDIS_PADDING_AUTO) &&
+        (formatter->addr_base == ZYDIS_NUMERIC_BASE_HEX))
+    {
+        switch (context->instruction->stack_width)
+        {
+        case 16:
+            padding =  4;
+            address = (ZyanU16)address;
+            break;
+        case 32:
+            padding =  8;
+            address = (ZyanU32)address;
+            break;
+        case 64:
+            padding = 16;
+            break;
+        default:
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+    }
+
+    ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_ADDRESS_REL);
+    switch (formatter->addr_signedness)
+    {
+    case ZYDIS_SIGNEDNESS_AUTO:
+    case ZYDIS_SIGNEDNESS_SIGNED:
+        ZYDIS_STRING_APPEND_NUM_S(formatter, formatter->addr_base, &buffer->string, address,
+            padding, ZYAN_TRUE);
+        break;
+    case ZYDIS_SIGNEDNESS_UNSIGNED:
+        ZYAN_CHECK(ZydisStringAppendShort(&buffer->string, &STR_ADD));
+        ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->addr_base, &buffer->string, address,
+            padding);
+        break;
+    default:
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterBasePrintIMM(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_IMMEDIATE);
+
+    const ZyanBool is_signed =
+        (formatter->imm_signedness == ZYDIS_SIGNEDNESS_SIGNED) ||
+        (formatter->imm_signedness == ZYDIS_SIGNEDNESS_AUTO && (context->operand->imm.is_signed));
+    if (is_signed && (context->operand->imm.value.s < 0))
+    {
+        ZYDIS_STRING_APPEND_NUM_S(formatter, formatter->imm_base, &buffer->string,
+            context->operand->imm.value.s, formatter->imm_padding, ZYAN_FALSE);
+        return ZYAN_STATUS_SUCCESS;
+    }
+    ZyanU64 value;
+    ZyanU8 padding = (formatter->imm_padding ==
+        ZYDIS_PADDING_AUTO) ? 0 : (ZyanU8)formatter->imm_padding;
+    switch (context->instruction->operand_width)
+    {
+    case 8:
+        if (formatter->imm_padding == ZYDIS_PADDING_AUTO)
+        {
+            padding =  2;
+        }
+        value = (ZyanU8 )context->operand->imm.value.u;
+        break;
+    case 16:
+        if (formatter->imm_padding == ZYDIS_PADDING_AUTO)
+        {
+            padding =  4;
+        }
+        value = (ZyanU16)context->operand->imm.value.u;
+        break;
+    case 32:
+        if (formatter->imm_padding == ZYDIS_PADDING_AUTO)
+        {
+            padding =  8;
+        }
+        value = (ZyanU32)context->operand->imm.value.u;
+        break;
+    case 64:
+        if (formatter->imm_padding == ZYDIS_PADDING_AUTO)
+        {
+            padding = 16;
+        }
+        value = (ZyanU64)context->operand->imm.value.u;
+        break;
+    default:
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+    ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->imm_base, &buffer->string, value, padding);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Optional tokens                                                                                */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterBasePrintSegment(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    ZyanBool printed_segment = ZYAN_FALSE;
+    switch (context->operand->mem.segment)
+    {
+    case ZYDIS_REGISTER_ES:
+    case ZYDIS_REGISTER_CS:
+    case ZYDIS_REGISTER_FS:
+    case ZYDIS_REGISTER_GS:
+        ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context,
+            context->operand->mem.segment));
+        printed_segment = ZYAN_TRUE;
+        break;
+    case ZYDIS_REGISTER_SS:
+        if ((formatter->force_memory_segment) ||
+            (context->instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_SS))
+        {
+            ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context,
+                context->operand->mem.segment));
+            printed_segment = ZYAN_TRUE;
+        }
+        break;
+    case ZYDIS_REGISTER_DS:
+        if ((formatter->force_memory_segment) ||
+            (context->instruction->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_DS))
+        {
+            ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context,
+                context->operand->mem.segment));
+            printed_segment = ZYAN_TRUE;
+        }
+        break;
+    default:
+        break;
+    }
+    if (printed_segment)
+    {
+        ZYDIS_BUFFER_APPEND(buffer, DELIM_SEGMENT);
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterBasePrintPrefixes(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    if (formatter->detailed_prefixes)
+    {
+        for (ZyanU8 i = 0; i < context->instruction->raw.prefix_count; ++i)
+        {
+            const ZyanU8 value = context->instruction->raw.prefixes[i].value;
+            switch (context->instruction->raw.prefixes[i].type)
+            {
+            case ZYDIS_PREFIX_TYPE_IGNORED:
+            case ZYDIS_PREFIX_TYPE_MANDATORY:
+            {
+                if ((value & 0xF0) == 0x40)
+                {
+                    if (buffer->is_token_list)
+                    {
+                        // TODO: Case
+                        ZYAN_CHECK(ZydisFormatterBufferAppendPredefined(buffer,
+                            TOK_PREF_REX[value & 0x0F]));
+                    } else
+                    {
+                        ZYAN_CHECK(ZydisStringAppendShortCase(&buffer->string,
+                            STR_PREF_REX[value & 0x0F], formatter->case_prefixes));
+                    }
+                } else
+                {
+                    switch (value)
+                    {
+                    case 0xF0:
+                        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_LOCK, formatter->case_prefixes);
+                        break;
+                    case 0x2E:
+                        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_SEG_CS, formatter->case_prefixes);
+                        break;
+                    case 0x36:
+                        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_SEG_SS, formatter->case_prefixes);
+                        break;
+                    case 0x3E:
+                        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_SEG_DS, formatter->case_prefixes);
+                        break;
+                    case 0x26:
+                        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_SEG_ES, formatter->case_prefixes);
+                        break;
+                    case 0x64:
+                        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_SEG_FS, formatter->case_prefixes);
+                        break;
+                    case 0x65:
+                        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_SEG_GS, formatter->case_prefixes);
+                        break;
+                    default:
+                        ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_PREFIX);
+                        ZYAN_CHECK(ZydisStringAppendHexU(&buffer->string, value, 0,
+                            formatter->hex_uppercase, ZYAN_NULL, ZYAN_NULL));
+                        ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_WHITESPACE);
+                        ZYAN_CHECK(ZydisStringAppendShort(&buffer->string, &STR_WHITESPACE));
+                        break;
+                    }
+                }
+                break;
+            }
+            case ZYDIS_PREFIX_TYPE_EFFECTIVE:
+                switch (value)
+                {
+                case 0xF0:
+                    ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_LOCK, formatter->case_prefixes);
+                    break;
+                case 0xF2:
+                    if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_XACQUIRE)
+                    {
+                        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_XACQUIRE, formatter->case_prefixes);
+                    }
+                    if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_REPNE)
+                    {
+                        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_REPNE, formatter->case_prefixes);
+                    }
+
+                    if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_BND)
+                    {
+                        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_BND, formatter->case_prefixes);
+                    }
+                    break;
+                case 0xF3:
+                    if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_XRELEASE)
+                    {
+                        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_XRELEASE, formatter->case_prefixes);
+                    }
+                    if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_REP)
+                    {
+                        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_REP, formatter->case_prefixes);
+                    }
+                    if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_REPE)
+                    {
+                        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_REPE, formatter->case_prefixes);
+                    }
+                    break;
+                default:
+                    break;
+                }
+                break;
+            default:
+                return ZYAN_STATUS_INVALID_ARGUMENT;
+            }
+        }
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_XACQUIRE)
+    {
+        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_XACQUIRE, formatter->case_prefixes);
+    }
+    if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_XRELEASE)
+    {
+        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_XRELEASE, formatter->case_prefixes);
+    }
+
+    if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_LOCK)
+    {
+        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_LOCK, formatter->case_prefixes);
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_REP)
+    {
+        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_REP, formatter->case_prefixes);
+        return ZYAN_STATUS_SUCCESS;
+    }
+    if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_REPE)
+    {
+        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_REPE, formatter->case_prefixes);
+        return ZYAN_STATUS_SUCCESS;
+    }
+    if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_REPNE)
+    {
+        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_REPNE, formatter->case_prefixes);
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    if (context->instruction->attributes & ZYDIS_ATTRIB_HAS_BND)
+    {
+        ZYDIS_BUFFER_APPEND_CASE(buffer, PREF_BND, formatter->case_prefixes);
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterBasePrintDecorator(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisDecorator decorator)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+#if defined(ZYDIS_DISABLE_AVX512) && defined(ZYDIS_DISABLE_KNC)
+    ZYAN_UNUSED(formatter);
+    ZYAN_UNUSED(buffer);
+    ZYAN_UNUSED(context);
+#endif
+
+    switch (decorator)
+    {
+    case ZYDIS_DECORATOR_MASK:
+    {
+#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC)
+        if (context->instruction->avx.mask.reg != ZYDIS_REGISTER_K0)
+        {
+            if (buffer->is_token_list)
+            {
+                ZYDIS_BUFFER_APPEND(buffer, DECO_BEGIN);
+                ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context,
+                    context->instruction->avx.mask.reg));
+                ZYDIS_BUFFER_APPEND(buffer, DECO_END);
+            } else
+            {
+                ZYAN_CHECK(ZydisStringAppendShort(&buffer->string, &STR_DECO_BEGIN));
+                ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context,
+                    context->instruction->avx.mask.reg));
+                ZYAN_CHECK(ZydisStringAppendShort(&buffer->string, &STR_DECO_END));
+            }
+
+            // Only print the zeroing decorator, if the instruction is not a "zeroing masking only"
+            // instruction (e.g. `vcmpsd`)
+            if ((context->instruction->avx.mask.mode == ZYDIS_MASK_MODE_ZEROING ||
+                 context->instruction->avx.mask.mode == ZYDIS_MASK_MODE_CONTROL_ZEROING) &&
+                (context->instruction->raw.evex.z))
+            {
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_ZERO, formatter->case_decorators);
+            }
+        }
+#endif
+        break;
+    }
+    case ZYDIS_DECORATOR_BC:
+#if !defined(ZYDIS_DISABLE_AVX512)
+        if (!context->instruction->avx.broadcast.is_static)
+        {
+            switch (context->instruction->avx.broadcast.mode)
+            {
+            case ZYDIS_BROADCAST_MODE_INVALID:
+                break;
+            case ZYDIS_BROADCAST_MODE_1_TO_2:
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_1TO2, formatter->case_decorators);
+                break;
+            case ZYDIS_BROADCAST_MODE_1_TO_4:
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_1TO4, formatter->case_decorators);
+                break;
+            case ZYDIS_BROADCAST_MODE_1_TO_8:
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_1TO8, formatter->case_decorators);
+                break;
+            case ZYDIS_BROADCAST_MODE_1_TO_16:
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_1TO16, formatter->case_decorators);
+                break;
+            case ZYDIS_BROADCAST_MODE_4_TO_8:
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_4TO8, formatter->case_decorators);
+                break;
+            case ZYDIS_BROADCAST_MODE_4_TO_16:
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_4TO16, formatter->case_decorators);
+                break;
+            default:
+                return ZYAN_STATUS_INVALID_ARGUMENT;
+            }
+        }
+#endif
+        break;
+    case ZYDIS_DECORATOR_RC:
+#if !defined(ZYDIS_DISABLE_AVX512)
+        if (context->instruction->avx.has_sae)
+        {
+            switch (context->instruction->avx.rounding.mode)
+            {
+            case ZYDIS_ROUNDING_MODE_INVALID:
+                break;
+            case ZYDIS_ROUNDING_MODE_RN:
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RN_SAE, formatter->case_decorators);
+                break;
+            case ZYDIS_ROUNDING_MODE_RD:
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RD_SAE, formatter->case_decorators);
+                break;
+            case ZYDIS_ROUNDING_MODE_RU:
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RU_SAE, formatter->case_decorators);
+                break;
+            case ZYDIS_ROUNDING_MODE_RZ:
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RZ_SAE, formatter->case_decorators);
+                break;
+            default:
+                return ZYAN_STATUS_INVALID_ARGUMENT;
+            }
+        } else
+        {
+            switch (context->instruction->avx.rounding.mode)
+            {
+            case ZYDIS_ROUNDING_MODE_INVALID:
+                break;
+            case ZYDIS_ROUNDING_MODE_RN:
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RN, formatter->case_decorators);
+                break;
+            case ZYDIS_ROUNDING_MODE_RD:
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RD, formatter->case_decorators);
+                break;
+            case ZYDIS_ROUNDING_MODE_RU:
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RU, formatter->case_decorators);
+                break;
+            case ZYDIS_ROUNDING_MODE_RZ:
+                ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_RZ, formatter->case_decorators);
+                break;
+            default:
+                return ZYAN_STATUS_INVALID_ARGUMENT;
+            }
+        }
+#endif
+        break;
+    case ZYDIS_DECORATOR_SAE:
+#if !defined(ZYDIS_DISABLE_AVX512)
+        if (context->instruction->avx.has_sae && !context->instruction->avx.rounding.mode)
+        {
+            ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_SAE, formatter->case_decorators);
+        }
+#endif
+        break;
+    case ZYDIS_DECORATOR_SWIZZLE:
+#if !defined(ZYDIS_DISABLE_KNC)
+        switch (context->instruction->avx.swizzle.mode)
+        {
+        case ZYDIS_SWIZZLE_MODE_INVALID:
+        case ZYDIS_SWIZZLE_MODE_DCBA:
+            // Nothing to do here
+            break;
+        case ZYDIS_SWIZZLE_MODE_CDAB:
+            ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_CDAB, formatter->case_decorators);
+            break;
+        case ZYDIS_SWIZZLE_MODE_BADC:
+            ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_BADC, formatter->case_decorators);
+            break;
+        case ZYDIS_SWIZZLE_MODE_DACB:
+            ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_DACB, formatter->case_decorators);
+            break;
+        case ZYDIS_SWIZZLE_MODE_AAAA:
+            ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_AAAA, formatter->case_decorators);
+            break;
+        case ZYDIS_SWIZZLE_MODE_BBBB:
+            ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_BBBB, formatter->case_decorators);
+            break;
+        case ZYDIS_SWIZZLE_MODE_CCCC:
+            ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_CCCC, formatter->case_decorators);
+            break;
+        case ZYDIS_SWIZZLE_MODE_DDDD:
+            ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_DDDD, formatter->case_decorators);
+            break;
+        default:
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+#endif
+        break;
+    case ZYDIS_DECORATOR_CONVERSION:
+#if !defined(ZYDIS_DISABLE_KNC)
+        switch (context->instruction->avx.conversion.mode)
+        {
+        case ZYDIS_CONVERSION_MODE_INVALID:
+            break;
+        case ZYDIS_CONVERSION_MODE_FLOAT16:
+            ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_FLOAT16, formatter->case_decorators);
+            break;
+        case ZYDIS_CONVERSION_MODE_SINT8:
+            ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_SINT8, formatter->case_decorators);
+            break;
+        case ZYDIS_CONVERSION_MODE_UINT8:
+            ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_UINT8, formatter->case_decorators);
+            break;
+        case ZYDIS_CONVERSION_MODE_SINT16:
+            ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_SINT16, formatter->case_decorators);
+            break;
+        case ZYDIS_CONVERSION_MODE_UINT16:
+            ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_UINT16, formatter->case_decorators);
+            break;
+        default:
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+#endif
+        break;
+    case ZYDIS_DECORATOR_EH:
+#if !defined(ZYDIS_DISABLE_KNC)
+        if (context->instruction->avx.has_eviction_hint)
+        {
+            ZYDIS_BUFFER_APPEND_CASE(buffer, DECO_EH, formatter->case_decorators);
+        }
+#endif
+        break;
+    default:
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
diff --git a/external/zydis/src/FormatterBuffer.c b/external/zydis/src/FormatterBuffer.c
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/FormatterBuffer.c
@@ -0,0 +1,191 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#include <Zydis/Internal/String.h>
+#include <Zydis/FormatterBuffer.h>
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Token                                                                                          */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterTokenGetValue(const ZydisFormatterToken* token,
+    ZydisTokenType* type, ZyanConstCharPointer* value)
+{
+    if (!token || !type || !value)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    *type = token->type;
+    *value = (ZyanConstCharPointer)((ZyanU8*)token + sizeof(ZydisFormatterToken));
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterTokenNext(ZydisFormatterTokenConst** token)
+{
+    if (!token || !*token)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    const ZyanU8 next = (*token)->next;
+    if (!next)
+    {
+        return ZYAN_STATUS_OUT_OF_RANGE;
+    }
+    *token = (ZydisFormatterTokenConst*)((ZyanU8*)*token + sizeof(ZydisFormatterToken) + next);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Buffer                                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterBufferGetToken(const ZydisFormatterBuffer* buffer,
+    ZydisFormatterTokenConst** token)
+{
+    if (!buffer || !token)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    *token = ((ZydisFormatterTokenConst*)buffer->string.vector.data - 1);
+    if ((*token)->type == ZYDIS_TOKEN_INVALID)
+    {
+        return ZYAN_STATUS_INVALID_OPERATION;
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterBufferGetString(ZydisFormatterBuffer* buffer, ZyanString** string)
+{
+    if (!buffer || !string)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    if (buffer->is_token_list &&
+        ((ZydisFormatterTokenConst*)buffer->string.vector.data - 1)->type == ZYDIS_TOKEN_INVALID)
+    {
+        return ZYAN_STATUS_INVALID_OPERATION;
+    }
+
+    ZYAN_ASSERT(buffer->string.vector.data);
+    ZYAN_ASSERT(buffer->string.vector.size);
+
+    *string = &buffer->string;
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterBufferAppend(ZydisFormatterBuffer* buffer, ZydisTokenType type)
+{
+    if (!buffer)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    if (!buffer->is_token_list)
+    {
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    const ZyanUSize len = buffer->string.vector.size;
+    ZYAN_ASSERT((len > 0) && (len < 256));
+    if (buffer->capacity <= len + sizeof(ZydisFormatterToken))
+    {
+        return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE;
+    }
+
+    ZydisFormatterToken* const last  = (ZydisFormatterToken*)buffer->string.vector.data - 1;
+    last->next = (ZyanU8)len;
+
+    const ZyanUSize delta = len + sizeof(ZydisFormatterToken);
+    buffer->capacity -= delta;
+    buffer->string.vector.data = (ZyanU8*)buffer->string.vector.data + delta;
+    buffer->string.vector.size = 1;
+    buffer->string.vector.capacity = ZYAN_MIN(buffer->capacity, 255);
+    *(char*)buffer->string.vector.data = '\0';
+
+    ZydisFormatterToken* const token = (ZydisFormatterToken*)buffer->string.vector.data - 1;
+    token->type = type;
+    token->next = 0;
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterBufferRemember(const ZydisFormatterBuffer* buffer, ZyanUPointer* state)
+{
+    if (!buffer || !state)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    if (buffer->is_token_list)
+    {
+        *state = (ZyanUPointer)buffer->string.vector.data;
+    } else
+    {
+        *state = (ZyanUPointer)buffer->string.vector.size;
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterBufferRestore(ZydisFormatterBuffer* buffer, ZyanUPointer state)
+{
+    if (!buffer)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    if (buffer->is_token_list)
+    {
+        const ZyanUSize delta = (ZyanUPointer)buffer->string.vector.data - state;
+        buffer->capacity += delta;
+        buffer->string.vector.data = (void*)state;
+        buffer->string.vector.size = 1; // TODO: Restore size?
+        buffer->string.vector.capacity = ZYAN_MIN(buffer->capacity, 255);
+        *(char*)buffer->string.vector.data = '\0';
+    } else
+    {
+        buffer->string.vector.size = (ZyanUSize)state;
+        ZYDIS_STRING_NULLTERMINATE(&buffer->string);
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
diff --git a/external/zydis/src/FormatterIntel.c b/external/zydis/src/FormatterIntel.c
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/FormatterIntel.c
@@ -0,0 +1,441 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd, Joel Hoener
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#include <Zydis/Internal/FormatterIntel.h>
+#include <Zydis/Utils.h>
+
+/* ============================================================================================== */
+/* Constants                                                                                      */
+/* ============================================================================================== */
+
+#include <Generated/FormatterStrings.inc>
+
+/* ============================================================================================== */
+/* Formatter functions                                                                            */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Intel                                                                                          */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterIntelFormatInstruction(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    ZYAN_CHECK(formatter->func_print_prefixes(formatter, buffer, context));
+    ZYAN_CHECK(formatter->func_print_mnemonic(formatter, buffer, context));
+
+    ZyanUPointer state_mnemonic;
+    ZYDIS_BUFFER_REMEMBER(buffer, state_mnemonic);
+    for (ZyanU8 i = 0; i < context->instruction->operand_count; ++i)
+    {
+        const ZydisDecodedOperand* const operand = &context->instruction->operands[i];
+
+        if (operand->visibility == ZYDIS_OPERAND_VISIBILITY_HIDDEN)
+        {
+            break;
+        }
+
+        // Print embedded-mask registers as decorator instead of a regular operand
+        if ((i == 1) && (operand->type == ZYDIS_OPERAND_TYPE_REGISTER) &&
+            (operand->encoding == ZYDIS_OPERAND_ENCODING_MASK))
+        {
+            continue;
+        }
+
+        ZyanUPointer buffer_state;
+        ZYDIS_BUFFER_REMEMBER(buffer, buffer_state);
+
+        if (buffer_state != state_mnemonic)
+        {
+            ZYDIS_BUFFER_APPEND(buffer, DELIM_OPERAND);
+        } else
+        {
+            ZYDIS_BUFFER_APPEND(buffer, DELIM_MNEMONIC);
+        }
+
+        // Set current operand
+        context->operand = operand;
+
+        ZyanStatus status;
+        if (formatter->func_pre_operand)
+        {
+            status = formatter->func_pre_operand(formatter, buffer, context);
+            if (status == ZYDIS_STATUS_SKIP_TOKEN)
+            {
+                ZYAN_CHECK(ZydisFormatterBufferRestore(buffer, buffer_state));
+                continue;
+            }
+            if (!ZYAN_SUCCESS(status))
+            {
+                return status;
+            }
+        }
+
+        switch (operand->type)
+        {
+        case ZYDIS_OPERAND_TYPE_REGISTER:
+            status = formatter->func_format_operand_reg(formatter, buffer, context);
+            break;
+        case ZYDIS_OPERAND_TYPE_MEMORY:
+            status = formatter->func_format_operand_mem(formatter, buffer, context);
+            break;
+        case ZYDIS_OPERAND_TYPE_POINTER:
+            status = formatter->func_format_operand_ptr(formatter, buffer, context);
+            break;
+        case ZYDIS_OPERAND_TYPE_IMMEDIATE:
+            status = formatter->func_format_operand_imm(formatter, buffer, context);
+            break;
+        default:
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+        if (status == ZYDIS_STATUS_SKIP_TOKEN)
+        {
+            ZYAN_CHECK(ZydisFormatterBufferRestore(buffer, buffer_state));
+            continue;
+        }
+        if (!ZYAN_SUCCESS(status))
+        {
+            return status;
+        }
+
+        if (formatter->func_post_operand)
+        {
+            status = formatter->func_post_operand(formatter, buffer, context);
+            if (status == ZYDIS_STATUS_SKIP_TOKEN)
+            {
+                ZYAN_CHECK(ZydisFormatterBufferRestore(buffer, buffer_state));
+                continue;
+            }
+            if (ZYAN_SUCCESS(status))
+            {
+                return status;
+            }
+        }
+
+#if !defined(ZYDIS_DISABLE_AVX512) || !defined(ZYDIS_DISABLE_KNC)
+        if ((context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) ||
+            (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX))
+        {
+            if  ((i == 0) &&
+                 (context->instruction->operands[i + 1].encoding == ZYDIS_OPERAND_ENCODING_MASK))
+            {
+                ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context,
+                    ZYDIS_DECORATOR_MASK));
+            }
+            if (operand->type == ZYDIS_OPERAND_TYPE_MEMORY)
+            {
+                ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context,
+                    ZYDIS_DECORATOR_BC));
+                if (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)
+                {
+                    ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context,
+                        ZYDIS_DECORATOR_CONVERSION));
+                    ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context,
+                        ZYDIS_DECORATOR_EH));
+                }
+            } else
+            {
+                // TODO: `sae` is displayed twice e.g. for `62 E30D1B 0A D3 A5`
+                // TODO: Checking the `operand_count` does not work for instructions with hidden operands
+                if ((i == (context->instruction->operand_count - 1)) ||
+                    (context->instruction->operands[i + 1].type == ZYDIS_OPERAND_TYPE_IMMEDIATE))
+                {
+                    if (context->instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)
+                    {
+                        ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context,
+                            ZYDIS_DECORATOR_SWIZZLE));
+                    }
+                    ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context,
+                        ZYDIS_DECORATOR_RC));
+                    ZYAN_CHECK(formatter->func_print_decorator(formatter, buffer, context,
+                        ZYDIS_DECORATOR_SAE));
+                }
+            }
+        }
+#endif
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterIntelFormatOperandMEM(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    if (context->operand->mem.type == ZYDIS_MEMOP_TYPE_MEM)
+    {
+        ZYAN_CHECK(formatter->func_print_typecast(formatter, buffer, context));
+    }
+    ZYAN_CHECK(formatter->func_print_segment(formatter, buffer, context));
+
+    ZYDIS_BUFFER_APPEND(buffer, MEMORY_BEGIN_INTEL);
+
+    const ZyanBool absolute = !formatter->force_relative_riprel &&
+        (context->runtime_address != ZYDIS_RUNTIME_ADDRESS_NONE);
+    if (absolute && context->operand->mem.disp.has_displacement &&
+        (context->operand->mem.index == ZYDIS_REGISTER_NONE) &&
+       ((context->operand->mem.base  == ZYDIS_REGISTER_NONE) ||
+        (context->operand->mem.base  == ZYDIS_REGISTER_EIP ) ||
+        (context->operand->mem.base  == ZYDIS_REGISTER_RIP )))
+    {
+        // EIP/RIP-relative or absolute-displacement address operand
+        ZYAN_CHECK(formatter->func_print_address_abs(formatter, buffer, context));
+    } else
+    {
+        ZyanBool should_print_reg = context->operand->mem.base != ZYDIS_REGISTER_NONE;
+        ZyanBool should_print_idx = (context->operand->mem.index != ZYDIS_REGISTER_NONE) &&
+            (context->operand->mem.type  != ZYDIS_MEMOP_TYPE_MIB);
+        ZyanBool neither_reg_nor_idx = !should_print_reg && !should_print_idx;
+
+        // Regular memory operand
+        if (should_print_reg)
+        {
+            ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context,
+                context->operand->mem.base));
+        }
+        if (should_print_idx)
+        {
+            if (context->operand->mem.base != ZYDIS_REGISTER_NONE)
+            {
+                ZYDIS_BUFFER_APPEND(buffer, ADD);
+            }
+            ZYAN_CHECK(formatter->func_print_register(formatter, buffer, context,
+                context->operand->mem.index));
+            if (context->operand->mem.scale)
+            {
+                ZYDIS_BUFFER_APPEND(buffer, MUL);
+                ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_IMMEDIATE);
+                ZYAN_CHECK(ZydisStringAppendDecU(&buffer->string, context->operand->mem.scale, 0,
+                    ZYAN_NULL, ZYAN_NULL));
+            }
+        }
+        if (context->operand->mem.disp.has_displacement && (context->operand->mem.disp.value
+            || neither_reg_nor_idx))
+        {
+            ZYAN_CHECK(formatter->func_print_disp(formatter, buffer, context));
+        }
+    }
+
+    ZYDIS_BUFFER_APPEND(buffer, MEMORY_END_INTEL);
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterIntelPrintMnemonic(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    const ZydisShortString* mnemonic = ZydisMnemonicGetStringWrapped(
+        context->instruction->mnemonic);
+    if (!mnemonic)
+    {
+        ZYDIS_BUFFER_APPEND_CASE(buffer, INVALID_MNEMONIC, formatter->case_mnemonic);
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_MNEMONIC);
+    ZYAN_CHECK(ZydisStringAppendShortCase(&buffer->string, mnemonic, formatter->case_mnemonic));
+    if (context->instruction->meta.branch_type == ZYDIS_BRANCH_TYPE_FAR)
+    {
+        return ZydisStringAppendShortCase(&buffer->string, &STR_FAR, formatter->case_mnemonic);
+    }
+    if (formatter->print_branch_size)
+    {
+        switch (context->instruction->meta.branch_type)
+        {
+        case ZYDIS_BRANCH_TYPE_NONE:
+            break;
+        case ZYDIS_BRANCH_TYPE_SHORT:
+            return ZydisStringAppendShortCase(&buffer->string, &STR_SHORT,
+                formatter->case_mnemonic);
+        case ZYDIS_BRANCH_TYPE_NEAR:
+            return ZydisStringAppendShortCase(&buffer->string, &STR_NEAR,
+                formatter->case_mnemonic);
+        default:
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterIntelPrintRegister(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context, ZydisRegister reg)
+{
+    ZYAN_UNUSED(context);
+
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    const ZydisShortString* str = ZydisRegisterGetStringWrapped(reg);
+    if (!str)
+    {
+        ZYDIS_BUFFER_APPEND_CASE(buffer, INVALID_REG, formatter->case_registers);
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_REGISTER);
+    return ZydisStringAppendShortCase(&buffer->string, str, formatter->case_registers);
+}
+
+ZyanStatus ZydisFormatterIntelPrintDISP(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    switch (formatter->disp_signedness)
+    {
+    case ZYDIS_SIGNEDNESS_AUTO:
+    case ZYDIS_SIGNEDNESS_SIGNED:
+        if (context->operand->mem.disp.value < 0)
+        {
+            if ((context->operand->mem.base  != ZYDIS_REGISTER_NONE) ||
+                (context->operand->mem.index != ZYDIS_REGISTER_NONE))
+            {
+                ZYDIS_BUFFER_APPEND(buffer, SUB);
+            }
+            ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_DISPLACEMENT);
+            ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->disp_base, &buffer->string,
+                -context->operand->mem.disp.value, formatter->disp_padding);
+            break;
+        }
+        ZYAN_FALLTHROUGH;
+    case ZYDIS_SIGNEDNESS_UNSIGNED:
+        if ((context->operand->mem.base  != ZYDIS_REGISTER_NONE) ||
+            (context->operand->mem.index != ZYDIS_REGISTER_NONE))
+        {
+            ZYDIS_BUFFER_APPEND(buffer, ADD);
+        }
+        ZYDIS_BUFFER_APPEND_TOKEN(buffer, ZYDIS_TOKEN_DISPLACEMENT);
+        ZYDIS_STRING_APPEND_NUM_U(formatter, formatter->disp_base, &buffer->string,
+            context->operand->mem.disp.value, formatter->disp_padding);
+        break;
+    default:
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisFormatterIntelPrintTypecast(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    switch (ZydisFormatterHelperGetExplicitSize(formatter, context, context->operand->id))
+    {
+    case   8: ZYDIS_BUFFER_APPEND(buffer, SIZE_8_INTEL  ); break;
+    case  16: ZYDIS_BUFFER_APPEND(buffer, SIZE_16_INTEL ); break;
+    case  32: ZYDIS_BUFFER_APPEND(buffer, SIZE_32_INTEL ); break;
+    case  48: ZYDIS_BUFFER_APPEND(buffer, SIZE_48       ); break;
+    case  64: ZYDIS_BUFFER_APPEND(buffer, SIZE_64_INTEL ); break;
+    case  80: ZYDIS_BUFFER_APPEND(buffer, SIZE_80       ); break;
+    case 128: ZYDIS_BUFFER_APPEND(buffer, SIZE_128_INTEL); break;
+    case 256: ZYDIS_BUFFER_APPEND(buffer, SIZE_256_INTEL); break;
+    case 512: ZYDIS_BUFFER_APPEND(buffer, SIZE_512_INTEL); break;
+    default:
+        break;
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* MASM                                                                                           */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisFormatterIntelFormatInstructionMASM(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    // Force the formatter to always call our MASM `ZYDIS_FORMATTER_PRINT_ADDRESS_ABS` function.
+    // This implicitly omits printing of the `RIP`/`EIP` registers for `RIP`/`EIP`-relative
+    // memory operands
+    context->runtime_address = 0;
+
+    return ZydisFormatterIntelFormatInstruction(formatter, buffer, context);
+}
+
+ZyanStatus ZydisFormatterIntelPrintAddressMASM(const ZydisFormatter* formatter,
+    ZydisFormatterBuffer* buffer, ZydisFormatterContext* context)
+{
+    ZYAN_ASSERT(formatter);
+    ZYAN_ASSERT(buffer);
+    ZYAN_ASSERT(context);
+
+    ZyanU64 address;
+    ZYAN_CHECK(ZydisCalcAbsoluteAddress(context->instruction, context->operand, 0, &address));
+
+    ZyanU8 padding = (formatter->addr_padding_relative ==
+        ZYDIS_PADDING_AUTO) ? 0 : (ZyanU8)formatter->addr_padding_relative;
+    if ((formatter->addr_padding_relative == ZYDIS_PADDING_AUTO) &&
+        (formatter->addr_base == ZYDIS_NUMERIC_BASE_HEX))
+    {
+        switch (context->instruction->stack_width)
+        {
+        case 16:
+            padding =  4;
+            address = (ZyanU16)address;
+            break;
+        case 32:
+            padding =  8;
+            address = (ZyanU32)address;
+            break;
+        case 64:
+            padding = 16;
+            break;
+        default:
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+    }
+
+    ZYDIS_BUFFER_APPEND(buffer, ADDR_RELATIVE);
+    ZYDIS_STRING_APPEND_NUM_S(formatter, formatter->addr_base, &buffer->string, address, padding,
+        ZYAN_TRUE);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
diff --git a/external/zydis/src/Generated/AccessedFlags.inc b/external/zydis/src/Generated/AccessedFlags.inc
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Generated/AccessedFlags.inc
@@ -0,0 +1,77 @@
+#ifndef ZYDIS_MINIMAL_MODE
+static const ZydisAccessedFlags ACCESSED_FLAGS[] =
+{
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_1, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_1, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED } }, 
+    { { ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED } }, 
+    { { ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED } }, 
+    { { ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_TESTED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_SET_0, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_SET_1, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_MODIFIED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }, 
+    { { ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_UNDEFINED, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE, ZYDIS_CPUFLAG_ACTION_NONE } }
+};
+#endif
diff --git a/external/zydis/src/Generated/DecoderTables.inc b/external/zydis/src/Generated/DecoderTables.inc
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Generated/DecoderTables.inc
@@ -0,0 +1,6840 @@
+const ZydisDecoderTreeNode FILTERS_XOP[][13] =
+{
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x37F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x16), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x17), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x18), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }
+};
+
+const ZydisDecoderTreeNode FILTERS_VEX[][17] =
+{
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x19), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1E), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x20), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x21), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x22), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x23) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x19), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x21), ZYDIS_INVALID, ZYDIS_INVALID }
+};
+
+const ZydisDecoderTreeNode FILTERS_EMVEX[][33] =
+{
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x154), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x8), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0xA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0xB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0xC), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0xE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0xF), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x10), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x11), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x12), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x13), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x14), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x15) }
+};
+
+const ZydisDecoderTreeNode FILTERS_OPCODE[][256] =
+{
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3), ZYDIS_DEFINITION(0x6, 0x22), ZYDIS_DEFINITION(0x7, 0x23), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x7), ZYDIS_DEFINITION(0x3, 0x3DF), ZYDIS_DEFINITION(0x7, 0x3E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x13C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x13D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x13E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x13F), ZYDIS_DEFINITION(0x6, 0xC), ZYDIS_DEFINITION(0x7, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x49), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x4A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x140), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x141), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x142), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x143), ZYDIS_DEFINITION(0x6, 0x62E), ZYDIS_DEFINITION(0x7, 0x62F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x4B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x4C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x144), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x145), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x146), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x147), ZYDIS_DEFINITION(0x6, 0x50), ZYDIS_DEFINITION(0x7, 0x51), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x4D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x148), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x149), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x14A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x14B), ZYDIS_DEFINITION(0x6, 0x6D1), ZYDIS_DEFINITION(0x7, 0x6D2), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x4E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x14C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x14D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x14E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x14F), ZYDIS_DEFINITION(0x3, 0x751), ZYDIS_DEFINITION(0x7, 0x752), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x4F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x150), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x151), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x152), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x153), ZYDIS_DEFINITION(0x6, 0xDE), ZYDIS_DEFINITION(0x7, 0xDF), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x50), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x51), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x52), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x53), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x54), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x55), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x56), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x57), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x58), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x59), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x5A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x5B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x5C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x5D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x5E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x5F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x60), ZYDIS_DEFINITION(0x0, 0x5B3), ZYDIS_DEFINITION(0x0, 0x5B3), ZYDIS_DEFINITION(0x0, 0x5B3), ZYDIS_DEFINITION(0x0, 0x5B3), ZYDIS_DEFINITION(0x0, 0x5B3), ZYDIS_DEFINITION(0x0, 0x5B3), ZYDIS_DEFINITION(0x0, 0x5B3), ZYDIS_DEFINITION(0x0, 0x5B3), ZYDIS_DEFINITION(0x0, 0x50A), ZYDIS_DEFINITION(0x0, 0x50A), ZYDIS_DEFINITION(0x0, 0x50A), ZYDIS_DEFINITION(0x0, 0x50A), ZYDIS_DEFINITION(0x0, 0x50A), ZYDIS_DEFINITION(0x0, 0x50A), ZYDIS_DEFINITION(0x0, 0x50A), ZYDIS_DEFINITION(0x0, 0x50A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x61), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x62), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EMVEX, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x36D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x7, 0x5B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x36E), ZYDIS_DEFINITION(0x6, 0x5B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x36F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x87), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x88), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x89), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x8A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x8B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x8C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x8D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x8E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x8F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x90), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x91), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x92), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x93), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x94), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x95), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x96), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x370), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x371), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x372), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x373), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x374), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x375), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x376), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x377), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x378), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x379), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x37A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x37B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x37C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x37D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x37E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_XOP, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A4), ZYDIS_DEFINITION(0x0, 0x740), ZYDIS_DEFINITION(0x0, 0x740), ZYDIS_DEFINITION(0x0, 0x740), ZYDIS_DEFINITION(0x0, 0x740), ZYDIS_DEFINITION(0x0, 0x740), ZYDIS_DEFINITION(0x0, 0x740), ZYDIS_DEFINITION(0x0, 0x740), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0xB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0xC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB1), ZYDIS_DEFINITION(0x0, 0x1FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB3), ZYDIS_DEFINITION(0x0, 0x617), ZYDIS_DEFINITION(0x0, 0x2B0), ZYDIS_DEFINITION(0x2, 0x2FE), ZYDIS_DEFINITION(0x2, 0x2FF), ZYDIS_DEFINITION(0x2, 0x300), ZYDIS_DEFINITION(0x2, 0x301), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A8), ZYDIS_DEFINITION(0x6, 0x6F1), ZYDIS_DEFINITION(0x7, 0x6F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1AD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1AE), ZYDIS_DEFINITION(0x3, 0x302), ZYDIS_DEFINITION(0x3, 0x302), ZYDIS_DEFINITION(0x3, 0x302), ZYDIS_DEFINITION(0x3, 0x302), ZYDIS_DEFINITION(0x3, 0x302), ZYDIS_DEFINITION(0x3, 0x302), ZYDIS_DEFINITION(0x3, 0x302), ZYDIS_DEFINITION(0x3, 0x302), ZYDIS_DEFINITION(0x5, 0x303), ZYDIS_DEFINITION(0x5, 0x303), ZYDIS_DEFINITION(0x5, 0x303), ZYDIS_DEFINITION(0x5, 0x303), ZYDIS_DEFINITION(0x5, 0x303), ZYDIS_DEFINITION(0x5, 0x303), ZYDIS_DEFINITION(0x5, 0x303), ZYDIS_DEFINITION(0x5, 0x303), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D5), ZYDIS_DEFINITION(0x4, 0x5ED), ZYDIS_DEFINITION(0x0, 0x5EE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VEX, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VEX, 0x1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6AD), ZYDIS_DEFINITION(0x11, 0x169), ZYDIS_DEFINITION(0x0, 0x2B7), ZYDIS_DEFINITION(0x4, 0x5EF), ZYDIS_DEFINITION(0x0, 0x5F0), ZYDIS_DEFINITION(0x0, 0x245), ZYDIS_DEFINITION(0x3, 0x243), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x20), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6AF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF9), ZYDIS_DEFINITION(0x0, 0x748), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B9), ZYDIS_DEFINITION(0x8, 0x2D2), ZYDIS_DEFINITION(0x8, 0x2D1), ZYDIS_DEFINITION(0x8, 0x2D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xFA), ZYDIS_DEFINITION(0x3, 0x226), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x25), ZYDIS_DEFINITION(0x3, 0x3ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x26), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xFB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xFC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xFD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xFE), ZYDIS_DEFINITION(0x0, 0x229), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x27), ZYDIS_DEFINITION(0x0, 0x3F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x28), ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x244), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x213), ZYDIS_DEFINITION(0x0, 0xB5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6BB), ZYDIS_DEFINITION(0x0, 0xAA), ZYDIS_DEFINITION(0x0, 0x6B6), ZYDIS_DEFINITION(0x0, 0xB0), ZYDIS_DEFINITION(0x0, 0x6B9), ZYDIS_DEFINITION(0x0, 0xAB), ZYDIS_DEFINITION(0x0, 0x6B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6BD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF), ZYDIS_DEFINITION(0x0, 0xB2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x10), ZYDIS_DEFINITION(0x0, 0x247), ZYDIS_DEFINITION(0x0, 0x72C), ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x707), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC), ZYDIS_DEFINITION(0x0, 0x199), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x25), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x26), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x27), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x28), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x29), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_MPX, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_MPX, 0x1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x33), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x34), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x35), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x36), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x1D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x1E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x1F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x20), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x37), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x38), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x39), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E), ZYDIS_DEFINITION(0x0, 0x72F), ZYDIS_DEFINITION(0x0, 0x5EB), ZYDIS_DEFINITION(0x0, 0x5E1), ZYDIS_DEFINITION(0x0, 0x5E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x21), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x22), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x25), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x3), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPCODE, 0x4), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x9D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x9E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x9F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xA9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xAA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xAB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xAC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xAD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xAE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xAF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xB9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xBA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xBB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xBC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xBD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xBE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xBF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xC9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xCA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xCB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xCC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xCD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xCE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xCF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x125), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x33), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x34), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x35), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x36), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x37), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x38), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x39), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x3A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x3B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x3C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x3D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x3E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x3F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x40), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x41), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x42), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xDA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xDB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xDC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xDD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xDE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xDF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE9), ZYDIS_DEFINITION(0x0, 0x5B8), ZYDIS_DEFINITION(0x0, 0x50D), ZYDIS_DEFINITION(0x0, 0x107), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xEA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xEB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xEC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xEE), ZYDIS_DEFINITION(0x0, 0x5B9), ZYDIS_DEFINITION(0x0, 0x50E), ZYDIS_DEFINITION(0x0, 0x611), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xEF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xFA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xFB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xFC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xFD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xFE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xFF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x100), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x101), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x102), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x103), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x104), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x105), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x106), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x107), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x108), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x109), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x10A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x10B), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_DEFINITION(0x0, 0x8E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x10C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x10D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x10E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x10F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x110), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x111), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x112), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x113), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x114), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x115), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x116), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x117), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x118), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x119), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x11A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x11B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x11C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x11D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x11E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x11F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x120), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x121), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x122), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x123), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x124), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x125), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x126), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x127), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x128), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x129), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x12A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x12B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x12C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x12D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x12E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x12F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x130), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x131), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x132), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x133), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x134), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x135), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x136), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x137), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x138), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x139), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x13A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x13B) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0xF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x10), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x11), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x12), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x13), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x14), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x15), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x16), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x17), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x18), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x19), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x20), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x21), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x22), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x23), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x24), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x40), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x41), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x42), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x43), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x44), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x45), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x46), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x47), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x48), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x49), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x50), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x51), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x52), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x53), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x54), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x55), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x56), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x57), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x58), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x59), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x60), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x61), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x62), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x63), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x64), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x65), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x66), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x67), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x68), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x69), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x70), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x71), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x72), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x73), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x74), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x75), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x76), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x77), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x78), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x79), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x7A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x7B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x7C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x7D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x7E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x7F), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x80), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x81), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x82), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x83), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x84), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x85), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x86), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x87), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x88), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x89), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x8A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x8B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x8C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x8D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x8E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x8F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x90), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x91), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x92), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x93), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x94), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x95), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x96), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x97), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x98), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x99), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x9A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x9B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x9C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x155), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x156), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x157), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x158), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x159), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x15A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x15B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x15C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x15D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x15E), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x15F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x160), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x161), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x162), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x163), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x164), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x165), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x166), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x167), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x168), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x169), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x16A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x16B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x16C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x16D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x16E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x16F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x170), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x171), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x172), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x173), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x174), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x175), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x176), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x177), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x178), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x179), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x17A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x17B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x17C), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x17D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x17E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x17F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x180), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x181), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x182), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x183), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x184), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x185), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x186), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x187), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x188), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x189), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x18A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x18B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x18C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x18D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x18E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x18F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x190), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x191), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x192), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x193), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x194), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x195), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x196), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x197), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x198), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x199), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x19A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x19B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x19C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x19D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x19E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x19F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A3), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A7), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1A9), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1AA), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1AD), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1AF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B3), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1BB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1BD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1BF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1C9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1CB), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1CD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1CE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1CF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D1), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1D9), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1DA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1DB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1DC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1DD), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1DE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E4), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1EC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1EE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1F9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1FA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1FB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1FD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x1FF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x200), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x201), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x202), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x203), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x204), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x205), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x206), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x207), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x208), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x209), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x20A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x20B), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x20C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x20D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x20E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x20F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x210), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x211), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x212), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x213), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x214), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x215), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x216), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x217), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x218), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x219), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x21A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x21B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x21C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x21D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x21E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x21F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x220), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x221), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x222), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x223), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x224), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x225), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x226), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x227), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x228), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x229), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x22A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x22B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x22C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x22D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x22E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x22F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x230), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x231), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x232), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x233), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x234), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x235), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x236), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x237), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x238), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x239), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x23A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x23B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x23C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x23D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x23E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x23F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x240), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x241), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x242), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x243), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x244), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x245), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x246), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x247), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x248), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x249), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x24A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x24B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x24C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x24D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x24E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x24F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x250), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x251), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x252), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x253), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x254), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x255), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x256), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x257), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x258), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x259), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x25A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x25B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x25C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x25D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x25E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x25F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x260), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x261), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x262), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x263), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x264), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x265), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x266), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x267), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x268), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x269), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x26A), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x26B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x26C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x26D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x26E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x26F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x270), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x271), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x272), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x273), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x274), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x275), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x276), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x277), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x278), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x279), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x27A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x27B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x27C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x27D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x27E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x27F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x280), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x281), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x282), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x283), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x284), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x285), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x286), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x287), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x288), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x289), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x28A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x28B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x28C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x28D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x28E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x28F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x290), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x291), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x292), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x293), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x294), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x295), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x296), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x297), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x298), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x299), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x29A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x29B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x29C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x29D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x29E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x29F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A0), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A2), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A6), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A7), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2A9), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2AA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2AD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2AF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B2), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B4), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B8), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2BA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2BB), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2BC), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2BD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2BF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C2), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2C9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2CB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2CD), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2CE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2CF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D3), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D6), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D7), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D8), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2DA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2DB), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2DC), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2DD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2DE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2DF), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E2), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E6), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E8), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2EC), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2ED), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2EE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2EF), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F1), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F2), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F3), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F7), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F8), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2FA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2FB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2FD), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2FE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2FF), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x300), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x301), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x302), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x303), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x304), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x305), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x306), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x307), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x308), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x309), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x30A), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x30B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x30C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x30D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x30E), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x30F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x310), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x311), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x312), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x313), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x314), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x315), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x316), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x317), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x318), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x319), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x31A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x31B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x31C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x31D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x31E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x31F), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x320), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x321), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x322), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x323), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x324), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x325), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x326), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x327), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x328), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x329), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x32A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x32B), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x32C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x32D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x32E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x32F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x330), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x331), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x332), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x333), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x334), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x335), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x336), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x337), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x338), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x339), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x33A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x33B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x33C), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x33D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x33E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x33F), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x340), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x341), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x342), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x343), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x344), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x345), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x346), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x347), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x348), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x349), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x34A), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x34B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x34C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x34D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x34E), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x34F), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x350), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x351), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x352), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x353), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x354), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x355), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x356), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x357), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x358), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x359), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x35A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x35B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x35C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x35D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x35E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x35F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x360), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x361), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x362), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x363), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x364), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x365), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x366), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x367), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x368), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x369), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x36A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x36B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x36C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3CD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3CE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3CF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D0), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D3), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D7), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D8), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D9), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3DA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3DB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3DC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3DD), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3DE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E1), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x3F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x40), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x41), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F4), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3FB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3FD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3FF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x400), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x401), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x402), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x403), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x404), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x405), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x406), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x407), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x408), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x409), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x40A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x40B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x40C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x40D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x40E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x40F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x410), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x42), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB6), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x413), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x414), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x415), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x416), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x417), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x418), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x419), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x41A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x47), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x423), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x424), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x425), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F2), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x426), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x427), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x428), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x429), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x42A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x42B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x42C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x42D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x42E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x42F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x430), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x431), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x432), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x433), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x434), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x435), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x436), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x437), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x438), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x439), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x43A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x43B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x43C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x43D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x43E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x43F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x440), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x441), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC9), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x442), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x443), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x444), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x445), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x446), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x447), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x448), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x449), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x48), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x44C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x44D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x44E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x49), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x452), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x453), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x454), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x455), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x456), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x457), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x458), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x459), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x45A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x45B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x45C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x45D), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x45E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x454), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x455), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x45F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x460), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x461), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x462), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x463), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x464), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x465), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x466), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x467), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x468), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x469), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x46A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x46B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x46C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x46D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x46E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x46F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x470), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x471), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x472), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x473), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x474), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x475), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x476), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x477), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x478), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x479), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x47A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x47B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x47C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x47D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x47E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x47F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x480), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x481), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x482), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x483), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x484), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x485), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x4A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x4B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x4C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x490), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x491), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x492), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x493), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x494), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x495), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x496), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x497), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x498), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x499), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x49A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x49B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x49C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x49D), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x49E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x49F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A0), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4AD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4AF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4BB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4BD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4BF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C0), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4CB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4CD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4CE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4CF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4DA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4DB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4DC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4DD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4DE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4DF), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E4), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E7), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4EC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4ED), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4EE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4FB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4FD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4FF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x500), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x501), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x502), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x503), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x504), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x505), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x506), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x507), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x508), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x509), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x50A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x50B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x50C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x50D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x50E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x50F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x510), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x511), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x2D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x2E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x2F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x30), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x516), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x517), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x518), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x519), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x51A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x51B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5BB), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x51C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x51D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x51E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x51F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x520), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x521), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5CB), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x522), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x523), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x524), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x525), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x526), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x527), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5DB), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x528), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x529), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x52A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x52B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x52C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x52D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x52E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x52F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x530), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x531), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x532), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x533), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x534), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x535), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x536), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x537), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x538), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x539), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x53A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x53B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x53C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x53D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x53E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x53F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x540), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x541), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x542), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x543), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x544), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x545), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x546), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x547), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x548), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x549), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x54A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x54B), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x54C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x54D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x54E), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x54F), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x550), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x551), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x552), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x553), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x554), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x555), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x556), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x557), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x558), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x559), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x55A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x55B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x55C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x55D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x55E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x55F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x639), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x63A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x560), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x561), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x63F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x640), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x562), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x563), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x645), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x646), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x564), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x565), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x64B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x64C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x566), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x567), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x568), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x652), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x653), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x569), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x56A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xDF), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE1), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x65E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x65F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x660), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x661), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x662), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x663), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x56B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x666), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x667), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x668), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x669), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x56C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x56D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x56E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x56F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x4D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x572), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x573), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x574), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x676), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x575), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x576), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x577), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x67D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x67E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x578), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE9), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xEA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xEB), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x687), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x688), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x689), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x68A), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x68B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x68C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x68D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x68E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x579), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x57A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x57B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x57C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x57D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x4E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x580), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x69C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x581), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x582), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x583), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x584), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x585), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x586), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x587), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }
+};
+
+const ZydisDecoderTreeNode FILTERS_MODE[][3] =
+{
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }
+};
+
+const ZydisDecoderTreeNode FILTERS_MODE_COMPACT[][2] =
+{
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x5AF) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x507) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x5B0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6E3), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x163), ZYDIS_DEFINITION(0x1, 0x164) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2ED), ZYDIS_DEFINITION(0x1, 0x2EE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x397), ZYDIS_DEFINITION(0x1, 0x398) }, 
+    { ZYDIS_DEFINITION(0x1, 0x15F), ZYDIS_DEFINITION(0x1, 0x160) }, 
+    { ZYDIS_DEFINITION(0x1, 0x161), ZYDIS_DEFINITION(0x1, 0x162) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2EF), ZYDIS_DEFINITION(0x1, 0x2F0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x399), ZYDIS_DEFINITION(0x1, 0x39A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x666), ZYDIS_DEFINITION(0x1, 0x667) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6A6), ZYDIS_DEFINITION(0x1, 0x6A7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2BB), ZYDIS_DEFINITION(0x1, 0x2BC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2BE), ZYDIS_DEFINITION(0x1, 0x2BF) }, 
+    { ZYDIS_DEFINITION(0x0, 0x6E4), ZYDIS_DEFINITION(0x0, 0x6E5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x0), ZYDIS_DEFINITION(0x0, 0x6EC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6C), ZYDIS_DEFINITION(0x1, 0x6E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x74), ZYDIS_DEFINITION(0x1, 0x76) }, 
+    { ZYDIS_DEFINITION(0x1, 0x78), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x75), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x70), ZYDIS_DEFINITION(0x1, 0x72) }, 
+    { ZYDIS_DEFINITION(0x1, 0x82), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x80), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x71), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1) }, 
+    { ZYDIS_DEFINITION(0x10, 0x308), ZYDIS_DEFINITION(0x10, 0x309) }, 
+    { ZYDIS_DEFINITION(0x10, 0x30A), ZYDIS_DEFINITION(0x10, 0x30B) }, 
+    { ZYDIS_DEFINITION(0x10, 0x30C), ZYDIS_DEFINITION(0x10, 0x30D) }, 
+    { ZYDIS_DEFINITION(0x10, 0x30E), ZYDIS_DEFINITION(0x10, 0x30F) }, 
+    { ZYDIS_DEFINITION(0x0, 0x6E6), ZYDIS_DEFINITION(0x0, 0x6E7) }, 
+    { ZYDIS_DEFINITION(0x0, 0x6E8), ZYDIS_DEFINITION(0x0, 0x6E9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x248), ZYDIS_DEFINITION(0x1, 0x249) }, 
+    { ZYDIS_DEFINITION(0x1, 0x24E), ZYDIS_DEFINITION(0x1, 0x24F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x24C), ZYDIS_DEFINITION(0x1, 0x24D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x32C), ZYDIS_DEFINITION(0x1, 0x32D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F), ZYDIS_DEFINITION(0x1, 0x31C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x20), ZYDIS_DEFINITION(0x1, 0x320) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x21), ZYDIS_DEFINITION(0x1, 0x31D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x22), ZYDIS_DEFINITION(0x1, 0x321) }, 
+    { ZYDIS_DEFINITION(0x1, 0x71F), ZYDIS_DEFINITION(0x1, 0x721) }, 
+    { ZYDIS_DEFINITION(0x1, 0x720), ZYDIS_DEFINITION(0x1, 0x722) }, 
+    { ZYDIS_DEFINITION(0x1, 0x726), ZYDIS_DEFINITION(0x1, 0x728) }, 
+    { ZYDIS_DEFINITION(0x1, 0x727), ZYDIS_DEFINITION(0x1, 0x729) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x23), ZYDIS_DEFINITION(0x1, 0x324) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x24), ZYDIS_DEFINITION(0x1, 0x328) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x25), ZYDIS_DEFINITION(0x1, 0x325) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x26), ZYDIS_DEFINITION(0x1, 0x329) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x0), ZYDIS_DEFINITION(0x9, 0x29F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x1), ZYDIS_DEFINITION(0x9, 0x28B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x2), ZYDIS_DEFINITION(0x9, 0x257) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x3), ZYDIS_DEFINITION(0x9, 0x277) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x4), ZYDIS_DEFINITION(0x9, 0x2AF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x5), ZYDIS_DEFINITION(0x9, 0x29A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x6), ZYDIS_DEFINITION(0x9, 0x25C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x7), ZYDIS_DEFINITION(0x9, 0x27C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x8), ZYDIS_DEFINITION(0x9, 0x2AA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x9), ZYDIS_DEFINITION(0x9, 0x295) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0xA), ZYDIS_DEFINITION(0x9, 0x2A4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0xB), ZYDIS_DEFINITION(0x9, 0x290) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0xC), ZYDIS_DEFINITION(0x9, 0x264) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0xD), ZYDIS_DEFINITION(0x9, 0x281) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0xE), ZYDIS_DEFINITION(0x9, 0x269) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0xF), ZYDIS_DEFINITION(0x9, 0x286) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5DF), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x5E0), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x72D), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x72E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x5E2), ZYDIS_DEFINITION(0x1, 0x5E3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F), ZYDIS_DEFINITION(0x1, 0x102) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x5B1) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x508) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x5B2) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x509) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x147) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x148) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x0) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x3) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x22C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x149) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x2) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x3) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x60), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x61) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x63), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x64) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x8C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x8D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x8F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x90) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x267), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x268) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x26A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x26B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x289), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x28A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x28C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x28D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2EB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2EE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x30A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x30B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x30D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x30E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x310), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x311) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x313), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x314) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x318), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x319) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x31B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x31C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x363), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x364) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x366), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x367) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x369), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x36A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x36C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x36D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x36F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x370) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x372), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x373) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x38B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x38C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x38E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x38F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x391), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x392) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x394), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x395) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x398), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x399) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x39B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x39C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x37B), ZYDIS_DEFINITION(0x1, 0x62) }, 
+    { ZYDIS_DEFINITION(0x1, 0x37C), ZYDIS_DEFINITION(0x1, 0x63) }, 
+    { ZYDIS_DEFINITION(0x8, 0x29B), ZYDIS_DEFINITION(0x8, 0x29C) }, 
+    { ZYDIS_DEFINITION(0x8, 0x287), ZYDIS_DEFINITION(0x8, 0x288) }, 
+    { ZYDIS_DEFINITION(0x8, 0x253), ZYDIS_DEFINITION(0x8, 0x254) }, 
+    { ZYDIS_DEFINITION(0x8, 0x273), ZYDIS_DEFINITION(0x8, 0x274) }, 
+    { ZYDIS_DEFINITION(0x8, 0x2AB), ZYDIS_DEFINITION(0x8, 0x2AC) }, 
+    { ZYDIS_DEFINITION(0x8, 0x296), ZYDIS_DEFINITION(0x8, 0x297) }, 
+    { ZYDIS_DEFINITION(0x8, 0x258), ZYDIS_DEFINITION(0x8, 0x259) }, 
+    { ZYDIS_DEFINITION(0x8, 0x278), ZYDIS_DEFINITION(0x8, 0x279) }, 
+    { ZYDIS_DEFINITION(0x8, 0x2A6), ZYDIS_DEFINITION(0x8, 0x2A7) }, 
+    { ZYDIS_DEFINITION(0x8, 0x291), ZYDIS_DEFINITION(0x8, 0x292) }, 
+    { ZYDIS_DEFINITION(0x8, 0x2A0), ZYDIS_DEFINITION(0x8, 0x2A1) }, 
+    { ZYDIS_DEFINITION(0x8, 0x28C), ZYDIS_DEFINITION(0x8, 0x28D) }, 
+    { ZYDIS_DEFINITION(0x8, 0x260), ZYDIS_DEFINITION(0x8, 0x261) }, 
+    { ZYDIS_DEFINITION(0x8, 0x27D), ZYDIS_DEFINITION(0x8, 0x27E) }, 
+    { ZYDIS_DEFINITION(0x8, 0x265), ZYDIS_DEFINITION(0x8, 0x266) }, 
+    { ZYDIS_DEFINITION(0x8, 0x282), ZYDIS_DEFINITION(0x8, 0x283) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x28) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x3E5) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x12) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x634) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x56) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x6D7) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x757) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0xE4) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x29) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x3E6) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x13) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x635) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x57) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0x6D8) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x758) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xD, 0xE5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x39B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x39C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x39D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x39E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x39F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3A9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3AA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3AC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D1) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x12, 0x9F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0xE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0xF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x10) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2B8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x423), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x424), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3EA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3FA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3FC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3FE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x400), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x401), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x436), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x437), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x424), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x425) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x427), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x428) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x429), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x42A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x42B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x42C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x42D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x42E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x436), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x437) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x438), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x439) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x43A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x43B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x43C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x43D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x43E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x43F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x440), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x441) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x496), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x497) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4BB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x602), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x603) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x60B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x60C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x613), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x62E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x62F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x630), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x631) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x633), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x634) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x658), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x659) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x65A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x65B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x65C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x65D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x671), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x672), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x673), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x674), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x675), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x679), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x67A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x67B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x67C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x681), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x682) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x683), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x684) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x685), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x686) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x695), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x696) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x697), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x698) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x699), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x69A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x69B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6AA) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2B5) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x246) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x3, 0x2) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x3, 0x1) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x618) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x38), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x39) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x10), ZYDIS_DEFINITION(0x9, 0xA2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_AMD, 0x11), ZYDIS_DEFINITION(0x9, 0x26C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x12, 0x26D) }, 
+    { ZYDIS_DEFINITION(0x8, 0x26E), ZYDIS_DEFINITION(0x8, 0x26F) }
+};
+
+const ZydisDecoderTreeNode FILTERS_PREFIX_GROUP1[][2] =
+{
+    { ZYDIS_DEFINITION(0x1, 0x318), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x9D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x319), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x9F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x16), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x133) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x21), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x144) }
+};
+
+const ZydisDecoderTreeNode FILTERS_MODRM_MOD[][4] =
+{
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }
+};
+
+const ZydisDecoderTreeNode FILTERS_MODRM_MOD_COMPACT[][2] =
+{
+    { ZYDIS_DEFINITION(0x1, 0x1A), ZYDIS_DEFINITION(0x1, 0x1B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1C), ZYDIS_DEFINITION(0x1, 0x1D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1E), ZYDIS_DEFINITION(0x1, 0x1F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x20), ZYDIS_DEFINITION(0x1, 0x21) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3D7), ZYDIS_DEFINITION(0x1, 0x3D8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3D9), ZYDIS_DEFINITION(0x1, 0x3DA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3DB), ZYDIS_DEFINITION(0x1, 0x3DC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3DD), ZYDIS_DEFINITION(0x1, 0x3DE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2B1), ZYDIS_DEFINITION(0x1, 0x2B2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2D3), ZYDIS_DEFINITION(0x1, 0x2D4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2A), ZYDIS_DEFINITION(0x1, 0x2B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x28), ZYDIS_DEFINITION(0x1, 0x29) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4), ZYDIS_DEFINITION(0x1, 0x5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2), ZYDIS_DEFINITION(0x1, 0x3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x18), ZYDIS_DEFINITION(0x1, 0x19) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1A), ZYDIS_DEFINITION(0x1, 0x1B) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC), ZYDIS_DEFINITION(0x1, 0xD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x14), ZYDIS_DEFINITION(0x1, 0x15) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1C), ZYDIS_DEFINITION(0x1, 0x1D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x22), ZYDIS_DEFINITION(0x1, 0x23) }, 
+    { ZYDIS_DEFINITION(0x1, 0x24), ZYDIS_DEFINITION(0x1, 0x25) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8), ZYDIS_DEFINITION(0x1, 0x9) }, 
+    { ZYDIS_DEFINITION(0x1, 0xE), ZYDIS_DEFINITION(0x1, 0xF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x12), ZYDIS_DEFINITION(0x1, 0x13) }, 
+    { ZYDIS_DEFINITION(0x1, 0x10), ZYDIS_DEFINITION(0x1, 0x11) }, 
+    { ZYDIS_DEFINITION(0x1, 0x20), ZYDIS_DEFINITION(0x1, 0x21) }, 
+    { ZYDIS_DEFINITION(0x1, 0x26), ZYDIS_DEFINITION(0x1, 0x27) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6), ZYDIS_DEFINITION(0x1, 0x7) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA), ZYDIS_DEFINITION(0x1, 0xB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x16), ZYDIS_DEFINITION(0x1, 0x17) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1E), ZYDIS_DEFINITION(0x1, 0x1F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2C), ZYDIS_DEFINITION(0x1, 0x2D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2E), ZYDIS_DEFINITION(0x1, 0x2F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x0), ZYDIS_DEFINITION(0x1, 0x1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x7) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3AD), ZYDIS_DEFINITION(0x1, 0x3AE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3AF), ZYDIS_DEFINITION(0x1, 0x3B0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x10), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x11) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3B2), ZYDIS_DEFINITION(0x1, 0x3B3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x12), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x13) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_CLDEMOTE, 0x0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3B8), ZYDIS_DEFINITION(0x1, 0x3B9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x15), ZYDIS_DEFINITION(0x1, 0x3BA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0xC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0xD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x16), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x17) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x18), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x19) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x1F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x20) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x21), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x22) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x23), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x24) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x26), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x27) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x28), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x29) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x2A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x2B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x2C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x2D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x2E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x2F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x30), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x31) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x32), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x33) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x34), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x35) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x36), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x37) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x38), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x39) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x3A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x3B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x3C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x3D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x3E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x3F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x40), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x41) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x42), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x43) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x44), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x45) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x46), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x47) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x48), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x49) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x4A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x4B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x4C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x4D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x4E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x4F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x50), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x51) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x52), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x53) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x54), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x55) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x56), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x57) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x58), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x59) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x5A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x5B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x5C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x5D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x5E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x5F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x60) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x61), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x62) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x63), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x64) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x65), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x66) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x67), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x68) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x69), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x6A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x6B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x6C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x6D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x6E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x6F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x70) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x71), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x72) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x73), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x74) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x75), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x76) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x77), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x78) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x79), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x7A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x7B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x7C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x7D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x7E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x7F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x80) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x81) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x82) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x83) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x84), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x85) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x86), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x87) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x88), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x89) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x8A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x8B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x8C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x8D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x8E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x8F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x90), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x91) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x92), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x93) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x94), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x95) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x96), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x97) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x98), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x99) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x9A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x9B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x9C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_PREFIX_GROUP1, 0x0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x9E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_PREFIX_GROUP1, 0x1) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA2) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA3) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xA9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xAA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xAB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xAC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xAD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xAE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xAF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xB9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xBA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xBB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xBC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xBD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xBE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xBF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xC9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xCA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xCB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xCC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xCD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xCE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xCF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xD9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xDA) }, 
+    { ZYDIS_DEFINITION(0x1, 0xCE), ZYDIS_DEFINITION(0x1, 0xCF) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC6), ZYDIS_DEFINITION(0x1, 0xC7) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB6), ZYDIS_DEFINITION(0x1, 0xB7) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBE), ZYDIS_DEFINITION(0x1, 0xBF) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD4), ZYDIS_DEFINITION(0x1, 0xD5) }, 
+    { ZYDIS_DEFINITION(0x1, 0xCC), ZYDIS_DEFINITION(0x1, 0xCD) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB8), ZYDIS_DEFINITION(0x1, 0xB9) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC0), ZYDIS_DEFINITION(0x1, 0xC1) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD2), ZYDIS_DEFINITION(0x1, 0xD3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xCA), ZYDIS_DEFINITION(0x1, 0xCB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD0), ZYDIS_DEFINITION(0x1, 0xD1) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC8), ZYDIS_DEFINITION(0x1, 0xC9) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBA), ZYDIS_DEFINITION(0x1, 0xBB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC2), ZYDIS_DEFINITION(0x1, 0xC3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBC), ZYDIS_DEFINITION(0x1, 0xBD) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC4), ZYDIS_DEFINITION(0x1, 0xC5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xDB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xDC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xDD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xDE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xDF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xE9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xEA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xEB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xEC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xED) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xEE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xEF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xF9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xFA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xFB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xFC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xFD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xFE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0xFF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x100), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x101) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x102), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x103) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x104), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x105) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x106), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x107) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x108), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x109) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x10A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x10B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x10C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x10D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x10E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x10F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x110), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x111) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x112), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x113) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x114), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x115) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x116), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x117) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x118), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x119) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x11A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x11B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x11C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x11D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x11E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x11F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x120) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x121), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x122) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x123), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x124) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x126), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x127) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x128), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x129) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x12A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x12B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x12C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x12D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x12E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x12F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x130), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x131) }, 
+    { ZYDIS_DEFINITION(0x1, 0x65C), ZYDIS_DEFINITION(0x1, 0x65D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x654), ZYDIS_DEFINITION(0x1, 0x655) }, 
+    { ZYDIS_DEFINITION(0x1, 0x644), ZYDIS_DEFINITION(0x1, 0x645) }, 
+    { ZYDIS_DEFINITION(0x1, 0x64C), ZYDIS_DEFINITION(0x1, 0x64D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x663), ZYDIS_DEFINITION(0x1, 0x664) }, 
+    { ZYDIS_DEFINITION(0x1, 0x65A), ZYDIS_DEFINITION(0x1, 0x65B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x646), ZYDIS_DEFINITION(0x1, 0x647) }, 
+    { ZYDIS_DEFINITION(0x1, 0x64E), ZYDIS_DEFINITION(0x1, 0x64F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x660), ZYDIS_DEFINITION(0x1, 0x661) }, 
+    { ZYDIS_DEFINITION(0x1, 0x658), ZYDIS_DEFINITION(0x1, 0x659) }, 
+    { ZYDIS_DEFINITION(0x1, 0x65E), ZYDIS_DEFINITION(0x1, 0x65F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x656), ZYDIS_DEFINITION(0x1, 0x657) }, 
+    { ZYDIS_DEFINITION(0x1, 0x648), ZYDIS_DEFINITION(0x1, 0x649) }, 
+    { ZYDIS_DEFINITION(0x1, 0x650), ZYDIS_DEFINITION(0x1, 0x651) }, 
+    { ZYDIS_DEFINITION(0x1, 0x64A), ZYDIS_DEFINITION(0x1, 0x64B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x652), ZYDIS_DEFINITION(0x1, 0x653) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8F), ZYDIS_DEFINITION(0x1, 0x90) }, 
+    { ZYDIS_DEFINITION(0xB, 0x68E), ZYDIS_DEFINITION(0xB, 0x68F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x690), ZYDIS_DEFINITION(0x1, 0x691) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x132), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_PREFIX_GROUP1, 0x2), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x9B), ZYDIS_DEFINITION(0x1, 0x9C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x69E), ZYDIS_DEFINITION(0xB, 0x69F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6A0), ZYDIS_DEFINITION(0x1, 0x6A1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x134), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x135) }, 
+    { ZYDIS_DEFINITION(0x1, 0x224), ZYDIS_DEFINITION(0x1, 0x225) }, 
+    { ZYDIS_DEFINITION(0x1, 0xFC), ZYDIS_DEFINITION(0x1, 0xFD) }, 
+    { ZYDIS_DEFINITION(0x1, 0xFE), ZYDIS_DEFINITION(0x1, 0xFF) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2D5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x97), ZYDIS_DEFINITION(0x1, 0x98) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2BA) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2BD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x385), ZYDIS_DEFINITION(0x1, 0x386) }, 
+    { ZYDIS_DEFINITION(0x1, 0x387), ZYDIS_DEFINITION(0x1, 0x388) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x136), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x137) }, 
+    { ZYDIS_DEFINITION(0x1, 0x705), ZYDIS_DEFINITION(0x1, 0x706) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x1F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x20) }, 
+    { ZYDIS_DEFINITION(0x1, 0x95), ZYDIS_DEFINITION(0x1, 0x96) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x138), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x139) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x13A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x13B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x377), ZYDIS_DEFINITION(0x1, 0x378) }, 
+    { ZYDIS_DEFINITION(0x1, 0x379), ZYDIS_DEFINITION(0x1, 0x37A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x736), ZYDIS_DEFINITION(0x1, 0x737) }, 
+    { ZYDIS_DEFINITION(0x1, 0x738), ZYDIS_DEFINITION(0x1, 0x739) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x13C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x13D) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x13E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x13F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x140) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x141), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x142), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x143) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_PREFIX_GROUP1, 0x3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x145) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x146), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x147) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x148), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x149) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x14A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x14B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x14C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x14D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x14E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x14F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x150), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x151) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x152), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x153) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x154), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x155), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x156) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x157), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x158) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x159), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x15A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x15B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x15C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x15D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x15E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x15F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x160) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x161), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x162) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x163), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x164) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x165), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x166) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x167), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x168) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x169), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x16A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x16B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x16C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x16D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x16E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x16F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x170) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x171), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x172) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x173) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x174), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x175) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x176), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x177) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x178), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x179) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x17A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x17B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x17C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x17D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x17E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x17F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x180), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x181) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x182), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x183) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x184) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x185), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x186) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x187), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x188) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x189), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x18A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x18B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x18C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x18D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x18E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x18F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x190) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x191), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x192), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x193) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x194), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x195) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x196), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x197) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x198), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x199) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x19A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x19B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x19C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x19D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x19E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x19F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x703), ZYDIS_DEFINITION(0x1, 0x704) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4), ZYDIS_DEFINITION(0x1, 0x5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6), ZYDIS_DEFINITION(0x1, 0x7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8), ZYDIS_DEFINITION(0x1, 0x9) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA), ZYDIS_DEFINITION(0x1, 0xB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x626), ZYDIS_DEFINITION(0x1, 0x627) }, 
+    { ZYDIS_DEFINITION(0x1, 0x628), ZYDIS_DEFINITION(0x1, 0x629) }, 
+    { ZYDIS_DEFINITION(0x1, 0x62A), ZYDIS_DEFINITION(0x1, 0x62B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x62C), ZYDIS_DEFINITION(0x1, 0x62D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x48), ZYDIS_DEFINITION(0x1, 0x49) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4A), ZYDIS_DEFINITION(0x1, 0x4B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C), ZYDIS_DEFINITION(0x1, 0x4D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4E), ZYDIS_DEFINITION(0x1, 0x4F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6C9), ZYDIS_DEFINITION(0x1, 0x6CA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6CB), ZYDIS_DEFINITION(0x1, 0x6CC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6CD), ZYDIS_DEFINITION(0x1, 0x6CE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6CF), ZYDIS_DEFINITION(0x1, 0x6D0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x749), ZYDIS_DEFINITION(0x1, 0x74A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x74B), ZYDIS_DEFINITION(0x1, 0x74C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x74D), ZYDIS_DEFINITION(0x1, 0x74E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x74F), ZYDIS_DEFINITION(0x1, 0x750) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD6), ZYDIS_DEFINITION(0x1, 0xD7) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD8), ZYDIS_DEFINITION(0x1, 0xD9) }, 
+    { ZYDIS_DEFINITION(0x1, 0xDA), ZYDIS_DEFINITION(0x1, 0xDB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xDC), ZYDIS_DEFINITION(0x1, 0xDD) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x63) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x33), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x34) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x35), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x36) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x37), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x38) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x39) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x40) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x41), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x42) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x43), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x44) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x45) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x46), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x47) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x48), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x49) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x50), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x51) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x52), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x53) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x54), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x55) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x56), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x57) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x58), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x59) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x60), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x61) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x62), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x63) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x64), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x65) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x66), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x67) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x68), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x69) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x6A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x6B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x6C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x6D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x6E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x6F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x70) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x71) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x72), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x73) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x74), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x75) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x76) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x77) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x78), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x79) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x7A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x7B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x7C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x7D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x7E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x7F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x80) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x81), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x82) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x83), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x84) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x85), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x86) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x87), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x88) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x89), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x8A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x8B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x8C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x8D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x8E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x8F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x90) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x91), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x92) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x93), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x94) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x95), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x96) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x97), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x98) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x99), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x9A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x49), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x4A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x4B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x4C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x9B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x9C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x4E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x4F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x50), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x51) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x52), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x53) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x9D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x9E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x55), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x56) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x57), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x58) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x59), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x5A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x9F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xAA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xAB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xAC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x27), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x28) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x29), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x2A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x2B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x2C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x7E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x7F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x80), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x81) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xBB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xBC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xBD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xBE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xBF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xCA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x96), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x97) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x98), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xCB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xCC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x9A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x9B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xCD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xCE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xCF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xAA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xAD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xAE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xAF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xDA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xBD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xBE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xBF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xDB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xDC) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xDD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xCA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xDE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xDF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xCD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xCE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xCF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xDC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xDD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xDE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xDF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xEA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xEB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xEC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xED) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xEB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xEC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xEE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xEF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xEE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xEF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xFA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xFB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xFC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xFD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xFE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xFF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x100), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x101) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x102), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x103) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x104) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x105) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x10B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x10C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x10D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x10E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x106), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x107) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x108), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x109) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x111), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x112) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x113), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x114) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x115), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x116) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x117), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x118) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x119), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x11A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x10A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x10B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x10C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x10D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x10E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x10F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x110), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x111) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x112), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x113) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x114) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x115), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x116) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x117), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x118) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x119), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x11A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x12D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x12E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x12F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x130) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x131), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x132) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x133), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x134) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x135), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x136) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x11B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x11C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x11D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x11E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x11F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x120) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x13C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x13D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x121), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x122) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x140), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x141) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x123), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x124) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x144), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x145) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x125), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x126) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x148), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x149) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x127), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x128) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x129), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x12A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x12B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x12C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x12D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x12E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x12F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x130) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x131), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x132) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x133), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x134) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x135), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x136) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x137), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x138) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x139), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x13A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x13B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x13C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x13D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x13E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x13F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x140) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x141), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x142) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x143), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x144) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x145), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x146) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x147), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x148) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x149), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x14A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x14B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x14C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x14D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x14E) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x14F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x150) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x151), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x152) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x153), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x154) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x155), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x156) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x157), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x158) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x159), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x15A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x15B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x15C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x15D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x15E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x15F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x160) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x161), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x162) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x163), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x164) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x165), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x166) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x167), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x168) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x169), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x16A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x16B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x16C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x16D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x16E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x16F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x170), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x171) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x172), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x173) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x174), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x175) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x176), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x177) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x178), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x179) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x17A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x17B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x17C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x17D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x17E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x17F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x180), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x181) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x182), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x183) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x13) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x14) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x15) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x16) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x188), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x189) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x18A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x18B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x18C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x18D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x18E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x18F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x190), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x191) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x192), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x193) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x194), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x195) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x196), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x197) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x198), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x199) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x19A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x19B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x17) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x18) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x19) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x1A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1AB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1AD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1AF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1BB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1BD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1BF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1CB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1CD) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x2D) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x2E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1DA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1DB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1DC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1DD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1DE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1DF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x24C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x24D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x24E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x24F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x250), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x251) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x252), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x253) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1EB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1EC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1ED) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1EE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1EF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x260), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x261) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x262), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x263) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x264), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x265) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x26C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x26D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1F9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1FB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1FD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1FF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x200), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x201) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x202), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x203) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x284), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x285) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x204), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x205) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x206), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x207) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x208), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x209) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x20A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x20B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x20C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x20D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x20E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x20F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x210), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x211) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x212), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x213) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x214), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x215) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x216), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x217) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x218), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x219) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x21A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x21B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x21C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x21D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x21E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x21F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x220), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x221) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x222), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x223) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x224), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x225) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x226), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x227) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x228), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x229) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x22A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x22B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x22C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x22D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x22E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x22F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x230), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x231) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x232), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x233) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x234), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x235) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x236), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x237) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x238), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x239) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x23A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x23B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x23C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x23D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x23E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x23F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x240), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x241) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x242), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x243) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x244), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x245) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x246), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x247) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x248), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x249) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x24A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x24B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x24C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x24D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x24E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x24F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x250), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x251) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x252), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x253) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x254), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x255) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x256), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x257) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x258), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x259) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x25A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x25B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x25C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x25D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x307), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x308) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x25E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x25F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x260), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x261) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x262), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x263) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x264), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x265) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x266), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x267) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x268), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x269) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x26A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x26B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x26C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x26D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x26E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x26F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x270), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x271) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x272), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x273) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x274), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x275) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x276), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x277) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x278), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x279) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x27A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x27B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x27C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x27D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x27E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x27F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x280), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x281) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x282), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x283) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x284), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x285) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x286), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x287) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x288), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x289) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x28A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x28B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x28C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x28D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x28E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x28F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x290) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x291), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x292) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x293), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x294) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x295), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x296) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x297), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x298) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x299), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x29A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x29B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x29C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x29D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x29E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x29F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2AB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2AD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2AF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2BB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2BD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x388), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x389) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2BF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2CB) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2CC) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2CD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2CE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2CF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D1) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D2) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D3) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D4) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D5) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x2F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D7) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2DA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2DB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2DC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2DD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2DE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E2) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E3) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E4) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E5) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2EA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2EC) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2ED) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2EE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2EF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2F9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2FB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x30), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x31) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x302), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x303) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x304) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x305), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x306) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x307), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x308) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x309), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x30A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x30B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x30C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x30D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x30E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x30F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x310) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x311), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x312) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x313) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x314) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x315) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x316) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x317), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x318) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x319), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x31A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x31B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x31C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x31D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x31E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x31F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x320) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x321), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x322) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x323), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x324) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x325), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x326) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x327), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x328) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x329), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x32A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x32B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x32C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x32D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x32E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x32F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x330) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x331), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x332) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x333), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x334) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x335), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x336) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x337) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x338) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x339) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x33A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x33B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x33C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x33D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x33E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x33F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x340) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x341), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x342) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x343), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x344) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x345), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x346) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x347), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x348) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x349), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x34A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x34B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x34C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x34D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x34E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x34F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x350) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x351), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x352) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x353), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x354) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x355), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x356) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x23) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x24) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x359), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x35A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x35B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x35C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x35D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x35E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x35F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x360) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x25) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x26) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x363), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x364) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x365), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x366) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x367), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x368) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x369), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x36A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x36B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x36C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x36D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x36E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x36F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x370) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x371), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x372) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x373), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x374) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x375), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x376) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x377), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x378) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x32) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x37F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x380) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x381), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x382) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x383), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x384) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x385), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x386) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x387), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x388) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x389), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x38A) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x38B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x38C) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x38D) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x38E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x38F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x390) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x391), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x392) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x393), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x394) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x395), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x396) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x397), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x398) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x399), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x39A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x39B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x39C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x39D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x39E) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x39F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A1) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x33) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A3) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A4) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x34) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x85), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x86) }, 
+    { ZYDIS_DEFINITION(0xE, 0x21C), ZYDIS_DEFINITION(0xE, 0x21D) }, 
+    { ZYDIS_DEFINITION(0xD, 0x21E), ZYDIS_DEFINITION(0xD, 0x21F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x35), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x36) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x37), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x38) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x39), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x3A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x3B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x3C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6ED), ZYDIS_DEFINITION(0x1, 0x6EE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6EF), ZYDIS_DEFINITION(0x1, 0x6F0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x73B), ZYDIS_DEFINITION(0x1, 0x73C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x73D), ZYDIS_DEFINITION(0x1, 0x73E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F2), ZYDIS_DEFINITION(0x1, 0x2F3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F4), ZYDIS_DEFINITION(0x1, 0x2F5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F6), ZYDIS_DEFINITION(0x1, 0x2F7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F8), ZYDIS_DEFINITION(0x1, 0x2F9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2FA), ZYDIS_DEFINITION(0x1, 0x2FB) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2B6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2FC), ZYDIS_DEFINITION(0x1, 0x2FD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x3D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x3E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3A9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3AA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3AC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3AD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3AE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3AF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3BA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3BB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3BC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3BD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3BE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3BF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3C9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3CA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3CB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3CC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3CD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3CE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3CF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3DA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3DB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3DC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3DD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3DE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4), ZYDIS_DEFINITION(0x1, 0x5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6), ZYDIS_DEFINITION(0x1, 0x7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x18), ZYDIS_DEFINITION(0x1, 0x19) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1A), ZYDIS_DEFINITION(0x1, 0x1B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x14), ZYDIS_DEFINITION(0x1, 0x15) }, 
+    { ZYDIS_DEFINITION(0x1, 0x16), ZYDIS_DEFINITION(0x1, 0x17) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2A), ZYDIS_DEFINITION(0x1, 0x2B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2C), ZYDIS_DEFINITION(0x1, 0x2D) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC), ZYDIS_DEFINITION(0x1, 0xD) }, 
+    { ZYDIS_DEFINITION(0x1, 0xE), ZYDIS_DEFINITION(0x1, 0xF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1C), ZYDIS_DEFINITION(0x1, 0x1D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1E), ZYDIS_DEFINITION(0x1, 0x1F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x26), ZYDIS_DEFINITION(0x1, 0x27) }, 
+    { ZYDIS_DEFINITION(0x1, 0x28), ZYDIS_DEFINITION(0x1, 0x29) }, 
+    { ZYDIS_DEFINITION(0x1, 0x10), ZYDIS_DEFINITION(0x1, 0x11) }, 
+    { ZYDIS_DEFINITION(0x1, 0x12), ZYDIS_DEFINITION(0x1, 0x13) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8), ZYDIS_DEFINITION(0x1, 0x9) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA), ZYDIS_DEFINITION(0x1, 0xB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x20), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x25), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3EA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3EC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3EE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3F9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3FA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3FB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3FC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3FD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3FE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3FF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x400) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x401), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x402) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x403), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x404) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x405), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x406) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x407), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x408) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x409), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x40A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x40B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x40C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x40D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x40E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x40F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x410) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x411), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x412) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x413), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x414) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x415), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x416) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x417), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x418) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x419), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x41A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x41B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x41C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x41D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x41E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x41F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x420) }, 
+    { ZYDIS_DEFINITION(0xC, 0x0), ZYDIS_DEFINITION(0xC, 0x1) }, 
+    { ZYDIS_DEFINITION(0xC, 0x2), ZYDIS_DEFINITION(0xC, 0x3) }, 
+    { ZYDIS_DEFINITION(0xC, 0x21), ZYDIS_DEFINITION(0xC, 0x22) }, 
+    { ZYDIS_DEFINITION(0xC, 0x23), ZYDIS_DEFINITION(0xC, 0x24) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x43), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x44) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x45), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x46) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x36D), ZYDIS_DEFINITION(0x1, 0x36F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x36E), ZYDIS_DEFINITION(0x1, 0x370) }, 
+    { ZYDIS_DEFINITION(0x1, 0x371), ZYDIS_DEFINITION(0x1, 0x373) }, 
+    { ZYDIS_DEFINITION(0x1, 0x372), ZYDIS_DEFINITION(0x1, 0x374) }, 
+    { ZYDIS_DEFINITION(0x1, 0x337), ZYDIS_DEFINITION(0x1, 0x33F) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x340) }, 
+    { ZYDIS_DEFINITION(0x1, 0x62F), ZYDIS_DEFINITION(0x1, 0x631) }, 
+    { ZYDIS_DEFINITION(0x1, 0x630), ZYDIS_DEFINITION(0x1, 0x632) }, 
+    { ZYDIS_DEFINITION(0x1, 0x627), ZYDIS_DEFINITION(0x1, 0x629) }, 
+    { ZYDIS_DEFINITION(0x1, 0x628), ZYDIS_DEFINITION(0x1, 0x62A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x33C), ZYDIS_DEFINITION(0x1, 0x33A) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x33B) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x52D) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x526) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x527) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x528) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x52C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x529) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x52A) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x52B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x313), ZYDIS_DEFINITION(0x1, 0x315) }, 
+    { ZYDIS_DEFINITION(0x1, 0x314), ZYDIS_DEFINITION(0x1, 0x316) }, 
+    { ZYDIS_DEFINITION(0x1, 0x317), ZYDIS_DEFINITION(0x1, 0x319) }, 
+    { ZYDIS_DEFINITION(0x1, 0x318), ZYDIS_DEFINITION(0x1, 0x31A) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x34B) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x34C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x621), ZYDIS_DEFINITION(0x1, 0x622) }, 
+    { ZYDIS_DEFINITION(0x1, 0x113), ZYDIS_DEFINITION(0x1, 0x114) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x425), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x426), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x427), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x428), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x429), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x42A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x42B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x42C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x42D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x42E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x42F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x430), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x431), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x432), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x433), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x434), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x435), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x343), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x344), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x602), ZYDIS_DEFINITION(0x1, 0x604) }, 
+    { ZYDIS_DEFINITION(0x1, 0x603), ZYDIS_DEFINITION(0x1, 0x605) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5F0), ZYDIS_DEFINITION(0x1, 0x5F2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5F1), ZYDIS_DEFINITION(0x1, 0x5F3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5DE), ZYDIS_DEFINITION(0x1, 0x5E0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5DF), ZYDIS_DEFINITION(0x1, 0x5E1) }, 
+    { ZYDIS_DEFINITION(0x1, 0xE9), ZYDIS_DEFINITION(0x1, 0xEB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xEA), ZYDIS_DEFINITION(0x1, 0xEC) }, 
+    { ZYDIS_DEFINITION(0x1, 0xE1), ZYDIS_DEFINITION(0x1, 0xE3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xE2), ZYDIS_DEFINITION(0x1, 0xE4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x389), ZYDIS_DEFINITION(0x1, 0x38B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x38A), ZYDIS_DEFINITION(0x1, 0x38C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x637), ZYDIS_DEFINITION(0x1, 0x639) }, 
+    { ZYDIS_DEFINITION(0x1, 0x638), ZYDIS_DEFINITION(0x1, 0x63A) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB9), ZYDIS_DEFINITION(0x1, 0xBB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBA), ZYDIS_DEFINITION(0x1, 0xBC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x37D), ZYDIS_DEFINITION(0x1, 0x37F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x37E), ZYDIS_DEFINITION(0x1, 0x380) }, 
+    { ZYDIS_DEFINITION(0x1, 0x12D), ZYDIS_DEFINITION(0x1, 0x12F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x12E), ZYDIS_DEFINITION(0x1, 0x130) }, 
+    { ZYDIS_DEFINITION(0x1, 0x119), ZYDIS_DEFINITION(0x1, 0x11B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x11A), ZYDIS_DEFINITION(0x1, 0x11C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x60F), ZYDIS_DEFINITION(0x1, 0x611) }, 
+    { ZYDIS_DEFINITION(0x1, 0x610), ZYDIS_DEFINITION(0x1, 0x612) }, 
+    { ZYDIS_DEFINITION(0x1, 0x303), ZYDIS_DEFINITION(0x1, 0x305) }, 
+    { ZYDIS_DEFINITION(0x1, 0x304), ZYDIS_DEFINITION(0x1, 0x306) }, 
+    { ZYDIS_DEFINITION(0x1, 0x169), ZYDIS_DEFINITION(0x1, 0x16B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x16A), ZYDIS_DEFINITION(0x1, 0x16C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F7), ZYDIS_DEFINITION(0x1, 0x2F9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F8), ZYDIS_DEFINITION(0x1, 0x2FA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x438), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x439) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x43A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x43B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x43C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x43D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x43E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x43F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x440), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x441), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x442), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x443), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x444), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x445), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2E9) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x60A) }, 
+    { ZYDIS_DEFINITION(0xB, 0x109), ZYDIS_DEFINITION(0xB, 0x10B) }, 
+    { ZYDIS_DEFINITION(0xB, 0x10A), ZYDIS_DEFINITION(0xB, 0x10C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5FA), ZYDIS_DEFINITION(0xB, 0x5FC) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5FB), ZYDIS_DEFINITION(0xB, 0x5FD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x446), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x447) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4), ZYDIS_DEFINITION(0x1, 0x5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x448), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x449) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1C), ZYDIS_DEFINITION(0x1, 0x1D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x44A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x44B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x16), ZYDIS_DEFINITION(0x1, 0x17) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x44C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x44D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x10), ZYDIS_DEFINITION(0x1, 0x11) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x44E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x44F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x22), ZYDIS_DEFINITION(0x1, 0x23) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x450), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x451) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA), ZYDIS_DEFINITION(0x1, 0xB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x365), ZYDIS_DEFINITION(0x1, 0x367) }, 
+    { ZYDIS_DEFINITION(0x1, 0x366), ZYDIS_DEFINITION(0x1, 0x368) }, 
+    { ZYDIS_DEFINITION(0x1, 0x369), ZYDIS_DEFINITION(0x1, 0x36B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x36A), ZYDIS_DEFINITION(0x1, 0x36C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x33D) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x33E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x62B), ZYDIS_DEFINITION(0x1, 0x62D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x62C), ZYDIS_DEFINITION(0x1, 0x62E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x623), ZYDIS_DEFINITION(0x1, 0x625) }, 
+    { ZYDIS_DEFINITION(0x1, 0x624), ZYDIS_DEFINITION(0x1, 0x626) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x338) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x339) }, 
+    { ZYDIS_DEFINITION(0x1, 0x30B), ZYDIS_DEFINITION(0x1, 0x30D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x30C), ZYDIS_DEFINITION(0x1, 0x30E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x30F), ZYDIS_DEFINITION(0x1, 0x311) }, 
+    { ZYDIS_DEFINITION(0x1, 0x310), ZYDIS_DEFINITION(0x1, 0x312) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x349) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x34A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x61F), ZYDIS_DEFINITION(0x1, 0x620) }, 
+    { ZYDIS_DEFINITION(0x1, 0x111), ZYDIS_DEFINITION(0x1, 0x112) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x452), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x453), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x454), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x455), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x456), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x457), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x458), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x459), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x341), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x342), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x5FE), ZYDIS_DEFINITION(0x1, 0x600) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5FF), ZYDIS_DEFINITION(0x1, 0x601) }, 
+    { ZYDIS_DEFINITION(0x1, 0xE5), ZYDIS_DEFINITION(0x1, 0xE7) }, 
+    { ZYDIS_DEFINITION(0x1, 0xE6), ZYDIS_DEFINITION(0x1, 0xE8) }, 
+    { ZYDIS_DEFINITION(0x1, 0xDD), ZYDIS_DEFINITION(0x1, 0xDF) }, 
+    { ZYDIS_DEFINITION(0x1, 0xDE), ZYDIS_DEFINITION(0x1, 0xE0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x385), ZYDIS_DEFINITION(0x1, 0x387) }, 
+    { ZYDIS_DEFINITION(0x1, 0x386), ZYDIS_DEFINITION(0x1, 0x388) }, 
+    { ZYDIS_DEFINITION(0x1, 0x633), ZYDIS_DEFINITION(0x1, 0x635) }, 
+    { ZYDIS_DEFINITION(0x1, 0x634), ZYDIS_DEFINITION(0x1, 0x636) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB5), ZYDIS_DEFINITION(0x1, 0xB7) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB6), ZYDIS_DEFINITION(0x1, 0xB8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x379), ZYDIS_DEFINITION(0x1, 0x37B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x37A), ZYDIS_DEFINITION(0x1, 0x37C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x121), ZYDIS_DEFINITION(0x1, 0x123) }, 
+    { ZYDIS_DEFINITION(0x1, 0x122), ZYDIS_DEFINITION(0x1, 0x124) }, 
+    { ZYDIS_DEFINITION(0x1, 0x129), ZYDIS_DEFINITION(0x1, 0x12B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x12A), ZYDIS_DEFINITION(0x1, 0x12C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x60B), ZYDIS_DEFINITION(0x1, 0x60D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x60C), ZYDIS_DEFINITION(0x1, 0x60E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2FF), ZYDIS_DEFINITION(0x1, 0x301) }, 
+    { ZYDIS_DEFINITION(0x1, 0x300), ZYDIS_DEFINITION(0x1, 0x302) }, 
+    { ZYDIS_DEFINITION(0x1, 0x165), ZYDIS_DEFINITION(0x1, 0x167) }, 
+    { ZYDIS_DEFINITION(0x1, 0x166), ZYDIS_DEFINITION(0x1, 0x168) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F3), ZYDIS_DEFINITION(0x1, 0x2F5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F4), ZYDIS_DEFINITION(0x1, 0x2F6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5CA), ZYDIS_DEFINITION(0x1, 0x5CC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5CB), ZYDIS_DEFINITION(0x1, 0x5CD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5D6), ZYDIS_DEFINITION(0x1, 0x5D8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5D7), ZYDIS_DEFINITION(0x1, 0x5D9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5CE), ZYDIS_DEFINITION(0x1, 0x5D0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5CF), ZYDIS_DEFINITION(0x1, 0x5D1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x39D), ZYDIS_DEFINITION(0x1, 0x39F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x39E), ZYDIS_DEFINITION(0x1, 0x3A0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x419), ZYDIS_DEFINITION(0x1, 0x41B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x41A), ZYDIS_DEFINITION(0x1, 0x41C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x425), ZYDIS_DEFINITION(0x1, 0x427) }, 
+    { ZYDIS_DEFINITION(0x1, 0x426), ZYDIS_DEFINITION(0x1, 0x428) }, 
+    { ZYDIS_DEFINITION(0x1, 0x41D), ZYDIS_DEFINITION(0x1, 0x41F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x41E), ZYDIS_DEFINITION(0x1, 0x420) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3A5), ZYDIS_DEFINITION(0x1, 0x3A7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3A6), ZYDIS_DEFINITION(0x1, 0x3A8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5BA), ZYDIS_DEFINITION(0x1, 0x5BC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5BB), ZYDIS_DEFINITION(0x1, 0x5BD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5C6), ZYDIS_DEFINITION(0x1, 0x5C8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5C7), ZYDIS_DEFINITION(0x1, 0x5C9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5BE), ZYDIS_DEFINITION(0x1, 0x5C0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5BF), ZYDIS_DEFINITION(0x1, 0x5C1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x399), ZYDIS_DEFINITION(0x1, 0x39B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x39A), ZYDIS_DEFINITION(0x1, 0x39C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5D2), ZYDIS_DEFINITION(0x1, 0x5D4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5D3), ZYDIS_DEFINITION(0x1, 0x5D5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5C2), ZYDIS_DEFINITION(0x1, 0x5C4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5C3), ZYDIS_DEFINITION(0x1, 0x5C5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x45A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x45B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x31D), ZYDIS_DEFINITION(0x1, 0x31E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x327), ZYDIS_DEFINITION(0x1, 0x329) }, 
+    { ZYDIS_DEFINITION(0x1, 0x328), ZYDIS_DEFINITION(0x1, 0x32A) }, 
+    { ZYDIS_DEFINITION(0xB, 0x536), ZYDIS_DEFINITION(0xB, 0x538) }, 
+    { ZYDIS_DEFINITION(0xB, 0x537), ZYDIS_DEFINITION(0xB, 0x539) }, 
+    { ZYDIS_DEFINITION(0xB, 0x590), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x591), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x574), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x575), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x564), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x565), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x57A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x57B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x56A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x56B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x54E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x54F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x582), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x583), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x580), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x581), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x556), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x557), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x554), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x555), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3FD), ZYDIS_DEFINITION(0x1, 0x3FF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3FE), ZYDIS_DEFINITION(0x1, 0x400) }, 
+    { ZYDIS_DEFINITION(0x1, 0x409), ZYDIS_DEFINITION(0x1, 0x40B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x40A), ZYDIS_DEFINITION(0x1, 0x40C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x401), ZYDIS_DEFINITION(0x1, 0x403) }, 
+    { ZYDIS_DEFINITION(0x1, 0x402), ZYDIS_DEFINITION(0x1, 0x404) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2D1), ZYDIS_DEFINITION(0x1, 0x2D3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2D2), ZYDIS_DEFINITION(0x1, 0x2D4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2D9), ZYDIS_DEFINITION(0x1, 0x2DB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2DA), ZYDIS_DEFINITION(0x1, 0x2DC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x45C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x45D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x321), ZYDIS_DEFINITION(0x1, 0x322) }, 
+    { ZYDIS_DEFINITION(0x1, 0x32B), ZYDIS_DEFINITION(0x1, 0x32D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x32C), ZYDIS_DEFINITION(0x1, 0x32E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x45E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x45F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x460) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x461), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x462), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x463), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x464), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x105), ZYDIS_DEFINITION(0xB, 0x107) }, 
+    { ZYDIS_DEFINITION(0xB, 0x106), ZYDIS_DEFINITION(0xB, 0x108) }, 
+    { ZYDIS_DEFINITION(0xB, 0x492), ZYDIS_DEFINITION(0xB, 0x493) }, 
+    { ZYDIS_DEFINITION(0xB, 0x465), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x5F6), ZYDIS_DEFINITION(0xB, 0x5F8) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5F7), ZYDIS_DEFINITION(0xB, 0x5F9) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC1), ZYDIS_DEFINITION(0x1, 0xC3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC2), ZYDIS_DEFINITION(0x1, 0xC4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x592), ZYDIS_DEFINITION(0x1, 0x594) }, 
+    { ZYDIS_DEFINITION(0x1, 0x593), ZYDIS_DEFINITION(0x1, 0x595) }, 
+    { ZYDIS_DEFINITION(0x1, 0x57C), ZYDIS_DEFINITION(0x1, 0x57E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x57D), ZYDIS_DEFINITION(0x1, 0x57F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x584), ZYDIS_DEFINITION(0x1, 0x586) }, 
+    { ZYDIS_DEFINITION(0x1, 0x585), ZYDIS_DEFINITION(0x1, 0x587) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3B1), ZYDIS_DEFINITION(0x1, 0x3B3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3B2), ZYDIS_DEFINITION(0x1, 0x3B4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x51A), ZYDIS_DEFINITION(0x1, 0x51C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x51B), ZYDIS_DEFINITION(0x1, 0x51D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x353), ZYDIS_DEFINITION(0x1, 0x354) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4D4), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4D5), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x5AA), ZYDIS_DEFINITION(0x1, 0x5AC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5AB), ZYDIS_DEFINITION(0x1, 0x5AD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5AE), ZYDIS_DEFINITION(0x1, 0x5B0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5AF), ZYDIS_DEFINITION(0x1, 0x5B1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C8), ZYDIS_DEFINITION(0x1, 0x4CA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C9), ZYDIS_DEFINITION(0x1, 0x4CB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3CD), ZYDIS_DEFINITION(0x1, 0x3CF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3CE), ZYDIS_DEFINITION(0x1, 0x3D0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3BD), ZYDIS_DEFINITION(0x1, 0x3BF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3BE), ZYDIS_DEFINITION(0x1, 0x3C0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3C1), ZYDIS_DEFINITION(0x1, 0x3C3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3C2), ZYDIS_DEFINITION(0x1, 0x3C4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B0), ZYDIS_DEFINITION(0x1, 0x4B2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B1), ZYDIS_DEFINITION(0x1, 0x4B3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3D1), ZYDIS_DEFINITION(0x1, 0x3D3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3D2), ZYDIS_DEFINITION(0x1, 0x3D4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3D5), ZYDIS_DEFINITION(0x1, 0x3D7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3D6), ZYDIS_DEFINITION(0x1, 0x3D8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x576), ZYDIS_DEFINITION(0x1, 0x578) }, 
+    { ZYDIS_DEFINITION(0x1, 0x577), ZYDIS_DEFINITION(0x1, 0x579) }, 
+    { ZYDIS_DEFINITION(0x1, 0x56C), ZYDIS_DEFINITION(0x1, 0x56E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x56D), ZYDIS_DEFINITION(0x1, 0x56F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3D9), ZYDIS_DEFINITION(0x1, 0x3DB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3DA), ZYDIS_DEFINITION(0x1, 0x3DC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x50E), ZYDIS_DEFINITION(0x1, 0x510) }, 
+    { ZYDIS_DEFINITION(0x1, 0x50F), ZYDIS_DEFINITION(0x1, 0x511) }, 
+    { ZYDIS_DEFINITION(0x1, 0x512), ZYDIS_DEFINITION(0x1, 0x514) }, 
+    { ZYDIS_DEFINITION(0x1, 0x513), ZYDIS_DEFINITION(0x1, 0x515) }, 
+    { ZYDIS_DEFINITION(0x1, 0x151), ZYDIS_DEFINITION(0x1, 0x153) }, 
+    { ZYDIS_DEFINITION(0x1, 0x152), ZYDIS_DEFINITION(0x1, 0x154) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x345) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x346) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5A2), ZYDIS_DEFINITION(0x1, 0x5A4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5A3), ZYDIS_DEFINITION(0x1, 0x5A5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5A6), ZYDIS_DEFINITION(0x1, 0x5A8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5A7), ZYDIS_DEFINITION(0x1, 0x5A9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C4), ZYDIS_DEFINITION(0x1, 0x4C6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C5), ZYDIS_DEFINITION(0x1, 0x4C7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x522), ZYDIS_DEFINITION(0x1, 0x524) }, 
+    { ZYDIS_DEFINITION(0x1, 0x523), ZYDIS_DEFINITION(0x1, 0x525) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3B5), ZYDIS_DEFINITION(0x1, 0x3B7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3B6), ZYDIS_DEFINITION(0x1, 0x3B8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3B9), ZYDIS_DEFINITION(0x1, 0x3BB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3BA), ZYDIS_DEFINITION(0x1, 0x3BC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4AC), ZYDIS_DEFINITION(0x1, 0x4AE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4AD), ZYDIS_DEFINITION(0x1, 0x4AF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5DA), ZYDIS_DEFINITION(0x1, 0x5DC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5DB), ZYDIS_DEFINITION(0x1, 0x5DD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x566), ZYDIS_DEFINITION(0x1, 0x568) }, 
+    { ZYDIS_DEFINITION(0x1, 0x567), ZYDIS_DEFINITION(0x1, 0x569) }, 
+    { ZYDIS_DEFINITION(0x1, 0x550), ZYDIS_DEFINITION(0x1, 0x552) }, 
+    { ZYDIS_DEFINITION(0x1, 0x551), ZYDIS_DEFINITION(0x1, 0x553) }, 
+    { ZYDIS_DEFINITION(0x1, 0x558), ZYDIS_DEFINITION(0x1, 0x55A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x559), ZYDIS_DEFINITION(0x1, 0x55B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x51E), ZYDIS_DEFINITION(0x1, 0x520) }, 
+    { ZYDIS_DEFINITION(0x1, 0x51F), ZYDIS_DEFINITION(0x1, 0x521) }, 
+    { ZYDIS_DEFINITION(0x1, 0x498), ZYDIS_DEFINITION(0x1, 0x49A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x499), ZYDIS_DEFINITION(0x1, 0x49B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x52E), ZYDIS_DEFINITION(0x1, 0x530) }, 
+    { ZYDIS_DEFINITION(0x1, 0x52F), ZYDIS_DEFINITION(0x1, 0x531) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2EA), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x596), ZYDIS_DEFINITION(0x1, 0x598) }, 
+    { ZYDIS_DEFINITION(0x1, 0x597), ZYDIS_DEFINITION(0x1, 0x599) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5B2), ZYDIS_DEFINITION(0x1, 0x5B4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5B3), ZYDIS_DEFINITION(0x1, 0x5B5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x59A), ZYDIS_DEFINITION(0x1, 0x59C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x59B), ZYDIS_DEFINITION(0x1, 0x59D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x59E), ZYDIS_DEFINITION(0x1, 0x5A0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x59F), ZYDIS_DEFINITION(0x1, 0x5A1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3A9), ZYDIS_DEFINITION(0x1, 0x3AB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3AA), ZYDIS_DEFINITION(0x1, 0x3AC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3C5), ZYDIS_DEFINITION(0x1, 0x3C7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3C6), ZYDIS_DEFINITION(0x1, 0x3C8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3AD), ZYDIS_DEFINITION(0x1, 0x3AF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3AE), ZYDIS_DEFINITION(0x1, 0x3B0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x532), ZYDIS_DEFINITION(0x1, 0x534) }, 
+    { ZYDIS_DEFINITION(0x1, 0x533), ZYDIS_DEFINITION(0x1, 0x535) }, 
+    { ZYDIS_DEFINITION(0x1, 0x478), ZYDIS_DEFINITION(0x1, 0x47A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x479), ZYDIS_DEFINITION(0x1, 0x47B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x470), ZYDIS_DEFINITION(0x1, 0x472) }, 
+    { ZYDIS_DEFINITION(0x1, 0x471), ZYDIS_DEFINITION(0x1, 0x473) }, 
+    { ZYDIS_DEFINITION(0x1, 0x474), ZYDIS_DEFINITION(0x1, 0x476) }, 
+    { ZYDIS_DEFINITION(0x1, 0x475), ZYDIS_DEFINITION(0x1, 0x477) }, 
+    { ZYDIS_DEFINITION(0x1, 0x494), ZYDIS_DEFINITION(0x1, 0x496) }, 
+    { ZYDIS_DEFINITION(0x1, 0x495), ZYDIS_DEFINITION(0x1, 0x497) }, 
+    { ZYDIS_DEFINITION(0x1, 0x486), ZYDIS_DEFINITION(0x1, 0x488) }, 
+    { ZYDIS_DEFINITION(0x1, 0x487), ZYDIS_DEFINITION(0x1, 0x489) }, 
+    { ZYDIS_DEFINITION(0x1, 0x47E), ZYDIS_DEFINITION(0x1, 0x480) }, 
+    { ZYDIS_DEFINITION(0x1, 0x47F), ZYDIS_DEFINITION(0x1, 0x481) }, 
+    { ZYDIS_DEFINITION(0x1, 0x482), ZYDIS_DEFINITION(0x1, 0x484) }, 
+    { ZYDIS_DEFINITION(0x1, 0x483), ZYDIS_DEFINITION(0x1, 0x485) }, 
+    { ZYDIS_DEFINITION(0x1, 0x542), ZYDIS_DEFINITION(0x1, 0x544) }, 
+    { ZYDIS_DEFINITION(0x1, 0x543), ZYDIS_DEFINITION(0x1, 0x545) }, 
+    { ZYDIS_DEFINITION(0x1, 0x54A), ZYDIS_DEFINITION(0x1, 0x54C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x54B), ZYDIS_DEFINITION(0x1, 0x54D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x546), ZYDIS_DEFINITION(0x1, 0x548) }, 
+    { ZYDIS_DEFINITION(0x1, 0x547), ZYDIS_DEFINITION(0x1, 0x549) }, 
+    { ZYDIS_DEFINITION(0x1, 0x50A), ZYDIS_DEFINITION(0x1, 0x50C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x50B), ZYDIS_DEFINITION(0x1, 0x50D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x465), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x466) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x467), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x468) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x469), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x46A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x46B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x46C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x46D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x46E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x46F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x470) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x471), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x472) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x473), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x474) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x475), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x476) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x477), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x478) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x479), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x47A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5B6), ZYDIS_DEFINITION(0x1, 0x5B8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5B7), ZYDIS_DEFINITION(0x1, 0x5B9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x47B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x47C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x47D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x47E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x47F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x480) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x481) }, 
+    { ZYDIS_DEFINITION(0x1, 0x38D), ZYDIS_DEFINITION(0x1, 0x38F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x38E), ZYDIS_DEFINITION(0x1, 0x390) }, 
+    { ZYDIS_DEFINITION(0x1, 0x395), ZYDIS_DEFINITION(0x1, 0x397) }, 
+    { ZYDIS_DEFINITION(0x1, 0x396), ZYDIS_DEFINITION(0x1, 0x398) }, 
+    { ZYDIS_DEFINITION(0x1, 0x391), ZYDIS_DEFINITION(0x1, 0x393) }, 
+    { ZYDIS_DEFINITION(0x1, 0x392), ZYDIS_DEFINITION(0x1, 0x394) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4DE), ZYDIS_DEFINITION(0x1, 0x4E0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4DF), ZYDIS_DEFINITION(0x1, 0x4E1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4D6), ZYDIS_DEFINITION(0x1, 0x4D8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4D7), ZYDIS_DEFINITION(0x1, 0x4D9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4DA), ZYDIS_DEFINITION(0x1, 0x4DC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4DB), ZYDIS_DEFINITION(0x1, 0x4DD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4E6), ZYDIS_DEFINITION(0x1, 0x4E8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4E7), ZYDIS_DEFINITION(0x1, 0x4E9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4EA), ZYDIS_DEFINITION(0x1, 0x4EC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4EB), ZYDIS_DEFINITION(0x1, 0x4ED) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4E2), ZYDIS_DEFINITION(0x1, 0x4E4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4E3), ZYDIS_DEFINITION(0x1, 0x4E5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x506), ZYDIS_DEFINITION(0x1, 0x508) }, 
+    { ZYDIS_DEFINITION(0x1, 0x507), ZYDIS_DEFINITION(0x1, 0x509) }, 
+    { ZYDIS_DEFINITION(0x1, 0x405), ZYDIS_DEFINITION(0x1, 0x407) }, 
+    { ZYDIS_DEFINITION(0x1, 0x406), ZYDIS_DEFINITION(0x1, 0x408) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x347) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x348) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3A1), ZYDIS_DEFINITION(0x1, 0x3A3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3A2), ZYDIS_DEFINITION(0x1, 0x3A4) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x482) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x483) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x484) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x485) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x486) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x487) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x488) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x489) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4F6), ZYDIS_DEFINITION(0x1, 0x4F8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4F7), ZYDIS_DEFINITION(0x1, 0x4F9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4EE), ZYDIS_DEFINITION(0x1, 0x4F0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4EF), ZYDIS_DEFINITION(0x1, 0x4F1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4F2), ZYDIS_DEFINITION(0x1, 0x4F4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4F3), ZYDIS_DEFINITION(0x1, 0x4F5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4FE), ZYDIS_DEFINITION(0x1, 0x500) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4FF), ZYDIS_DEFINITION(0x1, 0x501) }, 
+    { ZYDIS_DEFINITION(0x1, 0x502), ZYDIS_DEFINITION(0x1, 0x504) }, 
+    { ZYDIS_DEFINITION(0x1, 0x503), ZYDIS_DEFINITION(0x1, 0x505) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4FA), ZYDIS_DEFINITION(0x1, 0x4FC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4FB), ZYDIS_DEFINITION(0x1, 0x4FD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x48A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x48B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x421), ZYDIS_DEFINITION(0x1, 0x423) }, 
+    { ZYDIS_DEFINITION(0x1, 0x422), ZYDIS_DEFINITION(0x1, 0x424) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4BC), ZYDIS_DEFINITION(0x1, 0x4BE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4BD), ZYDIS_DEFINITION(0x1, 0x4BF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C0), ZYDIS_DEFINITION(0x1, 0x4C2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C1), ZYDIS_DEFINITION(0x1, 0x4C3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4D0), ZYDIS_DEFINITION(0x1, 0x4D2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4D1), ZYDIS_DEFINITION(0x1, 0x4D3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4CC), ZYDIS_DEFINITION(0x1, 0x4CE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4CD), ZYDIS_DEFINITION(0x1, 0x4CF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4A4), ZYDIS_DEFINITION(0x1, 0x4A6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4A5), ZYDIS_DEFINITION(0x1, 0x4A7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4A8), ZYDIS_DEFINITION(0x1, 0x4AA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4A9), ZYDIS_DEFINITION(0x1, 0x4AB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B8), ZYDIS_DEFINITION(0x1, 0x4BA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B9), ZYDIS_DEFINITION(0x1, 0x4BB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B4), ZYDIS_DEFINITION(0x1, 0x4B6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B5), ZYDIS_DEFINITION(0x1, 0x4B7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x516), ZYDIS_DEFINITION(0x1, 0x518) }, 
+    { ZYDIS_DEFINITION(0x1, 0x517), ZYDIS_DEFINITION(0x1, 0x519) }, 
+    { ZYDIS_DEFINITION(0x1, 0x47C), ZYDIS_DEFINITION(0x1, 0x47D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x48C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x48D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x48E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x48F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x490), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x491) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x492), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x493) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x494), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x495) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x496), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x497) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x498), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x499) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x49A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x49B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x49C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x49D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x49E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x49F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A8) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4A9) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4AA) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4AB) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4AC) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4AD) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4AE) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4AF) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B0) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B1) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B2) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B3) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4BA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4BB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4BC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4BD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4BE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4BF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4C9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4CA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4CB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4CC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4CD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4CE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4CF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4DA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4DB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4DC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4DD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4DE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4EA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4EC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4EE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4F9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4FA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4FB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4FC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4FD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4FE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4FF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x500) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x501), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x502) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x503), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x504) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x505), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x506) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x507), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x508) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x509), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x50A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x50B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x50C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x50D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x50E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x50F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x510) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x511), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x512) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x513), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x514) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x515), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x516) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x517), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x518) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD9), ZYDIS_DEFINITION(0x1, 0xDA) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD1), ZYDIS_DEFINITION(0x1, 0xD3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD2), ZYDIS_DEFINITION(0x1, 0xD4) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD5), ZYDIS_DEFINITION(0x1, 0xD7) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD6), ZYDIS_DEFINITION(0x1, 0xD8) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC9), ZYDIS_DEFINITION(0x1, 0xCB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xCA), ZYDIS_DEFINITION(0x1, 0xCC) }, 
+    { ZYDIS_DEFINITION(0x1, 0xCD), ZYDIS_DEFINITION(0x1, 0xCF) }, 
+    { ZYDIS_DEFINITION(0x1, 0xCE), ZYDIS_DEFINITION(0x1, 0xD0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x519), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x51A) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA7), ZYDIS_DEFINITION(0x1, 0xA8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x51B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x51C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x51D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x51E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x51F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x520) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x521), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x522) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x523), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x524) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x525), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x526) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x527), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x528) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x529), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x52A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x52B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x52C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5E8), ZYDIS_DEFINITION(0xB, 0x5EA) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5E9), ZYDIS_DEFINITION(0xB, 0x5EB) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5E4), ZYDIS_DEFINITION(0xB, 0x5E6) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5E5), ZYDIS_DEFINITION(0xB, 0x5E7) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5EE), ZYDIS_DEFINITION(0xB, 0x5EF) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5EC), ZYDIS_DEFINITION(0xB, 0x5ED) }, 
+    { ZYDIS_DEFINITION(0xB, 0xF1), ZYDIS_DEFINITION(0xB, 0xF3) }, 
+    { ZYDIS_DEFINITION(0xB, 0xF2), ZYDIS_DEFINITION(0xB, 0xF4) }, 
+    { ZYDIS_DEFINITION(0xB, 0xED), ZYDIS_DEFINITION(0xB, 0xEF) }, 
+    { ZYDIS_DEFINITION(0xB, 0xEE), ZYDIS_DEFINITION(0xB, 0xF0) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3E5), ZYDIS_DEFINITION(0xB, 0x3E7) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3E6), ZYDIS_DEFINITION(0xB, 0x3E8) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3C9), ZYDIS_DEFINITION(0xB, 0x3CB) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3CA), ZYDIS_DEFINITION(0xB, 0x3CC) }, 
+    { ZYDIS_DEFINITION(0xB, 0x45D), ZYDIS_DEFINITION(0xB, 0x45E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x466), ZYDIS_DEFINITION(0xB, 0x467) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x52D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x52E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x461), ZYDIS_DEFINITION(0xB, 0x462) }, 
+    { ZYDIS_DEFINITION(0xB, 0x17B), ZYDIS_DEFINITION(0xB, 0x17C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x52F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x530) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x531), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x532) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x533), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x534) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x535), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x536) }, 
+    { ZYDIS_DEFINITION(0xB, 0x48A), ZYDIS_DEFINITION(0xB, 0x48B) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2E5), ZYDIS_DEFINITION(0xB, 0x2E6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x537), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x538) }, 
+    { ZYDIS_DEFINITION(0xB, 0x48E), ZYDIS_DEFINITION(0xB, 0x48F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x539), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x53A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x53B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x53C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x53D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x53E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x53F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x540) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x541), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x173), ZYDIS_DEFINITION(0xB, 0x175) }, 
+    { ZYDIS_DEFINITION(0xB, 0x174), ZYDIS_DEFINITION(0xB, 0x176) }, 
+    { ZYDIS_DEFINITION(0xB, 0x171), ZYDIS_DEFINITION(0xB, 0x172) }, 
+    { ZYDIS_DEFINITION(0xB, 0x375), ZYDIS_DEFINITION(0xB, 0x377) }, 
+    { ZYDIS_DEFINITION(0xB, 0x376), ZYDIS_DEFINITION(0xB, 0x378) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3F9), ZYDIS_DEFINITION(0xB, 0x3FB) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3FA), ZYDIS_DEFINITION(0xB, 0x3FC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x542), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x543) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x544), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x545) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x546), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x547) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x548), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x549) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x54A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x54B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x54C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x54D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x54E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x54F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x550), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x551) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x552), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x553) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x554), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x555) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x556), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x557) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x558), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x559) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x55A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x55B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x55C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x55D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x55E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x55F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x560), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x561) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x562), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x563) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x564), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x565) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x566), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x567) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x568), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x569) }, 
+    { ZYDIS_DEFINITION(0xB, 0x417), ZYDIS_DEFINITION(0xB, 0x418) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x56A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x56B) }, 
+    { ZYDIS_DEFINITION(0xB, 0x411), ZYDIS_DEFINITION(0xB, 0x412) }, 
+    { ZYDIS_DEFINITION(0xB, 0x42F), ZYDIS_DEFINITION(0xB, 0x430) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x56C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x56D) }, 
+    { ZYDIS_DEFINITION(0xB, 0x42D), ZYDIS_DEFINITION(0xB, 0x42E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x56E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x56F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x570), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x571) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x572), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x573) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x574), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x575) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x576), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x577) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x578), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x579) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x57A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x57B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x57C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x57D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x57E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x57F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x580), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x581) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x582), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x583) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x584), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x585) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x586), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x587) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x588), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x589) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x58A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x58B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x58C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x58D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x58E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x58F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x590), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x591) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x592), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x593) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x594), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x595) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x596), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x597) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x598), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x599) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x59A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x59B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x59C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x59D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x59E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x59F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A5) }, 
+    { ZYDIS_DEFINITION(0xB, 0xDB), ZYDIS_DEFINITION(0xB, 0xDC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x361), ZYDIS_DEFINITION(0x1, 0x362) }, 
+    { ZYDIS_DEFINITION(0x1, 0x363), ZYDIS_DEFINITION(0x1, 0x364) }, 
+    { ZYDIS_DEFINITION(0x1, 0x35D), ZYDIS_DEFINITION(0x1, 0x35F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x35E), ZYDIS_DEFINITION(0x1, 0x360) }, 
+    { ZYDIS_DEFINITION(0x1, 0x359), ZYDIS_DEFINITION(0x1, 0x35B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x35A), ZYDIS_DEFINITION(0x1, 0x35C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x147), ZYDIS_DEFINITION(0x1, 0x148) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5A9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x163), ZYDIS_DEFINITION(0x1, 0x164) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5AB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x14F), ZYDIS_DEFINITION(0x1, 0x150) }, 
+    { ZYDIS_DEFINITION(0x1, 0x608), ZYDIS_DEFINITION(0x1, 0x609) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5F4), ZYDIS_DEFINITION(0x1, 0x5F5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5E2), ZYDIS_DEFINITION(0x1, 0x5E3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBF), ZYDIS_DEFINITION(0x1, 0xC0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x383), ZYDIS_DEFINITION(0x1, 0x384) }, 
+    { ZYDIS_DEFINITION(0x1, 0x149), ZYDIS_DEFINITION(0x1, 0x14A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x155), ZYDIS_DEFINITION(0x1, 0x157) }, 
+    { ZYDIS_DEFINITION(0x1, 0x156), ZYDIS_DEFINITION(0x1, 0x158) }, 
+    { ZYDIS_DEFINITION(0x1, 0x615), ZYDIS_DEFINITION(0x1, 0x616) }, 
+    { ZYDIS_DEFINITION(0x1, 0x309), ZYDIS_DEFINITION(0x1, 0x30A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x16F), ZYDIS_DEFINITION(0x1, 0x170) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2FD), ZYDIS_DEFINITION(0x1, 0x2FE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x32F), ZYDIS_DEFINITION(0x1, 0x331) }, 
+    { ZYDIS_DEFINITION(0x1, 0x330), ZYDIS_DEFINITION(0x1, 0x332) }, 
+    { ZYDIS_DEFINITION(0xB, 0x53A), ZYDIS_DEFINITION(0xB, 0x53C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x53B), ZYDIS_DEFINITION(0xB, 0x53D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x351), ZYDIS_DEFINITION(0x1, 0x352) }, 
+    { ZYDIS_DEFINITION(0x1, 0x333), ZYDIS_DEFINITION(0x1, 0x335) }, 
+    { ZYDIS_DEFINITION(0x1, 0x334), ZYDIS_DEFINITION(0x1, 0x336) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5AC), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x25) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5AD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5AE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5AF), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x10F), ZYDIS_DEFINITION(0xB, 0x110) }, 
+    { ZYDIS_DEFINITION(0x1, 0x115), ZYDIS_DEFINITION(0x1, 0x117) }, 
+    { ZYDIS_DEFINITION(0x1, 0x116), ZYDIS_DEFINITION(0x1, 0x118) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x93), ZYDIS_DEFINITION(0x1, 0x94) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA1), ZYDIS_DEFINITION(0x1, 0xA2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x355), ZYDIS_DEFINITION(0x1, 0x356) }, 
+    { ZYDIS_DEFINITION(0x1, 0x357), ZYDIS_DEFINITION(0x1, 0x358) }, 
+    { ZYDIS_DEFINITION(0x1, 0x323), ZYDIS_DEFINITION(0x1, 0x325) }, 
+    { ZYDIS_DEFINITION(0x1, 0x324), ZYDIS_DEFINITION(0x1, 0x326) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x141), ZYDIS_DEFINITION(0x1, 0x142) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x15D), ZYDIS_DEFINITION(0x1, 0x15E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5B9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x139), ZYDIS_DEFINITION(0x1, 0x13A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x606), ZYDIS_DEFINITION(0x1, 0x607) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBD), ZYDIS_DEFINITION(0x1, 0xBE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x381), ZYDIS_DEFINITION(0x1, 0x382) }, 
+    { ZYDIS_DEFINITION(0x1, 0x13B), ZYDIS_DEFINITION(0x1, 0x13C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x613), ZYDIS_DEFINITION(0x1, 0x614) }, 
+    { ZYDIS_DEFINITION(0x1, 0x307), ZYDIS_DEFINITION(0x1, 0x308) }, 
+    { ZYDIS_DEFINITION(0x1, 0x16D), ZYDIS_DEFINITION(0x1, 0x16E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2FB), ZYDIS_DEFINITION(0x1, 0x2FC) }, 
+    { ZYDIS_DEFINITION(0xB, 0x53E), ZYDIS_DEFINITION(0xB, 0x540) }, 
+    { ZYDIS_DEFINITION(0xB, 0x53F), ZYDIS_DEFINITION(0xB, 0x541) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2D5), ZYDIS_DEFINITION(0x1, 0x2D7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2D6), ZYDIS_DEFINITION(0x1, 0x2D8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2DD), ZYDIS_DEFINITION(0x1, 0x2DF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2DE), ZYDIS_DEFINITION(0x1, 0x2E0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5BA), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5BB), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5BC), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x24) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5BD), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x10D), ZYDIS_DEFINITION(0xB, 0x10E) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC5), ZYDIS_DEFINITION(0x1, 0xC7) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC6), ZYDIS_DEFINITION(0x1, 0xC8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x11D), ZYDIS_DEFINITION(0x1, 0x11F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x11E), ZYDIS_DEFINITION(0x1, 0x120) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2E7) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2E8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5BF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8D), ZYDIS_DEFINITION(0x1, 0x8E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x87), ZYDIS_DEFINITION(0x1, 0x88) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAD), ZYDIS_DEFINITION(0x1, 0xAE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5C5) }, 
+    { ZYDIS_DEFINITION(0xB, 0x9B), ZYDIS_DEFINITION(0xB, 0x9C) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x4F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x50) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x51), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x52) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x53), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x54) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x55), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x56) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x57), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x58) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x59), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x5A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x5B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x5C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x5D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x5E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x5F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x60) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x61), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x62) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x63), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x64) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x65), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x66) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x67), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x68) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x69), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x6A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x6B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x6C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x6D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x6E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x6F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x70) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x71), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x72) }
+};
+
+const ZydisDecoderTreeNode FILTERS_MODRM_REG[][8] =
+{
+    { ZYDIS_DEFINITION(0x1, 0x6A9), ZYDIS_DEFINITION(0x1, 0x6C7), ZYDIS_DEFINITION(0x1, 0x2C0), ZYDIS_DEFINITION(0x1, 0x2D6), ZYDIS_DEFINITION(0x1, 0x713), ZYDIS_DEFINITION(0x1, 0x715), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x6AA), ZYDIS_DEFINITION(0x1, 0x6C8), ZYDIS_DEFINITION(0x1, 0x2C1), ZYDIS_DEFINITION(0x1, 0x2D7), ZYDIS_DEFINITION(0x1, 0x714), ZYDIS_DEFINITION(0x1, 0x716), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x0), ZYDIS_DEFINITION(0x1, 0x6AB), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x4), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x5), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x6) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE), ZYDIS_DEFINITION(0x1, 0x6AC), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2C3), ZYDIS_DEFINITION(0x1, 0x24A) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x616), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x51A), ZYDIS_DEFINITION(0x1, 0x51F), ZYDIS_DEFINITION(0x1, 0x520), ZYDIS_DEFINITION(0x1, 0x51A), ZYDIS_DEFINITION(0x1, 0x51A), ZYDIS_DEFINITION(0x1, 0x51A), ZYDIS_DEFINITION(0x1, 0x51A), ZYDIS_DEFINITION(0x1, 0x51A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3A1), ZYDIS_DEFINITION(0x1, 0x3A2), ZYDIS_DEFINITION(0x1, 0x3A3), ZYDIS_DEFINITION(0x1, 0x3A4), ZYDIS_DEFINITION(0x1, 0x3A5), ZYDIS_DEFINITION(0x1, 0x3A6), ZYDIS_DEFINITION(0x1, 0x3A7), ZYDIS_DEFINITION(0x1, 0x3A8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x51B), ZYDIS_DEFINITION(0x1, 0x51C), ZYDIS_DEFINITION(0x1, 0x51D), ZYDIS_DEFINITION(0x1, 0x51E), ZYDIS_DEFINITION(0x1, 0x3A9), ZYDIS_DEFINITION(0x1, 0x3AA), ZYDIS_DEFINITION(0x1, 0x3AB), ZYDIS_DEFINITION(0x1, 0x3AC) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAC), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x1C), ZYDIS_DEFINITION(0x1, 0x3BF), ZYDIS_DEFINITION(0x1, 0x3C0), ZYDIS_DEFINITION(0x1, 0x3C1), ZYDIS_DEFINITION(0x1, 0x3C2), ZYDIS_DEFINITION(0x1, 0x3C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_KNC, 0x0), ZYDIS_DEFINITION(0x1, 0x3CF), ZYDIS_DEFINITION(0x1, 0x3CF), ZYDIS_DEFINITION(0x1, 0x3CF), ZYDIS_DEFINITION(0x1, 0x3CF), ZYDIS_DEFINITION(0x1, 0x3CF), ZYDIS_DEFINITION(0x1, 0x3CF), ZYDIS_DEFINITION(0x1, 0x3CF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_KNC, 0x1), ZYDIS_DEFINITION(0x1, 0x3D1), ZYDIS_DEFINITION(0x1, 0x3D1), ZYDIS_DEFINITION(0x1, 0x3D1), ZYDIS_DEFINITION(0x1, 0x3D1), ZYDIS_DEFINITION(0x1, 0x3D1), ZYDIS_DEFINITION(0x1, 0x3D1), ZYDIS_DEFINITION(0x1, 0x3D1) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x569), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x556), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x54A), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x56A), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x557), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x54B), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x55C), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x550), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x53D), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x55D), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x551), ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x53E), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x563), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x544), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x564), ZYDIS_DEFINITION(0xB, 0x562), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x545), ZYDIS_DEFINITION(0xB, 0x543) }, 
+    { ZYDIS_DEFINITION(0x13, 0x16C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0xA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0xB), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0xC), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0xD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0xE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0xF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x10), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x11), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x12), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2B9), ZYDIS_DEFINITION(0x1, 0x2E4), ZYDIS_DEFINITION(0x1, 0x665) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x27), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x43), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x44), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x45), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x46), ZYDIS_DEFINITION(0x1, 0x591), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x28), ZYDIS_DEFINITION(0x1, 0x708), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x29), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2B), ZYDIS_DEFINITION(0x1, 0x2B4), ZYDIS_DEFINITION(0x1, 0x6BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2E), ZYDIS_DEFINITION(0x1, 0xAD) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB3), ZYDIS_DEFINITION(0x1, 0xAE) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x592), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB1), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x91), ZYDIS_DEFINITION(0xB, 0x9D), ZYDIS_DEFINITION(0xB, 0x99), ZYDIS_DEFINITION(0xB, 0x93) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x92), ZYDIS_DEFINITION(0xB, 0x9E), ZYDIS_DEFINITION(0xB, 0x9A), ZYDIS_DEFINITION(0xB, 0x94) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5E7), ZYDIS_DEFINITION(0x1, 0x5E8) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x47) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x48), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x30), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x31), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x32), ZYDIS_DEFINITION(0x1, 0x71D), ZYDIS_DEFINITION(0x1, 0x71E) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x718), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x72B), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x6A), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x6B), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x6C), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x6D), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x6E), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x6F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xAD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xAE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xAF), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB0), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB4), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB5), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB6), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x79), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x7B) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x7C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xBA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x7D) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x1B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x1C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x1D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x1E), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x1F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x20), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x21), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x22), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C9) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2FC), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2FD), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2FE), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2FF), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x300), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x301), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x27), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x28), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x29), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x2A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x2B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x2C), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3CA) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3CB) }, 
+    { ZYDIS_DEFINITION(0xD, 0x24), ZYDIS_DEFINITION(0xD, 0x3E1), ZYDIS_DEFINITION(0xD, 0xE), ZYDIS_DEFINITION(0xD, 0x630), ZYDIS_DEFINITION(0xB, 0x52), ZYDIS_DEFINITION(0xD, 0x6D3), ZYDIS_DEFINITION(0xB, 0x753), ZYDIS_DEFINITION(0xD, 0xE0) }, 
+    { ZYDIS_DEFINITION(0xD, 0x25), ZYDIS_DEFINITION(0xD, 0x3E2), ZYDIS_DEFINITION(0xD, 0xF), ZYDIS_DEFINITION(0xD, 0x631), ZYDIS_DEFINITION(0xB, 0x53), ZYDIS_DEFINITION(0xD, 0x6D4), ZYDIS_DEFINITION(0xB, 0x754), ZYDIS_DEFINITION(0xD, 0xE1) }, 
+    { ZYDIS_DEFINITION(0xE, 0x26), ZYDIS_DEFINITION(0xE, 0x3E3), ZYDIS_DEFINITION(0xE, 0x10), ZYDIS_DEFINITION(0xE, 0x632), ZYDIS_DEFINITION(0xE, 0x54), ZYDIS_DEFINITION(0xE, 0x6D5), ZYDIS_DEFINITION(0xE, 0x755), ZYDIS_DEFINITION(0xE, 0xE2) }, 
+    { ZYDIS_DEFINITION(0xE, 0x27), ZYDIS_DEFINITION(0xE, 0x3E4), ZYDIS_DEFINITION(0xE, 0x11), ZYDIS_DEFINITION(0xE, 0x633), ZYDIS_DEFINITION(0xE, 0x55), ZYDIS_DEFINITION(0xE, 0x6D6), ZYDIS_DEFINITION(0xE, 0x756), ZYDIS_DEFINITION(0xE, 0xE3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x97), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x98), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x99), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x9A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x9B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x9C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x9D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x9E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x9F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA6) }, 
+    { ZYDIS_DEFINITION(0xD, 0x2A), ZYDIS_DEFINITION(0xD, 0x3E7), ZYDIS_DEFINITION(0xD, 0x14), ZYDIS_DEFINITION(0xD, 0x636), ZYDIS_DEFINITION(0xD, 0x58), ZYDIS_DEFINITION(0xD, 0x6D9), ZYDIS_DEFINITION(0xD, 0x759), ZYDIS_DEFINITION(0xD, 0xE6) }, 
+    { ZYDIS_DEFINITION(0xD, 0x2B), ZYDIS_DEFINITION(0xD, 0x3E8), ZYDIS_DEFINITION(0xD, 0x15), ZYDIS_DEFINITION(0xD, 0x637), ZYDIS_DEFINITION(0xD, 0x59), ZYDIS_DEFINITION(0xD, 0x6DA), ZYDIS_DEFINITION(0xD, 0x75A), ZYDIS_DEFINITION(0xD, 0xE7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x50B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x50C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3EC) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3ED), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3EE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F0), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x411), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x412), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x5F1), ZYDIS_DEFINITION(0xB, 0x5FD), ZYDIS_DEFINITION(0xB, 0x5C3), ZYDIS_DEFINITION(0xB, 0x5D3), ZYDIS_DEFINITION(0xB, 0x676), ZYDIS_DEFINITION(0xB, 0x692), ZYDIS_DEFINITION(0xB, 0x677), ZYDIS_DEFINITION(0xB, 0x619) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5F2), ZYDIS_DEFINITION(0xB, 0x5FE), ZYDIS_DEFINITION(0xB, 0x5C4), ZYDIS_DEFINITION(0xB, 0x5D4), ZYDIS_DEFINITION(0xB, 0x678), ZYDIS_DEFINITION(0xB, 0x693), ZYDIS_DEFINITION(0xB, 0x679), ZYDIS_DEFINITION(0xB, 0x61A) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5F3), ZYDIS_DEFINITION(0xB, 0x5FF), ZYDIS_DEFINITION(0xB, 0x5C5), ZYDIS_DEFINITION(0xB, 0x5D5), ZYDIS_DEFINITION(0xB, 0x67A), ZYDIS_DEFINITION(0xB, 0x694), ZYDIS_DEFINITION(0xB, 0x67B), ZYDIS_DEFINITION(0xB, 0x61B) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5F4), ZYDIS_DEFINITION(0xB, 0x600), ZYDIS_DEFINITION(0xB, 0x5C6), ZYDIS_DEFINITION(0xB, 0x5D6), ZYDIS_DEFINITION(0xB, 0x67C), ZYDIS_DEFINITION(0xB, 0x695), ZYDIS_DEFINITION(0xB, 0x67D), ZYDIS_DEFINITION(0xB, 0x61C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x41B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x41C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x41D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x41E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x41F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x420), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x421), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x422) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x44A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x44B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x44F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x450), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x451), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x486), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x487), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x488), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x489), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x48A), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x48B), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x48C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x48D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x48E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x48F) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x570), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x571) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x57E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x57F) }, 
+    { ZYDIS_DEFINITION(0xB, 0x304), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x31) }, 
+    { ZYDIS_DEFINITION(0xB, 0x305), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xE, 0x306), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x32) }, 
+    { ZYDIS_DEFINITION(0xE, 0x307), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x5F5), ZYDIS_DEFINITION(0x1, 0x601), ZYDIS_DEFINITION(0x1, 0x5C7), ZYDIS_DEFINITION(0x1, 0x5D7), ZYDIS_DEFINITION(0x1, 0x67E), ZYDIS_DEFINITION(0x1, 0x696), ZYDIS_DEFINITION(0x1, 0x67F), ZYDIS_DEFINITION(0x1, 0x61D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5F6), ZYDIS_DEFINITION(0x1, 0x602), ZYDIS_DEFINITION(0x1, 0x5C8), ZYDIS_DEFINITION(0x1, 0x5D8), ZYDIS_DEFINITION(0x1, 0x680), ZYDIS_DEFINITION(0x1, 0x697), ZYDIS_DEFINITION(0x1, 0x681), ZYDIS_DEFINITION(0x1, 0x61E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5F7), ZYDIS_DEFINITION(0x1, 0x603), ZYDIS_DEFINITION(0x1, 0x5C9), ZYDIS_DEFINITION(0x1, 0x5D9), ZYDIS_DEFINITION(0x1, 0x682), ZYDIS_DEFINITION(0x1, 0x698), ZYDIS_DEFINITION(0x1, 0x683), ZYDIS_DEFINITION(0x1, 0x61F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5F8), ZYDIS_DEFINITION(0x1, 0x604), ZYDIS_DEFINITION(0x1, 0x5CA), ZYDIS_DEFINITION(0x1, 0x5DA), ZYDIS_DEFINITION(0x1, 0x684), ZYDIS_DEFINITION(0x1, 0x699), ZYDIS_DEFINITION(0x1, 0x685), ZYDIS_DEFINITION(0x1, 0x620) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5F9), ZYDIS_DEFINITION(0x1, 0x605), ZYDIS_DEFINITION(0x1, 0x5CB), ZYDIS_DEFINITION(0x1, 0x5DB), ZYDIS_DEFINITION(0x1, 0x686), ZYDIS_DEFINITION(0x1, 0x69A), ZYDIS_DEFINITION(0x1, 0x687), ZYDIS_DEFINITION(0x1, 0x621) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5FA), ZYDIS_DEFINITION(0x1, 0x606), ZYDIS_DEFINITION(0x1, 0x5CC), ZYDIS_DEFINITION(0x1, 0x5DC), ZYDIS_DEFINITION(0x1, 0x688), ZYDIS_DEFINITION(0x1, 0x69B), ZYDIS_DEFINITION(0x1, 0x689), ZYDIS_DEFINITION(0x1, 0x622) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5FB), ZYDIS_DEFINITION(0x1, 0x607), ZYDIS_DEFINITION(0x1, 0x5CD), ZYDIS_DEFINITION(0x1, 0x5DD), ZYDIS_DEFINITION(0x1, 0x68A), ZYDIS_DEFINITION(0x1, 0x69C), ZYDIS_DEFINITION(0x1, 0x68B), ZYDIS_DEFINITION(0x1, 0x623) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5FC), ZYDIS_DEFINITION(0x1, 0x608), ZYDIS_DEFINITION(0x1, 0x5CE), ZYDIS_DEFINITION(0x1, 0x5DE), ZYDIS_DEFINITION(0x1, 0x68C), ZYDIS_DEFINITION(0x1, 0x69D), ZYDIS_DEFINITION(0x1, 0x68D), ZYDIS_DEFINITION(0x1, 0x624) }, 
+    { ZYDIS_DEFINITION(0x1, 0x170), ZYDIS_DEFINITION(0x1, 0x1C7), ZYDIS_DEFINITION(0x1, 0x180), ZYDIS_DEFINITION(0x1, 0x186), ZYDIS_DEFINITION(0x1, 0x1EC), ZYDIS_DEFINITION(0x1, 0x1F1), ZYDIS_DEFINITION(0x1, 0x18F), ZYDIS_DEFINITION(0x1, 0x194) }, 
+    { ZYDIS_DEFINITION(0x1, 0x171), ZYDIS_DEFINITION(0x1, 0x1C8), ZYDIS_DEFINITION(0x1, 0x181), ZYDIS_DEFINITION(0x1, 0x187), ZYDIS_DEFINITION(0x1, 0x1ED), ZYDIS_DEFINITION(0x1, 0x1F2), ZYDIS_DEFINITION(0x1, 0x190), ZYDIS_DEFINITION(0x1, 0x195) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1B9), ZYDIS_DEFINITION(0x1, 0x1FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x33), ZYDIS_DEFINITION(0x1, 0x1EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x34), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x35), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x36), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x37) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1BA), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1E2), ZYDIS_DEFINITION(0x1, 0x1E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x21), ZYDIS_DEFINITION(0x1, 0x1BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x22), ZYDIS_DEFINITION(0x1, 0x1D1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x178), ZYDIS_DEFINITION(0x1, 0x17A), ZYDIS_DEFINITION(0x1, 0x179), ZYDIS_DEFINITION(0x1, 0x17F), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x38), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x19D), ZYDIS_DEFINITION(0x1, 0x1AA), ZYDIS_DEFINITION(0x1, 0x19F), ZYDIS_DEFINITION(0x1, 0x1A1), ZYDIS_DEFINITION(0x1, 0x1B5), ZYDIS_DEFINITION(0x1, 0x1B7), ZYDIS_DEFINITION(0x1, 0x1A3), ZYDIS_DEFINITION(0x1, 0x1A5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x17B), ZYDIS_DEFINITION(0x1, 0x17D), ZYDIS_DEFINITION(0x1, 0x17C), ZYDIS_DEFINITION(0x1, 0x17E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x39), ZYDIS_DEFINITION(0x1, 0x1F8), ZYDIS_DEFINITION(0x1, 0x184), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1A7), ZYDIS_DEFINITION(0x1, 0x1B2), ZYDIS_DEFINITION(0x1, 0x1AD), ZYDIS_DEFINITION(0x1, 0x1AF), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1BB), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1E6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x172), ZYDIS_DEFINITION(0x1, 0x1C9), ZYDIS_DEFINITION(0x1, 0x182), ZYDIS_DEFINITION(0x1, 0x188), ZYDIS_DEFINITION(0x1, 0x1F3), ZYDIS_DEFINITION(0x1, 0x1EE), ZYDIS_DEFINITION(0x1, 0x196), ZYDIS_DEFINITION(0x1, 0x191) }, 
+    { ZYDIS_DEFINITION(0x1, 0x173), ZYDIS_DEFINITION(0x1, 0x1CA), ZYDIS_DEFINITION(0x1, 0x183), ZYDIS_DEFINITION(0x1, 0x189), ZYDIS_DEFINITION(0x1, 0x1EF), ZYDIS_DEFINITION(0x1, 0x1F4), ZYDIS_DEFINITION(0x1, 0x192), ZYDIS_DEFINITION(0x1, 0x197) }, 
+    { ZYDIS_DEFINITION(0x1, 0x19B), ZYDIS_DEFINITION(0x1, 0x1FF), ZYDIS_DEFINITION(0x1, 0x1E3), ZYDIS_DEFINITION(0x1, 0x1E7), ZYDIS_DEFINITION(0x1, 0x1F7), ZYDIS_DEFINITION(0x1, 0x1FA), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1BC), ZYDIS_DEFINITION(0x1, 0x1B3), ZYDIS_DEFINITION(0x1, 0x1E4), ZYDIS_DEFINITION(0x1, 0x1E8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x23), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x24), ZYDIS_DEFINITION(0x1, 0x1D4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x174), ZYDIS_DEFINITION(0x1, 0x1CB), ZYDIS_DEFINITION(0x1, 0x18A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x3A), ZYDIS_DEFINITION(0x1, 0x1F5), ZYDIS_DEFINITION(0x1, 0x1F0), ZYDIS_DEFINITION(0x1, 0x198), ZYDIS_DEFINITION(0x1, 0x193) }, 
+    { ZYDIS_DEFINITION(0x1, 0x19E), ZYDIS_DEFINITION(0x1, 0x1AB), ZYDIS_DEFINITION(0x1, 0x1A0), ZYDIS_DEFINITION(0x1, 0x1A2), ZYDIS_DEFINITION(0x1, 0x1B6), ZYDIS_DEFINITION(0x1, 0x1B8), ZYDIS_DEFINITION(0x1, 0x1A4), ZYDIS_DEFINITION(0x1, 0x1A6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x19C), ZYDIS_DEFINITION(0x1, 0x200), ZYDIS_DEFINITION(0x1, 0x1E9), ZYDIS_DEFINITION(0x1, 0x1EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_RM, 0x3B), ZYDIS_DEFINITION(0x1, 0x1F9), ZYDIS_DEFINITION(0x1, 0x185), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1A8), ZYDIS_DEFINITION(0x1, 0x1B4), ZYDIS_DEFINITION(0x1, 0x1AE), ZYDIS_DEFINITION(0x1, 0x1B0), ZYDIS_DEFINITION(0x1, 0x175), ZYDIS_DEFINITION(0x1, 0x1A9), ZYDIS_DEFINITION(0x1, 0x176), ZYDIS_DEFINITION(0x1, 0x1B1) }, 
+    { ZYDIS_DEFINITION(0xD, 0x6F3), ZYDIS_DEFINITION(0xD, 0x6F4), ZYDIS_DEFINITION(0x1, 0x3D3), ZYDIS_DEFINITION(0x1, 0x39B), ZYDIS_DEFINITION(0x1, 0x38B), ZYDIS_DEFINITION(0x1, 0x220), ZYDIS_DEFINITION(0x1, 0x14E), ZYDIS_DEFINITION(0x1, 0x218) }, 
+    { ZYDIS_DEFINITION(0xD, 0x6F5), ZYDIS_DEFINITION(0xD, 0x6F6), ZYDIS_DEFINITION(0x1, 0x3D4), ZYDIS_DEFINITION(0x1, 0x39C), ZYDIS_DEFINITION(0x1, 0x38C), ZYDIS_DEFINITION(0x1, 0x221), ZYDIS_DEFINITION(0x1, 0x14F), ZYDIS_DEFINITION(0x1, 0x219) }, 
+    { ZYDIS_DEFINITION(0xE, 0x6F7), ZYDIS_DEFINITION(0xE, 0x6F8), ZYDIS_DEFINITION(0x1, 0x3D5), ZYDIS_DEFINITION(0x1, 0x39D), ZYDIS_DEFINITION(0x1, 0x38D), ZYDIS_DEFINITION(0x1, 0x222), ZYDIS_DEFINITION(0x1, 0x150), ZYDIS_DEFINITION(0x1, 0x21A) }, 
+    { ZYDIS_DEFINITION(0xE, 0x6F9), ZYDIS_DEFINITION(0xE, 0x6FA), ZYDIS_DEFINITION(0x1, 0x3D6), ZYDIS_DEFINITION(0x1, 0x39E), ZYDIS_DEFINITION(0x1, 0x38E), ZYDIS_DEFINITION(0x1, 0x223), ZYDIS_DEFINITION(0x1, 0x151), ZYDIS_DEFINITION(0x1, 0x21B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x22D), ZYDIS_DEFINITION(0x1, 0x14A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x22E), ZYDIS_DEFINITION(0x1, 0x14B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x22F), ZYDIS_DEFINITION(0x1, 0x14C), ZYDIS_DEFINITION(0x1, 0xA3), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x270), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5B6), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x230), ZYDIS_DEFINITION(0x1, 0x14D), ZYDIS_DEFINITION(0x1, 0xA4), ZYDIS_DEFINITION(0x1, 0xA5), ZYDIS_DEFINITION(0x1, 0x271), ZYDIS_DEFINITION(0x1, 0x272), ZYDIS_DEFINITION(0x1, 0x5B7), ZYDIS_INVALID }
+};
+
+const ZydisDecoderTreeNode FILTERS_MODRM_RM[][8] =
+{
+    { ZYDIS_DEFINITION(0x1, 0x724), ZYDIS_DEFINITION(0x1, 0x71C), ZYDIS_DEFINITION(0x1, 0x71B), ZYDIS_DEFINITION(0x1, 0x725), ZYDIS_DEFINITION(0x1, 0x6B8), ZYDIS_DEFINITION(0x1, 0xAF), ZYDIS_DEFINITION(0x1, 0x6A8), ZYDIS_DEFINITION(0x1, 0x24B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x3), ZYDIS_DEFINITION(0x1, 0x5EC), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB4), ZYDIS_DEFINITION(0x1, 0x5E6), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x4), ZYDIS_DEFINITION(0x1, 0x717), ZYDIS_DEFINITION(0x1, 0x71A), ZYDIS_DEFINITION(0x1, 0x723), ZYDIS_DEFINITION(0x1, 0x72A), ZYDIS_DEFINITION(0x1, 0x47E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x6), ZYDIS_DEFINITION(0x1, 0xA9), ZYDIS_DEFINITION(0x1, 0x6B5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x747), ZYDIS_DEFINITION(0x1, 0x76B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x719), ZYDIS_DEFINITION(0x1, 0x746), ZYDIS_DEFINITION(0x1, 0x770), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x8) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5E4), ZYDIS_DEFINITION(0x1, 0x730) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x662), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x625), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3C4), ZYDIS_DEFINITION(0x1, 0x3C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_CET, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_CET, 0x3), ZYDIS_DEFINITION(0x1, 0x3C8), ZYDIS_DEFINITION(0x1, 0x3C9), ZYDIS_DEFINITION(0x1, 0x3CA), ZYDIS_DEFINITION(0x1, 0x3CB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F1), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x76C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x76D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x76E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x76F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x744), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x741), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x743), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x742), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x745), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x184), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x185), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x186), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x187), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x19C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x19D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x19E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x19F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1CE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1CF), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D0), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D1), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D2), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D3), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D4), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x357), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x358), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x361), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x362), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x379), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x37A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x37B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x37C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x37D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x37E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x512), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x513), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x514), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x515), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x735), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xF, 0x73A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1CE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x177), ZYDIS_DEFINITION(0x1, 0x16F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1F6), ZYDIS_DEFINITION(0x1, 0x1FD), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1BD), ZYDIS_DEFINITION(0x1, 0x1C2), ZYDIS_DEFINITION(0x1, 0x1C1), ZYDIS_DEFINITION(0x1, 0x1C5), ZYDIS_DEFINITION(0x1, 0x1C3), ZYDIS_DEFINITION(0x1, 0x1C4), ZYDIS_DEFINITION(0x1, 0x1C6), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x16E), ZYDIS_DEFINITION(0x1, 0x206), ZYDIS_DEFINITION(0x1, 0x1D9), ZYDIS_DEFINITION(0x1, 0x1D6), ZYDIS_DEFINITION(0x1, 0x205), ZYDIS_DEFINITION(0x1, 0x1D8), ZYDIS_DEFINITION(0x1, 0x18D), ZYDIS_DEFINITION(0x1, 0x1AC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1D7), ZYDIS_DEFINITION(0x1, 0x207), ZYDIS_DEFINITION(0x1, 0x1E1), ZYDIS_DEFINITION(0x1, 0x1E0), ZYDIS_DEFINITION(0x1, 0x1DA), ZYDIS_DEFINITION(0x1, 0x1DD), ZYDIS_DEFINITION(0x1, 0x1DF), ZYDIS_DEFINITION(0x1, 0x18C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1FB), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x19A), ZYDIS_DEFINITION(0x1, 0x18E), ZYDIS_DEFINITION(0x1, 0x1CC), ZYDIS_DEFINITION(0x1, 0x1CD), ZYDIS_DEFINITION(0x1, 0x1DE), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x18B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1D5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }
+};
+
+const ZydisDecoderTreeNode FILTERS_MANDATORY_PREFIX[][5] =
+{
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x3), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x6), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x381), ZYDIS_DEFINITION(0x1, 0x37D), ZYDIS_DEFINITION(0x1, 0x370), ZYDIS_DEFINITION(0x1, 0x365) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x382), ZYDIS_DEFINITION(0x1, 0x37E), ZYDIS_DEFINITION(0x1, 0x371), ZYDIS_DEFINITION(0x1, 0x366) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x383), ZYDIS_DEFINITION(0x1, 0x37F), ZYDIS_DEFINITION(0x1, 0x372), ZYDIS_DEFINITION(0x1, 0x367) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x384), ZYDIS_DEFINITION(0x1, 0x380), ZYDIS_DEFINITION(0x1, 0x373), ZYDIS_DEFINITION(0x1, 0x368) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x339), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x36B), ZYDIS_DEFINITION(0x1, 0x32A) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x341), ZYDIS_DEFINITION(0x1, 0x33F), ZYDIS_DEFINITION(0x1, 0x36C), ZYDIS_DEFINITION(0x1, 0x32B) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x342), ZYDIS_DEFINITION(0x1, 0x340), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x711), ZYDIS_DEFINITION(0x1, 0x70F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x712), ZYDIS_DEFINITION(0x1, 0x710), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x70D), ZYDIS_DEFINITION(0x1, 0x70B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x70E), ZYDIS_DEFINITION(0x1, 0x70C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x33E), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x369), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x33C), ZYDIS_DEFINITION(0x1, 0x33A), ZYDIS_DEFINITION(0x1, 0x36A), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x33D), ZYDIS_DEFINITION(0x1, 0x33B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3B1), ZYDIS_DEFINITION(0x1, 0x7C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x11), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x12) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x13), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x14), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x15), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x16) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3B4), ZYDIS_DEFINITION(0x1, 0x7F), ZYDIS_DEFINITION(0x1, 0x3B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x17) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x18), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x19), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x1A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x1B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0xA), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3BB), ZYDIS_DEFINITION(0x1, 0x3BC), ZYDIS_DEFINITION(0x1, 0x3BD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0xB), ZYDIS_DEFINITION(0x1, 0x3CE) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x314), ZYDIS_DEFINITION(0x1, 0x310), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x315), ZYDIS_DEFINITION(0x1, 0x311), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x316), ZYDIS_DEFINITION(0x1, 0x312), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x317), ZYDIS_DEFINITION(0x1, 0x313), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x119), ZYDIS_DEFINITION(0x1, 0x117), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x3) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x11A), ZYDIS_DEFINITION(0x1, 0x118), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x5) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x34A), ZYDIS_DEFINITION(0x1, 0x349), ZYDIS_DEFINITION(0x1, 0x34D), ZYDIS_DEFINITION(0x1, 0x34C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x13B), ZYDIS_DEFINITION(0x1, 0x137), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x7) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x13C), ZYDIS_DEFINITION(0x1, 0x138), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x9) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x11F), ZYDIS_DEFINITION(0x1, 0x113), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xB) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x120), ZYDIS_DEFINITION(0x1, 0x114), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xD) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x701), ZYDIS_DEFINITION(0x1, 0x6FF), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x702), ZYDIS_DEFINITION(0x1, 0x700), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x105), ZYDIS_DEFINITION(0x1, 0x103), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x106), ZYDIS_DEFINITION(0x1, 0x104), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x208), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x525), ZYDIS_DEFINITION(0x1, 0x527), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x526), ZYDIS_DEFINITION(0x1, 0x528), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x491), ZYDIS_DEFINITION(0x1, 0x493), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x492), ZYDIS_DEFINITION(0x1, 0x494), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x489), ZYDIS_DEFINITION(0x1, 0x48B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x48A), ZYDIS_DEFINITION(0x1, 0x48C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x48D), ZYDIS_DEFINITION(0x1, 0x48F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x48E), ZYDIS_DEFINITION(0x1, 0x490), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4AD), ZYDIS_DEFINITION(0x1, 0x4AF), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4AE), ZYDIS_DEFINITION(0x1, 0x4B0), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x49F), ZYDIS_DEFINITION(0x1, 0x4A1), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4A0), ZYDIS_DEFINITION(0x1, 0x4A2), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x497), ZYDIS_DEFINITION(0x1, 0x499), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x498), ZYDIS_DEFINITION(0x1, 0x49A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x49B), ZYDIS_DEFINITION(0x1, 0x49D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x49C), ZYDIS_DEFINITION(0x1, 0x49E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x531), ZYDIS_DEFINITION(0x1, 0x533), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x532), ZYDIS_DEFINITION(0x1, 0x534), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x539), ZYDIS_DEFINITION(0x1, 0x53B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x53A), ZYDIS_DEFINITION(0x1, 0x53C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x535), ZYDIS_DEFINITION(0x1, 0x537), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x536), ZYDIS_DEFINITION(0x1, 0x538), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4F1), ZYDIS_DEFINITION(0x1, 0x4F3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4F2), ZYDIS_DEFINITION(0x1, 0x4F4), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x44E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x44F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x68), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x69), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x58F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x590), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3FF), ZYDIS_DEFINITION(0x1, 0x401), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x400), ZYDIS_DEFINITION(0x1, 0x402), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x407), ZYDIS_DEFINITION(0x1, 0x409), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x408), ZYDIS_DEFINITION(0x1, 0x40A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x403), ZYDIS_DEFINITION(0x1, 0x405), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x404), ZYDIS_DEFINITION(0x1, 0x406), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4DB), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4DC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D8), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D9), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4DA), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4DF), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E0), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E1), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E2), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4DD), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4DE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4EF), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4F0), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x45C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x45D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x346), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x413), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x414), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E8), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E4), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E5), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E6), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4EB), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4EC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4ED), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4EE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4E9), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4EA), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x472), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x473), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C5), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C6), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C8), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D4), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D1), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D2), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4B5), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4B6), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4B7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4B8), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C4), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C1), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C2), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4FD), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4FE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x495), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x496), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x23), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x24), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x25), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x66C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x66D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x668), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x669), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x66A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x66B), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x674), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x675), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x670), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x671), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x672), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x673), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x20D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x20E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x44), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x45), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x40), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x41), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x42), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x43), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x109) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x10A) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x10B) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x10C) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0xF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x10), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x11), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x12), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x13), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x26), ZYDIS_DEFINITION(0x1, 0x168), ZYDIS_DEFINITION(0x1, 0x167) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x14), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x60B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x60C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x609), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x60A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x60F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x610), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x60D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x60E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x66), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x67), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x64), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x65), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x450), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x451), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x439), ZYDIS_DEFINITION(0xB, 0x43B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x43A), ZYDIS_DEFINITION(0xB, 0x43C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x47F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x480), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x487), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x488), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x15), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x16), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x16A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x16B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x4A3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x4A4), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x23C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x23D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x17), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x18), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x15C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x15D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x15A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x15B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x389), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x38A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x452), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x453), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x19), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x47C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x47D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x1E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x66E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x66F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x20B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x20C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x209), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x20A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x46), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x47), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x344), ZYDIS_DEFINITION(0x1, 0x343), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6AF), ZYDIS_DEFINITION(0x1, 0x6AD), ZYDIS_DEFINITION(0x1, 0x6B3), ZYDIS_DEFINITION(0x1, 0x6B1) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6B0), ZYDIS_DEFINITION(0x1, 0x6AE), ZYDIS_DEFINITION(0x1, 0x6B4), ZYDIS_DEFINITION(0x1, 0x6B2) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x612), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x614), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x613), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x615), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5CF), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5D1), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5D0), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5D2), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x60), ZYDIS_DEFINITION(0x1, 0x5E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x61), ZYDIS_DEFINITION(0x1, 0x5F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5C), ZYDIS_DEFINITION(0x1, 0x5A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5D), ZYDIS_DEFINITION(0x1, 0x5B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3EB), ZYDIS_DEFINITION(0x1, 0x3E9), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3EC), ZYDIS_DEFINITION(0x1, 0x3EA), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x75D), ZYDIS_DEFINITION(0x1, 0x75B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x75E), ZYDIS_DEFINITION(0x1, 0x75C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2E), ZYDIS_DEFINITION(0x1, 0x2C), ZYDIS_DEFINITION(0x1, 0x32), ZYDIS_DEFINITION(0x1, 0x30) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2F), ZYDIS_DEFINITION(0x1, 0x2D), ZYDIS_DEFINITION(0x1, 0x33), ZYDIS_DEFINITION(0x1, 0x31) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x391), ZYDIS_DEFINITION(0x1, 0x38F), ZYDIS_DEFINITION(0x1, 0x395), ZYDIS_DEFINITION(0x1, 0x393) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x392), ZYDIS_DEFINITION(0x1, 0x390), ZYDIS_DEFINITION(0x1, 0x396), ZYDIS_DEFINITION(0x1, 0x394) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x11D), ZYDIS_DEFINITION(0x1, 0x115), ZYDIS_DEFINITION(0x1, 0x12F), ZYDIS_DEFINITION(0x1, 0x125) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x11E), ZYDIS_DEFINITION(0x1, 0x116), ZYDIS_DEFINITION(0x1, 0x130), ZYDIS_DEFINITION(0x1, 0x126) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x10F), ZYDIS_DEFINITION(0x1, 0x11B), ZYDIS_DEFINITION(0x1, 0x139), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x110), ZYDIS_DEFINITION(0x1, 0x11C), ZYDIS_DEFINITION(0x1, 0x13A), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6DD), ZYDIS_DEFINITION(0x1, 0x6DB), ZYDIS_DEFINITION(0x1, 0x6E1), ZYDIS_DEFINITION(0x1, 0x6DF) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6DE), ZYDIS_DEFINITION(0x1, 0x6DC), ZYDIS_DEFINITION(0x1, 0x6E2), ZYDIS_DEFINITION(0x1, 0x6E0) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2E7), ZYDIS_DEFINITION(0x1, 0x2E5), ZYDIS_DEFINITION(0x1, 0x2EB), ZYDIS_DEFINITION(0x1, 0x2E9) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2E8), ZYDIS_DEFINITION(0x1, 0x2E6), ZYDIS_DEFINITION(0x1, 0x2EC), ZYDIS_DEFINITION(0x1, 0x2EA) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x154), ZYDIS_DEFINITION(0x1, 0x152), ZYDIS_DEFINITION(0x1, 0x158), ZYDIS_DEFINITION(0x1, 0x156) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x155), ZYDIS_DEFINITION(0x1, 0x153), ZYDIS_DEFINITION(0x1, 0x159), ZYDIS_DEFINITION(0x1, 0x157) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2DE), ZYDIS_DEFINITION(0x1, 0x2DC), ZYDIS_DEFINITION(0x1, 0x2E2), ZYDIS_DEFINITION(0x1, 0x2E0) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2DF), ZYDIS_DEFINITION(0x1, 0x2DD), ZYDIS_DEFINITION(0x1, 0x2E3), ZYDIS_DEFINITION(0x1, 0x2E1) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5A1), ZYDIS_DEFINITION(0x1, 0x5A3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5A2), ZYDIS_DEFINITION(0x1, 0x5A4), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5AB), ZYDIS_DEFINITION(0x1, 0x5AD), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5AC), ZYDIS_DEFINITION(0x1, 0x5AE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5A5), ZYDIS_DEFINITION(0x1, 0x5A7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5A6), ZYDIS_DEFINITION(0x1, 0x5A8), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x40F), ZYDIS_DEFINITION(0x1, 0x411), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x410), ZYDIS_DEFINITION(0x1, 0x412), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x46A), ZYDIS_DEFINITION(0x1, 0x46C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x46B), ZYDIS_DEFINITION(0x1, 0x46D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x474), ZYDIS_DEFINITION(0x1, 0x476), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x475), ZYDIS_DEFINITION(0x1, 0x477), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x46E), ZYDIS_DEFINITION(0x1, 0x470), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x46F), ZYDIS_DEFINITION(0x1, 0x471), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x415), ZYDIS_DEFINITION(0x1, 0x417), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x416), ZYDIS_DEFINITION(0x1, 0x418), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x593), ZYDIS_DEFINITION(0x1, 0x595), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x594), ZYDIS_DEFINITION(0x1, 0x596), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x59D), ZYDIS_DEFINITION(0x1, 0x59F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x59E), ZYDIS_DEFINITION(0x1, 0x5A0), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x597), ZYDIS_DEFINITION(0x1, 0x599), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x598), ZYDIS_DEFINITION(0x1, 0x59A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x40B), ZYDIS_DEFINITION(0x1, 0x40D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x40C), ZYDIS_DEFINITION(0x1, 0x40E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5A9), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5AA), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x59B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x59C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x27), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x28), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x29), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x2A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x352), ZYDIS_DEFINITION(0x1, 0x331), ZYDIS_DEFINITION(0x1, 0x335), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x353), ZYDIS_DEFINITION(0x1, 0x332), ZYDIS_DEFINITION(0x1, 0x336), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x52F), ZYDIS_DEFINITION(0xB, 0x529), ZYDIS_DEFINITION(0xB, 0x52B), ZYDIS_DEFINITION(0xB, 0x52D) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x530), ZYDIS_DEFINITION(0xB, 0x52A), ZYDIS_DEFINITION(0xB, 0x52C), ZYDIS_DEFINITION(0xB, 0x52E) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0xE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0xF), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x10), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x11), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x12), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x13), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x454), ZYDIS_DEFINITION(0x1, 0x456), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x455), ZYDIS_DEFINITION(0x1, 0x457), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x45E), ZYDIS_DEFINITION(0x1, 0x460), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x45F), ZYDIS_DEFINITION(0x1, 0x461), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x458), ZYDIS_DEFINITION(0x1, 0x45A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x459), ZYDIS_DEFINITION(0x1, 0x45B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x15E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x2B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x14), ZYDIS_INVALID, ZYDIS_DEFINITION(0x13, 0x23E) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x2C), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x2D), ZYDIS_DEFINITION(0x1, 0x16D), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x23F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x2E), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x20F), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x211) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x210), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x212) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x214), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x216) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x215), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x217) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x2F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x30), ZYDIS_DEFINITION(0x1, 0x358), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x31), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x32), ZYDIS_DEFINITION(0x1, 0x359), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x35A), ZYDIS_DEFINITION(0x1, 0x333), ZYDIS_DEFINITION(0x1, 0x337), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x35B), ZYDIS_DEFINITION(0x1, 0x334), ZYDIS_DEFINITION(0x1, 0x338), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x15), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x17), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x18), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x19), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x1A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x1B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x1C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x1D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x1E), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x511), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x512), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x86), ZYDIS_DEFINITION(0x1, 0x88), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_TZCNT, 0x0), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x87), ZYDIS_DEFINITION(0x1, 0x89), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_TZCNT, 0x1), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x8A), ZYDIS_DEFINITION(0x1, 0x8C), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_LZCNT, 0x0), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x8B), ZYDIS_DEFINITION(0x1, 0x8D), ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_LZCNT, 0x1), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xEA), ZYDIS_DEFINITION(0xB, 0xE8), ZYDIS_DEFINITION(0xB, 0xF7), ZYDIS_DEFINITION(0xB, 0xF2) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xEB), ZYDIS_DEFINITION(0xB, 0xE9), ZYDIS_DEFINITION(0xB, 0xF8), ZYDIS_DEFINITION(0xB, 0xF3) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x1), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x4A9), ZYDIS_DEFINITION(0xB, 0x4AB), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x4AA), ZYDIS_DEFINITION(0xB, 0x4AC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x485), ZYDIS_DEFINITION(0xB, 0x486), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x6A4), ZYDIS_DEFINITION(0xB, 0x6A2), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x6A5), ZYDIS_DEFINITION(0xB, 0x6A3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x22), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x23), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x24), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x25), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_REG, 0x26), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x34), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x36) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x35), ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x37) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x56B), ZYDIS_DEFINITION(0x1, 0x56D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x56C), ZYDIS_DEFINITION(0x1, 0x56E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x55E), ZYDIS_DEFINITION(0x1, 0x560), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x55F), ZYDIS_DEFINITION(0x1, 0x561), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x565), ZYDIS_DEFINITION(0x1, 0x567), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x566), ZYDIS_DEFINITION(0x1, 0x568), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x421), ZYDIS_DEFINITION(0x1, 0x423), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x422), ZYDIS_DEFINITION(0x1, 0x424), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4FF), ZYDIS_DEFINITION(0x1, 0x501), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x500), ZYDIS_DEFINITION(0x1, 0x502), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x35C), ZYDIS_DEFINITION(0x1, 0x35E), ZYDIS_DEFINITION(0x1, 0x330) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x35D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4D5), ZYDIS_DEFINITION(0x1, 0x4D6), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x583), ZYDIS_DEFINITION(0x1, 0x585), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x584), ZYDIS_DEFINITION(0x1, 0x586), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x587), ZYDIS_DEFINITION(0x1, 0x589), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x588), ZYDIS_DEFINITION(0x1, 0x58A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4CD), ZYDIS_DEFINITION(0x1, 0x4CF), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4CE), ZYDIS_DEFINITION(0x1, 0x4D0), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x43D), ZYDIS_DEFINITION(0x1, 0x43F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x43E), ZYDIS_DEFINITION(0x1, 0x440), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x42D), ZYDIS_DEFINITION(0x1, 0x42F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x42E), ZYDIS_DEFINITION(0x1, 0x430), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x431), ZYDIS_DEFINITION(0x1, 0x433), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x432), ZYDIS_DEFINITION(0x1, 0x434), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4BD), ZYDIS_DEFINITION(0x1, 0x4BF), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4BE), ZYDIS_DEFINITION(0x1, 0x4C0), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x441), ZYDIS_DEFINITION(0x1, 0x443), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x442), ZYDIS_DEFINITION(0x1, 0x444), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x446), ZYDIS_DEFINITION(0x1, 0x448), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x447), ZYDIS_DEFINITION(0x1, 0x449), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x558), ZYDIS_DEFINITION(0x1, 0x55A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x559), ZYDIS_DEFINITION(0x1, 0x55B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x552), ZYDIS_DEFINITION(0x1, 0x554), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x553), ZYDIS_DEFINITION(0x1, 0x555), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x44A), ZYDIS_DEFINITION(0x1, 0x44C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x44B), ZYDIS_DEFINITION(0x1, 0x44D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4F5), ZYDIS_DEFINITION(0x1, 0x4F7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4F6), ZYDIS_DEFINITION(0x1, 0x4F8), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4F9), ZYDIS_DEFINITION(0x1, 0x4FB), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4FA), ZYDIS_DEFINITION(0x1, 0x4FC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x135), ZYDIS_DEFINITION(0x1, 0x10D), ZYDIS_DEFINITION(0x1, 0x111) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x136), ZYDIS_DEFINITION(0x1, 0x10E), ZYDIS_DEFINITION(0x1, 0x112) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x34B), ZYDIS_DEFINITION(0x1, 0x345), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x57B), ZYDIS_DEFINITION(0x1, 0x57D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x57C), ZYDIS_DEFINITION(0x1, 0x57E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x57F), ZYDIS_DEFINITION(0x1, 0x581), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x580), ZYDIS_DEFINITION(0x1, 0x582), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4C9), ZYDIS_DEFINITION(0x1, 0x4CB), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4CA), ZYDIS_DEFINITION(0x1, 0x4CC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x516), ZYDIS_DEFINITION(0x1, 0x518), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x517), ZYDIS_DEFINITION(0x1, 0x519), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x425), ZYDIS_DEFINITION(0x1, 0x427), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x426), ZYDIS_DEFINITION(0x1, 0x428), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x429), ZYDIS_DEFINITION(0x1, 0x42B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x42A), ZYDIS_DEFINITION(0x1, 0x42C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4B9), ZYDIS_DEFINITION(0x1, 0x4BB), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4BA), ZYDIS_DEFINITION(0x1, 0x4BC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5BF), ZYDIS_DEFINITION(0x1, 0x5C1), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x5C0), ZYDIS_DEFINITION(0x1, 0x5C2), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2B3) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x54C), ZYDIS_DEFINITION(0x1, 0x54E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x54D), ZYDIS_DEFINITION(0x1, 0x54F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x53F), ZYDIS_DEFINITION(0x1, 0x541), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x540), ZYDIS_DEFINITION(0x1, 0x542), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x546), ZYDIS_DEFINITION(0x1, 0x548), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x547), ZYDIS_DEFINITION(0x1, 0x549), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x503), ZYDIS_DEFINITION(0x1, 0x505), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x504), ZYDIS_DEFINITION(0x1, 0x506), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4B1), ZYDIS_DEFINITION(0x1, 0x4B3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x4B2), ZYDIS_DEFINITION(0x1, 0x4B4), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x521), ZYDIS_DEFINITION(0x1, 0x523), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x522), ZYDIS_DEFINITION(0x1, 0x524), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2DB), ZYDIS_DEFINITION(0x1, 0x2DA), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x56F), ZYDIS_DEFINITION(0x1, 0x571), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x570), ZYDIS_DEFINITION(0x1, 0x572), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x58B), ZYDIS_DEFINITION(0x1, 0x58D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x58C), ZYDIS_DEFINITION(0x1, 0x58E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x573), ZYDIS_DEFINITION(0x1, 0x575), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x574), ZYDIS_DEFINITION(0x1, 0x576), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x577), ZYDIS_DEFINITION(0x1, 0x579), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x578), ZYDIS_DEFINITION(0x1, 0x57A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x419), ZYDIS_DEFINITION(0x1, 0x41B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x41A), ZYDIS_DEFINITION(0x1, 0x41C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x435), ZYDIS_DEFINITION(0x1, 0x437), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x436), ZYDIS_DEFINITION(0x1, 0x438), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x41D), ZYDIS_DEFINITION(0x1, 0x41F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x41E), ZYDIS_DEFINITION(0x1, 0x420), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x0, 0x233), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x234), ZYDIS_DEFINITION(0x0, 0x235) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x5), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x7) }, 
+    { ZYDIS_DEFINITION(0x0, 0x3F3), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x3F4), ZYDIS_DEFINITION(0x0, 0x3F5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x8), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0xA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_B, 0x0), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x445), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x0, 0x35F), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x360), ZYDIS_DEFINITION(0x0, 0x361) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x11), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x12), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x13) }, 
+    { ZYDIS_DEFINITION(0x0, 0xEC), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0xED), ZYDIS_DEFINITION(0x0, 0xEE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x14), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x15), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x16) }, 
+    { ZYDIS_DEFINITION(0x0, 0x6BB), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x6BC), ZYDIS_DEFINITION(0x0, 0x6BD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x17), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x18), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x19) }, 
+    { ZYDIS_DEFINITION(0x0, 0x2C4), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x2C5), ZYDIS_DEFINITION(0x0, 0x2C6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x1A), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x1B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x1C) }, 
+    { ZYDIS_DEFINITION(0x0, 0x638), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x639), ZYDIS_DEFINITION(0x0, 0x63A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x1D), ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x1E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_OPERAND_SIZE, 0x1F) }
+};
+
+const ZydisDecoderTreeNode FILTERS_OPERAND_SIZE[][3] =
+{
+    { ZYDIS_DEFINITION(0x0, 0x6EB), ZYDIS_DEFINITION(0x0, 0x6EB), ZYDIS_DEFINITION(0x0, 0x6EA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x348), ZYDIS_DEFINITION(0x1, 0x348), ZYDIS_DEFINITION(0x1, 0x347) }, 
+    { ZYDIS_DEFINITION(0x0, 0x5BA), ZYDIS_DEFINITION(0x0, 0x5BB), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x0, 0x50F), ZYDIS_DEFINITION(0x0, 0x510), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x84), ZYDIS_DEFINITION(0x1, 0x85), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x0, 0x240), ZYDIS_DEFINITION(0x0, 0x236), ZYDIS_DEFINITION(0x0, 0x237) }, 
+    { ZYDIS_DEFINITION(0x0, 0x241), ZYDIS_DEFINITION(0x0, 0x238), ZYDIS_DEFINITION(0x0, 0x239) }, 
+    { ZYDIS_DEFINITION(0x0, 0x242), ZYDIS_DEFINITION(0x0, 0x23A), ZYDIS_DEFINITION(0x0, 0x23B) }, 
+    { ZYDIS_DEFINITION(0x0, 0x3FC), ZYDIS_DEFINITION(0x0, 0x3F6), ZYDIS_DEFINITION(0x0, 0x3F7) }, 
+    { ZYDIS_DEFINITION(0x0, 0x3FD), ZYDIS_DEFINITION(0x0, 0x3F8), ZYDIS_DEFINITION(0x0, 0x3F9) }, 
+    { ZYDIS_DEFINITION(0x0, 0x3FE), ZYDIS_DEFINITION(0x0, 0x3FA), ZYDIS_DEFINITION(0x0, 0x3FB) }, 
+    { ZYDIS_DEFINITION(0x0, 0xA6), ZYDIS_DEFINITION(0x0, 0x146), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x421) }, 
+    { ZYDIS_DEFINITION(0x0, 0x145), ZYDIS_DEFINITION(0x0, 0xA7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x422) }, 
+    { ZYDIS_DEFINITION(0x0, 0x5BC), ZYDIS_DEFINITION(0x0, 0x5BE), ZYDIS_DEFINITION(0x0, 0x5BE) }, 
+    { ZYDIS_DEFINITION(0x0, 0x5BC), ZYDIS_DEFINITION(0x0, 0x5BD), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x0, 0x513), ZYDIS_DEFINITION(0x0, 0x515), ZYDIS_DEFINITION(0x0, 0x515) }, 
+    { ZYDIS_DEFINITION(0x0, 0x513), ZYDIS_DEFINITION(0x0, 0x514), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x0, 0x374), ZYDIS_DEFINITION(0x0, 0x362), ZYDIS_DEFINITION(0x0, 0x36D) }, 
+    { ZYDIS_DEFINITION(0x0, 0x375), ZYDIS_DEFINITION(0x0, 0x363), ZYDIS_DEFINITION(0x0, 0x36E) }, 
+    { ZYDIS_DEFINITION(0x0, 0x376), ZYDIS_DEFINITION(0x0, 0x364), ZYDIS_DEFINITION(0x0, 0x36F) }, 
+    { ZYDIS_DEFINITION(0x0, 0xF9), ZYDIS_DEFINITION(0x0, 0xEF), ZYDIS_DEFINITION(0x0, 0xF4) }, 
+    { ZYDIS_DEFINITION(0x0, 0xFA), ZYDIS_DEFINITION(0x0, 0xF0), ZYDIS_DEFINITION(0x0, 0xF5) }, 
+    { ZYDIS_DEFINITION(0x0, 0xFB), ZYDIS_DEFINITION(0x0, 0xF1), ZYDIS_DEFINITION(0x0, 0xF6) }, 
+    { ZYDIS_DEFINITION(0x0, 0x6C4), ZYDIS_DEFINITION(0x0, 0x6BE), ZYDIS_DEFINITION(0x0, 0x6C1) }, 
+    { ZYDIS_DEFINITION(0x0, 0x6C5), ZYDIS_DEFINITION(0x0, 0x6BF), ZYDIS_DEFINITION(0x0, 0x6C2) }, 
+    { ZYDIS_DEFINITION(0x0, 0x6C6), ZYDIS_DEFINITION(0x0, 0x6C0), ZYDIS_DEFINITION(0x0, 0x6C3) }, 
+    { ZYDIS_DEFINITION(0x0, 0x2CD), ZYDIS_DEFINITION(0x0, 0x2C7), ZYDIS_DEFINITION(0x0, 0x2CA) }, 
+    { ZYDIS_DEFINITION(0x0, 0x2CE), ZYDIS_DEFINITION(0x0, 0x2C8), ZYDIS_DEFINITION(0x0, 0x2CB) }, 
+    { ZYDIS_DEFINITION(0x0, 0x2CF), ZYDIS_DEFINITION(0x0, 0x2C9), ZYDIS_DEFINITION(0x0, 0x2CC) }, 
+    { ZYDIS_DEFINITION(0x0, 0x641), ZYDIS_DEFINITION(0x0, 0x63B), ZYDIS_DEFINITION(0x0, 0x63E) }, 
+    { ZYDIS_DEFINITION(0x0, 0x642), ZYDIS_DEFINITION(0x0, 0x63C), ZYDIS_DEFINITION(0x0, 0x63F) }, 
+    { ZYDIS_DEFINITION(0x0, 0x643), ZYDIS_DEFINITION(0x0, 0x63D), ZYDIS_DEFINITION(0x0, 0x640) }, 
+    { ZYDIS_DEFINITION(0x0, 0x250), ZYDIS_DEFINITION(0x0, 0x251), ZYDIS_DEFINITION(0x0, 0x252) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1BF), ZYDIS_DEFINITION(0x1, 0x1C0), ZYDIS_DEFINITION(0x1, 0x1C0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1D2), ZYDIS_DEFINITION(0x1, 0x1D3), ZYDIS_DEFINITION(0x1, 0x1D3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1DB), ZYDIS_DEFINITION(0x1, 0x1DC), ZYDIS_DEFINITION(0x1, 0x1DC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1CF), ZYDIS_DEFINITION(0x1, 0x1D0), ZYDIS_DEFINITION(0x1, 0x1D0) }, 
+    { ZYDIS_DEFINITION(0x3, 0x227), ZYDIS_DEFINITION(0x3, 0x228), ZYDIS_DEFINITION(0x3, 0x228) }, 
+    { ZYDIS_DEFINITION(0x3, 0x3EE), ZYDIS_DEFINITION(0x3, 0x3EF), ZYDIS_DEFINITION(0x3, 0x3EF) }, 
+    { ZYDIS_DEFINITION(0x0, 0x22A), ZYDIS_DEFINITION(0x0, 0x22B), ZYDIS_DEFINITION(0x0, 0x22B) }, 
+    { ZYDIS_DEFINITION(0x0, 0x3F1), ZYDIS_DEFINITION(0x0, 0x3F2), ZYDIS_DEFINITION(0x0, 0x3F2) }
+};
+
+const ZydisDecoderTreeNode FILTERS_ADDRESS_SIZE[][3] =
+{
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x79), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x7E), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6F), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x77), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x83), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x81), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x7B), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x73), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C4) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C5) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C6) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C7) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C8) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C9) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CA) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CB) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E8) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E9) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EA) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EB) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EC) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1ED) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EE) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1EF) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22C) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22D) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22E) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x230), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x230) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x231), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x231) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x232), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x232) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x233), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x233) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x234), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x234) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x235), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x235) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x236), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x236) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x237), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x237) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x238), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x238) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x239), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x239) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23A) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23B) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x468), ZYDIS_DEFINITION(0x1, 0x468) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x46A), ZYDIS_DEFINITION(0x1, 0x46A) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x469), ZYDIS_DEFINITION(0x1, 0x469) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x46B), ZYDIS_DEFINITION(0x1, 0x46B) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x46C), ZYDIS_DEFINITION(0x1, 0x46C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x46E), ZYDIS_DEFINITION(0x1, 0x46E) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x46D), ZYDIS_DEFINITION(0x1, 0x46D) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x46F), ZYDIS_DEFINITION(0x1, 0x46F) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2BF), ZYDIS_DEFINITION(0x1, 0x2BF) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2BD), ZYDIS_DEFINITION(0x1, 0x2BD) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2C0), ZYDIS_DEFINITION(0x1, 0x2C0) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2BE), ZYDIS_DEFINITION(0x1, 0x2BE) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2C3), ZYDIS_DEFINITION(0x1, 0x2C3) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2C1), ZYDIS_DEFINITION(0x1, 0x2C1) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2C4), ZYDIS_DEFINITION(0x1, 0x2C4) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2C2), ZYDIS_DEFINITION(0x1, 0x2C2) }, 
+    { ZYDIS_DEFINITION(0x8, 0x25D), ZYDIS_DEFINITION(0x8, 0x25E), ZYDIS_DEFINITION(0x8, 0x2A5) }, 
+    { ZYDIS_DEFINITION(0x8, 0x25D), ZYDIS_DEFINITION(0x8, 0x25F), ZYDIS_DEFINITION(0x8, 0x2A5) }
+};
+
+const ZydisDecoderTreeNode FILTERS_VECTOR_LENGTH[][3] =
+{
+    { ZYDIS_DEFINITION(0x1, 0x4D2), ZYDIS_DEFINITION(0x1, 0x4D3), ZYDIS_DEFINITION(0x1, 0x4D4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4D5), ZYDIS_DEFINITION(0x1, 0x4D6), ZYDIS_DEFINITION(0x1, 0x4D7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4D8), ZYDIS_DEFINITION(0x1, 0x4D9), ZYDIS_DEFINITION(0x1, 0x4DA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4DB), ZYDIS_DEFINITION(0x1, 0x4DC), ZYDIS_DEFINITION(0x1, 0x4DD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x494), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x49C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x49D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xBDA), ZYDIS_DEFINITION(0x1, 0xBDB), ZYDIS_DEFINITION(0x1, 0xBDC) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBDD), ZYDIS_DEFINITION(0x1, 0xBDE), ZYDIS_DEFINITION(0x1, 0xBDF) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBCE), ZYDIS_DEFINITION(0x1, 0xBCF), ZYDIS_DEFINITION(0x1, 0xBD0) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBD1), ZYDIS_DEFINITION(0x1, 0xBD2), ZYDIS_DEFINITION(0x1, 0xBD3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x499), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x497), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x498), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x432), ZYDIS_DEFINITION(0x1, 0x433), ZYDIS_DEFINITION(0x1, 0x434) }, 
+    { ZYDIS_DEFINITION(0x1, 0x435), ZYDIS_DEFINITION(0x1, 0x436), ZYDIS_DEFINITION(0x1, 0x437) }, 
+    { ZYDIS_DEFINITION(0x1, 0x438), ZYDIS_DEFINITION(0x1, 0x439), ZYDIS_DEFINITION(0x1, 0x43A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x43B), ZYDIS_DEFINITION(0x1, 0x43C), ZYDIS_DEFINITION(0x1, 0x43D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4A7), ZYDIS_DEFINITION(0x1, 0x4A8), ZYDIS_DEFINITION(0x1, 0x4A9) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBA2), ZYDIS_DEFINITION(0x1, 0xBA3), ZYDIS_DEFINITION(0x1, 0xBA4) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBA5), ZYDIS_DEFINITION(0x1, 0xBA6), ZYDIS_DEFINITION(0x1, 0xBA7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4E), ZYDIS_DEFINITION(0x1, 0x4F), ZYDIS_DEFINITION(0x1, 0x50) }, 
+    { ZYDIS_DEFINITION(0x1, 0x51), ZYDIS_DEFINITION(0x1, 0x52), ZYDIS_DEFINITION(0x1, 0x53) }, 
+    { ZYDIS_DEFINITION(0x1, 0x42), ZYDIS_DEFINITION(0x1, 0x43), ZYDIS_DEFINITION(0x1, 0x44) }, 
+    { ZYDIS_DEFINITION(0x1, 0x45), ZYDIS_DEFINITION(0x1, 0x46), ZYDIS_DEFINITION(0x1, 0x47) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4F8), ZYDIS_DEFINITION(0x1, 0x4F9), ZYDIS_DEFINITION(0x1, 0x4FA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4FB), ZYDIS_DEFINITION(0x1, 0x4FC), ZYDIS_DEFINITION(0x1, 0x4FD) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBE6), ZYDIS_DEFINITION(0x1, 0xBE7), ZYDIS_DEFINITION(0x1, 0xBE8) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBE9), ZYDIS_DEFINITION(0x1, 0xBEA), ZYDIS_DEFINITION(0x1, 0xBEB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC), ZYDIS_DEFINITION(0x1, 0xD), ZYDIS_DEFINITION(0x1, 0xE) }, 
+    { ZYDIS_DEFINITION(0x1, 0xF), ZYDIS_DEFINITION(0x1, 0x10), ZYDIS_DEFINITION(0x1, 0x11) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4E6), ZYDIS_DEFINITION(0x1, 0x4E7), ZYDIS_DEFINITION(0x1, 0x4E8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4E9), ZYDIS_DEFINITION(0x1, 0x4EA), ZYDIS_DEFINITION(0x1, 0x4EB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xF1), ZYDIS_DEFINITION(0x1, 0xF2), ZYDIS_DEFINITION(0x1, 0xF3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xF4), ZYDIS_DEFINITION(0x1, 0xF5), ZYDIS_DEFINITION(0x1, 0xF6) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAD), ZYDIS_DEFINITION(0x1, 0xAE), ZYDIS_DEFINITION(0x1, 0xAF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x11B), ZYDIS_DEFINITION(0x1, 0x11C), ZYDIS_DEFINITION(0x1, 0x11D) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB0), ZYDIS_DEFINITION(0x1, 0xB1), ZYDIS_DEFINITION(0x1, 0xB2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x11E), ZYDIS_DEFINITION(0x1, 0x11F), ZYDIS_DEFINITION(0x1, 0x120) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBB6), ZYDIS_DEFINITION(0x1, 0xBB7), ZYDIS_DEFINITION(0x1, 0xBB8) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBB9), ZYDIS_DEFINITION(0x1, 0xBBA), ZYDIS_DEFINITION(0x1, 0xBBB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x41A), ZYDIS_DEFINITION(0x1, 0x41B), ZYDIS_DEFINITION(0x1, 0x41C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x41D), ZYDIS_DEFINITION(0x1, 0x41E), ZYDIS_DEFINITION(0x1, 0x41F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1F0), ZYDIS_DEFINITION(0x1, 0x1F1), ZYDIS_DEFINITION(0x1, 0x1F2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1F3), ZYDIS_DEFINITION(0x1, 0x1F4), ZYDIS_DEFINITION(0x1, 0x1F5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x406), ZYDIS_DEFINITION(0x1, 0x407), ZYDIS_DEFINITION(0x1, 0x408) }, 
+    { ZYDIS_DEFINITION(0x1, 0x409), ZYDIS_DEFINITION(0x1, 0x40A), ZYDIS_DEFINITION(0x1, 0x40B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x186), ZYDIS_DEFINITION(0x1, 0x187), ZYDIS_DEFINITION(0x1, 0x188) }, 
+    { ZYDIS_DEFINITION(0x1, 0x16A), ZYDIS_DEFINITION(0x1, 0x16B), ZYDIS_DEFINITION(0x1, 0x16C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x189), ZYDIS_DEFINITION(0x1, 0x18A), ZYDIS_DEFINITION(0x1, 0x18B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x16D), ZYDIS_DEFINITION(0x1, 0x16E), ZYDIS_DEFINITION(0x1, 0x16F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x106), ZYDIS_DEFINITION(0x1, 0x107), ZYDIS_DEFINITION(0x1, 0x108) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD5), ZYDIS_DEFINITION(0x1, 0xD6), ZYDIS_DEFINITION(0x1, 0xD7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x109), ZYDIS_DEFINITION(0x1, 0x10A), ZYDIS_DEFINITION(0x1, 0x10B) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD8), ZYDIS_DEFINITION(0x1, 0xD9), ZYDIS_DEFINITION(0x1, 0xDA) }, 
+    { ZYDIS_DEFINITION(0xB, 0x88), ZYDIS_DEFINITION(0xB, 0x89), ZYDIS_DEFINITION(0xB, 0x8A) }, 
+    { ZYDIS_DEFINITION(0xB, 0x8B), ZYDIS_DEFINITION(0xB, 0x8C), ZYDIS_DEFINITION(0xB, 0x8D) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB94), ZYDIS_DEFINITION(0xB, 0xB95), ZYDIS_DEFINITION(0xB, 0xB96) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB97), ZYDIS_DEFINITION(0xB, 0xB98), ZYDIS_DEFINITION(0xB, 0xB99) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C6), ZYDIS_DEFINITION(0x1, 0x4C7), ZYDIS_DEFINITION(0x1, 0x4C8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C9), ZYDIS_DEFINITION(0x1, 0x4CA), ZYDIS_DEFINITION(0x1, 0x4CB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4CC), ZYDIS_DEFINITION(0x1, 0x4CD), ZYDIS_DEFINITION(0x1, 0x4CE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4CF), ZYDIS_DEFINITION(0x1, 0x4D0), ZYDIS_DEFINITION(0x1, 0x4D1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x49A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x49B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xBD4), ZYDIS_DEFINITION(0x1, 0xBD5), ZYDIS_DEFINITION(0x1, 0xBD6) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBD7), ZYDIS_DEFINITION(0x1, 0xBD8), ZYDIS_DEFINITION(0x1, 0xBD9) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBC8), ZYDIS_DEFINITION(0x1, 0xBC9), ZYDIS_DEFINITION(0x1, 0xBCA) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBCB), ZYDIS_DEFINITION(0x1, 0xBCC), ZYDIS_DEFINITION(0x1, 0xBCD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x495), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x496), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x426), ZYDIS_DEFINITION(0x1, 0x427), ZYDIS_DEFINITION(0x1, 0x428) }, 
+    { ZYDIS_DEFINITION(0x1, 0x429), ZYDIS_DEFINITION(0x1, 0x42A), ZYDIS_DEFINITION(0x1, 0x42B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x42C), ZYDIS_DEFINITION(0x1, 0x42D), ZYDIS_DEFINITION(0x1, 0x42E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x42F), ZYDIS_DEFINITION(0x1, 0x430), ZYDIS_DEFINITION(0x1, 0x431) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4A4), ZYDIS_DEFINITION(0x1, 0x4A5), ZYDIS_DEFINITION(0x1, 0x4A6) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB9B), ZYDIS_DEFINITION(0x1, 0xB9C), ZYDIS_DEFINITION(0x1, 0xB9D) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB9E), ZYDIS_DEFINITION(0x1, 0xB9F), ZYDIS_DEFINITION(0x1, 0xBA0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x48), ZYDIS_DEFINITION(0x1, 0x49), ZYDIS_DEFINITION(0x1, 0x4A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B), ZYDIS_DEFINITION(0x1, 0x4C), ZYDIS_DEFINITION(0x1, 0x4D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3C), ZYDIS_DEFINITION(0x1, 0x3D), ZYDIS_DEFINITION(0x1, 0x3E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3F), ZYDIS_DEFINITION(0x1, 0x40), ZYDIS_DEFINITION(0x1, 0x41) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4F2), ZYDIS_DEFINITION(0x1, 0x4F3), ZYDIS_DEFINITION(0x1, 0x4F4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4F5), ZYDIS_DEFINITION(0x1, 0x4F6), ZYDIS_DEFINITION(0x1, 0x4F7) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBE0), ZYDIS_DEFINITION(0x1, 0xBE1), ZYDIS_DEFINITION(0x1, 0xBE2) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBE3), ZYDIS_DEFINITION(0x1, 0xBE4), ZYDIS_DEFINITION(0x1, 0xBE5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5), ZYDIS_DEFINITION(0x1, 0x6), ZYDIS_DEFINITION(0x1, 0x7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8), ZYDIS_DEFINITION(0x1, 0x9), ZYDIS_DEFINITION(0x1, 0xA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4DF), ZYDIS_DEFINITION(0x1, 0x4E0), ZYDIS_DEFINITION(0x1, 0x4E1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4E2), ZYDIS_DEFINITION(0x1, 0x4E3), ZYDIS_DEFINITION(0x1, 0x4E4) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC7), ZYDIS_DEFINITION(0x1, 0xC8), ZYDIS_DEFINITION(0x1, 0xC9) }, 
+    { ZYDIS_DEFINITION(0x1, 0xCA), ZYDIS_DEFINITION(0x1, 0xCB), ZYDIS_DEFINITION(0x1, 0xCC) }, 
+    { ZYDIS_DEFINITION(0x1, 0xEA), ZYDIS_DEFINITION(0x1, 0xEB), ZYDIS_DEFINITION(0x1, 0xEC) }, 
+    { ZYDIS_DEFINITION(0x1, 0xED), ZYDIS_DEFINITION(0x1, 0xEE), ZYDIS_DEFINITION(0x1, 0xEF) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBAF), ZYDIS_DEFINITION(0x1, 0xBB0), ZYDIS_DEFINITION(0x1, 0xBB1) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBB2), ZYDIS_DEFINITION(0x1, 0xBB3), ZYDIS_DEFINITION(0x1, 0xBB4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x413), ZYDIS_DEFINITION(0x1, 0x414), ZYDIS_DEFINITION(0x1, 0x415) }, 
+    { ZYDIS_DEFINITION(0x1, 0x416), ZYDIS_DEFINITION(0x1, 0x417), ZYDIS_DEFINITION(0x1, 0x418) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1E9), ZYDIS_DEFINITION(0x1, 0x1EA), ZYDIS_DEFINITION(0x1, 0x1EB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1EC), ZYDIS_DEFINITION(0x1, 0x1ED), ZYDIS_DEFINITION(0x1, 0x1EE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3FF), ZYDIS_DEFINITION(0x1, 0x400), ZYDIS_DEFINITION(0x1, 0x401) }, 
+    { ZYDIS_DEFINITION(0x1, 0x402), ZYDIS_DEFINITION(0x1, 0x403), ZYDIS_DEFINITION(0x1, 0x404) }, 
+    { ZYDIS_DEFINITION(0x1, 0xABE), ZYDIS_DEFINITION(0x1, 0xABF), ZYDIS_DEFINITION(0x1, 0xAC0) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAC1), ZYDIS_DEFINITION(0x1, 0xAC2), ZYDIS_DEFINITION(0x1, 0xAC3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAD0), ZYDIS_DEFINITION(0x1, 0xAD1), ZYDIS_DEFINITION(0x1, 0xAD2) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAD3), ZYDIS_DEFINITION(0x1, 0xAD4), ZYDIS_DEFINITION(0x1, 0xAD5) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAC4), ZYDIS_DEFINITION(0x1, 0xAC5), ZYDIS_DEFINITION(0x1, 0xAC6) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAC7), ZYDIS_DEFINITION(0x1, 0xAC8), ZYDIS_DEFINITION(0x1, 0xAC9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x52A), ZYDIS_DEFINITION(0x1, 0x52B), ZYDIS_DEFINITION(0x1, 0x52C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x52D), ZYDIS_DEFINITION(0x1, 0x52E), ZYDIS_DEFINITION(0x1, 0x52F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x605), ZYDIS_DEFINITION(0x1, 0x606), ZYDIS_DEFINITION(0x1, 0x607) }, 
+    { ZYDIS_DEFINITION(0x1, 0x608), ZYDIS_DEFINITION(0x1, 0x609), ZYDIS_DEFINITION(0x1, 0x60A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x617), ZYDIS_DEFINITION(0x1, 0x618), ZYDIS_DEFINITION(0x1, 0x619) }, 
+    { ZYDIS_DEFINITION(0x1, 0x61A), ZYDIS_DEFINITION(0x1, 0x61B), ZYDIS_DEFINITION(0x1, 0x61C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x60B), ZYDIS_DEFINITION(0x1, 0x60C), ZYDIS_DEFINITION(0x1, 0x60D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x60E), ZYDIS_DEFINITION(0x1, 0x60F), ZYDIS_DEFINITION(0x1, 0x610) }, 
+    { ZYDIS_DEFINITION(0x1, 0x536), ZYDIS_DEFINITION(0x1, 0x537), ZYDIS_DEFINITION(0x1, 0x538) }, 
+    { ZYDIS_DEFINITION(0x1, 0x539), ZYDIS_DEFINITION(0x1, 0x53A), ZYDIS_DEFINITION(0x1, 0x53B) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAA6), ZYDIS_DEFINITION(0x1, 0xAA7), ZYDIS_DEFINITION(0x1, 0xAA8) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAA9), ZYDIS_DEFINITION(0x1, 0xAAA), ZYDIS_DEFINITION(0x1, 0xAAB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAB8), ZYDIS_DEFINITION(0x1, 0xAB9), ZYDIS_DEFINITION(0x1, 0xABA) }, 
+    { ZYDIS_DEFINITION(0x1, 0xABB), ZYDIS_DEFINITION(0x1, 0xABC), ZYDIS_DEFINITION(0x1, 0xABD) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAAC), ZYDIS_DEFINITION(0x1, 0xAAD), ZYDIS_DEFINITION(0x1, 0xAAE) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAAF), ZYDIS_DEFINITION(0x1, 0xAB0), ZYDIS_DEFINITION(0x1, 0xAB1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x524), ZYDIS_DEFINITION(0x1, 0x525), ZYDIS_DEFINITION(0x1, 0x526) }, 
+    { ZYDIS_DEFINITION(0x1, 0x527), ZYDIS_DEFINITION(0x1, 0x528), ZYDIS_DEFINITION(0x1, 0x529) }, 
+    { ZYDIS_DEFINITION(0x1, 0xACA), ZYDIS_DEFINITION(0x1, 0xACB), ZYDIS_DEFINITION(0x1, 0xACC) }, 
+    { ZYDIS_DEFINITION(0x1, 0xACD), ZYDIS_DEFINITION(0x1, 0xACE), ZYDIS_DEFINITION(0x1, 0xACF) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAB2), ZYDIS_DEFINITION(0x1, 0xAB3), ZYDIS_DEFINITION(0x1, 0xAB4) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAB5), ZYDIS_DEFINITION(0x1, 0xAB6), ZYDIS_DEFINITION(0x1, 0xAB7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x43E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4AA), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x440), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x43F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4AB), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x441), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x44C), ZYDIS_DEFINITION(0x1, 0x44D), ZYDIS_DEFINITION(0x1, 0x44E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x458), ZYDIS_DEFINITION(0x1, 0x459), ZYDIS_DEFINITION(0x1, 0x45A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x44F), ZYDIS_DEFINITION(0x1, 0x450), ZYDIS_DEFINITION(0x1, 0x451) }, 
+    { ZYDIS_DEFINITION(0x1, 0x45B), ZYDIS_DEFINITION(0x1, 0x45C), ZYDIS_DEFINITION(0x1, 0x45D) }, 
+    { ZYDIS_DEFINITION(0xB, 0x97A), ZYDIS_DEFINITION(0xB, 0x97B), ZYDIS_DEFINITION(0xB, 0x97C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x97D), ZYDIS_DEFINITION(0xB, 0x97E), ZYDIS_DEFINITION(0xB, 0x97F) }, 
+    { ZYDIS_DEFINITION(0xB, 0xA2E), ZYDIS_DEFINITION(0xB, 0xA2F), ZYDIS_DEFINITION(0xB, 0xA30) }, 
+    { ZYDIS_DEFINITION(0xB, 0x9F2), ZYDIS_DEFINITION(0xB, 0x9F3), ZYDIS_DEFINITION(0xB, 0x9F4) }, 
+    { ZYDIS_DEFINITION(0xB, 0x9BC), ZYDIS_DEFINITION(0xB, 0x9BD), ZYDIS_DEFINITION(0xB, 0x9BE) }, 
+    { ZYDIS_DEFINITION(0xB, 0xA31), ZYDIS_DEFINITION(0xB, 0xA32), ZYDIS_DEFINITION(0xB, 0xA33) }, 
+    { ZYDIS_DEFINITION(0xB, 0x9F5), ZYDIS_DEFINITION(0xB, 0x9F6), ZYDIS_DEFINITION(0xB, 0x9F7) }, 
+    { ZYDIS_DEFINITION(0xB, 0x9BF), ZYDIS_DEFINITION(0xB, 0x9C0), ZYDIS_DEFINITION(0xB, 0x9C1) }, 
+    { ZYDIS_DEFINITION(0xB, 0x8FC), ZYDIS_DEFINITION(0xB, 0x8FD), ZYDIS_DEFINITION(0xB, 0x8FE) }, 
+    { ZYDIS_DEFINITION(0xB, 0x902), ZYDIS_DEFINITION(0xB, 0x903), ZYDIS_DEFINITION(0xB, 0x904) }, 
+    { ZYDIS_DEFINITION(0xB, 0x8E4), ZYDIS_DEFINITION(0xB, 0x8E5), ZYDIS_DEFINITION(0xB, 0x8E6) }, 
+    { ZYDIS_DEFINITION(0xB, 0x8EA), ZYDIS_DEFINITION(0xB, 0x8EB), ZYDIS_DEFINITION(0xB, 0x8EC) }, 
+    { ZYDIS_DEFINITION(0xB, 0x9FE), ZYDIS_DEFINITION(0xB, 0x9FF), ZYDIS_DEFINITION(0xB, 0xA00) }, 
+    { ZYDIS_DEFINITION(0xB, 0x9C8), ZYDIS_DEFINITION(0xB, 0x9C9), ZYDIS_DEFINITION(0xB, 0x9CA) }, 
+    { ZYDIS_DEFINITION(0xB, 0x9D4), ZYDIS_DEFINITION(0xB, 0x9D5), ZYDIS_DEFINITION(0xB, 0x9D6) }, 
+    { ZYDIS_DEFINITION(0xB, 0x98C), ZYDIS_DEFINITION(0xB, 0x98D), ZYDIS_DEFINITION(0xB, 0x98E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x8FF), ZYDIS_DEFINITION(0xB, 0x900), ZYDIS_DEFINITION(0xB, 0x901) }, 
+    { ZYDIS_DEFINITION(0xB, 0x905), ZYDIS_DEFINITION(0xB, 0x906), ZYDIS_DEFINITION(0xB, 0x907) }, 
+    { ZYDIS_DEFINITION(0xB, 0x8E7), ZYDIS_DEFINITION(0xB, 0x8E8), ZYDIS_DEFINITION(0xB, 0x8E9) }, 
+    { ZYDIS_DEFINITION(0xB, 0x8ED), ZYDIS_DEFINITION(0xB, 0x8EE), ZYDIS_DEFINITION(0xB, 0x8EF) }, 
+    { ZYDIS_DEFINITION(0xB, 0xA01), ZYDIS_DEFINITION(0xB, 0xA02), ZYDIS_DEFINITION(0xB, 0xA03) }, 
+    { ZYDIS_DEFINITION(0xB, 0x9CB), ZYDIS_DEFINITION(0xB, 0x9CC), ZYDIS_DEFINITION(0xB, 0x9CD) }, 
+    { ZYDIS_DEFINITION(0xB, 0x9D7), ZYDIS_DEFINITION(0xB, 0x9D8), ZYDIS_DEFINITION(0xB, 0x9D9) }, 
+    { ZYDIS_DEFINITION(0xB, 0x98F), ZYDIS_DEFINITION(0xB, 0x990), ZYDIS_DEFINITION(0xB, 0x991) }, 
+    { ZYDIS_DEFINITION(0xB, 0xA10), ZYDIS_DEFINITION(0xB, 0xA11), ZYDIS_DEFINITION(0xB, 0xA12) }, 
+    { ZYDIS_DEFINITION(0xB, 0xA0A), ZYDIS_DEFINITION(0xB, 0xA0B), ZYDIS_DEFINITION(0xB, 0xA0C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x99E), ZYDIS_DEFINITION(0xB, 0x99F), ZYDIS_DEFINITION(0xB, 0x9A0) }, 
+    { ZYDIS_DEFINITION(0xB, 0x998), ZYDIS_DEFINITION(0xB, 0x999), ZYDIS_DEFINITION(0xB, 0x99A) }, 
+    { ZYDIS_DEFINITION(0xB, 0xA13), ZYDIS_DEFINITION(0xB, 0xA14), ZYDIS_DEFINITION(0xB, 0xA15) }, 
+    { ZYDIS_DEFINITION(0xB, 0xA0D), ZYDIS_DEFINITION(0xB, 0xA0E), ZYDIS_DEFINITION(0xB, 0xA0F) }, 
+    { ZYDIS_DEFINITION(0xB, 0x9A1), ZYDIS_DEFINITION(0xB, 0x9A2), ZYDIS_DEFINITION(0xB, 0x9A3) }, 
+    { ZYDIS_DEFINITION(0xB, 0x99B), ZYDIS_DEFINITION(0xB, 0x99C), ZYDIS_DEFINITION(0xB, 0x99D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5ED), ZYDIS_DEFINITION(0x1, 0x5EE), ZYDIS_DEFINITION(0x1, 0x5EF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5F0), ZYDIS_DEFINITION(0x1, 0x5F1), ZYDIS_DEFINITION(0x1, 0x5F2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5FF), ZYDIS_DEFINITION(0x1, 0x600), ZYDIS_DEFINITION(0x1, 0x601) }, 
+    { ZYDIS_DEFINITION(0x1, 0x602), ZYDIS_DEFINITION(0x1, 0x603), ZYDIS_DEFINITION(0x1, 0x604) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5F3), ZYDIS_DEFINITION(0x1, 0x5F4), ZYDIS_DEFINITION(0x1, 0x5F5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5F6), ZYDIS_DEFINITION(0x1, 0x5F7), ZYDIS_DEFINITION(0x1, 0x5F8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x18D), ZYDIS_DEFINITION(0x1, 0x18E), ZYDIS_DEFINITION(0x1, 0x18F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x171), ZYDIS_DEFINITION(0x1, 0x172), ZYDIS_DEFINITION(0x1, 0x173) }, 
+    { ZYDIS_DEFINITION(0x1, 0x190), ZYDIS_DEFINITION(0x1, 0x191), ZYDIS_DEFINITION(0x1, 0x192) }, 
+    { ZYDIS_DEFINITION(0x1, 0x174), ZYDIS_DEFINITION(0x1, 0x175), ZYDIS_DEFINITION(0x1, 0x176) }, 
+    { ZYDIS_DEFINITION(0x1, 0x10D), ZYDIS_DEFINITION(0x1, 0x10E), ZYDIS_DEFINITION(0x1, 0x10F) }, 
+    { ZYDIS_DEFINITION(0x1, 0xDC), ZYDIS_DEFINITION(0x1, 0xDD), ZYDIS_DEFINITION(0x1, 0xDE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x110), ZYDIS_DEFINITION(0x1, 0x111), ZYDIS_DEFINITION(0x1, 0x112) }, 
+    { ZYDIS_DEFINITION(0x1, 0xDF), ZYDIS_DEFINITION(0x1, 0xE0), ZYDIS_DEFINITION(0x1, 0xE1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x17F), ZYDIS_DEFINITION(0x1, 0x180), ZYDIS_DEFINITION(0x1, 0x181) }, 
+    { ZYDIS_DEFINITION(0x1, 0x163), ZYDIS_DEFINITION(0x1, 0x164), ZYDIS_DEFINITION(0x1, 0x165) }, 
+    { ZYDIS_DEFINITION(0x1, 0x182), ZYDIS_DEFINITION(0x1, 0x183), ZYDIS_DEFINITION(0x1, 0x184) }, 
+    { ZYDIS_DEFINITION(0x1, 0x166), ZYDIS_DEFINITION(0x1, 0x167), ZYDIS_DEFINITION(0x1, 0x168) }, 
+    { ZYDIS_DEFINITION(0x1, 0xFF), ZYDIS_DEFINITION(0x1, 0x100), ZYDIS_DEFINITION(0x1, 0x101) }, 
+    { ZYDIS_DEFINITION(0x1, 0xCE), ZYDIS_DEFINITION(0x1, 0xCF), ZYDIS_DEFINITION(0x1, 0xD0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x102), ZYDIS_DEFINITION(0x1, 0x103), ZYDIS_DEFINITION(0x1, 0x104) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD1), ZYDIS_DEFINITION(0x1, 0xD2), ZYDIS_DEFINITION(0x1, 0xD3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x442), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4AC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x444), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x443), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4AD), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x445), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x452), ZYDIS_DEFINITION(0x1, 0x453), ZYDIS_DEFINITION(0x1, 0x454) }, 
+    { ZYDIS_DEFINITION(0x1, 0x45E), ZYDIS_DEFINITION(0x1, 0x45F), ZYDIS_DEFINITION(0x1, 0x460) }, 
+    { ZYDIS_DEFINITION(0x1, 0x455), ZYDIS_DEFINITION(0x1, 0x456), ZYDIS_DEFINITION(0x1, 0x457) }, 
+    { ZYDIS_DEFINITION(0x1, 0x461), ZYDIS_DEFINITION(0x1, 0x462), ZYDIS_DEFINITION(0x1, 0x463) }, 
+    { ZYDIS_DEFINITION(0xB, 0x81), ZYDIS_DEFINITION(0xB, 0x82), ZYDIS_DEFINITION(0xB, 0x83) }, 
+    { ZYDIS_DEFINITION(0xB, 0x84), ZYDIS_DEFINITION(0xB, 0x85), ZYDIS_DEFINITION(0xB, 0x86) }, 
+    { ZYDIS_DEFINITION(0xB, 0x738), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x739), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x721), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0xB8E), ZYDIS_DEFINITION(0xB, 0xB8F), ZYDIS_DEFINITION(0xB, 0xB90) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB91), ZYDIS_DEFINITION(0xB, 0xB92), ZYDIS_DEFINITION(0xB, 0xB93) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA34), ZYDIS_DEFINITION(0x1, 0xA35), ZYDIS_DEFINITION(0x1, 0xA36) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA37), ZYDIS_DEFINITION(0x1, 0xA38), ZYDIS_DEFINITION(0x1, 0xA39) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA04), ZYDIS_DEFINITION(0x1, 0xA05), ZYDIS_DEFINITION(0x1, 0xA06) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA07), ZYDIS_DEFINITION(0x1, 0xA08), ZYDIS_DEFINITION(0x1, 0xA09) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA16), ZYDIS_DEFINITION(0x1, 0xA17), ZYDIS_DEFINITION(0x1, 0xA18) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA19), ZYDIS_DEFINITION(0x1, 0xA1A), ZYDIS_DEFINITION(0x1, 0xA1B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x548), ZYDIS_DEFINITION(0x1, 0x549), ZYDIS_DEFINITION(0x1, 0x54A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x54B), ZYDIS_DEFINITION(0x1, 0x54C), ZYDIS_DEFINITION(0x1, 0x54D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8AE), ZYDIS_DEFINITION(0x1, 0x8AF), ZYDIS_DEFINITION(0x1, 0x8B0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8B1), ZYDIS_DEFINITION(0x1, 0x8B2), ZYDIS_DEFINITION(0x1, 0x8B3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B0), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B1), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xA58), ZYDIS_DEFINITION(0x1, 0xA59), ZYDIS_DEFINITION(0x1, 0xA5A) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA5B), ZYDIS_DEFINITION(0x1, 0xA5C), ZYDIS_DEFINITION(0x1, 0xA5D) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA5E), ZYDIS_DEFINITION(0x1, 0xA5F), ZYDIS_DEFINITION(0x1, 0xA60) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA61), ZYDIS_DEFINITION(0x1, 0xA62), ZYDIS_DEFINITION(0x1, 0xA63) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7A6), ZYDIS_DEFINITION(0x1, 0x7A7), ZYDIS_DEFINITION(0x1, 0x7A8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7A9), ZYDIS_DEFINITION(0x1, 0x7AA), ZYDIS_DEFINITION(0x1, 0x7AB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x572), ZYDIS_DEFINITION(0x1, 0x573), ZYDIS_DEFINITION(0x1, 0x574) }, 
+    { ZYDIS_DEFINITION(0x1, 0x584), ZYDIS_DEFINITION(0x1, 0x585), ZYDIS_DEFINITION(0x1, 0x586) }, 
+    { ZYDIS_DEFINITION(0x1, 0x575), ZYDIS_DEFINITION(0x1, 0x576), ZYDIS_DEFINITION(0x1, 0x577) }, 
+    { ZYDIS_DEFINITION(0x1, 0x587), ZYDIS_DEFINITION(0x1, 0x588), ZYDIS_DEFINITION(0x1, 0x589) }, 
+    { ZYDIS_DEFINITION(0x1, 0x55A), ZYDIS_DEFINITION(0x1, 0x55B), ZYDIS_DEFINITION(0x1, 0x55C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x55D), ZYDIS_DEFINITION(0x1, 0x55E), ZYDIS_DEFINITION(0x1, 0x55F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x560), ZYDIS_DEFINITION(0x1, 0x561), ZYDIS_DEFINITION(0x1, 0x562) }, 
+    { ZYDIS_DEFINITION(0x1, 0x563), ZYDIS_DEFINITION(0x1, 0x564), ZYDIS_DEFINITION(0x1, 0x565) }, 
+    { ZYDIS_DEFINITION(0x1, 0x776), ZYDIS_DEFINITION(0x1, 0x777), ZYDIS_DEFINITION(0x1, 0x778) }, 
+    { ZYDIS_DEFINITION(0x1, 0x779), ZYDIS_DEFINITION(0x1, 0x77A), ZYDIS_DEFINITION(0x1, 0x77B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x578), ZYDIS_DEFINITION(0x1, 0x579), ZYDIS_DEFINITION(0x1, 0x57A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x57E), ZYDIS_DEFINITION(0x1, 0x57F), ZYDIS_DEFINITION(0x1, 0x580) }, 
+    { ZYDIS_DEFINITION(0x1, 0x57B), ZYDIS_DEFINITION(0x1, 0x57C), ZYDIS_DEFINITION(0x1, 0x57D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x581), ZYDIS_DEFINITION(0x1, 0x582), ZYDIS_DEFINITION(0x1, 0x583) }, 
+    { ZYDIS_DEFINITION(0x1, 0x58A), ZYDIS_DEFINITION(0x1, 0x58B), ZYDIS_DEFINITION(0x1, 0x58C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x58D), ZYDIS_DEFINITION(0x1, 0x58E), ZYDIS_DEFINITION(0x1, 0x58F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9F8), ZYDIS_DEFINITION(0x1, 0x9F9), ZYDIS_DEFINITION(0x1, 0x9FA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9FB), ZYDIS_DEFINITION(0x1, 0x9FC), ZYDIS_DEFINITION(0x1, 0x9FD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9CE), ZYDIS_DEFINITION(0x1, 0x9CF), ZYDIS_DEFINITION(0x1, 0x9D0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9DA), ZYDIS_DEFINITION(0x1, 0x9DB), ZYDIS_DEFINITION(0x1, 0x9DC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9D1), ZYDIS_DEFINITION(0x1, 0x9D2), ZYDIS_DEFINITION(0x1, 0x9D3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9DD), ZYDIS_DEFINITION(0x1, 0x9DE), ZYDIS_DEFINITION(0x1, 0x9DF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x590), ZYDIS_DEFINITION(0x1, 0x591), ZYDIS_DEFINITION(0x1, 0x592) }, 
+    { ZYDIS_DEFINITION(0x1, 0x593), ZYDIS_DEFINITION(0x1, 0x594), ZYDIS_DEFINITION(0x1, 0x595) }, 
+    { ZYDIS_DEFINITION(0x1, 0x896), ZYDIS_DEFINITION(0x1, 0x897), ZYDIS_DEFINITION(0x1, 0x898) }, 
+    { ZYDIS_DEFINITION(0x1, 0x899), ZYDIS_DEFINITION(0x1, 0x89A), ZYDIS_DEFINITION(0x1, 0x89B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x89C), ZYDIS_DEFINITION(0x1, 0x89D), ZYDIS_DEFINITION(0x1, 0x89E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x89F), ZYDIS_DEFINITION(0x1, 0x8A0), ZYDIS_DEFINITION(0x1, 0x8A1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x15C), ZYDIS_DEFINITION(0x1, 0x15D), ZYDIS_DEFINITION(0x1, 0x15E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x15F), ZYDIS_DEFINITION(0x1, 0x160), ZYDIS_DEFINITION(0x1, 0x161) }, 
+    { ZYDIS_DEFINITION(0x1, 0x49E), ZYDIS_DEFINITION(0x1, 0x49F), ZYDIS_DEFINITION(0x1, 0x4A0) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA4C), ZYDIS_DEFINITION(0x1, 0xA4D), ZYDIS_DEFINITION(0x1, 0xA4E) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA4F), ZYDIS_DEFINITION(0x1, 0xA50), ZYDIS_DEFINITION(0x1, 0xA51) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA52), ZYDIS_DEFINITION(0x1, 0xA53), ZYDIS_DEFINITION(0x1, 0xA54) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA55), ZYDIS_DEFINITION(0x1, 0xA56), ZYDIS_DEFINITION(0x1, 0xA57) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7A0), ZYDIS_DEFINITION(0x1, 0x7A1), ZYDIS_DEFINITION(0x1, 0x7A2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7A3), ZYDIS_DEFINITION(0x1, 0x7A4), ZYDIS_DEFINITION(0x1, 0x7A5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8D8), ZYDIS_DEFINITION(0x1, 0x8D9), ZYDIS_DEFINITION(0x1, 0x8DA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8DE), ZYDIS_DEFINITION(0x1, 0x8DF), ZYDIS_DEFINITION(0x1, 0x8E0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8DB), ZYDIS_DEFINITION(0x1, 0x8DC), ZYDIS_DEFINITION(0x1, 0x8DD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8E1), ZYDIS_DEFINITION(0x1, 0x8E2), ZYDIS_DEFINITION(0x1, 0x8E3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x54E), ZYDIS_DEFINITION(0x1, 0x54F), ZYDIS_DEFINITION(0x1, 0x550) }, 
+    { ZYDIS_DEFINITION(0x1, 0x551), ZYDIS_DEFINITION(0x1, 0x552), ZYDIS_DEFINITION(0x1, 0x553) }, 
+    { ZYDIS_DEFINITION(0x1, 0x554), ZYDIS_DEFINITION(0x1, 0x555), ZYDIS_DEFINITION(0x1, 0x556) }, 
+    { ZYDIS_DEFINITION(0x1, 0x557), ZYDIS_DEFINITION(0x1, 0x558), ZYDIS_DEFINITION(0x1, 0x559) }, 
+    { ZYDIS_DEFINITION(0x1, 0x770), ZYDIS_DEFINITION(0x1, 0x771), ZYDIS_DEFINITION(0x1, 0x772) }, 
+    { ZYDIS_DEFINITION(0x1, 0x773), ZYDIS_DEFINITION(0x1, 0x774), ZYDIS_DEFINITION(0x1, 0x775) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAD6), ZYDIS_DEFINITION(0x1, 0xAD7), ZYDIS_DEFINITION(0x1, 0xAD8) }, 
+    { ZYDIS_DEFINITION(0x1, 0xADC), ZYDIS_DEFINITION(0x1, 0xADD), ZYDIS_DEFINITION(0x1, 0xADE) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAD9), ZYDIS_DEFINITION(0x1, 0xADA), ZYDIS_DEFINITION(0x1, 0xADB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xADF), ZYDIS_DEFINITION(0x1, 0xAE0), ZYDIS_DEFINITION(0x1, 0xAE1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9C2), ZYDIS_DEFINITION(0x1, 0x9C3), ZYDIS_DEFINITION(0x1, 0x9C4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9C5), ZYDIS_DEFINITION(0x1, 0x9C6), ZYDIS_DEFINITION(0x1, 0x9C7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x992), ZYDIS_DEFINITION(0x1, 0x993), ZYDIS_DEFINITION(0x1, 0x994) }, 
+    { ZYDIS_DEFINITION(0x1, 0x995), ZYDIS_DEFINITION(0x1, 0x996), ZYDIS_DEFINITION(0x1, 0x997) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9A4), ZYDIS_DEFINITION(0x1, 0x9A5), ZYDIS_DEFINITION(0x1, 0x9A6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9A7), ZYDIS_DEFINITION(0x1, 0x9A8), ZYDIS_DEFINITION(0x1, 0x9A9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8BA), ZYDIS_DEFINITION(0x1, 0x8BB), ZYDIS_DEFINITION(0x1, 0x8BC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8BD), ZYDIS_DEFINITION(0x1, 0x8BE), ZYDIS_DEFINITION(0x1, 0x8BF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x758), ZYDIS_DEFINITION(0x1, 0x759), ZYDIS_DEFINITION(0x1, 0x75A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x75B), ZYDIS_DEFINITION(0x1, 0x75C), ZYDIS_DEFINITION(0x1, 0x75D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x914), ZYDIS_DEFINITION(0x1, 0x915), ZYDIS_DEFINITION(0x1, 0x916) }, 
+    { ZYDIS_DEFINITION(0x1, 0x917), ZYDIS_DEFINITION(0x1, 0x918), ZYDIS_DEFINITION(0x1, 0x919) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA3A), ZYDIS_DEFINITION(0x1, 0xA3B), ZYDIS_DEFINITION(0x1, 0xA3C) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA3D), ZYDIS_DEFINITION(0x1, 0xA3E), ZYDIS_DEFINITION(0x1, 0xA3F) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA64), ZYDIS_DEFINITION(0x1, 0xA65), ZYDIS_DEFINITION(0x1, 0xA66) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA67), ZYDIS_DEFINITION(0x1, 0xA68), ZYDIS_DEFINITION(0x1, 0xA69) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA40), ZYDIS_DEFINITION(0x1, 0xA41), ZYDIS_DEFINITION(0x1, 0xA42) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA43), ZYDIS_DEFINITION(0x1, 0xA44), ZYDIS_DEFINITION(0x1, 0xA45) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA46), ZYDIS_DEFINITION(0x1, 0xA47), ZYDIS_DEFINITION(0x1, 0xA48) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA49), ZYDIS_DEFINITION(0x1, 0xA4A), ZYDIS_DEFINITION(0x1, 0xA4B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x53C), ZYDIS_DEFINITION(0x1, 0x53D), ZYDIS_DEFINITION(0x1, 0x53E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x53F), ZYDIS_DEFINITION(0x1, 0x540), ZYDIS_DEFINITION(0x1, 0x541) }, 
+    { ZYDIS_DEFINITION(0x1, 0x566), ZYDIS_DEFINITION(0x1, 0x567), ZYDIS_DEFINITION(0x1, 0x568) }, 
+    { ZYDIS_DEFINITION(0x1, 0x569), ZYDIS_DEFINITION(0x1, 0x56A), ZYDIS_DEFINITION(0x1, 0x56B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x542), ZYDIS_DEFINITION(0x1, 0x543), ZYDIS_DEFINITION(0x1, 0x544) }, 
+    { ZYDIS_DEFINITION(0x1, 0x545), ZYDIS_DEFINITION(0x1, 0x546), ZYDIS_DEFINITION(0x1, 0x547) }, 
+    { ZYDIS_DEFINITION(0x1, 0x96E), ZYDIS_DEFINITION(0x1, 0x96F), ZYDIS_DEFINITION(0x1, 0x970) }, 
+    { ZYDIS_DEFINITION(0x1, 0x971), ZYDIS_DEFINITION(0x1, 0x972), ZYDIS_DEFINITION(0x1, 0x973) }, 
+    { ZYDIS_DEFINITION(0x1, 0x752), ZYDIS_DEFINITION(0x1, 0x753), ZYDIS_DEFINITION(0x1, 0x754) }, 
+    { ZYDIS_DEFINITION(0x1, 0x755), ZYDIS_DEFINITION(0x1, 0x756), ZYDIS_DEFINITION(0x1, 0x757) }, 
+    { ZYDIS_DEFINITION(0x1, 0x890), ZYDIS_DEFINITION(0x1, 0x891), ZYDIS_DEFINITION(0x1, 0x892) }, 
+    { ZYDIS_DEFINITION(0x1, 0x893), ZYDIS_DEFINITION(0x1, 0x894), ZYDIS_DEFINITION(0x1, 0x895) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6B7), ZYDIS_DEFINITION(0x1, 0x6B8), ZYDIS_DEFINITION(0x1, 0x6B9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6BA), ZYDIS_DEFINITION(0x1, 0x6BB), ZYDIS_DEFINITION(0x1, 0x6BC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6AB), ZYDIS_DEFINITION(0x1, 0x6AC), ZYDIS_DEFINITION(0x1, 0x6AD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6AE), ZYDIS_DEFINITION(0x1, 0x6AF), ZYDIS_DEFINITION(0x1, 0x6B0) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA28), ZYDIS_DEFINITION(0x1, 0xA29), ZYDIS_DEFINITION(0x1, 0xA2A) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA2B), ZYDIS_DEFINITION(0x1, 0xA2C), ZYDIS_DEFINITION(0x1, 0xA2D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9EC), ZYDIS_DEFINITION(0x1, 0x9ED), ZYDIS_DEFINITION(0x1, 0x9EE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9EF), ZYDIS_DEFINITION(0x1, 0x9F0), ZYDIS_DEFINITION(0x1, 0x9F1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9B6), ZYDIS_DEFINITION(0x1, 0x9B7), ZYDIS_DEFINITION(0x1, 0x9B8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9B9), ZYDIS_DEFINITION(0x1, 0x9BA), ZYDIS_DEFINITION(0x1, 0x9BB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xE3), ZYDIS_DEFINITION(0x1, 0xE4), ZYDIS_DEFINITION(0x1, 0xE5) }, 
+    { ZYDIS_DEFINITION(0x1, 0xE6), ZYDIS_DEFINITION(0x1, 0xE7), ZYDIS_DEFINITION(0x1, 0xE8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x908), ZYDIS_DEFINITION(0x1, 0x909), ZYDIS_DEFINITION(0x1, 0x90A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x90E), ZYDIS_DEFINITION(0x1, 0x90F), ZYDIS_DEFINITION(0x1, 0x910) }, 
+    { ZYDIS_DEFINITION(0x1, 0x90B), ZYDIS_DEFINITION(0x1, 0x90C), ZYDIS_DEFINITION(0x1, 0x90D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x911), ZYDIS_DEFINITION(0x1, 0x912), ZYDIS_DEFINITION(0x1, 0x913) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8F0), ZYDIS_DEFINITION(0x1, 0x8F1), ZYDIS_DEFINITION(0x1, 0x8F2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8F6), ZYDIS_DEFINITION(0x1, 0x8F7), ZYDIS_DEFINITION(0x1, 0x8F8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8F3), ZYDIS_DEFINITION(0x1, 0x8F4), ZYDIS_DEFINITION(0x1, 0x8F5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8F9), ZYDIS_DEFINITION(0x1, 0x8FA), ZYDIS_DEFINITION(0x1, 0x8FB) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6CB), ZYDIS_DEFINITION(0x1, 0x6CC) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6C3), ZYDIS_DEFINITION(0x1, 0x6C4) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6CD), ZYDIS_DEFINITION(0x1, 0x6CE) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6C5), ZYDIS_DEFINITION(0x1, 0x6C6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7A), ZYDIS_DEFINITION(0x1, 0x7B), ZYDIS_DEFINITION(0x1, 0x7C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7D), ZYDIS_DEFINITION(0x1, 0x7E), ZYDIS_DEFINITION(0x1, 0x7F) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x60), ZYDIS_DEFINITION(0x1, 0x61) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x76), ZYDIS_DEFINITION(0x1, 0x77) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x62), ZYDIS_DEFINITION(0x1, 0x63) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x78), ZYDIS_DEFINITION(0x1, 0x79) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x64), ZYDIS_DEFINITION(0x1, 0x65) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x67), ZYDIS_DEFINITION(0x1, 0x68) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x66) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x69) }, 
+    { ZYDIS_DEFINITION(0x1, 0x50C), ZYDIS_DEFINITION(0x1, 0x50D), ZYDIS_DEFINITION(0x1, 0x50E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x50F), ZYDIS_DEFINITION(0x1, 0x510), ZYDIS_DEFINITION(0x1, 0x511) }, 
+    { ZYDIS_DEFINITION(0x1, 0x51E), ZYDIS_DEFINITION(0x1, 0x51F), ZYDIS_DEFINITION(0x1, 0x520) }, 
+    { ZYDIS_DEFINITION(0x1, 0x521), ZYDIS_DEFINITION(0x1, 0x522), ZYDIS_DEFINITION(0x1, 0x523) }, 
+    { ZYDIS_DEFINITION(0x1, 0x512), ZYDIS_DEFINITION(0x1, 0x513), ZYDIS_DEFINITION(0x1, 0x514) }, 
+    { ZYDIS_DEFINITION(0x1, 0x515), ZYDIS_DEFINITION(0x1, 0x516), ZYDIS_DEFINITION(0x1, 0x517) }, 
+    { ZYDIS_DEFINITION(0x1, 0x518), ZYDIS_DEFINITION(0x1, 0x519), ZYDIS_DEFINITION(0x1, 0x51A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x51B), ZYDIS_DEFINITION(0x1, 0x51C), ZYDIS_DEFINITION(0x1, 0x51D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x821), ZYDIS_DEFINITION(0x1, 0x822), ZYDIS_DEFINITION(0x1, 0x823) }, 
+    { ZYDIS_DEFINITION(0x1, 0x824), ZYDIS_DEFINITION(0x1, 0x825), ZYDIS_DEFINITION(0x1, 0x826) }, 
+    { ZYDIS_DEFINITION(0x1, 0x815), ZYDIS_DEFINITION(0x1, 0x816), ZYDIS_DEFINITION(0x1, 0x817) }, 
+    { ZYDIS_DEFINITION(0x1, 0x818), ZYDIS_DEFINITION(0x1, 0x819), ZYDIS_DEFINITION(0x1, 0x81A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x81B), ZYDIS_DEFINITION(0x1, 0x81C), ZYDIS_DEFINITION(0x1, 0x81D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x81E), ZYDIS_DEFINITION(0x1, 0x81F), ZYDIS_DEFINITION(0x1, 0x820) }, 
+    { ZYDIS_DEFINITION(0x1, 0x82D), ZYDIS_DEFINITION(0x1, 0x82E), ZYDIS_DEFINITION(0x1, 0x82F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x830), ZYDIS_DEFINITION(0x1, 0x831), ZYDIS_DEFINITION(0x1, 0x832) }, 
+    { ZYDIS_DEFINITION(0x1, 0x833), ZYDIS_DEFINITION(0x1, 0x834), ZYDIS_DEFINITION(0x1, 0x835) }, 
+    { ZYDIS_DEFINITION(0x1, 0x836), ZYDIS_DEFINITION(0x1, 0x837), ZYDIS_DEFINITION(0x1, 0x838) }, 
+    { ZYDIS_DEFINITION(0x1, 0x827), ZYDIS_DEFINITION(0x1, 0x828), ZYDIS_DEFINITION(0x1, 0x829) }, 
+    { ZYDIS_DEFINITION(0x1, 0x82A), ZYDIS_DEFINITION(0x1, 0x82B), ZYDIS_DEFINITION(0x1, 0x82C) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA76), ZYDIS_DEFINITION(0x1, 0xA77), ZYDIS_DEFINITION(0x1, 0xA78) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA88), ZYDIS_DEFINITION(0x1, 0xA89), ZYDIS_DEFINITION(0x1, 0xA8A) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA79), ZYDIS_DEFINITION(0x1, 0xA7A), ZYDIS_DEFINITION(0x1, 0xA7B) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA8B), ZYDIS_DEFINITION(0x1, 0xA8C), ZYDIS_DEFINITION(0x1, 0xA8D) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA7C), ZYDIS_DEFINITION(0x1, 0xA7D), ZYDIS_DEFINITION(0x1, 0xA7E) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA82), ZYDIS_DEFINITION(0x1, 0xA83), ZYDIS_DEFINITION(0x1, 0xA84) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA7F), ZYDIS_DEFINITION(0x1, 0xA80), ZYDIS_DEFINITION(0x1, 0xA81) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA85), ZYDIS_DEFINITION(0x1, 0xA86), ZYDIS_DEFINITION(0x1, 0xA87) }, 
+    { ZYDIS_DEFINITION(0x1, 0x88A), ZYDIS_DEFINITION(0x1, 0x88B), ZYDIS_DEFINITION(0x1, 0x88C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x88D), ZYDIS_DEFINITION(0x1, 0x88E), ZYDIS_DEFINITION(0x1, 0x88F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5F9), ZYDIS_DEFINITION(0x1, 0x5FA), ZYDIS_DEFINITION(0x1, 0x5FB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5FC), ZYDIS_DEFINITION(0x1, 0x5FD), ZYDIS_DEFINITION(0x1, 0x5FE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4A1), ZYDIS_DEFINITION(0x1, 0x4A2), ZYDIS_DEFINITION(0x1, 0x4A3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x530), ZYDIS_DEFINITION(0x1, 0x531), ZYDIS_DEFINITION(0x1, 0x532) }, 
+    { ZYDIS_DEFINITION(0x1, 0x533), ZYDIS_DEFINITION(0x1, 0x534), ZYDIS_DEFINITION(0x1, 0x535) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB5E), ZYDIS_DEFINITION(0x1, 0xB5F), ZYDIS_DEFINITION(0x1, 0xB60) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB57), ZYDIS_DEFINITION(0x1, 0xB58), ZYDIS_DEFINITION(0x1, 0xB59) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB61), ZYDIS_DEFINITION(0x1, 0xB62), ZYDIS_DEFINITION(0x1, 0xB63) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB5A), ZYDIS_DEFINITION(0x1, 0xB5B), ZYDIS_DEFINITION(0x1, 0xB5C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x872), ZYDIS_DEFINITION(0x1, 0x873), ZYDIS_DEFINITION(0x1, 0x874) }, 
+    { ZYDIS_DEFINITION(0x1, 0x875), ZYDIS_DEFINITION(0x1, 0x876), ZYDIS_DEFINITION(0x1, 0x877) }, 
+    { ZYDIS_DEFINITION(0x1, 0x866), ZYDIS_DEFINITION(0x1, 0x867), ZYDIS_DEFINITION(0x1, 0x868) }, 
+    { ZYDIS_DEFINITION(0x1, 0x869), ZYDIS_DEFINITION(0x1, 0x86A), ZYDIS_DEFINITION(0x1, 0x86B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x86C), ZYDIS_DEFINITION(0x1, 0x86D), ZYDIS_DEFINITION(0x1, 0x86E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x86F), ZYDIS_DEFINITION(0x1, 0x870), ZYDIS_DEFINITION(0x1, 0x871) }, 
+    { ZYDIS_DEFINITION(0x1, 0x87E), ZYDIS_DEFINITION(0x1, 0x87F), ZYDIS_DEFINITION(0x1, 0x880) }, 
+    { ZYDIS_DEFINITION(0x1, 0x881), ZYDIS_DEFINITION(0x1, 0x882), ZYDIS_DEFINITION(0x1, 0x883) }, 
+    { ZYDIS_DEFINITION(0x1, 0x884), ZYDIS_DEFINITION(0x1, 0x885), ZYDIS_DEFINITION(0x1, 0x886) }, 
+    { ZYDIS_DEFINITION(0x1, 0x887), ZYDIS_DEFINITION(0x1, 0x888), ZYDIS_DEFINITION(0x1, 0x889) }, 
+    { ZYDIS_DEFINITION(0x1, 0x878), ZYDIS_DEFINITION(0x1, 0x879), ZYDIS_DEFINITION(0x1, 0x87A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x87B), ZYDIS_DEFINITION(0x1, 0x87C), ZYDIS_DEFINITION(0x1, 0x87D) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x683), ZYDIS_DEFINITION(0x1, 0x684) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6CF), ZYDIS_DEFINITION(0x1, 0x6D0) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x685), ZYDIS_DEFINITION(0x1, 0x686) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6D1), ZYDIS_DEFINITION(0x1, 0x6D2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x611), ZYDIS_DEFINITION(0x1, 0x612), ZYDIS_DEFINITION(0x1, 0x613) }, 
+    { ZYDIS_DEFINITION(0x1, 0x614), ZYDIS_DEFINITION(0x1, 0x615), ZYDIS_DEFINITION(0x1, 0x616) }, 
+    { ZYDIS_DEFINITION(0x1, 0x78E), ZYDIS_DEFINITION(0x1, 0x78F), ZYDIS_DEFINITION(0x1, 0x790) }, 
+    { ZYDIS_DEFINITION(0x1, 0x791), ZYDIS_DEFINITION(0x1, 0x792), ZYDIS_DEFINITION(0x1, 0x793) }, 
+    { ZYDIS_DEFINITION(0x1, 0x794), ZYDIS_DEFINITION(0x1, 0x795), ZYDIS_DEFINITION(0x1, 0x796) }, 
+    { ZYDIS_DEFINITION(0x1, 0x79A), ZYDIS_DEFINITION(0x1, 0x79B), ZYDIS_DEFINITION(0x1, 0x79C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x797), ZYDIS_DEFINITION(0x1, 0x798), ZYDIS_DEFINITION(0x1, 0x799) }, 
+    { ZYDIS_DEFINITION(0x1, 0x79D), ZYDIS_DEFINITION(0x1, 0x79E), ZYDIS_DEFINITION(0x1, 0x79F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7B8), ZYDIS_DEFINITION(0x1, 0x7B9), ZYDIS_DEFINITION(0x1, 0x7BA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7BB), ZYDIS_DEFINITION(0x1, 0x7BC), ZYDIS_DEFINITION(0x1, 0x7BD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7AC), ZYDIS_DEFINITION(0x1, 0x7AD), ZYDIS_DEFINITION(0x1, 0x7AE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7B2), ZYDIS_DEFINITION(0x1, 0x7B3), ZYDIS_DEFINITION(0x1, 0x7B4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7AF), ZYDIS_DEFINITION(0x1, 0x7B0), ZYDIS_DEFINITION(0x1, 0x7B1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7B5), ZYDIS_DEFINITION(0x1, 0x7B6), ZYDIS_DEFINITION(0x1, 0x7B7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x75E), ZYDIS_DEFINITION(0x1, 0x75F), ZYDIS_DEFINITION(0x1, 0x760) }, 
+    { ZYDIS_DEFINITION(0x1, 0x761), ZYDIS_DEFINITION(0x1, 0x762), ZYDIS_DEFINITION(0x1, 0x763) }, 
+    { ZYDIS_DEFINITION(0x1, 0x764), ZYDIS_DEFINITION(0x1, 0x765), ZYDIS_DEFINITION(0x1, 0x766) }, 
+    { ZYDIS_DEFINITION(0x1, 0x76A), ZYDIS_DEFINITION(0x1, 0x76B), ZYDIS_DEFINITION(0x1, 0x76C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x767), ZYDIS_DEFINITION(0x1, 0x768), ZYDIS_DEFINITION(0x1, 0x769) }, 
+    { ZYDIS_DEFINITION(0x1, 0x76D), ZYDIS_DEFINITION(0x1, 0x76E), ZYDIS_DEFINITION(0x1, 0x76F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x788), ZYDIS_DEFINITION(0x1, 0x789), ZYDIS_DEFINITION(0x1, 0x78A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x78B), ZYDIS_DEFINITION(0x1, 0x78C), ZYDIS_DEFINITION(0x1, 0x78D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x77C), ZYDIS_DEFINITION(0x1, 0x77D), ZYDIS_DEFINITION(0x1, 0x77E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x782), ZYDIS_DEFINITION(0x1, 0x783), ZYDIS_DEFINITION(0x1, 0x784) }, 
+    { ZYDIS_DEFINITION(0x1, 0x77F), ZYDIS_DEFINITION(0x1, 0x780), ZYDIS_DEFINITION(0x1, 0x781) }, 
+    { ZYDIS_DEFINITION(0x1, 0x785), ZYDIS_DEFINITION(0x1, 0x786), ZYDIS_DEFINITION(0x1, 0x787) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8A2), ZYDIS_DEFINITION(0x1, 0x8A3), ZYDIS_DEFINITION(0x1, 0x8A4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8A8), ZYDIS_DEFINITION(0x1, 0x8A9), ZYDIS_DEFINITION(0x1, 0x8AA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8A5), ZYDIS_DEFINITION(0x1, 0x8A6), ZYDIS_DEFINITION(0x1, 0x8A7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8AB), ZYDIS_DEFINITION(0x1, 0x8AC), ZYDIS_DEFINITION(0x1, 0x8AD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3B2), ZYDIS_DEFINITION(0x1, 0x3B3), ZYDIS_DEFINITION(0x1, 0x3B4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3AB), ZYDIS_DEFINITION(0x1, 0x3AC), ZYDIS_DEFINITION(0x1, 0x3AD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3B5), ZYDIS_DEFINITION(0x1, 0x3B6), ZYDIS_DEFINITION(0x1, 0x3B7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3AE), ZYDIS_DEFINITION(0x1, 0x3AF), ZYDIS_DEFINITION(0x1, 0x3B0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x73A), ZYDIS_DEFINITION(0x1, 0x73B), ZYDIS_DEFINITION(0x1, 0x73C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x740), ZYDIS_DEFINITION(0x1, 0x741), ZYDIS_DEFINITION(0x1, 0x742) }, 
+    { ZYDIS_DEFINITION(0x1, 0x73D), ZYDIS_DEFINITION(0x1, 0x73E), ZYDIS_DEFINITION(0x1, 0x73F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x743), ZYDIS_DEFINITION(0x1, 0x744), ZYDIS_DEFINITION(0x1, 0x745) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA1C), ZYDIS_DEFINITION(0x1, 0xA1D), ZYDIS_DEFINITION(0x1, 0xA1E) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA22), ZYDIS_DEFINITION(0x1, 0xA23), ZYDIS_DEFINITION(0x1, 0xA24) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA1F), ZYDIS_DEFINITION(0x1, 0xA20), ZYDIS_DEFINITION(0x1, 0xA21) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA25), ZYDIS_DEFINITION(0x1, 0xA26), ZYDIS_DEFINITION(0x1, 0xA27) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9E0), ZYDIS_DEFINITION(0x1, 0x9E1), ZYDIS_DEFINITION(0x1, 0x9E2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9E6), ZYDIS_DEFINITION(0x1, 0x9E7), ZYDIS_DEFINITION(0x1, 0x9E8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9E3), ZYDIS_DEFINITION(0x1, 0x9E4), ZYDIS_DEFINITION(0x1, 0x9E5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9E9), ZYDIS_DEFINITION(0x1, 0x9EA), ZYDIS_DEFINITION(0x1, 0x9EB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9AA), ZYDIS_DEFINITION(0x1, 0x9AB), ZYDIS_DEFINITION(0x1, 0x9AC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9B0), ZYDIS_DEFINITION(0x1, 0x9B1), ZYDIS_DEFINITION(0x1, 0x9B2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9AD), ZYDIS_DEFINITION(0x1, 0x9AE), ZYDIS_DEFINITION(0x1, 0x9AF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9B3), ZYDIS_DEFINITION(0x1, 0x9B4), ZYDIS_DEFINITION(0x1, 0x9B5) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAFC), ZYDIS_DEFINITION(0x1, 0xAFD), ZYDIS_DEFINITION(0x1, 0xAFE) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAF6), ZYDIS_DEFINITION(0x1, 0xAF7), ZYDIS_DEFINITION(0x1, 0xAF8) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAFF), ZYDIS_DEFINITION(0x1, 0xB00), ZYDIS_DEFINITION(0x1, 0xB01) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAF9), ZYDIS_DEFINITION(0x1, 0xAFA), ZYDIS_DEFINITION(0x1, 0xAFB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB40), ZYDIS_DEFINITION(0x1, 0xB41), ZYDIS_DEFINITION(0x1, 0xB42) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB3A), ZYDIS_DEFINITION(0x1, 0xB3B), ZYDIS_DEFINITION(0x1, 0xB3C) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB43), ZYDIS_DEFINITION(0x1, 0xB44), ZYDIS_DEFINITION(0x1, 0xB45) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB3D), ZYDIS_DEFINITION(0x1, 0xB3E), ZYDIS_DEFINITION(0x1, 0xB3F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x665), ZYDIS_DEFINITION(0x1, 0x666), ZYDIS_DEFINITION(0x1, 0x667) }, 
+    { ZYDIS_DEFINITION(0x1, 0x668), ZYDIS_DEFINITION(0x1, 0x669), ZYDIS_DEFINITION(0x1, 0x66A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x66B), ZYDIS_DEFINITION(0x1, 0x66C), ZYDIS_DEFINITION(0x1, 0x66D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x66E), ZYDIS_DEFINITION(0x1, 0x66F), ZYDIS_DEFINITION(0x1, 0x670) }, 
+    { ZYDIS_DEFINITION(0x1, 0x671), ZYDIS_DEFINITION(0x1, 0x672), ZYDIS_DEFINITION(0x1, 0x673) }, 
+    { ZYDIS_DEFINITION(0x1, 0x674), ZYDIS_DEFINITION(0x1, 0x675), ZYDIS_DEFINITION(0x1, 0x676) }, 
+    { ZYDIS_DEFINITION(0x1, 0x677), ZYDIS_DEFINITION(0x1, 0x678), ZYDIS_DEFINITION(0x1, 0x679) }, 
+    { ZYDIS_DEFINITION(0x1, 0x67A), ZYDIS_DEFINITION(0x1, 0x67B), ZYDIS_DEFINITION(0x1, 0x67C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8C0), ZYDIS_DEFINITION(0x1, 0x8C1), ZYDIS_DEFINITION(0x1, 0x8C2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8D2), ZYDIS_DEFINITION(0x1, 0x8D3), ZYDIS_DEFINITION(0x1, 0x8D4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8C3), ZYDIS_DEFINITION(0x1, 0x8C4), ZYDIS_DEFINITION(0x1, 0x8C5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8D5), ZYDIS_DEFINITION(0x1, 0x8D6), ZYDIS_DEFINITION(0x1, 0x8D7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8C6), ZYDIS_DEFINITION(0x1, 0x8C7), ZYDIS_DEFINITION(0x1, 0x8C8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8CC), ZYDIS_DEFINITION(0x1, 0x8CD), ZYDIS_DEFINITION(0x1, 0x8CE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8C9), ZYDIS_DEFINITION(0x1, 0x8CA), ZYDIS_DEFINITION(0x1, 0x8CB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8CF), ZYDIS_DEFINITION(0x1, 0x8D0), ZYDIS_DEFINITION(0x1, 0x8D1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5B7), ZYDIS_DEFINITION(0x1, 0x5B8), ZYDIS_DEFINITION(0x1, 0x5B9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5BA), ZYDIS_DEFINITION(0x1, 0x5BB), ZYDIS_DEFINITION(0x1, 0x5BC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6A), ZYDIS_DEFINITION(0x1, 0x6B), ZYDIS_DEFINITION(0x1, 0x6C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5C9), ZYDIS_DEFINITION(0x1, 0x5CA), ZYDIS_DEFINITION(0x1, 0x5CB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6D), ZYDIS_DEFINITION(0x1, 0x6E), ZYDIS_DEFINITION(0x1, 0x6F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5CC), ZYDIS_DEFINITION(0x1, 0x5CD), ZYDIS_DEFINITION(0x1, 0x5CE) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x70), ZYDIS_DEFINITION(0x1, 0x71) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x73), ZYDIS_DEFINITION(0x1, 0x74) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x72) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x75) }, 
+    { ZYDIS_DEFINITION(0x1, 0x701), ZYDIS_DEFINITION(0x1, 0x702), ZYDIS_DEFINITION(0x1, 0x703) }, 
+    { ZYDIS_DEFINITION(0x1, 0x713), ZYDIS_DEFINITION(0x1, 0x714), ZYDIS_DEFINITION(0x1, 0x715) }, 
+    { ZYDIS_DEFINITION(0x1, 0x704), ZYDIS_DEFINITION(0x1, 0x705), ZYDIS_DEFINITION(0x1, 0x706) }, 
+    { ZYDIS_DEFINITION(0x1, 0x716), ZYDIS_DEFINITION(0x1, 0x717), ZYDIS_DEFINITION(0x1, 0x718) }, 
+    { ZYDIS_DEFINITION(0x1, 0x641), ZYDIS_DEFINITION(0x1, 0x642), ZYDIS_DEFINITION(0x1, 0x643) }, 
+    { ZYDIS_DEFINITION(0x1, 0x653), ZYDIS_DEFINITION(0x1, 0x654), ZYDIS_DEFINITION(0x1, 0x655) }, 
+    { ZYDIS_DEFINITION(0x1, 0x644), ZYDIS_DEFINITION(0x1, 0x645), ZYDIS_DEFINITION(0x1, 0x646) }, 
+    { ZYDIS_DEFINITION(0x1, 0x656), ZYDIS_DEFINITION(0x1, 0x657), ZYDIS_DEFINITION(0x1, 0x658) }, 
+    { ZYDIS_DEFINITION(0x1, 0x59C), ZYDIS_DEFINITION(0x1, 0x59D), ZYDIS_DEFINITION(0x1, 0x59E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5A2), ZYDIS_DEFINITION(0x1, 0x5A3), ZYDIS_DEFINITION(0x1, 0x5A4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x59F), ZYDIS_DEFINITION(0x1, 0x5A0), ZYDIS_DEFINITION(0x1, 0x5A1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5A5), ZYDIS_DEFINITION(0x1, 0x5A6), ZYDIS_DEFINITION(0x1, 0x5A7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5A), ZYDIS_DEFINITION(0x1, 0x5B), ZYDIS_DEFINITION(0x1, 0x5C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x54), ZYDIS_DEFINITION(0x1, 0x55), ZYDIS_DEFINITION(0x1, 0x56) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5D), ZYDIS_DEFINITION(0x1, 0x5E), ZYDIS_DEFINITION(0x1, 0x5F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x57), ZYDIS_DEFINITION(0x1, 0x58), ZYDIS_DEFINITION(0x1, 0x59) }, 
+    { ZYDIS_DEFINITION(0x1, 0x596), ZYDIS_DEFINITION(0x1, 0x597), ZYDIS_DEFINITION(0x1, 0x598) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5A8), ZYDIS_DEFINITION(0x1, 0x5A9), ZYDIS_DEFINITION(0x1, 0x5AA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x599), ZYDIS_DEFINITION(0x1, 0x59A), ZYDIS_DEFINITION(0x1, 0x59B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5AB), ZYDIS_DEFINITION(0x1, 0x5AC), ZYDIS_DEFINITION(0x1, 0x5AD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x93E), ZYDIS_DEFINITION(0x1, 0x93F), ZYDIS_DEFINITION(0x1, 0x940) }, 
+    { ZYDIS_DEFINITION(0x1, 0x941), ZYDIS_DEFINITION(0x1, 0x942), ZYDIS_DEFINITION(0x1, 0x943) }, 
+    { ZYDIS_DEFINITION(0x1, 0x932), ZYDIS_DEFINITION(0x1, 0x933), ZYDIS_DEFINITION(0x1, 0x934) }, 
+    { ZYDIS_DEFINITION(0x1, 0x938), ZYDIS_DEFINITION(0x1, 0x939), ZYDIS_DEFINITION(0x1, 0x93A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x935), ZYDIS_DEFINITION(0x1, 0x936), ZYDIS_DEFINITION(0x1, 0x937) }, 
+    { ZYDIS_DEFINITION(0x1, 0x93B), ZYDIS_DEFINITION(0x1, 0x93C), ZYDIS_DEFINITION(0x1, 0x93D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x962), ZYDIS_DEFINITION(0x1, 0x963), ZYDIS_DEFINITION(0x1, 0x964) }, 
+    { ZYDIS_DEFINITION(0x1, 0x965), ZYDIS_DEFINITION(0x1, 0x966), ZYDIS_DEFINITION(0x1, 0x967) }, 
+    { ZYDIS_DEFINITION(0x1, 0x956), ZYDIS_DEFINITION(0x1, 0x957), ZYDIS_DEFINITION(0x1, 0x958) }, 
+    { ZYDIS_DEFINITION(0x1, 0x95C), ZYDIS_DEFINITION(0x1, 0x95D), ZYDIS_DEFINITION(0x1, 0x95E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x959), ZYDIS_DEFINITION(0x1, 0x95A), ZYDIS_DEFINITION(0x1, 0x95B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x95F), ZYDIS_DEFINITION(0x1, 0x960), ZYDIS_DEFINITION(0x1, 0x961) }, 
+    { ZYDIS_DEFINITION(0x1, 0x687), ZYDIS_DEFINITION(0x1, 0x688), ZYDIS_DEFINITION(0x1, 0x689) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6A5), ZYDIS_DEFINITION(0x1, 0x6A6), ZYDIS_DEFINITION(0x1, 0x6A7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x68A), ZYDIS_DEFINITION(0x1, 0x68B), ZYDIS_DEFINITION(0x1, 0x68C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6A8), ZYDIS_DEFINITION(0x1, 0x6A9), ZYDIS_DEFINITION(0x1, 0x6AA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x68D), ZYDIS_DEFINITION(0x1, 0x68E), ZYDIS_DEFINITION(0x1, 0x68F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x69F), ZYDIS_DEFINITION(0x1, 0x6A0), ZYDIS_DEFINITION(0x1, 0x6A1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x690), ZYDIS_DEFINITION(0x1, 0x691), ZYDIS_DEFINITION(0x1, 0x692) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6A2), ZYDIS_DEFINITION(0x1, 0x6A3), ZYDIS_DEFINITION(0x1, 0x6A4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x699), ZYDIS_DEFINITION(0x1, 0x69A), ZYDIS_DEFINITION(0x1, 0x69B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x693), ZYDIS_DEFINITION(0x1, 0x694), ZYDIS_DEFINITION(0x1, 0x695) }, 
+    { ZYDIS_DEFINITION(0x1, 0x69C), ZYDIS_DEFINITION(0x1, 0x69D), ZYDIS_DEFINITION(0x1, 0x69E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x696), ZYDIS_DEFINITION(0x1, 0x697), ZYDIS_DEFINITION(0x1, 0x698) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5AE), ZYDIS_DEFINITION(0x1, 0x5AF), ZYDIS_DEFINITION(0x1, 0x5B0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5B1), ZYDIS_DEFINITION(0x1, 0x5B2), ZYDIS_DEFINITION(0x1, 0x5B3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5D2), ZYDIS_DEFINITION(0x1, 0x5D3), ZYDIS_DEFINITION(0x1, 0x5D4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5D5), ZYDIS_DEFINITION(0x1, 0x5D6), ZYDIS_DEFINITION(0x1, 0x5D7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5B4), ZYDIS_DEFINITION(0x1, 0x5B5), ZYDIS_DEFINITION(0x1, 0x5B6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5D8), ZYDIS_DEFINITION(0x1, 0x5D9), ZYDIS_DEFINITION(0x1, 0x5DA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5BD), ZYDIS_DEFINITION(0x1, 0x5BE), ZYDIS_DEFINITION(0x1, 0x5BF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5CF), ZYDIS_DEFINITION(0x1, 0x5D0), ZYDIS_DEFINITION(0x1, 0x5D1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5C0), ZYDIS_DEFINITION(0x1, 0x5C1), ZYDIS_DEFINITION(0x1, 0x5C2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6D7), ZYDIS_DEFINITION(0x1, 0x6D8), ZYDIS_DEFINITION(0x1, 0x6D9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6F5), ZYDIS_DEFINITION(0x1, 0x6F6), ZYDIS_DEFINITION(0x1, 0x6F7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6DA), ZYDIS_DEFINITION(0x1, 0x6DB), ZYDIS_DEFINITION(0x1, 0x6DC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6F8), ZYDIS_DEFINITION(0x1, 0x6F9), ZYDIS_DEFINITION(0x1, 0x6FA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6DD), ZYDIS_DEFINITION(0x1, 0x6DE), ZYDIS_DEFINITION(0x1, 0x6DF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6EF), ZYDIS_DEFINITION(0x1, 0x6F0), ZYDIS_DEFINITION(0x1, 0x6F1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6E0), ZYDIS_DEFINITION(0x1, 0x6E1), ZYDIS_DEFINITION(0x1, 0x6E2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6F2), ZYDIS_DEFINITION(0x1, 0x6F3), ZYDIS_DEFINITION(0x1, 0x6F4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6E9), ZYDIS_DEFINITION(0x1, 0x6EA), ZYDIS_DEFINITION(0x1, 0x6EB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6E3), ZYDIS_DEFINITION(0x1, 0x6E4), ZYDIS_DEFINITION(0x1, 0x6E5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6EC), ZYDIS_DEFINITION(0x1, 0x6ED), ZYDIS_DEFINITION(0x1, 0x6EE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6E6), ZYDIS_DEFINITION(0x1, 0x6E7), ZYDIS_DEFINITION(0x1, 0x6E8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8B4), ZYDIS_DEFINITION(0x1, 0x8B5), ZYDIS_DEFINITION(0x1, 0x8B6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8B7), ZYDIS_DEFINITION(0x1, 0x8B8), ZYDIS_DEFINITION(0x1, 0x8B9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x20E), ZYDIS_DEFINITION(0x1, 0x20F), ZYDIS_DEFINITION(0x1, 0x210) }, 
+    { ZYDIS_DEFINITION(0x1, 0x208), ZYDIS_DEFINITION(0x1, 0x209), ZYDIS_DEFINITION(0x1, 0x20A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x211), ZYDIS_DEFINITION(0x1, 0x212), ZYDIS_DEFINITION(0x1, 0x213) }, 
+    { ZYDIS_DEFINITION(0x1, 0x20B), ZYDIS_DEFINITION(0x1, 0x20C), ZYDIS_DEFINITION(0x1, 0x20D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x707), ZYDIS_DEFINITION(0x1, 0x708), ZYDIS_DEFINITION(0x1, 0x709) }, 
+    { ZYDIS_DEFINITION(0x1, 0x70D), ZYDIS_DEFINITION(0x1, 0x70E), ZYDIS_DEFINITION(0x1, 0x70F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x70A), ZYDIS_DEFINITION(0x1, 0x70B), ZYDIS_DEFINITION(0x1, 0x70C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x710), ZYDIS_DEFINITION(0x1, 0x711), ZYDIS_DEFINITION(0x1, 0x712) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA0), ZYDIS_DEFINITION(0x1, 0xA1), ZYDIS_DEFINITION(0x1, 0xA2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9A), ZYDIS_DEFINITION(0x1, 0x9B), ZYDIS_DEFINITION(0x1, 0x9C) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA3), ZYDIS_DEFINITION(0x1, 0xA4), ZYDIS_DEFINITION(0x1, 0xA5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9D), ZYDIS_DEFINITION(0x1, 0x9E), ZYDIS_DEFINITION(0x1, 0x9F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x647), ZYDIS_DEFINITION(0x1, 0x648), ZYDIS_DEFINITION(0x1, 0x649) }, 
+    { ZYDIS_DEFINITION(0x1, 0x64D), ZYDIS_DEFINITION(0x1, 0x64E), ZYDIS_DEFINITION(0x1, 0x64F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x64A), ZYDIS_DEFINITION(0x1, 0x64B), ZYDIS_DEFINITION(0x1, 0x64C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x650), ZYDIS_DEFINITION(0x1, 0x651), ZYDIS_DEFINITION(0x1, 0x652) }, 
+    { ZYDIS_DEFINITION(0x1, 0x67D), ZYDIS_DEFINITION(0x1, 0x67E), ZYDIS_DEFINITION(0x1, 0x67F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6FB), ZYDIS_DEFINITION(0x1, 0x6FC), ZYDIS_DEFINITION(0x1, 0x6FD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x680), ZYDIS_DEFINITION(0x1, 0x681), ZYDIS_DEFINITION(0x1, 0x682) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6FE), ZYDIS_DEFINITION(0x1, 0x6FF), ZYDIS_DEFINITION(0x1, 0x700) }, 
+    { ZYDIS_DEFINITION(0x1, 0x974), ZYDIS_DEFINITION(0x1, 0x975), ZYDIS_DEFINITION(0x1, 0x976) }, 
+    { ZYDIS_DEFINITION(0x1, 0x977), ZYDIS_DEFINITION(0x1, 0x978), ZYDIS_DEFINITION(0x1, 0x979) }, 
+    { ZYDIS_DEFINITION(0x1, 0x724), ZYDIS_DEFINITION(0x1, 0x725), ZYDIS_DEFINITION(0x1, 0x726) }, 
+    { ZYDIS_DEFINITION(0x1, 0x727), ZYDIS_DEFINITION(0x1, 0x728), ZYDIS_DEFINITION(0x1, 0x729) }, 
+    { ZYDIS_DEFINITION(0x1, 0x72A), ZYDIS_DEFINITION(0x1, 0x72B), ZYDIS_DEFINITION(0x1, 0x72C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x72D), ZYDIS_DEFINITION(0x1, 0x72E), ZYDIS_DEFINITION(0x1, 0x72F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x399), ZYDIS_DEFINITION(0x1, 0x39A), ZYDIS_DEFINITION(0x1, 0x39B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x396), ZYDIS_DEFINITION(0x1, 0x397), ZYDIS_DEFINITION(0x1, 0x398) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3A7), ZYDIS_DEFINITION(0x1, 0x3A8), ZYDIS_DEFINITION(0x1, 0x3A9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3A4), ZYDIS_DEFINITION(0x1, 0x3A5), ZYDIS_DEFINITION(0x1, 0x3A6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x286), ZYDIS_DEFINITION(0x1, 0x287), ZYDIS_DEFINITION(0x1, 0x288) }, 
+    { ZYDIS_DEFINITION(0x1, 0x27F), ZYDIS_DEFINITION(0x1, 0x280), ZYDIS_DEFINITION(0x1, 0x281) }, 
+    { ZYDIS_DEFINITION(0x1, 0x289), ZYDIS_DEFINITION(0x1, 0x28A), ZYDIS_DEFINITION(0x1, 0x28B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x282), ZYDIS_DEFINITION(0x1, 0x283), ZYDIS_DEFINITION(0x1, 0x284) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2EC), ZYDIS_DEFINITION(0x1, 0x2ED), ZYDIS_DEFINITION(0x1, 0x2EE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2E5), ZYDIS_DEFINITION(0x1, 0x2E6), ZYDIS_DEFINITION(0x1, 0x2E7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2EF), ZYDIS_DEFINITION(0x1, 0x2F0), ZYDIS_DEFINITION(0x1, 0x2F1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2E8), ZYDIS_DEFINITION(0x1, 0x2E9), ZYDIS_DEFINITION(0x1, 0x2EA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x24A), ZYDIS_DEFINITION(0x1, 0x24B), ZYDIS_DEFINITION(0x1, 0x24C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x243), ZYDIS_DEFINITION(0x1, 0x244), ZYDIS_DEFINITION(0x1, 0x245) }, 
+    { ZYDIS_DEFINITION(0x1, 0x24D), ZYDIS_DEFINITION(0x1, 0x24E), ZYDIS_DEFINITION(0x1, 0x24F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x246), ZYDIS_DEFINITION(0x1, 0x247), ZYDIS_DEFINITION(0x1, 0x248) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2B0), ZYDIS_DEFINITION(0x1, 0x2B1), ZYDIS_DEFINITION(0x1, 0x2B2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2A9), ZYDIS_DEFINITION(0x1, 0x2AA), ZYDIS_DEFINITION(0x1, 0x2AB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2B3), ZYDIS_DEFINITION(0x1, 0x2B4), ZYDIS_DEFINITION(0x1, 0x2B5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2AC), ZYDIS_DEFINITION(0x1, 0x2AD), ZYDIS_DEFINITION(0x1, 0x2AE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x316), ZYDIS_DEFINITION(0x1, 0x317), ZYDIS_DEFINITION(0x1, 0x318) }, 
+    { ZYDIS_DEFINITION(0x1, 0x30F), ZYDIS_DEFINITION(0x1, 0x310), ZYDIS_DEFINITION(0x1, 0x311) }, 
+    { ZYDIS_DEFINITION(0x1, 0x319), ZYDIS_DEFINITION(0x1, 0x31A), ZYDIS_DEFINITION(0x1, 0x31B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x312), ZYDIS_DEFINITION(0x1, 0x313), ZYDIS_DEFINITION(0x1, 0x314) }, 
+    { ZYDIS_DEFINITION(0x1, 0x352), ZYDIS_DEFINITION(0x1, 0x353), ZYDIS_DEFINITION(0x1, 0x354) }, 
+    { ZYDIS_DEFINITION(0x1, 0x34B), ZYDIS_DEFINITION(0x1, 0x34C), ZYDIS_DEFINITION(0x1, 0x34D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x355), ZYDIS_DEFINITION(0x1, 0x356), ZYDIS_DEFINITION(0x1, 0x357) }, 
+    { ZYDIS_DEFINITION(0x1, 0x34E), ZYDIS_DEFINITION(0x1, 0x34F), ZYDIS_DEFINITION(0x1, 0x350) }, 
+    { ZYDIS_DEFINITION(0x1, 0x91A), ZYDIS_DEFINITION(0x1, 0x91B), ZYDIS_DEFINITION(0x1, 0x91C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x91D), ZYDIS_DEFINITION(0x1, 0x91E), ZYDIS_DEFINITION(0x1, 0x91F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x920), ZYDIS_DEFINITION(0x1, 0x921), ZYDIS_DEFINITION(0x1, 0x922) }, 
+    { ZYDIS_DEFINITION(0x1, 0x923), ZYDIS_DEFINITION(0x1, 0x924), ZYDIS_DEFINITION(0x1, 0x925) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB6D), ZYDIS_DEFINITION(0x1, 0xB6E), ZYDIS_DEFINITION(0x1, 0xB6F) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB6A), ZYDIS_DEFINITION(0x1, 0xB6B), ZYDIS_DEFINITION(0x1, 0xB6C) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB7B), ZYDIS_DEFINITION(0x1, 0xB7C), ZYDIS_DEFINITION(0x1, 0xB7D) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB78), ZYDIS_DEFINITION(0x1, 0xB79), ZYDIS_DEFINITION(0x1, 0xB7A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x294), ZYDIS_DEFINITION(0x1, 0x295), ZYDIS_DEFINITION(0x1, 0x296) }, 
+    { ZYDIS_DEFINITION(0x1, 0x28D), ZYDIS_DEFINITION(0x1, 0x28E), ZYDIS_DEFINITION(0x1, 0x28F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x297), ZYDIS_DEFINITION(0x1, 0x298), ZYDIS_DEFINITION(0x1, 0x299) }, 
+    { ZYDIS_DEFINITION(0x1, 0x290), ZYDIS_DEFINITION(0x1, 0x291), ZYDIS_DEFINITION(0x1, 0x292) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2FA), ZYDIS_DEFINITION(0x1, 0x2FB), ZYDIS_DEFINITION(0x1, 0x2FC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F3), ZYDIS_DEFINITION(0x1, 0x2F4), ZYDIS_DEFINITION(0x1, 0x2F5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2FD), ZYDIS_DEFINITION(0x1, 0x2FE), ZYDIS_DEFINITION(0x1, 0x2FF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F6), ZYDIS_DEFINITION(0x1, 0x2F7), ZYDIS_DEFINITION(0x1, 0x2F8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x25E), ZYDIS_DEFINITION(0x1, 0x25F), ZYDIS_DEFINITION(0x1, 0x260) }, 
+    { ZYDIS_DEFINITION(0x1, 0x257), ZYDIS_DEFINITION(0x1, 0x258), ZYDIS_DEFINITION(0x1, 0x259) }, 
+    { ZYDIS_DEFINITION(0x1, 0x261), ZYDIS_DEFINITION(0x1, 0x262), ZYDIS_DEFINITION(0x1, 0x263) }, 
+    { ZYDIS_DEFINITION(0x1, 0x25A), ZYDIS_DEFINITION(0x1, 0x25B), ZYDIS_DEFINITION(0x1, 0x25C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2C4), ZYDIS_DEFINITION(0x1, 0x2C5), ZYDIS_DEFINITION(0x1, 0x2C6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2BD), ZYDIS_DEFINITION(0x1, 0x2BE), ZYDIS_DEFINITION(0x1, 0x2BF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2C7), ZYDIS_DEFINITION(0x1, 0x2C8), ZYDIS_DEFINITION(0x1, 0x2C9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2C0), ZYDIS_DEFINITION(0x1, 0x2C1), ZYDIS_DEFINITION(0x1, 0x2C2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x32A), ZYDIS_DEFINITION(0x1, 0x32B), ZYDIS_DEFINITION(0x1, 0x32C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x323), ZYDIS_DEFINITION(0x1, 0x324), ZYDIS_DEFINITION(0x1, 0x325) }, 
+    { ZYDIS_DEFINITION(0x1, 0x32D), ZYDIS_DEFINITION(0x1, 0x32E), ZYDIS_DEFINITION(0x1, 0x32F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x326), ZYDIS_DEFINITION(0x1, 0x327), ZYDIS_DEFINITION(0x1, 0x328) }, 
+    { ZYDIS_DEFINITION(0x1, 0x366), ZYDIS_DEFINITION(0x1, 0x367), ZYDIS_DEFINITION(0x1, 0x368) }, 
+    { ZYDIS_DEFINITION(0x1, 0x35F), ZYDIS_DEFINITION(0x1, 0x360), ZYDIS_DEFINITION(0x1, 0x361) }, 
+    { ZYDIS_DEFINITION(0x1, 0x369), ZYDIS_DEFINITION(0x1, 0x36A), ZYDIS_DEFINITION(0x1, 0x36B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x362), ZYDIS_DEFINITION(0x1, 0x363), ZYDIS_DEFINITION(0x1, 0x364) }, 
+    { ZYDIS_DEFINITION(0x1, 0x74C), ZYDIS_DEFINITION(0x1, 0x74D), ZYDIS_DEFINITION(0x1, 0x74E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x74F), ZYDIS_DEFINITION(0x1, 0x750), ZYDIS_DEFINITION(0x1, 0x751) }, 
+    { ZYDIS_DEFINITION(0x1, 0x746), ZYDIS_DEFINITION(0x1, 0x747), ZYDIS_DEFINITION(0x1, 0x748) }, 
+    { ZYDIS_DEFINITION(0x1, 0x749), ZYDIS_DEFINITION(0x1, 0x74A), ZYDIS_DEFINITION(0x1, 0x74B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2A2), ZYDIS_DEFINITION(0x1, 0x2A3), ZYDIS_DEFINITION(0x1, 0x2A4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x29B), ZYDIS_DEFINITION(0x1, 0x29C), ZYDIS_DEFINITION(0x1, 0x29D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2A5), ZYDIS_DEFINITION(0x1, 0x2A6), ZYDIS_DEFINITION(0x1, 0x2A7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x29E), ZYDIS_DEFINITION(0x1, 0x29F), ZYDIS_DEFINITION(0x1, 0x2A0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x308), ZYDIS_DEFINITION(0x1, 0x309), ZYDIS_DEFINITION(0x1, 0x30A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x301), ZYDIS_DEFINITION(0x1, 0x302), ZYDIS_DEFINITION(0x1, 0x303) }, 
+    { ZYDIS_DEFINITION(0x1, 0x30B), ZYDIS_DEFINITION(0x1, 0x30C), ZYDIS_DEFINITION(0x1, 0x30D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x304), ZYDIS_DEFINITION(0x1, 0x305), ZYDIS_DEFINITION(0x1, 0x306) }, 
+    { ZYDIS_DEFINITION(0x1, 0x272), ZYDIS_DEFINITION(0x1, 0x273), ZYDIS_DEFINITION(0x1, 0x274) }, 
+    { ZYDIS_DEFINITION(0x1, 0x26B), ZYDIS_DEFINITION(0x1, 0x26C), ZYDIS_DEFINITION(0x1, 0x26D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x275), ZYDIS_DEFINITION(0x1, 0x276), ZYDIS_DEFINITION(0x1, 0x277) }, 
+    { ZYDIS_DEFINITION(0x1, 0x26E), ZYDIS_DEFINITION(0x1, 0x26F), ZYDIS_DEFINITION(0x1, 0x270) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2D8), ZYDIS_DEFINITION(0x1, 0x2D9), ZYDIS_DEFINITION(0x1, 0x2DA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2D1), ZYDIS_DEFINITION(0x1, 0x2D2), ZYDIS_DEFINITION(0x1, 0x2D3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2DB), ZYDIS_DEFINITION(0x1, 0x2DC), ZYDIS_DEFINITION(0x1, 0x2DD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2D4), ZYDIS_DEFINITION(0x1, 0x2D5), ZYDIS_DEFINITION(0x1, 0x2D6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x33E), ZYDIS_DEFINITION(0x1, 0x33F), ZYDIS_DEFINITION(0x1, 0x340) }, 
+    { ZYDIS_DEFINITION(0x1, 0x337), ZYDIS_DEFINITION(0x1, 0x338), ZYDIS_DEFINITION(0x1, 0x339) }, 
+    { ZYDIS_DEFINITION(0x1, 0x341), ZYDIS_DEFINITION(0x1, 0x342), ZYDIS_DEFINITION(0x1, 0x343) }, 
+    { ZYDIS_DEFINITION(0x1, 0x33A), ZYDIS_DEFINITION(0x1, 0x33B), ZYDIS_DEFINITION(0x1, 0x33C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x37A), ZYDIS_DEFINITION(0x1, 0x37B), ZYDIS_DEFINITION(0x1, 0x37C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x373), ZYDIS_DEFINITION(0x1, 0x374), ZYDIS_DEFINITION(0x1, 0x375) }, 
+    { ZYDIS_DEFINITION(0x1, 0x37D), ZYDIS_DEFINITION(0x1, 0x37E), ZYDIS_DEFINITION(0x1, 0x37F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x376), ZYDIS_DEFINITION(0x1, 0x377), ZYDIS_DEFINITION(0x1, 0x378) }, 
+    { ZYDIS_DEFINITION(0x1, 0x659), ZYDIS_DEFINITION(0x1, 0x65A), ZYDIS_DEFINITION(0x1, 0x65B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x65F), ZYDIS_DEFINITION(0x1, 0x660), ZYDIS_DEFINITION(0x1, 0x661) }, 
+    { ZYDIS_DEFINITION(0x1, 0x65C), ZYDIS_DEFINITION(0x1, 0x65D), ZYDIS_DEFINITION(0x1, 0x65E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x662), ZYDIS_DEFINITION(0x1, 0x663), ZYDIS_DEFINITION(0x1, 0x664) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x39D) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x39C) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3A1) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3A0) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB71) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB70) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB75) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB74) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x39F) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x39E) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3A3) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3A2) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB73) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB72) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB77) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB76) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x206) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x203) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x207) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x204) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB0A) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB07) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB0B) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB08) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB4E) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB4B) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB4F) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xB4C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3DE), ZYDIS_DEFINITION(0x1, 0x3DF), ZYDIS_DEFINITION(0x1, 0x3E0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3E1), ZYDIS_DEFINITION(0x1, 0x3E2), ZYDIS_DEFINITION(0x1, 0x3E3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x24), ZYDIS_DEFINITION(0x1, 0x25), ZYDIS_DEFINITION(0x1, 0x26) }, 
+    { ZYDIS_DEFINITION(0x1, 0x27), ZYDIS_DEFINITION(0x1, 0x28), ZYDIS_DEFINITION(0x1, 0x29) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2A), ZYDIS_DEFINITION(0x1, 0x2B), ZYDIS_DEFINITION(0x1, 0x2C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2D), ZYDIS_DEFINITION(0x1, 0x2E), ZYDIS_DEFINITION(0x1, 0x2F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x18), ZYDIS_DEFINITION(0x1, 0x19), ZYDIS_DEFINITION(0x1, 0x1A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1B), ZYDIS_DEFINITION(0x1, 0x1C), ZYDIS_DEFINITION(0x1, 0x1D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1E), ZYDIS_DEFINITION(0x1, 0x1F), ZYDIS_DEFINITION(0x1, 0x20) }, 
+    { ZYDIS_DEFINITION(0x1, 0x21), ZYDIS_DEFINITION(0x1, 0x22), ZYDIS_DEFINITION(0x1, 0x23) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x6D3), ZYDIS_DEFINITION(0xB, 0x6D4) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x6D5), ZYDIS_DEFINITION(0xB, 0x6D6) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x6C7), ZYDIS_DEFINITION(0xB, 0x6C8) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x6C9), ZYDIS_DEFINITION(0xB, 0x6CA) }, 
+    { ZYDIS_DEFINITION(0xB, 0x30), ZYDIS_DEFINITION(0xB, 0x31), ZYDIS_DEFINITION(0xB, 0x32) }, 
+    { ZYDIS_DEFINITION(0xB, 0x36), ZYDIS_DEFINITION(0xB, 0x37), ZYDIS_DEFINITION(0xB, 0x38) }, 
+    { ZYDIS_DEFINITION(0xB, 0x33), ZYDIS_DEFINITION(0xB, 0x34), ZYDIS_DEFINITION(0xB, 0x35) }, 
+    { ZYDIS_DEFINITION(0xB, 0x39), ZYDIS_DEFINITION(0xB, 0x3A), ZYDIS_DEFINITION(0xB, 0x3B) }, 
+    { ZYDIS_DEFINITION(0xB, 0x6BD), ZYDIS_DEFINITION(0xB, 0x6BE), ZYDIS_DEFINITION(0xB, 0x6BF) }, 
+    { ZYDIS_DEFINITION(0xB, 0x6C0), ZYDIS_DEFINITION(0xB, 0x6C1), ZYDIS_DEFINITION(0xB, 0x6C2) }, 
+    { ZYDIS_DEFINITION(0xB, 0x6B1), ZYDIS_DEFINITION(0xB, 0x6B2), ZYDIS_DEFINITION(0xB, 0x6B3) }, 
+    { ZYDIS_DEFINITION(0xB, 0x6B4), ZYDIS_DEFINITION(0xB, 0x6B5), ZYDIS_DEFINITION(0xB, 0x6B6) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB2E), ZYDIS_DEFINITION(0xB, 0xB2F), ZYDIS_DEFINITION(0xB, 0xB30) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB31), ZYDIS_DEFINITION(0xB, 0xB32), ZYDIS_DEFINITION(0xB, 0xB33) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB27), ZYDIS_DEFINITION(0xB, 0xB28), ZYDIS_DEFINITION(0xB, 0xB29) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB2A), ZYDIS_DEFINITION(0xB, 0xB2B), ZYDIS_DEFINITION(0xB, 0xB2C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x56C), ZYDIS_DEFINITION(0xB, 0x56D), ZYDIS_DEFINITION(0xB, 0x56E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x56F), ZYDIS_DEFINITION(0xB, 0x570), ZYDIS_DEFINITION(0xB, 0x571) }, 
+    { ZYDIS_DEFINITION(0xB, 0x719), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x71A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x722), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x723), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x71B), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x71F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x71D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x71C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x720), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x71E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x22C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x22D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3E4), ZYDIS_DEFINITION(0xB, 0x3E5) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3EA), ZYDIS_DEFINITION(0xB, 0x3EB) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3E6), ZYDIS_DEFINITION(0xB, 0x3E7) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3EC), ZYDIS_DEFINITION(0xB, 0x3ED) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x214), ZYDIS_DEFINITION(0xB, 0x215) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x21A), ZYDIS_DEFINITION(0xB, 0x21B) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x216), ZYDIS_DEFINITION(0xB, 0x217) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x21C), ZYDIS_DEFINITION(0xB, 0x21D) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3E8) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3EE) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3E9) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3EF) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x218) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x21E) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x219) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x21F) }, 
+    { ZYDIS_DEFINITION(0xB, 0xF8), ZYDIS_DEFINITION(0xB, 0xF9), ZYDIS_DEFINITION(0xB, 0xFA) }, 
+    { ZYDIS_DEFINITION(0xB, 0xFB), ZYDIS_DEFINITION(0xB, 0xFC), ZYDIS_DEFINITION(0xB, 0xFD) }, 
+    { ZYDIS_DEFINITION(0xB, 0x629), ZYDIS_DEFINITION(0xB, 0x62A), ZYDIS_DEFINITION(0xB, 0x62B) }, 
+    { ZYDIS_DEFINITION(0xB, 0x62F), ZYDIS_DEFINITION(0xB, 0x630), ZYDIS_DEFINITION(0xB, 0x631) }, 
+    { ZYDIS_DEFINITION(0xB, 0x62C), ZYDIS_DEFINITION(0xB, 0x62D), ZYDIS_DEFINITION(0xB, 0x62E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x632), ZYDIS_DEFINITION(0xB, 0x633), ZYDIS_DEFINITION(0xB, 0x634) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5E7), ZYDIS_DEFINITION(0xB, 0x5E8), ZYDIS_DEFINITION(0xB, 0x5E9) }, 
+    { ZYDIS_DEFINITION(0xB, 0x61D), ZYDIS_DEFINITION(0xB, 0x61E), ZYDIS_DEFINITION(0xB, 0x61F) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5EA), ZYDIS_DEFINITION(0xB, 0x5EB), ZYDIS_DEFINITION(0xB, 0x5EC) }, 
+    { ZYDIS_DEFINITION(0xB, 0x620), ZYDIS_DEFINITION(0xB, 0x621), ZYDIS_DEFINITION(0xB, 0x622) }, 
+    { ZYDIS_DEFINITION(0xB, 0x730), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x731), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x3FC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x3FD), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x732), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x736), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x734), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x733), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x737), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x735), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB7E), ZYDIS_DEFINITION(0xB, 0xB7F) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB82), ZYDIS_DEFINITION(0xB, 0xB83) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB80), ZYDIS_DEFINITION(0xB, 0xB81) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB84), ZYDIS_DEFINITION(0xB, 0xB85) }, 
+    { ZYDIS_DEFINITION(0xB, 0xA6A), ZYDIS_DEFINITION(0xB, 0xA6B), ZYDIS_DEFINITION(0xB, 0xA6C) }, 
+    { ZYDIS_DEFINITION(0xB, 0xA70), ZYDIS_DEFINITION(0xB, 0xA71), ZYDIS_DEFINITION(0xB, 0xA72) }, 
+    { ZYDIS_DEFINITION(0xB, 0xA6D), ZYDIS_DEFINITION(0xB, 0xA6E), ZYDIS_DEFINITION(0xB, 0xA6F) }, 
+    { ZYDIS_DEFINITION(0xB, 0xA73), ZYDIS_DEFINITION(0xB, 0xA74), ZYDIS_DEFINITION(0xB, 0xA75) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3C6), ZYDIS_DEFINITION(0xB, 0x3C7), ZYDIS_DEFINITION(0xB, 0x3C8) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3BF), ZYDIS_DEFINITION(0xB, 0x3C0), ZYDIS_DEFINITION(0xB, 0x3C1) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3C9), ZYDIS_DEFINITION(0xB, 0x3CA), ZYDIS_DEFINITION(0xB, 0x3CB) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3C2), ZYDIS_DEFINITION(0xB, 0x3C3), ZYDIS_DEFINITION(0xB, 0x3C4) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3F0), ZYDIS_DEFINITION(0xB, 0x3F1) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3F6), ZYDIS_DEFINITION(0xB, 0x3F7) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3F2), ZYDIS_DEFINITION(0xB, 0x3F3) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3F8), ZYDIS_DEFINITION(0xB, 0x3F9) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x220), ZYDIS_DEFINITION(0xB, 0x221) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x226), ZYDIS_DEFINITION(0xB, 0x227) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x222), ZYDIS_DEFINITION(0xB, 0x223) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x228), ZYDIS_DEFINITION(0xB, 0x229) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3F4) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3FA) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3F5) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x3FB) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x224) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x22A) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x225) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x22B) }, 
+    { ZYDIS_DEFINITION(0xB, 0x623), ZYDIS_DEFINITION(0xB, 0x624), ZYDIS_DEFINITION(0xB, 0x625) }, 
+    { ZYDIS_DEFINITION(0xB, 0x635), ZYDIS_DEFINITION(0xB, 0x636), ZYDIS_DEFINITION(0xB, 0x637) }, 
+    { ZYDIS_DEFINITION(0xB, 0x626), ZYDIS_DEFINITION(0xB, 0x627), ZYDIS_DEFINITION(0xB, 0x628) }, 
+    { ZYDIS_DEFINITION(0xB, 0x638), ZYDIS_DEFINITION(0xB, 0x639), ZYDIS_DEFINITION(0xB, 0x63A) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5E1), ZYDIS_DEFINITION(0xB, 0x5E2), ZYDIS_DEFINITION(0xB, 0x5E3) }, 
+    { ZYDIS_DEFINITION(0xB, 0x63B), ZYDIS_DEFINITION(0xB, 0x63C), ZYDIS_DEFINITION(0xB, 0x63D) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5E4), ZYDIS_DEFINITION(0xB, 0x5E5), ZYDIS_DEFINITION(0xB, 0x5E6) }, 
+    { ZYDIS_DEFINITION(0xB, 0x63E), ZYDIS_DEFINITION(0xB, 0x63F), ZYDIS_DEFINITION(0xB, 0x640) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1E2), ZYDIS_DEFINITION(0xB, 0x1E3), ZYDIS_DEFINITION(0xB, 0x1E4) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1E5), ZYDIS_DEFINITION(0xB, 0x1E6), ZYDIS_DEFINITION(0xB, 0x1E7) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB86), ZYDIS_DEFINITION(0xB, 0xB87) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB8A), ZYDIS_DEFINITION(0xB, 0xB8B) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB88), ZYDIS_DEFINITION(0xB, 0xB89) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0xB8C), ZYDIS_DEFINITION(0xB, 0xB8D) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5DB), ZYDIS_DEFINITION(0xB, 0x5DC), ZYDIS_DEFINITION(0xB, 0x5DD) }, 
+    { ZYDIS_DEFINITION(0xB, 0x5DE), ZYDIS_DEFINITION(0xB, 0x5DF), ZYDIS_DEFINITION(0xB, 0x5E0) }, 
+    { ZYDIS_DEFINITION(0xB, 0xAEA), ZYDIS_DEFINITION(0xB, 0xAEB), ZYDIS_DEFINITION(0xB, 0xAEC) }, 
+    { ZYDIS_DEFINITION(0xB, 0xAE3), ZYDIS_DEFINITION(0xB, 0xAE4), ZYDIS_DEFINITION(0xB, 0xAE5) }, 
+    { ZYDIS_DEFINITION(0xB, 0xAED), ZYDIS_DEFINITION(0xB, 0xAEE), ZYDIS_DEFINITION(0xB, 0xAEF) }, 
+    { ZYDIS_DEFINITION(0xB, 0xAE6), ZYDIS_DEFINITION(0xB, 0xAE7), ZYDIS_DEFINITION(0xB, 0xAE8) }, 
+    { ZYDIS_DEFINITION(0xB, 0x236), ZYDIS_DEFINITION(0xB, 0x237), ZYDIS_DEFINITION(0xB, 0x238) }, 
+    { ZYDIS_DEFINITION(0xB, 0x22F), ZYDIS_DEFINITION(0xB, 0x230), ZYDIS_DEFINITION(0xB, 0x231) }, 
+    { ZYDIS_DEFINITION(0xB, 0x239), ZYDIS_DEFINITION(0xB, 0x23A), ZYDIS_DEFINITION(0xB, 0x23B) }, 
+    { ZYDIS_DEFINITION(0xB, 0x232), ZYDIS_DEFINITION(0xB, 0x233), ZYDIS_DEFINITION(0xB, 0x234) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB1A), ZYDIS_DEFINITION(0xB, 0xB1B), ZYDIS_DEFINITION(0xB, 0xB1C) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB13), ZYDIS_DEFINITION(0xB, 0xB14), ZYDIS_DEFINITION(0xB, 0xB15) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB1D), ZYDIS_DEFINITION(0xB, 0xB1E), ZYDIS_DEFINITION(0xB, 0xB1F) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB16), ZYDIS_DEFINITION(0xB, 0xB17), ZYDIS_DEFINITION(0xB, 0xB18) }, 
+    { ZYDIS_DEFINITION(0xB, 0x38C), ZYDIS_DEFINITION(0xB, 0x38D), ZYDIS_DEFINITION(0xB, 0x38E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x386), ZYDIS_DEFINITION(0xB, 0x387), ZYDIS_DEFINITION(0xB, 0x388) }, 
+    { ZYDIS_DEFINITION(0xB, 0x38F), ZYDIS_DEFINITION(0xB, 0x390), ZYDIS_DEFINITION(0xB, 0x391) }, 
+    { ZYDIS_DEFINITION(0xB, 0x389), ZYDIS_DEFINITION(0xB, 0x38A), ZYDIS_DEFINITION(0xB, 0x38B) }, 
+    { ZYDIS_DEFINITION(0xB, 0x944), ZYDIS_DEFINITION(0xB, 0x945), ZYDIS_DEFINITION(0xB, 0x946) }, 
+    { ZYDIS_DEFINITION(0xB, 0x947), ZYDIS_DEFINITION(0xB, 0x948), ZYDIS_DEFINITION(0xB, 0x949) }, 
+    { ZYDIS_DEFINITION(0xB, 0x926), ZYDIS_DEFINITION(0xB, 0x927), ZYDIS_DEFINITION(0xB, 0x928) }, 
+    { ZYDIS_DEFINITION(0xB, 0x92C), ZYDIS_DEFINITION(0xB, 0x92D), ZYDIS_DEFINITION(0xB, 0x92E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x929), ZYDIS_DEFINITION(0xB, 0x92A), ZYDIS_DEFINITION(0xB, 0x92B) }, 
+    { ZYDIS_DEFINITION(0xB, 0x92F), ZYDIS_DEFINITION(0xB, 0x930), ZYDIS_DEFINITION(0xB, 0x931) }, 
+    { ZYDIS_DEFINITION(0xB, 0x968), ZYDIS_DEFINITION(0xB, 0x969), ZYDIS_DEFINITION(0xB, 0x96A) }, 
+    { ZYDIS_DEFINITION(0xB, 0x96B), ZYDIS_DEFINITION(0xB, 0x96C), ZYDIS_DEFINITION(0xB, 0x96D) }, 
+    { ZYDIS_DEFINITION(0xB, 0x94A), ZYDIS_DEFINITION(0xB, 0x94B), ZYDIS_DEFINITION(0xB, 0x94C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x950), ZYDIS_DEFINITION(0xB, 0x951), ZYDIS_DEFINITION(0xB, 0x952) }, 
+    { ZYDIS_DEFINITION(0xB, 0x94D), ZYDIS_DEFINITION(0xB, 0x94E), ZYDIS_DEFINITION(0xB, 0x94F) }, 
+    { ZYDIS_DEFINITION(0xB, 0x953), ZYDIS_DEFINITION(0xB, 0x954), ZYDIS_DEFINITION(0xB, 0x955) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3D8), ZYDIS_DEFINITION(0xB, 0x3D9), ZYDIS_DEFINITION(0xB, 0x3DA) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3DB), ZYDIS_DEFINITION(0xB, 0x3DC), ZYDIS_DEFINITION(0xB, 0x3DD) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3D2), ZYDIS_DEFINITION(0xB, 0x3D3), ZYDIS_DEFINITION(0xB, 0x3D4) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3D5), ZYDIS_DEFINITION(0xB, 0x3D6), ZYDIS_DEFINITION(0xB, 0x3D7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4BC), ZYDIS_DEFINITION(0x1, 0x4BD), ZYDIS_DEFINITION(0x1, 0x4BE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4BF), ZYDIS_DEFINITION(0x1, 0x4C0), ZYDIS_DEFINITION(0x1, 0x4C1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B6), ZYDIS_DEFINITION(0x1, 0x4B7), ZYDIS_DEFINITION(0x1, 0x4B8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B9), ZYDIS_DEFINITION(0x1, 0x4BA), ZYDIS_DEFINITION(0x1, 0x4BB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x178), ZYDIS_DEFINITION(0x1, 0x179), ZYDIS_DEFINITION(0x1, 0x17A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x17B), ZYDIS_DEFINITION(0x1, 0x17C), ZYDIS_DEFINITION(0x1, 0x17D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x470), ZYDIS_DEFINITION(0x1, 0x471), ZYDIS_DEFINITION(0x1, 0x472) }, 
+    { ZYDIS_DEFINITION(0x1, 0x47C), ZYDIS_DEFINITION(0x1, 0x47D), ZYDIS_DEFINITION(0x1, 0x47E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x473), ZYDIS_DEFINITION(0x1, 0x474), ZYDIS_DEFINITION(0x1, 0x475) }, 
+    { ZYDIS_DEFINITION(0x1, 0x47F), ZYDIS_DEFINITION(0x1, 0x480), ZYDIS_DEFINITION(0x1, 0x481) }, 
+    { ZYDIS_DEFINITION(0xB, 0x980), ZYDIS_DEFINITION(0xB, 0x981), ZYDIS_DEFINITION(0xB, 0x982) }, 
+    { ZYDIS_DEFINITION(0xB, 0x983), ZYDIS_DEFINITION(0xB, 0x984), ZYDIS_DEFINITION(0xB, 0x985) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1B7), ZYDIS_DEFINITION(0x1, 0x1B8), ZYDIS_DEFINITION(0x1, 0x1B9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1C5), ZYDIS_DEFINITION(0x1, 0x1C6), ZYDIS_DEFINITION(0x1, 0x1C7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1BA), ZYDIS_DEFINITION(0x1, 0x1BB), ZYDIS_DEFINITION(0x1, 0x1BC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1C8), ZYDIS_DEFINITION(0x1, 0x1C9), ZYDIS_DEFINITION(0x1, 0x1CA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4AE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4AF), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x476), ZYDIS_DEFINITION(0x1, 0x477), ZYDIS_DEFINITION(0x1, 0x478) }, 
+    { ZYDIS_DEFINITION(0x1, 0x482), ZYDIS_DEFINITION(0x1, 0x483), ZYDIS_DEFINITION(0x1, 0x484) }, 
+    { ZYDIS_DEFINITION(0x1, 0x479), ZYDIS_DEFINITION(0x1, 0x47A), ZYDIS_DEFINITION(0x1, 0x47B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x485), ZYDIS_DEFINITION(0x1, 0x486), ZYDIS_DEFINITION(0x1, 0x487) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA6), ZYDIS_DEFINITION(0x1, 0xA7), ZYDIS_DEFINITION(0x1, 0xA8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x114), ZYDIS_DEFINITION(0x1, 0x115), ZYDIS_DEFINITION(0x1, 0x116) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA9), ZYDIS_DEFINITION(0x1, 0xAA), ZYDIS_DEFINITION(0x1, 0xAB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x117), ZYDIS_DEFINITION(0x1, 0x118), ZYDIS_DEFINITION(0x1, 0x119) }, 
+    { ZYDIS_DEFINITION(0x1, 0x857), ZYDIS_DEFINITION(0x1, 0x858), ZYDIS_DEFINITION(0x1, 0x859) }, 
+    { ZYDIS_DEFINITION(0x1, 0x85A), ZYDIS_DEFINITION(0x1, 0x85B), ZYDIS_DEFINITION(0x1, 0x85C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x839), ZYDIS_DEFINITION(0x1, 0x83A), ZYDIS_DEFINITION(0x1, 0x83B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x83C), ZYDIS_DEFINITION(0x1, 0x83D), ZYDIS_DEFINITION(0x1, 0x83E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x845), ZYDIS_DEFINITION(0x1, 0x846), ZYDIS_DEFINITION(0x1, 0x847) }, 
+    { ZYDIS_DEFINITION(0x1, 0x848), ZYDIS_DEFINITION(0x1, 0x849), ZYDIS_DEFINITION(0x1, 0x84A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x83F), ZYDIS_DEFINITION(0x1, 0x840), ZYDIS_DEFINITION(0x1, 0x841) }, 
+    { ZYDIS_DEFINITION(0x1, 0x842), ZYDIS_DEFINITION(0x1, 0x843), ZYDIS_DEFINITION(0x1, 0x844) }, 
+    { ZYDIS_DEFINITION(0x1, 0x851), ZYDIS_DEFINITION(0x1, 0x852), ZYDIS_DEFINITION(0x1, 0x853) }, 
+    { ZYDIS_DEFINITION(0x1, 0x854), ZYDIS_DEFINITION(0x1, 0x855), ZYDIS_DEFINITION(0x1, 0x856) }, 
+    { ZYDIS_DEFINITION(0x1, 0x84B), ZYDIS_DEFINITION(0x1, 0x84C), ZYDIS_DEFINITION(0x1, 0x84D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x84E), ZYDIS_DEFINITION(0x1, 0x84F), ZYDIS_DEFINITION(0x1, 0x850) }, 
+    { ZYDIS_DEFINITION(0x1, 0x80F), ZYDIS_DEFINITION(0x1, 0x810), ZYDIS_DEFINITION(0x1, 0x811) }, 
+    { ZYDIS_DEFINITION(0x1, 0x812), ZYDIS_DEFINITION(0x1, 0x813), ZYDIS_DEFINITION(0x1, 0x814) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7F1), ZYDIS_DEFINITION(0x1, 0x7F2), ZYDIS_DEFINITION(0x1, 0x7F3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7F4), ZYDIS_DEFINITION(0x1, 0x7F5), ZYDIS_DEFINITION(0x1, 0x7F6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7FD), ZYDIS_DEFINITION(0x1, 0x7FE), ZYDIS_DEFINITION(0x1, 0x7FF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x800), ZYDIS_DEFINITION(0x1, 0x801), ZYDIS_DEFINITION(0x1, 0x802) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7F7), ZYDIS_DEFINITION(0x1, 0x7F8), ZYDIS_DEFINITION(0x1, 0x7F9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7FA), ZYDIS_DEFINITION(0x1, 0x7FB), ZYDIS_DEFINITION(0x1, 0x7FC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x809), ZYDIS_DEFINITION(0x1, 0x80A), ZYDIS_DEFINITION(0x1, 0x80B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x80C), ZYDIS_DEFINITION(0x1, 0x80D), ZYDIS_DEFINITION(0x1, 0x80E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x803), ZYDIS_DEFINITION(0x1, 0x804), ZYDIS_DEFINITION(0x1, 0x805) }, 
+    { ZYDIS_DEFINITION(0x1, 0x806), ZYDIS_DEFINITION(0x1, 0x807), ZYDIS_DEFINITION(0x1, 0x808) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA8E), ZYDIS_DEFINITION(0x1, 0xA8F), ZYDIS_DEFINITION(0x1, 0xA90) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAA0), ZYDIS_DEFINITION(0x1, 0xAA1), ZYDIS_DEFINITION(0x1, 0xAA2) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA91), ZYDIS_DEFINITION(0x1, 0xA92), ZYDIS_DEFINITION(0x1, 0xA93) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAA3), ZYDIS_DEFINITION(0x1, 0xAA4), ZYDIS_DEFINITION(0x1, 0xAA5) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA94), ZYDIS_DEFINITION(0x1, 0xA95), ZYDIS_DEFINITION(0x1, 0xA96) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA9A), ZYDIS_DEFINITION(0x1, 0xA9B), ZYDIS_DEFINITION(0x1, 0xA9C) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA97), ZYDIS_DEFINITION(0x1, 0xA98), ZYDIS_DEFINITION(0x1, 0xA99) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA9D), ZYDIS_DEFINITION(0x1, 0xA9E), ZYDIS_DEFINITION(0x1, 0xA9F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7D0), ZYDIS_DEFINITION(0x1, 0x7D1), ZYDIS_DEFINITION(0x1, 0x7D2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7D9), ZYDIS_DEFINITION(0x1, 0x7DA), ZYDIS_DEFINITION(0x1, 0x7DB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7BE), ZYDIS_DEFINITION(0x1, 0x7BF), ZYDIS_DEFINITION(0x1, 0x7C0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x85D), ZYDIS_DEFINITION(0x1, 0x85E), ZYDIS_DEFINITION(0x1, 0x85F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5C3), ZYDIS_DEFINITION(0x1, 0x5C4), ZYDIS_DEFINITION(0x1, 0x5C5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x860), ZYDIS_DEFINITION(0x1, 0x861), ZYDIS_DEFINITION(0x1, 0x862) }, 
+    { ZYDIS_DEFINITION(0x1, 0x863), ZYDIS_DEFINITION(0x1, 0x864), ZYDIS_DEFINITION(0x1, 0x865) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7C4), ZYDIS_DEFINITION(0x1, 0x7C5), ZYDIS_DEFINITION(0x1, 0x7C6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7C7), ZYDIS_DEFINITION(0x1, 0x7C8), ZYDIS_DEFINITION(0x1, 0x7C9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7DF), ZYDIS_DEFINITION(0x1, 0x7E0), ZYDIS_DEFINITION(0x1, 0x7E1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7E2), ZYDIS_DEFINITION(0x1, 0x7E3), ZYDIS_DEFINITION(0x1, 0x7E4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7CA), ZYDIS_DEFINITION(0x1, 0x7CB), ZYDIS_DEFINITION(0x1, 0x7CC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7CD), ZYDIS_DEFINITION(0x1, 0x7CE), ZYDIS_DEFINITION(0x1, 0x7CF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7EB), ZYDIS_DEFINITION(0x1, 0x7EC), ZYDIS_DEFINITION(0x1, 0x7ED) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7EE), ZYDIS_DEFINITION(0x1, 0x7EF), ZYDIS_DEFINITION(0x1, 0x7F0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7E5), ZYDIS_DEFINITION(0x1, 0x7E6), ZYDIS_DEFINITION(0x1, 0x7E7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7E8), ZYDIS_DEFINITION(0x1, 0x7E9), ZYDIS_DEFINITION(0x1, 0x7EA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7D3), ZYDIS_DEFINITION(0x1, 0x7D4), ZYDIS_DEFINITION(0x1, 0x7D5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7D6), ZYDIS_DEFINITION(0x1, 0x7D7), ZYDIS_DEFINITION(0x1, 0x7D8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7C1), ZYDIS_DEFINITION(0x1, 0x7C2), ZYDIS_DEFINITION(0x1, 0x7C3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7DC), ZYDIS_DEFINITION(0x1, 0x7DD), ZYDIS_DEFINITION(0x1, 0x7DE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5C6), ZYDIS_DEFINITION(0x1, 0x5C7), ZYDIS_DEFINITION(0x1, 0x5C8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1FC), ZYDIS_DEFINITION(0x1, 0x1FD), ZYDIS_DEFINITION(0x1, 0x1FE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1FF), ZYDIS_DEFINITION(0x1, 0x200), ZYDIS_DEFINITION(0x1, 0x201) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB9), ZYDIS_DEFINITION(0x1, 0xBA), ZYDIS_DEFINITION(0x1, 0xBB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBC), ZYDIS_DEFINITION(0x1, 0xBD), ZYDIS_DEFINITION(0x1, 0xBE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x446), ZYDIS_DEFINITION(0x1, 0x447), ZYDIS_DEFINITION(0x1, 0x448) }, 
+    { ZYDIS_DEFINITION(0x1, 0x449), ZYDIS_DEFINITION(0x1, 0x44A), ZYDIS_DEFINITION(0x1, 0x44B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x488), ZYDIS_DEFINITION(0x1, 0x489), ZYDIS_DEFINITION(0x1, 0x48A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x464), ZYDIS_DEFINITION(0x1, 0x465), ZYDIS_DEFINITION(0x1, 0x466) }, 
+    { ZYDIS_DEFINITION(0x1, 0x48B), ZYDIS_DEFINITION(0x1, 0x48C), ZYDIS_DEFINITION(0x1, 0x48D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x467), ZYDIS_DEFINITION(0x1, 0x468), ZYDIS_DEFINITION(0x1, 0x469) }, 
+    { ZYDIS_DEFINITION(0xB, 0x986), ZYDIS_DEFINITION(0xB, 0x987), ZYDIS_DEFINITION(0xB, 0x988) }, 
+    { ZYDIS_DEFINITION(0xB, 0x989), ZYDIS_DEFINITION(0xB, 0x98A), ZYDIS_DEFINITION(0xB, 0x98B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1BE), ZYDIS_DEFINITION(0x1, 0x1BF), ZYDIS_DEFINITION(0x1, 0x1C0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1CC), ZYDIS_DEFINITION(0x1, 0x1CD), ZYDIS_DEFINITION(0x1, 0x1CE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1C1), ZYDIS_DEFINITION(0x1, 0x1C2), ZYDIS_DEFINITION(0x1, 0x1C3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1CF), ZYDIS_DEFINITION(0x1, 0x1D0), ZYDIS_DEFINITION(0x1, 0x1D1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x48E), ZYDIS_DEFINITION(0x1, 0x48F), ZYDIS_DEFINITION(0x1, 0x490) }, 
+    { ZYDIS_DEFINITION(0x1, 0x46A), ZYDIS_DEFINITION(0x1, 0x46B), ZYDIS_DEFINITION(0x1, 0x46C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x491), ZYDIS_DEFINITION(0x1, 0x492), ZYDIS_DEFINITION(0x1, 0x493) }, 
+    { ZYDIS_DEFINITION(0x1, 0x46D), ZYDIS_DEFINITION(0x1, 0x46E), ZYDIS_DEFINITION(0x1, 0x46F) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC0), ZYDIS_DEFINITION(0x1, 0xC1), ZYDIS_DEFINITION(0x1, 0xC2) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC3), ZYDIS_DEFINITION(0x1, 0xC4), ZYDIS_DEFINITION(0x1, 0xC5) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x50A) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x50B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4FE), ZYDIS_DEFINITION(0x1, 0x4FF), ZYDIS_DEFINITION(0x1, 0x500) }, 
+    { ZYDIS_DEFINITION(0x1, 0x504), ZYDIS_DEFINITION(0x1, 0x505), ZYDIS_DEFINITION(0x1, 0x506) }, 
+    { ZYDIS_DEFINITION(0x1, 0x501), ZYDIS_DEFINITION(0x1, 0x502), ZYDIS_DEFINITION(0x1, 0x503) }, 
+    { ZYDIS_DEFINITION(0x1, 0x507), ZYDIS_DEFINITION(0x1, 0x508), ZYDIS_DEFINITION(0x1, 0x509) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB3), ZYDIS_DEFINITION(0x1, 0xB4), ZYDIS_DEFINITION(0x1, 0xB5) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB6), ZYDIS_DEFINITION(0x1, 0xB7), ZYDIS_DEFINITION(0x1, 0xB8) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x0) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x143) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x13C) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x13D) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x13E) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x142) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x13F) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x140) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x141) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1) }, 
+    { ZYDIS_INVALID, ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x380), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x381), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x382), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x383), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x384), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x385), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x386), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x387), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x388), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x389), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x38A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x38B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x38C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x38D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x38E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x38F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x390), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x391), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x392), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x393), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x394), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x395), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x396), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x397), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x398), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x399), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x39A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA8), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xA9), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xAA), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xAB), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xAC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xAD), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xAE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xAF), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3AD), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3AE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3AF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B4), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B5), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B6), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B8), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3B9), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3BA), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3BB), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3BC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3BD), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3BE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3BF), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C0), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C1), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C2), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C4), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C5), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C6), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C8), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3C9), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3CA), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3CB), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3CC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3CD), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3CE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3CF), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB0), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D2), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3DA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3DB), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3DC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3DD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3DE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E1), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3E2), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB8), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xB9), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xBA), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xBB), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xBC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xBD), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xBE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3EC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3EE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xBF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3F6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC1), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC2), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3FB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3FD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x3FF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC6), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xC7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x402), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x403), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x404), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x405), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x406), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x407), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x408), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x409), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x40A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x40B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x40C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x40D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x40E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x40F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x410), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x411), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x412), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x413), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x414), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x415), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x416), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x417), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x418), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x419), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x41A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x41B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x41C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x41D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x41E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x41F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x420), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x421), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x422), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x423), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x0, 0x63C), ZYDIS_DEFINITION(0x0, 0x63B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xCA), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x426), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xCB), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xCC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xCD), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xCE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xCF), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x42F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x430), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x431), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x432), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x433), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x434), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x435), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD0), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD1), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD2), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD4), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD5), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x442), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x443), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x444), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x445), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x446), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x447), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x448), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x449), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x44A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x44B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x44C), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x44D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x44E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x44F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x450), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x451), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x452), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x453), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x456), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x457), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x458), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x459), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x45A), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x45B), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x45C), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x45D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x45E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x45F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x460), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x461), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x462), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x463), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x464), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x465), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x466), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x467), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x468), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x469), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x46A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x46B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x46C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x46D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x46E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x46F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x470), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x471), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x472), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x473), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x474), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x475), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x476), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x477), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x478), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x479), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x47A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x47B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x47C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x47D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x47E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x47F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x480), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x481), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x482), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x483), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x484), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x485), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x486), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x487), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x488), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x489), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x48A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x48B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x48C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x48D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x48E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x48F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x490), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x491), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x492), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x493), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x494), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x495), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD6), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x498), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x499), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x49A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x49B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x49C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x49D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x49E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x49F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4A9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4AB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4AD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4AF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4B9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4BD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4BE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4BF), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C0), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C1), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C2), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C6), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4C9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4CB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4CD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4CE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4CF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D6), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4DA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4DB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4DC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4DD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4DE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4EA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4EC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4EE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4F9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4FA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4FB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4FC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4FD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4FE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x4FF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x500), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x501), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x502), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x503), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x504), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x505), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x506), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x507), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x508), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x509), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x50A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x50B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x50C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x50D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x50E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x50F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x510), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x511), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x512), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x513), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x514), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x515), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x516), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x517), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x518), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x519), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x51A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x51B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x51C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x51D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x51E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x51F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x520), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x521), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x522), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x523), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x524), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x525), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x526), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x527), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x528), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x529), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x52A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x52B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x52C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x52D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x52E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x52F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x530), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x531), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x532), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x533), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x534), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x535), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x536), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x537), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x538), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x539), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x53A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x53B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x53C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x53D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x53E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x53F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x540), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x541), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x542), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x543), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x544), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x545), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x546), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x547), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x548), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x549), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x54A), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x54B), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x54C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x54D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x54E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x54F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x550), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x551), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x552), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x553), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x554), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x555), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x556), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x557), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x558), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x559), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x55A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x55B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x55C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x55D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x55E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x55F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x560), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x561), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x562), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x563), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x564), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x565), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x566), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x567), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x568), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x569), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x56A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x56B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x56C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x56D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x56E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x56F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x570), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x571), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x572), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x573), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x574), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x575), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x576), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x577), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x578), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x579), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x57A), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x57B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x57C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x57D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x57E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x57F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x580), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x581), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x582), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x583), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x584), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x585), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x586), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x587), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x588), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x589), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x58A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x58B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x58C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x58D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x58E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x58F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x590), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x591), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x592), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x593), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x594), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x595), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x596), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x597), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x598), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x599), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x59A), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x59B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x59C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x59D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x59E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x59F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5A9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5AB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5AD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5AF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5BA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5BD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5BF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5C9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5CA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5CD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5CE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5CF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5DA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5DC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5DD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5DE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5DF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD8), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5E9), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5EA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5EB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5EC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5ED), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5EE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F0), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5F9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5FB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5FD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x5FF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x600), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x601), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xD9), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x604), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x605), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x606), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x607), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x608), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x609), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x60A), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xDA), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x60D), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x60E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x60F), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x610), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x611), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x612), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xDB), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x614), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x615), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x616), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x617), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x618), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x619), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x61A), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x61B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x61C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x61D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x61E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x61F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x620), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x621), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x622), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x623), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x624), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x625), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x626), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x627), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x628), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x629), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x62A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x62B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x62C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x62D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xDC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xDD), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x632), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xDE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x635), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x636), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x637), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x638), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x63B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x63C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x63D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x63E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x641), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x642), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x643), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x644), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x647), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x648), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x649), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x64A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x64D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x64E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x64F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x650), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x651), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x654), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x655), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x656), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x657), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x664), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x665), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x66A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x66B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x66C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x66D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x66E), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x66F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x670), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE2), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE4), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE5), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE6), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x677), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x678), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE7), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xE8), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x67F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x680), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x68F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x690), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x691), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x692), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x693), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x694), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xEC), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xED), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xEE), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xEF), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF0), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x69D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x69E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x69F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x6A2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF1), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF2), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF3), ZYDIS_INVALID, ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0xF4), ZYDIS_INVALID, ZYDIS_INVALID }
+};
+
+const ZydisDecoderTreeNode FILTERS_REX_W[][2] =
+{
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_CET, 0x0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_CET, 0x1), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x12B), ZYDIS_DEFINITION(0x1, 0x12C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x127), ZYDIS_DEFINITION(0x1, 0x128) }, 
+    { ZYDIS_DEFINITION(0x1, 0x12D), ZYDIS_DEFINITION(0x1, 0x12E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x129), ZYDIS_DEFINITION(0x1, 0x12A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x141), ZYDIS_DEFINITION(0x1, 0x142) }, 
+    { ZYDIS_DEFINITION(0x1, 0x13D), ZYDIS_DEFINITION(0x1, 0x13E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x143), ZYDIS_DEFINITION(0x1, 0x144) }, 
+    { ZYDIS_DEFINITION(0x1, 0x13F), ZYDIS_DEFINITION(0x1, 0x140) }, 
+    { ZYDIS_DEFINITION(0x1, 0x131), ZYDIS_DEFINITION(0x1, 0x132) }, 
+    { ZYDIS_DEFINITION(0x1, 0x121), ZYDIS_DEFINITION(0x1, 0x122) }, 
+    { ZYDIS_DEFINITION(0x1, 0x133), ZYDIS_DEFINITION(0x1, 0x134) }, 
+    { ZYDIS_DEFINITION(0x1, 0x123), ZYDIS_DEFINITION(0x1, 0x124) }, 
+    { ZYDIS_DEFINITION(0x1, 0x733), ZYDIS_DEFINITION(0x1, 0x734) }, 
+    { ZYDIS_DEFINITION(0x1, 0x16), ZYDIS_DEFINITION(0x1, 0x17) }, 
+    { ZYDIS_DEFINITION(0x1, 0x38), ZYDIS_DEFINITION(0x1, 0x39) }, 
+    { ZYDIS_DEFINITION(0x1, 0x731), ZYDIS_DEFINITION(0x1, 0x732) }, 
+    { ZYDIS_DEFINITION(0x1, 0x18), ZYDIS_DEFINITION(0x1, 0x19) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3A), ZYDIS_DEFINITION(0x1, 0x3B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x32E), ZYDIS_DEFINITION(0x1, 0x32F) }, 
+    { ZYDIS_DEFINITION(0xB, 0x481), ZYDIS_DEFINITION(0xB, 0x483) }, 
+    { ZYDIS_DEFINITION(0xB, 0x482), ZYDIS_DEFINITION(0xB, 0x484) }, 
+    { ZYDIS_DEFINITION(0xB, 0x4A5), ZYDIS_DEFINITION(0xB, 0x4A7) }, 
+    { ZYDIS_DEFINITION(0xB, 0x4A6), ZYDIS_DEFINITION(0xB, 0x4A8) }, 
+    { ZYDIS_DEFINITION(0xB, 0x466), ZYDIS_DEFINITION(0xB, 0x467) }, 
+    { ZYDIS_DEFINITION(0xB, 0x468), ZYDIS_DEFINITION(0xB, 0x469) }, 
+    { ZYDIS_DEFINITION(0xB, 0x462), ZYDIS_DEFINITION(0xB, 0x463) }, 
+    { ZYDIS_DEFINITION(0xB, 0x464), ZYDIS_DEFINITION(0xB, 0x465) }, 
+    { ZYDIS_DEFINITION(0xB, 0x478), ZYDIS_DEFINITION(0xB, 0x479) }, 
+    { ZYDIS_DEFINITION(0xB, 0x47A), ZYDIS_DEFINITION(0xB, 0x47B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x31A), ZYDIS_DEFINITION(0x1, 0x34E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x31E), ZYDIS_DEFINITION(0x1, 0x350) }, 
+    { ZYDIS_DEFINITION(0x1, 0x31B), ZYDIS_DEFINITION(0x1, 0x34F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x31F), ZYDIS_DEFINITION(0x1, 0x351) }, 
+    { ZYDIS_DEFINITION(0x1, 0x322), ZYDIS_DEFINITION(0x1, 0x354) }, 
+    { ZYDIS_DEFINITION(0x1, 0x326), ZYDIS_DEFINITION(0x1, 0x356) }, 
+    { ZYDIS_DEFINITION(0x1, 0x323), ZYDIS_DEFINITION(0x1, 0x355) }, 
+    { ZYDIS_DEFINITION(0x1, 0x327), ZYDIS_DEFINITION(0x1, 0x357) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6FB), ZYDIS_DEFINITION(0x1, 0x6FC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x231), ZYDIS_DEFINITION(0x1, 0x232) }, 
+    { ZYDIS_DEFINITION(0x1, 0x709), ZYDIS_DEFINITION(0x1, 0x70A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x203), ZYDIS_DEFINITION(0x1, 0x204) }, 
+    { ZYDIS_DEFINITION(0x1, 0x201), ZYDIS_DEFINITION(0x1, 0x202) }, 
+    { ZYDIS_DEFINITION(0x1, 0x763), ZYDIS_DEFINITION(0x1, 0x764) }, 
+    { ZYDIS_DEFINITION(0x1, 0x75F), ZYDIS_DEFINITION(0x1, 0x760) }, 
+    { ZYDIS_DEFINITION(0x1, 0x767), ZYDIS_DEFINITION(0x1, 0x768) }, 
+    { ZYDIS_DEFINITION(0x1, 0x101), ZYDIS_DEFINITION(0x1, 0x100) }, 
+    { ZYDIS_DEFINITION(0x1, 0x761), ZYDIS_DEFINITION(0x1, 0x762) }, 
+    { ZYDIS_DEFINITION(0x1, 0x765), ZYDIS_DEFINITION(0x1, 0x766) }, 
+    { ZYDIS_DEFINITION(0x1, 0x769), ZYDIS_DEFINITION(0x1, 0x76A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x10), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x11), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x12), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x13), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x14), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x15), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x14), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x16), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x16), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x17), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x18), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x18), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x19), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x20), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x22), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x25), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x26) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x28), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x20), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x21), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x24) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x31), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x32) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x25), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x26) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x35), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x36) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x27), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x38), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x28), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x29) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x42) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x30) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x44) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x31) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x32) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x33) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x34) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x35) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x36) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x37) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x38) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x39) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3C) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4D) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3D) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3E) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x51) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x53) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x40) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x55) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x41) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x57) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x42) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x59) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x43) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x5B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x44), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x5D), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x45) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x5F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x46) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x61) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x47) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x63) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x48) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x65) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x4D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x6B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x54), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x73), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x5B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x7B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x5C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x7D), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x5D) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x7F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x5E) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x81) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x5F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x64) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x62), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x65) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x65), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x66) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x67), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x68) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x69), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x8D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x70), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x71) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x72), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x73) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x74), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x75), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x76) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x77), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x9C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x9D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x9E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x9F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA3), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x78) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x7A) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA8) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xAA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x82), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x83), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x84) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x85), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x86) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x87), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x88) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xBC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xBD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x89), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x8A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x8B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x66) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x8E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x67) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x91), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x92) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x93), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x94) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x95) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xCD) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x99) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x9C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x9D), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x9E) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x9F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA0) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xDA) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA3) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xA4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xAB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xAC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xB9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xBA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xBB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xBC) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC3) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x102) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xC4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xCB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xCC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x10C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x10D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x116), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x117) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD8), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xD9) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xDA) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xDB) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x11F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x129), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xE5) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x12B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xEA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x131), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x139), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF2) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x13B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF3) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF4) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF5) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF6) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF7) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xF9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xFA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xFB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xFC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x146), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x147) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xFD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xFE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x14A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x14B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0xFF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x100) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x14E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x14F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x101), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x102), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x103), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x104) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x105), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x106) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x107), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x108) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x109), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x10A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x10F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x15F), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x110) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x161) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x11B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x11C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x11D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x11E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x11F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x120) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x121), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x122) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x174), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x175) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x123) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x177) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x124) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x179) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x125), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x126), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x17C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x127), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x128) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x17F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x180) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x129), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x12A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x12B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x12C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x137), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x138), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x139), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x13A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x18F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x190) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x13B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x192) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x13E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x13F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x197), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x198) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x142), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x143) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x19D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x19E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x146), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x147) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x14A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x14B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1AA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x14C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x14D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1AD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1AE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x14E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x14F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x150), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x151) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x152), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x153) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x154), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x155) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x156), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x157) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1BA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x158), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x159) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1BD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1BE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x15A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x15B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C1), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x15C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x15D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x15E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x15F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x160), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x161) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x162), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x163) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1CA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x164), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x165) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x166), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x167) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x168), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1CC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x169), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1CE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x16A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x16B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x16C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x16D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x16E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x16F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x170), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x171) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1DA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x172), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x173), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x174), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x175) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x176), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x177) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x178), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x179) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x17A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x17B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x17C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x17D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x17E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x17F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x180), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x181) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x182), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x183) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x184), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x185) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x186), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x187) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x188), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x189) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x18A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x18B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x18C) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x18D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x18E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x18F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1FD), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1FE) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x190) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x191) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x192), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x193) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x203), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x204) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x194), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x195) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x196), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x197) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x198), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x199) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x20B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x20C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x19A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x19B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x20F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x210) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x19C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x19D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x19E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x19F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x68) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A5), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1A9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1AA) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x220), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x221) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1AB), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1AC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x224), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x225) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1AD) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x227) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1AF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1B9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1BB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1BD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1BF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1C3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0xA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0xB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0xC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0xD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0xE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0xF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x248), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x249) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1CF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x24C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x24D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x250), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x251) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x254), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x255) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1D9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1DA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1DB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1DC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1DD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x258), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x259) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1DE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1DF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x25C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x25D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1E7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x10), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x11) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x12), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x13) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x14), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x15) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x16), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x17) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x268), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x269) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x26C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x26D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x270), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x271) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1F9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1FB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x274), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x275) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1FC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1FD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1FE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x1FF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x200), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x201) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x278), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x279) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x202), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x203) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x204), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x205) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x206), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x207) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x27C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x27D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x208), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x209) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x20A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x20B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x20C) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x27F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x20D) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x281) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x20E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x20F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x284), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x285) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x210), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x211) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x288), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x289) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x212), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x213) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x28C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x28D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x214), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x215) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x216), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x217) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x218), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x219) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x290), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x291) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x21A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x21B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x21C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x21D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x21E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x21F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x294), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x295) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x220), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x221) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x222), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x223) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x224), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x225) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x298), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x299) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x226), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x227) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x228), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x229) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x22B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x29C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x29D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x18), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x19) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x1A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x1B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x1C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x1D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x1E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x1F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x20), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x21) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x22), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x23) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x24), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x25) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x26), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x27) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x23F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x240), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x241) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x242), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x243) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x244), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x245) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x246), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x247) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x248), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x249) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x24A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x24B), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x254) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C5) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x255) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x256), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x257) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2CB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x258), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2CD), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x259) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2CF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x25A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D1), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x25B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x25C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x25D), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x25E) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x25F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x266), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x69) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x269), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x6A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x26E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x26F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x270), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x271) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x272), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x273) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x274), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x275) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x276), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x277) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x278), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x279) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x27A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x27B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x27C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x27D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x27E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x27F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x280), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x281) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x282), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x283) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2FA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2FB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x286), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x287), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x288), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x6B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x28B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x6C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x28E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x28F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x308), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x309) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x290), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x291) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x30C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x30D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x292), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x293) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x310), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x311) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x294), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x295) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x296), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x297) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x298), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x299) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x29A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x29B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x29C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x29D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x29E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x29F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2A9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2AA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2AB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2AC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2AD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2AE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2AF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x32E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x32F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x334), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x335) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2B9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2BA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2BB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2BD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x338), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x339) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2BE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2BF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x33C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x33D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C8), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2C9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x340), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x341) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2CA), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2CB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2CC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2CD) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2CE) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2CF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x346), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x347) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D2) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D4), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x34C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x34D) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D6) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x34F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D7) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x351) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2D9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2DA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2DB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2DC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2DD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2DE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2DF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x6D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E3), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x6E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x6F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2E9), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x70) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2EC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x71) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2EF), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x72) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2F9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2FA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x357), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2FB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2FC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2FD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2FE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x2FF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x300), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x301), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x302), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x303), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x304) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x305), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x306) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x309), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x73) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x30C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x74) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x30F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x75) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x312), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x76) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x315), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x316) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x360), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x361) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x317), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x77) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x31A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x78) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x31D) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x31E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x31F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x320) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x321), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x322) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x323), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x324), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x325), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x326) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x36A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x36B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x327), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x328), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x329), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x32A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x32B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x32C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x32D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x32E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x32F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x330), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x331), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x332), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x333), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x334), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x335), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x336), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x337), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x338), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x339), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x33A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x33B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x33C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x33D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x33E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x33F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x340) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x341), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x342) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x343), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x344) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x38A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x38B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x345), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x346) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x347), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x348) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x349) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x34A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x34B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x34C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x34D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x34E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x34F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x350), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x351), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x352), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x353), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x354), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x355), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x356), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x357) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x358), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x359) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x35A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x35B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x35C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A5), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x35D) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x35E) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x35F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x360) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x361) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x362) }, 
+    { ZYDIS_DEFINITION(0x1, 0x136), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x79) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x365), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x7A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x368), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x7B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x36B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x7C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x36E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x7D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x371), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x7E) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x374) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x375) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x376) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x377) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x378) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x379) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x37A) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x37B) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x37C) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x37D) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x37E) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x37F) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x380) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x381) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x382) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x383) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x384), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x385) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x386), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x387) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x38A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x7F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x38D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x80) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x390), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x81) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x393), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x82) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x396), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x397) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B0), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1D2), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x83) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x39A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_COMPACT, 0x84) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x39D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x39E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x39F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A0) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A1) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A2) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A3) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A6), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3BC), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3BD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3BF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3A9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3AA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3AB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_EVEX_B, 0x3AC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x0), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xC9), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xCA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x1), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x2), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xDC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x3), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x4), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x190), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x5), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x24), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xBC), ZYDIS_DEFINITION(0x1, 0xBF) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBE), ZYDIS_DEFINITION(0x1, 0xBD) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB8), ZYDIS_DEFINITION(0x1, 0xBB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBA), ZYDIS_DEFINITION(0x1, 0xB9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x6), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x39), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x7), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x2A), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x8) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xC5) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xC6) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x9) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xA) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0xA) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0xD9) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0xB) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x3C) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0xC) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x18D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0xD), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x10D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0xE), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0xF) }, 
+    { ZYDIS_DEFINITION(0x1, 0xCD), ZYDIS_DEFINITION(0x1, 0xD1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x10), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x14E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x11), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x12), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x13), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x15D), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x157), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x151), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x14), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x10A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xCE), ZYDIS_DEFINITION(0x1, 0xD2) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x15) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x21) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x16), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x17) }, 
+    { ZYDIS_DEFINITION(0x1, 0xF3), ZYDIS_DEFINITION(0x1, 0xFC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x18), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x19) }, 
+    { ZYDIS_DEFINITION(0x1, 0xF6), ZYDIS_DEFINITION(0x1, 0xF9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x1A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x1B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x138), ZYDIS_DEFINITION(0x1, 0x13B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x1C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x1D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x172), ZYDIS_DEFINITION(0x1, 0x175) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x1E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x163), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x1F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xEA), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1E), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x19), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x20), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x16F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x21), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x115), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x22), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x129), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x23), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x12C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x24), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x123), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x25), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x126), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x26), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x135), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x27), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x28) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA2), ZYDIS_DEFINITION(0x1, 0x9F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x29), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x160), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x2A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x15A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x2B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x154), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x2C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x2D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7), ZYDIS_DEFINITION(0x1, 0x4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x2E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xAB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x2F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x30) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB7), ZYDIS_DEFINITION(0x1, 0xB4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x31), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x32) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB1), ZYDIS_DEFINITION(0x1, 0xAE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x33), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x34) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B), ZYDIS_DEFINITION(0x1, 0x48) }, 
+    { ZYDIS_DEFINITION(0x1, 0x103), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x104) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1B), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x1C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x35), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xE7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x36), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xED), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x37), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x146), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x38), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x16C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x39), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x3A) }, 
+    { ZYDIS_DEFINITION(0x1, 0xFF), ZYDIS_DEFINITION(0x1, 0x102) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x3B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x3C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x18), ZYDIS_DEFINITION(0x1, 0x15) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x3D), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x166), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x3E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x3F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x196), ZYDIS_DEFINITION(0x1, 0x193) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x40), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x149), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x41), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x169), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x42), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x110), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x43), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x184), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x44), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x132), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x45), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x12F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x119), ZYDIS_DEFINITION(0x1, 0x11A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x98), ZYDIS_DEFINITION(0x1, 0x97) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x46), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x47) }, 
+    { ZYDIS_DEFINITION(0x1, 0x51), ZYDIS_DEFINITION(0x1, 0x4E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x48), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x49) }, 
+    { ZYDIS_DEFINITION(0x1, 0x66), ZYDIS_DEFINITION(0x1, 0x63) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x4A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x4B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x78), ZYDIS_DEFINITION(0x1, 0x75) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x4C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x4D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8A), ZYDIS_DEFINITION(0x1, 0x87) }, 
+    { ZYDIS_DEFINITION(0x1, 0x14A), ZYDIS_DEFINITION(0x1, 0x14B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x186), ZYDIS_DEFINITION(0x1, 0x185) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x4E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x60), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x4F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x50) }, 
+    { ZYDIS_DEFINITION(0x1, 0x57), ZYDIS_DEFINITION(0x1, 0x54) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x51), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x52) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6C), ZYDIS_DEFINITION(0x1, 0x69) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x53), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x54) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7E), ZYDIS_DEFINITION(0x1, 0x7B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x55), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x56) }, 
+    { ZYDIS_DEFINITION(0x1, 0x90), ZYDIS_DEFINITION(0x1, 0x8D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x57), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x120), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x58), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x11D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x59), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x5A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5D), ZYDIS_DEFINITION(0x1, 0x5A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x5B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x5C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x72), ZYDIS_DEFINITION(0x1, 0x6F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x5D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x5E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x84), ZYDIS_DEFINITION(0x1, 0x81) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x5F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x60) }, 
+    { ZYDIS_DEFINITION(0x1, 0x96), ZYDIS_DEFINITION(0x1, 0x93) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9B), ZYDIS_DEFINITION(0x1, 0x9A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x99), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x9C), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x189), ZYDIS_DEFINITION(0x1, 0x188) }, 
+    { ZYDIS_DEFINITION(0x1, 0x187), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x18A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x61), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x45), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x62), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xC2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x63), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x178), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x64), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x181), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x65), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x10), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x66), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xF0), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xE1), ZYDIS_DEFINITION(0x1, 0xE4) }, 
+    { ZYDIS_DEFINITION(0x1, 0xE3), ZYDIS_DEFINITION(0x1, 0xE2) }, 
+    { ZYDIS_DEFINITION(0x1, 0xDD), ZYDIS_DEFINITION(0x1, 0xE0) }, 
+    { ZYDIS_DEFINITION(0x1, 0xDF), ZYDIS_DEFINITION(0x1, 0xDE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x67), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x12), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x68), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x118), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x69), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x113), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x6A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x107), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x6B), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x6C) }, 
+    { ZYDIS_DEFINITION(0xB, 0xA8), ZYDIS_DEFINITION(0xB, 0xA5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x6D), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x6E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x17E), ZYDIS_DEFINITION(0xB, 0x17B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x6F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x36), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x70), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x33), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x71) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x72), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x42), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x73), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x27), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x74), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x75) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x30) }, 
+    { ZYDIS_INVALID, ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MVEX_E, 0x76) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2D) }, 
+    { ZYDIS_DEFINITION(0xB, 0x7E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x7F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x7C), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x7D), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x7A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x7B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x76), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x77), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x78), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x79), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x82), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x83), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x80), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x81), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x74), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x75), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x70), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x71), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x72), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x73), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x3A), ZYDIS_DEFINITION(0xB, 0x3B) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3E), ZYDIS_DEFINITION(0xB, 0x3F) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3C), ZYDIS_DEFINITION(0xB, 0x3D) }, 
+    { ZYDIS_DEFINITION(0xB, 0x40), ZYDIS_DEFINITION(0xB, 0x41) }, 
+    { ZYDIS_DEFINITION(0xB, 0x88), ZYDIS_DEFINITION(0xB, 0x89) }, 
+    { ZYDIS_DEFINITION(0xB, 0x8A), ZYDIS_DEFINITION(0xB, 0x8B) }, 
+    { ZYDIS_DEFINITION(0xB, 0x84), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x85), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x86), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x87), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x8C), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x8D), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x9E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x9F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x92), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x93), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x98), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x99), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x42), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x43), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x50), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x51), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x44), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x45), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x46), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x47), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x48), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x49), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x4E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x4F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x4A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x4B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x4C), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x4D), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x32), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x34), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x33), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x35), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x30), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x31), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x38), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x39), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x36), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x37), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x8E), ZYDIS_DEFINITION(0x1, 0x8F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x90), ZYDIS_DEFINITION(0x1, 0x91) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA0), ZYDIS_DEFINITION(0x1, 0xA1) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA2), ZYDIS_DEFINITION(0x1, 0xA3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x94), ZYDIS_DEFINITION(0x1, 0x95) }, 
+    { ZYDIS_DEFINITION(0x1, 0x96), ZYDIS_DEFINITION(0x1, 0x97) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9A), ZYDIS_DEFINITION(0x1, 0x9B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9C), ZYDIS_DEFINITION(0x1, 0x9D) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB4), ZYDIS_DEFINITION(0x1, 0xB5) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB6), ZYDIS_DEFINITION(0x1, 0xB7) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC0), ZYDIS_DEFINITION(0x1, 0xC1) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC2), ZYDIS_DEFINITION(0x1, 0xC3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB8), ZYDIS_DEFINITION(0x1, 0xB9) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBA), ZYDIS_DEFINITION(0x1, 0xBB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBC), ZYDIS_DEFINITION(0x1, 0xBD) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBE), ZYDIS_DEFINITION(0x1, 0xBF) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA4), ZYDIS_DEFINITION(0x1, 0xA5) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA6), ZYDIS_DEFINITION(0x1, 0xA7) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB0), ZYDIS_DEFINITION(0x1, 0xB1) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB2), ZYDIS_DEFINITION(0x1, 0xB3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA8), ZYDIS_DEFINITION(0x1, 0xA9) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAA), ZYDIS_DEFINITION(0x1, 0xAB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAC), ZYDIS_DEFINITION(0x1, 0xAD) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAE), ZYDIS_DEFINITION(0x1, 0xAF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x56), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x57), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x52), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x53), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x54), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x55), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x66), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x67), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x68), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x69), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x58), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x59), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x5E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x5F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x5A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x5B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x5C), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x5D), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x62), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x63), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x64), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x65), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x60), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x61), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x6A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x6B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x6E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x6F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x6C), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x6D), ZYDIS_INVALID }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0xA8) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x0, 0x108) }, 
+    { ZYDIS_DEFINITION(0x8, 0x2A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x8, 0x28), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x30), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3A), ZYDIS_DEFINITION(0x1, 0x39) }, 
+    { ZYDIS_DEFINITION(0x1, 0x33), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x38), ZYDIS_DEFINITION(0x1, 0x36) }, 
+    { ZYDIS_DEFINITION(0x1, 0x37), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_KNC, 0x2), ZYDIS_DEFINITION(0x1, 0x5C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5D), ZYDIS_DEFINITION(0x1, 0x5C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x67), ZYDIS_DEFINITION(0x1, 0x61) }, 
+    { ZYDIS_DEFINITION(0x1, 0x77), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x7B), ZYDIS_DEFINITION(0x1, 0x7A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7C), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x80), ZYDIS_DEFINITION(0x1, 0x7F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F), ZYDIS_DEFINITION(0x1, 0x2E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x76), ZYDIS_DEFINITION(0x1, 0x75) }, 
+    { ZYDIS_DEFINITION(0xA, 0x2B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xA, 0x29), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_KNC, 0x3), ZYDIS_DEFINITION(0x1, 0x4F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x55), ZYDIS_DEFINITION(0x1, 0x50) }, 
+    { ZYDIS_DEFINITION(0x1, 0x54), ZYDIS_DEFINITION(0x1, 0x4F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x55), ZYDIS_DEFINITION(0x1, 0x50) }, 
+    { ZYDIS_DEFINITION(0x1, 0x56), ZYDIS_DEFINITION(0x1, 0x51) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_KNC, 0x4), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x57), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_KNC, 0x5), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x58), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODE_KNC, 0x6), ZYDIS_DEFINITION(0x1, 0x65) }, 
+    { ZYDIS_DEFINITION(0x1, 0x66), ZYDIS_DEFINITION(0x1, 0x65) }, 
+    { ZYDIS_DEFINITION(0x1, 0x73), ZYDIS_DEFINITION(0x1, 0x72) }, 
+    { ZYDIS_DEFINITION(0x1, 0x0), ZYDIS_DEFINITION(0x1, 0x1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2), ZYDIS_DEFINITION(0x1, 0x3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x18), ZYDIS_DEFINITION(0x1, 0x19) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1A), ZYDIS_DEFINITION(0x1, 0x1B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x12), ZYDIS_DEFINITION(0x1, 0x13) }, 
+    { ZYDIS_DEFINITION(0x1, 0x14), ZYDIS_DEFINITION(0x1, 0x15) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC), ZYDIS_DEFINITION(0x1, 0xD) }, 
+    { ZYDIS_DEFINITION(0x1, 0xE), ZYDIS_DEFINITION(0x1, 0xF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1E), ZYDIS_DEFINITION(0x1, 0x1F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x20), ZYDIS_DEFINITION(0x1, 0x21) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6), ZYDIS_DEFINITION(0x1, 0x7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8), ZYDIS_DEFINITION(0x1, 0x9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x31), ZYDIS_DEFINITION(0x1, 0x32) }, 
+    { ZYDIS_DEFINITION(0x1, 0x34), ZYDIS_DEFINITION(0x1, 0x35) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5A), ZYDIS_DEFINITION(0x1, 0x5B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5F), ZYDIS_DEFINITION(0x1, 0x60) }, 
+    { ZYDIS_DEFINITION(0x1, 0x78), ZYDIS_DEFINITION(0x1, 0x79) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7D), ZYDIS_DEFINITION(0x1, 0x7E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2C), ZYDIS_DEFINITION(0x1, 0x2D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x74), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x31B), ZYDIS_DEFINITION(0x1, 0x34D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x31C), ZYDIS_DEFINITION(0x1, 0x34E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x31F), ZYDIS_DEFINITION(0x1, 0x34F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x320), ZYDIS_DEFINITION(0x1, 0x350) }, 
+    { ZYDIS_DEFINITION(0x1, 0x43), ZYDIS_DEFINITION(0x1, 0x48) }, 
+    { ZYDIS_DEFINITION(0x1, 0x44), ZYDIS_DEFINITION(0x1, 0x49) }, 
+    { ZYDIS_DEFINITION(0x1, 0x45), ZYDIS_DEFINITION(0x1, 0x4A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x46), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x47), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x63), ZYDIS_DEFINITION(0x1, 0x64) }, 
+    { ZYDIS_DEFINITION(0x1, 0x70), ZYDIS_DEFINITION(0x1, 0x71) }, 
+    { ZYDIS_DEFINITION(0x1, 0x44F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x451), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x450), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x452), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x447), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x449), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x448), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x44A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x61B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x61D), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x61C), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x61E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x617), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x619), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x618), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x61A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x125), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x127), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x126), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x128), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x459), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x45A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x101), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x103), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x102), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x104), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xFF), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x100), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xFD), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2EF), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F0), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2EB), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2EC), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F1), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2F2), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2ED), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2EE), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x435), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x436), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x588), ZYDIS_DEFINITION(0x1, 0x58C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x58A), ZYDIS_DEFINITION(0x1, 0x58E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x589), ZYDIS_DEFINITION(0x1, 0x58D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x58B), ZYDIS_DEFINITION(0x1, 0x58F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x570), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x572), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x571), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x573), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x55C), ZYDIS_DEFINITION(0x1, 0x560) }, 
+    { ZYDIS_DEFINITION(0x1, 0x55E), ZYDIS_DEFINITION(0x1, 0x562) }, 
+    { ZYDIS_DEFINITION(0x1, 0x55D), ZYDIS_DEFINITION(0x1, 0x561) }, 
+    { ZYDIS_DEFINITION(0x1, 0x55F), ZYDIS_DEFINITION(0x1, 0x563) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3ED), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3EF), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3EE), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3F0), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3F1), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3F3), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3F2), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3F4), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xFE), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3E9), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3EB), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3EA), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3EC), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3F5), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3F7), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3F6), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3F8), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x49C), ZYDIS_DEFINITION(0x1, 0x4A0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x49D), ZYDIS_DEFINITION(0x1, 0x4A1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x49E), ZYDIS_DEFINITION(0x1, 0x4A2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x49F), ZYDIS_DEFINITION(0x1, 0x4A3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x28), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x29) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x2A), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x2B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x2C), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x2D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x2E), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x2F) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x30), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x31) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x32), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x33) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x34), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x35) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x36), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_ADDRESS_SIZE, 0x37) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1BD), ZYDIS_DEFINITION(0x1, 0x1B9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1BF), ZYDIS_DEFINITION(0x1, 0x1BB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1BE), ZYDIS_DEFINITION(0x1, 0x1BA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1C0), ZYDIS_DEFINITION(0x1, 0x1BC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x209), ZYDIS_DEFINITION(0x1, 0x205) }, 
+    { ZYDIS_DEFINITION(0x1, 0x20B), ZYDIS_DEFINITION(0x1, 0x207) }, 
+    { ZYDIS_DEFINITION(0x1, 0x20A), ZYDIS_DEFINITION(0x1, 0x206) }, 
+    { ZYDIS_DEFINITION(0x1, 0x20C), ZYDIS_DEFINITION(0x1, 0x208) }, 
+    { ZYDIS_DEFINITION(0x1, 0x181), ZYDIS_DEFINITION(0x1, 0x17D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x183), ZYDIS_DEFINITION(0x1, 0x17F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x182), ZYDIS_DEFINITION(0x1, 0x17E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x184), ZYDIS_DEFINITION(0x1, 0x180) }, 
+    { ZYDIS_DEFINITION(0x1, 0x187), ZYDIS_DEFINITION(0x1, 0x185) }, 
+    { ZYDIS_DEFINITION(0x1, 0x188), ZYDIS_DEFINITION(0x1, 0x186) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1E5), ZYDIS_DEFINITION(0x1, 0x1E1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1E7), ZYDIS_DEFINITION(0x1, 0x1E3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1E6), ZYDIS_DEFINITION(0x1, 0x1E2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1E8), ZYDIS_DEFINITION(0x1, 0x1E4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1EB), ZYDIS_DEFINITION(0x1, 0x1E9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1EC), ZYDIS_DEFINITION(0x1, 0x1EA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x249), ZYDIS_DEFINITION(0x1, 0x245) }, 
+    { ZYDIS_DEFINITION(0x1, 0x24B), ZYDIS_DEFINITION(0x1, 0x247) }, 
+    { ZYDIS_DEFINITION(0x1, 0x24A), ZYDIS_DEFINITION(0x1, 0x246) }, 
+    { ZYDIS_DEFINITION(0x1, 0x24C), ZYDIS_DEFINITION(0x1, 0x248) }, 
+    { ZYDIS_DEFINITION(0x1, 0x24F), ZYDIS_DEFINITION(0x1, 0x24D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x250), ZYDIS_DEFINITION(0x1, 0x24E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x285), ZYDIS_DEFINITION(0x1, 0x281) }, 
+    { ZYDIS_DEFINITION(0x1, 0x287), ZYDIS_DEFINITION(0x1, 0x283) }, 
+    { ZYDIS_DEFINITION(0x1, 0x286), ZYDIS_DEFINITION(0x1, 0x282) }, 
+    { ZYDIS_DEFINITION(0x1, 0x288), ZYDIS_DEFINITION(0x1, 0x284) }, 
+    { ZYDIS_DEFINITION(0x1, 0x28B), ZYDIS_DEFINITION(0x1, 0x289) }, 
+    { ZYDIS_DEFINITION(0x1, 0x28C), ZYDIS_DEFINITION(0x1, 0x28A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1C5), ZYDIS_DEFINITION(0x1, 0x1C1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1C7), ZYDIS_DEFINITION(0x1, 0x1C3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1C6), ZYDIS_DEFINITION(0x1, 0x1C2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1C8), ZYDIS_DEFINITION(0x1, 0x1C4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x211), ZYDIS_DEFINITION(0x1, 0x20D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x213), ZYDIS_DEFINITION(0x1, 0x20F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x212), ZYDIS_DEFINITION(0x1, 0x20E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x214), ZYDIS_DEFINITION(0x1, 0x210) }, 
+    { ZYDIS_DEFINITION(0x1, 0x18D), ZYDIS_DEFINITION(0x1, 0x189) }, 
+    { ZYDIS_DEFINITION(0x1, 0x18F), ZYDIS_DEFINITION(0x1, 0x18B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x18E), ZYDIS_DEFINITION(0x1, 0x18A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x190), ZYDIS_DEFINITION(0x1, 0x18C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x193), ZYDIS_DEFINITION(0x1, 0x191) }, 
+    { ZYDIS_DEFINITION(0x1, 0x194), ZYDIS_DEFINITION(0x1, 0x192) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1F1), ZYDIS_DEFINITION(0x1, 0x1ED) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1F3), ZYDIS_DEFINITION(0x1, 0x1EF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1F2), ZYDIS_DEFINITION(0x1, 0x1EE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1F4), ZYDIS_DEFINITION(0x1, 0x1F0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1F7), ZYDIS_DEFINITION(0x1, 0x1F5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1F8), ZYDIS_DEFINITION(0x1, 0x1F6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x255), ZYDIS_DEFINITION(0x1, 0x251) }, 
+    { ZYDIS_DEFINITION(0x1, 0x257), ZYDIS_DEFINITION(0x1, 0x253) }, 
+    { ZYDIS_DEFINITION(0x1, 0x256), ZYDIS_DEFINITION(0x1, 0x252) }, 
+    { ZYDIS_DEFINITION(0x1, 0x258), ZYDIS_DEFINITION(0x1, 0x254) }, 
+    { ZYDIS_DEFINITION(0x1, 0x25B), ZYDIS_DEFINITION(0x1, 0x259) }, 
+    { ZYDIS_DEFINITION(0x1, 0x25C), ZYDIS_DEFINITION(0x1, 0x25A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x291), ZYDIS_DEFINITION(0x1, 0x28D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x293), ZYDIS_DEFINITION(0x1, 0x28F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x292), ZYDIS_DEFINITION(0x1, 0x28E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x294), ZYDIS_DEFINITION(0x1, 0x290) }, 
+    { ZYDIS_DEFINITION(0x1, 0x297), ZYDIS_DEFINITION(0x1, 0x295) }, 
+    { ZYDIS_DEFINITION(0x1, 0x298), ZYDIS_DEFINITION(0x1, 0x296) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1CD), ZYDIS_DEFINITION(0x1, 0x1C9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1CF), ZYDIS_DEFINITION(0x1, 0x1CB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1CE), ZYDIS_DEFINITION(0x1, 0x1CA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1D0), ZYDIS_DEFINITION(0x1, 0x1CC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x219), ZYDIS_DEFINITION(0x1, 0x215) }, 
+    { ZYDIS_DEFINITION(0x1, 0x21B), ZYDIS_DEFINITION(0x1, 0x217) }, 
+    { ZYDIS_DEFINITION(0x1, 0x21A), ZYDIS_DEFINITION(0x1, 0x216) }, 
+    { ZYDIS_DEFINITION(0x1, 0x21C), ZYDIS_DEFINITION(0x1, 0x218) }, 
+    { ZYDIS_DEFINITION(0x1, 0x199), ZYDIS_DEFINITION(0x1, 0x195) }, 
+    { ZYDIS_DEFINITION(0x1, 0x19B), ZYDIS_DEFINITION(0x1, 0x197) }, 
+    { ZYDIS_DEFINITION(0x1, 0x19A), ZYDIS_DEFINITION(0x1, 0x196) }, 
+    { ZYDIS_DEFINITION(0x1, 0x19C), ZYDIS_DEFINITION(0x1, 0x198) }, 
+    { ZYDIS_DEFINITION(0x1, 0x19F), ZYDIS_DEFINITION(0x1, 0x19D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1A0), ZYDIS_DEFINITION(0x1, 0x19E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1FD), ZYDIS_DEFINITION(0x1, 0x1F9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1FF), ZYDIS_DEFINITION(0x1, 0x1FB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1FE), ZYDIS_DEFINITION(0x1, 0x1FA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x200), ZYDIS_DEFINITION(0x1, 0x1FC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x203), ZYDIS_DEFINITION(0x1, 0x201) }, 
+    { ZYDIS_DEFINITION(0x1, 0x204), ZYDIS_DEFINITION(0x1, 0x202) }, 
+    { ZYDIS_DEFINITION(0x1, 0x261), ZYDIS_DEFINITION(0x1, 0x25D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x263), ZYDIS_DEFINITION(0x1, 0x25F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x262), ZYDIS_DEFINITION(0x1, 0x25E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x264), ZYDIS_DEFINITION(0x1, 0x260) }, 
+    { ZYDIS_DEFINITION(0x1, 0x267), ZYDIS_DEFINITION(0x1, 0x265) }, 
+    { ZYDIS_DEFINITION(0x1, 0x268), ZYDIS_DEFINITION(0x1, 0x266) }, 
+    { ZYDIS_DEFINITION(0x1, 0x29D), ZYDIS_DEFINITION(0x1, 0x299) }, 
+    { ZYDIS_DEFINITION(0x1, 0x29F), ZYDIS_DEFINITION(0x1, 0x29B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x29E), ZYDIS_DEFINITION(0x1, 0x29A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2A0), ZYDIS_DEFINITION(0x1, 0x29C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2A3), ZYDIS_DEFINITION(0x1, 0x2A1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2A4), ZYDIS_DEFINITION(0x1, 0x2A2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2CD), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2CF), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2CE), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2D0), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xA3), ZYDIS_DEFINITION(0x1, 0xA4) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA5), ZYDIS_DEFINITION(0x1, 0xA6) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x45B) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x45C) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x457) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x458) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3DD), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x3DF), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x3DE), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x3E0), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x453), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x455), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x454), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x456), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x44B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x44D), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x44C), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x44E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x431), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x432), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x45F), ZYDIS_DEFINITION(0xB, 0x463) }, 
+    { ZYDIS_DEFINITION(0xB, 0x460), ZYDIS_DEFINITION(0xB, 0x464) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2E1), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x2E2), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x177), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x178), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x131), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x133), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x132), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x134), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x48C), ZYDIS_DEFINITION(0xB, 0x490) }, 
+    { ZYDIS_DEFINITION(0xB, 0x48D), ZYDIS_DEFINITION(0xB, 0x491) }, 
+    { ZYDIS_DEFINITION(0xB, 0x6C), ZYDIS_DEFINITION(0xB, 0x6F) }, 
+    { ZYDIS_DEFINITION(0xB, 0x6D), ZYDIS_DEFINITION(0xB, 0x6E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x68), ZYDIS_DEFINITION(0xB, 0x6B) }, 
+    { ZYDIS_DEFINITION(0xB, 0x69), ZYDIS_DEFINITION(0xB, 0x6A) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2E3), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x2E4), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x179), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x17A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x3D), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x433), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x434), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x43F), ZYDIS_DEFINITION(0xB, 0x440) }, 
+    { ZYDIS_DEFINITION(0xB, 0x443), ZYDIS_DEFINITION(0xB, 0x444) }, 
+    { ZYDIS_DEFINITION(0xB, 0x441), ZYDIS_DEFINITION(0xB, 0x442) }, 
+    { ZYDIS_DEFINITION(0xB, 0x445), ZYDIS_DEFINITION(0xB, 0x446) }, 
+    { ZYDIS_DEFINITION(0xB, 0x437), ZYDIS_DEFINITION(0xB, 0x438) }, 
+    { ZYDIS_DEFINITION(0xB, 0x43B), ZYDIS_DEFINITION(0xB, 0x43C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x439), ZYDIS_DEFINITION(0xB, 0x43A) }, 
+    { ZYDIS_DEFINITION(0xB, 0x43D), ZYDIS_DEFINITION(0xB, 0x43E) }, 
+    { ZYDIS_DEFINITION(0xB, 0xF9), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0xFB), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0xFA), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0xFC), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0xF5), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0xF7), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0xF6), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0xF8), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x3E1), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x3E3), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x3E2), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x3E4), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x1D9), ZYDIS_DEFINITION(0xB, 0x1DA) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1DD), ZYDIS_DEFINITION(0xB, 0x1DE) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1DB), ZYDIS_DEFINITION(0xB, 0x1DC) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1DF), ZYDIS_DEFINITION(0xB, 0x1E0) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1D1), ZYDIS_DEFINITION(0xB, 0x1D2) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1D5), ZYDIS_DEFINITION(0xB, 0x1D6) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1D3), ZYDIS_DEFINITION(0xB, 0x1D4) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1D7), ZYDIS_DEFINITION(0xB, 0x1D8) }, 
+    { ZYDIS_DEFINITION(0xB, 0x225), ZYDIS_DEFINITION(0xB, 0x226) }, 
+    { ZYDIS_DEFINITION(0xB, 0x229), ZYDIS_DEFINITION(0xB, 0x22A) }, 
+    { ZYDIS_DEFINITION(0xB, 0x227), ZYDIS_DEFINITION(0xB, 0x228) }, 
+    { ZYDIS_DEFINITION(0xB, 0x22B), ZYDIS_DEFINITION(0xB, 0x22C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x21D), ZYDIS_DEFINITION(0xB, 0x21E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x221), ZYDIS_DEFINITION(0xB, 0x222) }, 
+    { ZYDIS_DEFINITION(0xB, 0x21F), ZYDIS_DEFINITION(0xB, 0x220) }, 
+    { ZYDIS_DEFINITION(0xB, 0x223), ZYDIS_DEFINITION(0xB, 0x224) }, 
+    { ZYDIS_DEFINITION(0xB, 0x413), ZYDIS_DEFINITION(0xB, 0x414) }, 
+    { ZYDIS_DEFINITION(0xB, 0x415), ZYDIS_DEFINITION(0xB, 0x416) }, 
+    { ZYDIS_DEFINITION(0xB, 0x40D), ZYDIS_DEFINITION(0xB, 0x40E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x40F), ZYDIS_DEFINITION(0xB, 0x410) }, 
+    { ZYDIS_DEFINITION(0xB, 0x429), ZYDIS_DEFINITION(0xB, 0x42A) }, 
+    { ZYDIS_DEFINITION(0xB, 0x42B), ZYDIS_DEFINITION(0xB, 0x42C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1A9), ZYDIS_DEFINITION(0xB, 0x1AA) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1AD), ZYDIS_DEFINITION(0xB, 0x1AE) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1AB), ZYDIS_DEFINITION(0xB, 0x1AC) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1AF), ZYDIS_DEFINITION(0xB, 0x1B0) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1A1), ZYDIS_DEFINITION(0xB, 0x1A2) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1A5), ZYDIS_DEFINITION(0xB, 0x1A6) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1A3), ZYDIS_DEFINITION(0xB, 0x1A4) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1A7), ZYDIS_DEFINITION(0xB, 0x1A8) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1B5), ZYDIS_DEFINITION(0xB, 0x1B6) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1B7), ZYDIS_DEFINITION(0xB, 0x1B8) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1B1), ZYDIS_DEFINITION(0xB, 0x1B2) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1B3), ZYDIS_DEFINITION(0xB, 0x1B4) }, 
+    { ZYDIS_DEFINITION(0xB, 0x235), ZYDIS_DEFINITION(0xB, 0x236) }, 
+    { ZYDIS_DEFINITION(0xB, 0x239), ZYDIS_DEFINITION(0xB, 0x23A) }, 
+    { ZYDIS_DEFINITION(0xB, 0x237), ZYDIS_DEFINITION(0xB, 0x238) }, 
+    { ZYDIS_DEFINITION(0xB, 0x23B), ZYDIS_DEFINITION(0xB, 0x23C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x22D), ZYDIS_DEFINITION(0xB, 0x22E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x231), ZYDIS_DEFINITION(0xB, 0x232) }, 
+    { ZYDIS_DEFINITION(0xB, 0x22F), ZYDIS_DEFINITION(0xB, 0x230) }, 
+    { ZYDIS_DEFINITION(0xB, 0x233), ZYDIS_DEFINITION(0xB, 0x234) }, 
+    { ZYDIS_DEFINITION(0xB, 0x241), ZYDIS_DEFINITION(0xB, 0x242) }, 
+    { ZYDIS_DEFINITION(0xB, 0x243), ZYDIS_DEFINITION(0xB, 0x244) }, 
+    { ZYDIS_DEFINITION(0xB, 0x23D), ZYDIS_DEFINITION(0xB, 0x23E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x23F), ZYDIS_DEFINITION(0xB, 0x240) }, 
+    { ZYDIS_DEFINITION(0xB, 0x271), ZYDIS_DEFINITION(0xB, 0x272) }, 
+    { ZYDIS_DEFINITION(0xB, 0x275), ZYDIS_DEFINITION(0xB, 0x276) }, 
+    { ZYDIS_DEFINITION(0xB, 0x273), ZYDIS_DEFINITION(0xB, 0x274) }, 
+    { ZYDIS_DEFINITION(0xB, 0x277), ZYDIS_DEFINITION(0xB, 0x278) }, 
+    { ZYDIS_DEFINITION(0xB, 0x269), ZYDIS_DEFINITION(0xB, 0x26A) }, 
+    { ZYDIS_DEFINITION(0xB, 0x26D), ZYDIS_DEFINITION(0xB, 0x26E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x26B), ZYDIS_DEFINITION(0xB, 0x26C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x26F), ZYDIS_DEFINITION(0xB, 0x270) }, 
+    { ZYDIS_DEFINITION(0xB, 0x27D), ZYDIS_DEFINITION(0xB, 0x27E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x27F), ZYDIS_DEFINITION(0xB, 0x280) }, 
+    { ZYDIS_DEFINITION(0xB, 0x279), ZYDIS_DEFINITION(0xB, 0x27A) }, 
+    { ZYDIS_DEFINITION(0xB, 0x27B), ZYDIS_DEFINITION(0xB, 0x27C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2AD), ZYDIS_DEFINITION(0xB, 0x2AE) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2B1), ZYDIS_DEFINITION(0xB, 0x2B2) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2AF), ZYDIS_DEFINITION(0xB, 0x2B0) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2B3), ZYDIS_DEFINITION(0xB, 0x2B4) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2A5), ZYDIS_DEFINITION(0xB, 0x2A6) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2A9), ZYDIS_DEFINITION(0xB, 0x2AA) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2A7), ZYDIS_DEFINITION(0xB, 0x2A8) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2AB), ZYDIS_DEFINITION(0xB, 0x2AC) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2B9), ZYDIS_DEFINITION(0xB, 0x2BA) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2BB), ZYDIS_DEFINITION(0xB, 0x2BC) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2B5), ZYDIS_DEFINITION(0xB, 0x2B6) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2B7), ZYDIS_DEFINITION(0xB, 0x2B8) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2C9) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2CB) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2CA) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2CC) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2C5) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2C7) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2C6) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0xB, 0x2C8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x143), ZYDIS_DEFINITION(0x1, 0x144) }, 
+    { ZYDIS_DEFINITION(0x1, 0x145), ZYDIS_DEFINITION(0x1, 0x146) }, 
+    { ZYDIS_DEFINITION(0x1, 0x15F), ZYDIS_DEFINITION(0x1, 0x160) }, 
+    { ZYDIS_DEFINITION(0x1, 0x161), ZYDIS_DEFINITION(0x1, 0x162) }, 
+    { ZYDIS_DEFINITION(0x1, 0x14B), ZYDIS_DEFINITION(0x1, 0x14C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x14D), ZYDIS_DEFINITION(0x1, 0x14E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x26), ZYDIS_DEFINITION(0x1, 0x27) }, 
+    { ZYDIS_DEFINITION(0x1, 0x95), ZYDIS_DEFINITION(0x1, 0x96) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB1), ZYDIS_DEFINITION(0x1, 0xB2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x81), ZYDIS_DEFINITION(0x1, 0x82) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8F), ZYDIS_DEFINITION(0x1, 0x90) }, 
+    { ZYDIS_DEFINITION(0x1, 0x91), ZYDIS_DEFINITION(0x1, 0x92) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9D), ZYDIS_DEFINITION(0x1, 0x9E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9F), ZYDIS_DEFINITION(0x1, 0xA0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x13D), ZYDIS_DEFINITION(0x1, 0x13E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x13F), ZYDIS_DEFINITION(0x1, 0x140) }, 
+    { ZYDIS_DEFINITION(0x1, 0x159), ZYDIS_DEFINITION(0x1, 0x15A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x15B), ZYDIS_DEFINITION(0x1, 0x15C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x135), ZYDIS_DEFINITION(0x1, 0x136) }, 
+    { ZYDIS_DEFINITION(0x1, 0x137), ZYDIS_DEFINITION(0x1, 0x138) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B), ZYDIS_DEFINITION(0x1, 0x52) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4D), ZYDIS_DEFINITION(0x1, 0x53) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAF), ZYDIS_DEFINITION(0x1, 0xB0) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB3), ZYDIS_DEFINITION(0x1, 0xB4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x89), ZYDIS_DEFINITION(0x1, 0x8A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8B), ZYDIS_DEFINITION(0x1, 0x8C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x83), ZYDIS_DEFINITION(0x1, 0x84) }, 
+    { ZYDIS_DEFINITION(0x1, 0x85), ZYDIS_DEFINITION(0x1, 0x86) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA9), ZYDIS_DEFINITION(0x1, 0xAA) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAB), ZYDIS_DEFINITION(0x1, 0xAC) }, 
+    { ZYDIS_DEFINITION(0xB, 0x97), ZYDIS_DEFINITION(0xB, 0x98) }, 
+    { ZYDIS_DEFINITION(0xB, 0x99), ZYDIS_DEFINITION(0xB, 0x9A) }
+};
+
+const ZydisDecoderTreeNode FILTERS_REX_B[][2] =
+{
+    { ZYDIS_DEFINITION(0x0, 0x39F), ZYDIS_DEFINITION(0x0, 0x73F) }
+};
+
+#ifndef ZYDIS_DISABLE_AVX512
+const ZydisDecoderTreeNode FILTERS_EVEX_B[][2] =
+{
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x10), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x11), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x12), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xBC5), ZYDIS_DEFINITION(0x1, 0xBC6) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBC7), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x97), ZYDIS_DEFINITION(0x1, 0x98) }, 
+    { ZYDIS_DEFINITION(0x1, 0x99), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x13), ZYDIS_DEFINITION(0x1, 0xBA1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x15), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x17), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x19), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D), ZYDIS_DEFINITION(0x1, 0xB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F), ZYDIS_DEFINITION(0x1, 0x4E5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x21), ZYDIS_DEFINITION(0x1, 0xF0) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x23), ZYDIS_DEFINITION(0x1, 0xAC) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x24), ZYDIS_DEFINITION(0x1, 0x11A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x27), ZYDIS_DEFINITION(0x1, 0xBB5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x29), ZYDIS_DEFINITION(0x1, 0x419) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B), ZYDIS_DEFINITION(0x1, 0x1EF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D), ZYDIS_DEFINITION(0x1, 0x405) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F), ZYDIS_DEFINITION(0x1, 0x185) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x30), ZYDIS_DEFINITION(0x1, 0x169) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x33), ZYDIS_DEFINITION(0x1, 0x105) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x34), ZYDIS_DEFINITION(0x1, 0xD4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x37), ZYDIS_DEFINITION(0xB, 0x87) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x39), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x40), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x41), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x43), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x45), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x46), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x47), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x48), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x49), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xBC2), ZYDIS_DEFINITION(0x1, 0xBC3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBC4), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x94), ZYDIS_DEFINITION(0x1, 0x95) }, 
+    { ZYDIS_DEFINITION(0x1, 0x96), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4C), ZYDIS_DEFINITION(0x1, 0xB9A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x4E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x50), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x52), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x54), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x56), ZYDIS_DEFINITION(0x1, 0x4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x58), ZYDIS_DEFINITION(0x1, 0x4DE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x5A), ZYDIS_DEFINITION(0x1, 0xC6) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x5C), ZYDIS_DEFINITION(0x1, 0xE9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x5E), ZYDIS_DEFINITION(0x1, 0xBAE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x60), ZYDIS_DEFINITION(0x1, 0x412) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x62), ZYDIS_DEFINITION(0x1, 0x1E8) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x64), ZYDIS_DEFINITION(0x1, 0x3FE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x66), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x67), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x68), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x69), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x6A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x6C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x6D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x6E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x6F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x70), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x71), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x72), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x74), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x75), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x76), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x77), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x78), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x79), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x7A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x7C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x7E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x80), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x82), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x83), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x84), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x85), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x86), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x87), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x88), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x89), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x8A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x8B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x8C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x8E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x8F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x90), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x91), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x92), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x93), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x94), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x95), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x96), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x97), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x98), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x99), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x9A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x9B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xA9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xAB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xAC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xAD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xAE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xAF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB2), ZYDIS_DEFINITION(0x1, 0x18C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB3), ZYDIS_DEFINITION(0x1, 0x170) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB6), ZYDIS_DEFINITION(0x1, 0x10C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xB7), ZYDIS_DEFINITION(0x1, 0xDB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xBA), ZYDIS_DEFINITION(0x1, 0x17E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xBB), ZYDIS_DEFINITION(0x1, 0x162) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xBE), ZYDIS_DEFINITION(0x1, 0xFE) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xBF), ZYDIS_DEFINITION(0x1, 0xCD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xC9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xCA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xCB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xCC), ZYDIS_DEFINITION(0xB, 0x80) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xCE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xCF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xD9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xDB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xDC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xDD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xDE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xDF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xE9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xEA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xEB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xEC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xED), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xEE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xEF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xF9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xFA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xFB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xFC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xFD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xFE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0xFF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x100), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x101), ZYDIS_DEFINITION(0x1, 0x15B) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x103), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x104), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x105), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x106), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x107), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x108), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x109), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x10A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x10B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x10E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x10F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x110), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x111), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x112), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x113), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x114), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x115), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x118), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x119), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x11A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x11B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x11C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x11D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x11E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x120), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x121), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x122), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x123), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x124), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x125), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x126), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x127), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x128), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x12A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x12C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x12D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x12E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x12F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x130), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x132), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x133), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x134), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x135), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x136), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x137), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x138), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x13A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x13C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x13D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x13E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x13F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x140), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x141), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x142), ZYDIS_DEFINITION(0x1, 0xE2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x143), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x144), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x145), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x148), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x149), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x14C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x14D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x150), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x151), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x152), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x153), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x154), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x155), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x156), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x157), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x158), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x159), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x15A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x15B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x15C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x15D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x15E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x160), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x162), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x163), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x164), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x165), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x166), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x167), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x168), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x169), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x16A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x16B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x16C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x16D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x16E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x16F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x170), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x171), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x172), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x173), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x176), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x178), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x17A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x17B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x17D), ZYDIS_DEFINITION(0x1, 0xB5D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x17E), ZYDIS_DEFINITION(0x1, 0xB56) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB67), ZYDIS_DEFINITION(0x1, 0xB68) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB64), ZYDIS_DEFINITION(0x1, 0xB65) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB69), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xB66), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x181), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x182), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x183), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x184), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x185), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x186), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x187), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x188), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x189), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x18A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x18B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x18C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x18D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x18E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x191), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x193), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x194), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x195), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x196), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x199), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x19A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x19B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x19C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x19F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1A8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1AB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1AC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1AF), ZYDIS_DEFINITION(0x1, 0x3B1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B0), ZYDIS_DEFINITION(0x1, 0x3AA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3BB), ZYDIS_DEFINITION(0x1, 0x3BC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3B8), ZYDIS_DEFINITION(0x1, 0x3B9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3BD), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3BA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1B8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1BB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1BC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1BF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C4), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xB04), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xB02), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xB05), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xB03), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1C8), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xB48), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xB46), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xB49), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xB47), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1CB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1CD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1CF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1D8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1DB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1DC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1DD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1DE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1DF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1E9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1EA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1EB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1EC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1ED), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1EE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1F9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1FA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1FB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1FC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x1FF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x200), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x201), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x202), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x205), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x206), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x207), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x208), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x209), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x20A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x20D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x20E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x211), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x212), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x213), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x214), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x215), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x216), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x217), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x218), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x219), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x21A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x21B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x21C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x21D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x21E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x21F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x222), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x223), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x226), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x228), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x229), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x22A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x22B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x22C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x22D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x22E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x22F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x230), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x231), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x232), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x233), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x234), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x235), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x236), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x237), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x238), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x239), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x23A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x23B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x23C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x23D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x23E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x23F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x240), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x241), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x242), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x243), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x244), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x245), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x246), ZYDIS_DEFINITION(0x1, 0x285) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x247), ZYDIS_DEFINITION(0x1, 0x27E) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x24A), ZYDIS_DEFINITION(0x1, 0x2EB) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x24B), ZYDIS_DEFINITION(0x1, 0x2E4) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x24E), ZYDIS_DEFINITION(0x1, 0x249) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x24F), ZYDIS_DEFINITION(0x1, 0x242) }, 
+    { ZYDIS_DEFINITION(0x1, 0x253), ZYDIS_DEFINITION(0x1, 0x254) }, 
+    { ZYDIS_DEFINITION(0x1, 0x250), ZYDIS_DEFINITION(0x1, 0x251) }, 
+    { ZYDIS_DEFINITION(0x1, 0x255), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x252), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x252), ZYDIS_DEFINITION(0x1, 0x2AF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x253), ZYDIS_DEFINITION(0x1, 0x2A8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2B9), ZYDIS_DEFINITION(0x1, 0x2BA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2B6), ZYDIS_DEFINITION(0x1, 0x2B7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2BB), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2B8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x256), ZYDIS_DEFINITION(0x1, 0x315) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x257), ZYDIS_DEFINITION(0x1, 0x30E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x31F), ZYDIS_DEFINITION(0x1, 0x320) }, 
+    { ZYDIS_DEFINITION(0x1, 0x31C), ZYDIS_DEFINITION(0x1, 0x31D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x321), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x31E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x25A), ZYDIS_DEFINITION(0x1, 0x351) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x25B), ZYDIS_DEFINITION(0x1, 0x34A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x35B), ZYDIS_DEFINITION(0x1, 0x35C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x358), ZYDIS_DEFINITION(0x1, 0x359) }, 
+    { ZYDIS_DEFINITION(0x1, 0x35D), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x35A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x25E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x25F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x260), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x261), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x262), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x263), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x264), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x265), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x266), ZYDIS_DEFINITION(0x1, 0x293) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x267), ZYDIS_DEFINITION(0x1, 0x28C) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x26A), ZYDIS_DEFINITION(0x1, 0x2F9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x26B), ZYDIS_DEFINITION(0x1, 0x2F2) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x26E), ZYDIS_DEFINITION(0x1, 0x25D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x26F), ZYDIS_DEFINITION(0x1, 0x256) }, 
+    { ZYDIS_DEFINITION(0x1, 0x267), ZYDIS_DEFINITION(0x1, 0x268) }, 
+    { ZYDIS_DEFINITION(0x1, 0x264), ZYDIS_DEFINITION(0x1, 0x265) }, 
+    { ZYDIS_DEFINITION(0x1, 0x269), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x266), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x272), ZYDIS_DEFINITION(0x1, 0x2C3) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x273), ZYDIS_DEFINITION(0x1, 0x2BC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2CD), ZYDIS_DEFINITION(0x1, 0x2CE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2CA), ZYDIS_DEFINITION(0x1, 0x2CB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2CF), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2CC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x276), ZYDIS_DEFINITION(0x1, 0x329) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x277), ZYDIS_DEFINITION(0x1, 0x322) }, 
+    { ZYDIS_DEFINITION(0x1, 0x333), ZYDIS_DEFINITION(0x1, 0x334) }, 
+    { ZYDIS_DEFINITION(0x1, 0x330), ZYDIS_DEFINITION(0x1, 0x331) }, 
+    { ZYDIS_DEFINITION(0x1, 0x335), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x332), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x27A), ZYDIS_DEFINITION(0x1, 0x365) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x27B), ZYDIS_DEFINITION(0x1, 0x35E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x36F), ZYDIS_DEFINITION(0x1, 0x370) }, 
+    { ZYDIS_DEFINITION(0x1, 0x36C), ZYDIS_DEFINITION(0x1, 0x36D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x371), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x36E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x27E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x280), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x282), ZYDIS_DEFINITION(0x1, 0x2A1) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x283), ZYDIS_DEFINITION(0x1, 0x29A) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x286), ZYDIS_DEFINITION(0x1, 0x307) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x287), ZYDIS_DEFINITION(0x1, 0x300) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x28A), ZYDIS_DEFINITION(0x1, 0x271) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x28B), ZYDIS_DEFINITION(0x1, 0x26A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x27B), ZYDIS_DEFINITION(0x1, 0x27C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x278), ZYDIS_DEFINITION(0x1, 0x279) }, 
+    { ZYDIS_DEFINITION(0x1, 0x27D), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x27A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x28E), ZYDIS_DEFINITION(0x1, 0x2D7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x28F), ZYDIS_DEFINITION(0x1, 0x2D0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2E1), ZYDIS_DEFINITION(0x1, 0x2E2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2DE), ZYDIS_DEFINITION(0x1, 0x2DF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2E3), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x2E0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x292), ZYDIS_DEFINITION(0x1, 0x33D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x293), ZYDIS_DEFINITION(0x1, 0x336) }, 
+    { ZYDIS_DEFINITION(0x1, 0x347), ZYDIS_DEFINITION(0x1, 0x348) }, 
+    { ZYDIS_DEFINITION(0x1, 0x344), ZYDIS_DEFINITION(0x1, 0x345) }, 
+    { ZYDIS_DEFINITION(0x1, 0x349), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x346), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x296), ZYDIS_DEFINITION(0x1, 0x379) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x297), ZYDIS_DEFINITION(0x1, 0x372) }, 
+    { ZYDIS_DEFINITION(0x1, 0x383), ZYDIS_DEFINITION(0x1, 0x384) }, 
+    { ZYDIS_DEFINITION(0x1, 0x380), ZYDIS_DEFINITION(0x1, 0x381) }, 
+    { ZYDIS_DEFINITION(0x1, 0x385), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x382), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x29A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x29B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x29E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x29F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2A9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2AA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2AB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2AC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2AD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2AE), ZYDIS_DEFINITION(0x1, 0x205) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2AF), ZYDIS_DEFINITION(0x1, 0x202) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B2), ZYDIS_DEFINITION(0x1, 0xB09) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B3), ZYDIS_DEFINITION(0x1, 0xB06) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB0F), ZYDIS_DEFINITION(0x1, 0xB10) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB0C), ZYDIS_DEFINITION(0x1, 0xB0D) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB11), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xB0E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B6), ZYDIS_DEFINITION(0x1, 0xB4D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2B7), ZYDIS_DEFINITION(0x1, 0xB4A) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB53), ZYDIS_DEFINITION(0x1, 0xB54) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB50), ZYDIS_DEFINITION(0x1, 0xB51) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB55), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xB52), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2BA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2BB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2BC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2BD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2BE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2BF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2C9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2CC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2CE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D0), ZYDIS_DEFINITION(0xB, 0xB2D) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D2), ZYDIS_DEFINITION(0xB, 0xB26) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB37), ZYDIS_DEFINITION(0xB, 0xB38) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB39), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0xB34), ZYDIS_DEFINITION(0xB, 0xB35) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB36), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2D9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2DA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2DB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2DC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2DD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2DE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2DF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E7), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2E9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2EA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2EB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2EC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2ED), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2EE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2EF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F2), ZYDIS_DEFINITION(0xB, 0xF7) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2F9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2FC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2FD), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2FE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x2FF), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x300), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x301), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x302), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x303), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x304), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x305), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x306), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x307), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x30A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x30B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x30E), ZYDIS_DEFINITION(0xB, 0x3C5) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x30F), ZYDIS_DEFINITION(0xB, 0x3BE) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3CF), ZYDIS_DEFINITION(0xB, 0x3D0) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3CC), ZYDIS_DEFINITION(0xB, 0x3CD) }, 
+    { ZYDIS_DEFINITION(0xB, 0x3D1), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x3CE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x312), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x313), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x314), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x315), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x316), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x317), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x318), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x319), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x31A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x31B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x31C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x31D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x31E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x31F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x320), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x321), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x322), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x323), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x324), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x325), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x326), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x327), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x328), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x329), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x32A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x32B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x32C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x32D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x330), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x331), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x332), ZYDIS_DEFINITION(0xB, 0xAE9) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x333), ZYDIS_DEFINITION(0xB, 0xAE2) }, 
+    { ZYDIS_DEFINITION(0xB, 0xAF3), ZYDIS_DEFINITION(0xB, 0xAF4) }, 
+    { ZYDIS_DEFINITION(0xB, 0xAF0), ZYDIS_DEFINITION(0xB, 0xAF1) }, 
+    { ZYDIS_DEFINITION(0xB, 0xAF5), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0xAF2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x336), ZYDIS_DEFINITION(0xB, 0x235) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x337), ZYDIS_DEFINITION(0xB, 0x22E) }, 
+    { ZYDIS_DEFINITION(0xB, 0x23F), ZYDIS_DEFINITION(0xB, 0x240) }, 
+    { ZYDIS_DEFINITION(0xB, 0x23C), ZYDIS_DEFINITION(0xB, 0x23D) }, 
+    { ZYDIS_DEFINITION(0xB, 0x241), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x23E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x33A), ZYDIS_DEFINITION(0xB, 0xB19) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x33B), ZYDIS_DEFINITION(0xB, 0xB12) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB23), ZYDIS_DEFINITION(0xB, 0xB24) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB20), ZYDIS_DEFINITION(0xB, 0xB21) }, 
+    { ZYDIS_DEFINITION(0xB, 0xB25), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0xB22), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x33E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x33F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x394), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x392), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x395), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x393), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x342), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x343), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x344), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x345), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x348), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x349), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x34A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x34B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x34E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x350), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C2), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C3), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C4), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x352), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x353), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x354), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x355), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x13D), ZYDIS_DEFINITION(0x1, 0x13E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x140), ZYDIS_DEFINITION(0x1, 0x141) }, 
+    { ZYDIS_DEFINITION(0x1, 0x143), ZYDIS_DEFINITION(0x1, 0x144) }, 
+    { ZYDIS_DEFINITION(0x1, 0x13F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x142), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x145), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1A5), ZYDIS_DEFINITION(0x1, 0x1A6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1A8), ZYDIS_DEFINITION(0x1, 0x1A9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1AB), ZYDIS_DEFINITION(0x1, 0x1AC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1A7), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1AA), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1AD), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x149), ZYDIS_DEFINITION(0x1, 0x14A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x14C), ZYDIS_DEFINITION(0x1, 0x14D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x14F), ZYDIS_DEFINITION(0x1, 0x150) }, 
+    { ZYDIS_DEFINITION(0x1, 0x14B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x14E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x151), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xBAB), ZYDIS_DEFINITION(0x1, 0xBAC) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBAD), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x15), ZYDIS_DEFINITION(0x1, 0x16) }, 
+    { ZYDIS_DEFINITION(0x1, 0x17), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4EF), ZYDIS_DEFINITION(0x1, 0x4F0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4F1), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x146), ZYDIS_DEFINITION(0x1, 0x147) }, 
+    { ZYDIS_DEFINITION(0x1, 0x148), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x356), ZYDIS_DEFINITION(0x1, 0x177) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBBF), ZYDIS_DEFINITION(0x1, 0xBC0) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBC1), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x423), ZYDIS_DEFINITION(0x1, 0x424) }, 
+    { ZYDIS_DEFINITION(0x1, 0x425), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1F9), ZYDIS_DEFINITION(0x1, 0x1FA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1FB), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x40F), ZYDIS_DEFINITION(0x1, 0x410) }, 
+    { ZYDIS_DEFINITION(0x1, 0x411), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x358), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x359), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x35A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x35B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x35C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x35D), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1AE), ZYDIS_DEFINITION(0x1, 0x1AF) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1B1), ZYDIS_DEFINITION(0x1, 0x1B2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1B4), ZYDIS_DEFINITION(0x1, 0x1B5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1B0), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1B3), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1B6), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x152), ZYDIS_DEFINITION(0x1, 0x153) }, 
+    { ZYDIS_DEFINITION(0x1, 0x155), ZYDIS_DEFINITION(0x1, 0x156) }, 
+    { ZYDIS_DEFINITION(0x1, 0x158), ZYDIS_DEFINITION(0x1, 0x159) }, 
+    { ZYDIS_DEFINITION(0x1, 0x154), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x157), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x15A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x35E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x35F), ZYDIS_DEFINITION(0x1, 0x1C4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1D9), ZYDIS_DEFINITION(0x1, 0x1DA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1DC), ZYDIS_DEFINITION(0x1, 0x1DD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1DF), ZYDIS_DEFINITION(0x1, 0x1E0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1DB), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1DE), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1E1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x362), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x363), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x364), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x365), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x366), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x367), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x91), ZYDIS_DEFINITION(0xB, 0x92) }, 
+    { ZYDIS_DEFINITION(0xB, 0x93), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x368), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x369), ZYDIS_DEFINITION(0x1, 0x113) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x36C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x36D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x36E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x36F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x370), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x371), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x372), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x373), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x374), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x375), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x376), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x377), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x378), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x379), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x37A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x37B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x37C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x37D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x37E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x37F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x380), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x381), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x382), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x383), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x384), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x385), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x386), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x387), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x388), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x389), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x38C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x38D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x38E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x38F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x390), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x391), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x392), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x393), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x394), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x395), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x396), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x397), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x398), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x399), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x39A), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x39B), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x39C), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x39D), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x39E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x39F), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A0), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A4), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B2), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B3), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B4), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4B5), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A6), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A7), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x138), ZYDIS_DEFINITION(0x1, 0x139) }, 
+    { ZYDIS_DEFINITION(0x1, 0x13B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x137), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x13A), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x13C), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x193), ZYDIS_DEFINITION(0x1, 0x194) }, 
+    { ZYDIS_DEFINITION(0x1, 0x196), ZYDIS_DEFINITION(0x1, 0x197) }, 
+    { ZYDIS_DEFINITION(0x1, 0x199), ZYDIS_DEFINITION(0x1, 0x19A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x195), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x198), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x19B), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x121), ZYDIS_DEFINITION(0x1, 0x122) }, 
+    { ZYDIS_DEFINITION(0x1, 0x124), ZYDIS_DEFINITION(0x1, 0x125) }, 
+    { ZYDIS_DEFINITION(0x1, 0x127), ZYDIS_DEFINITION(0x1, 0x128) }, 
+    { ZYDIS_DEFINITION(0x1, 0x123), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x126), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x129), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xBA8), ZYDIS_DEFINITION(0x1, 0xBA9) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBAA), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x12), ZYDIS_DEFINITION(0x1, 0x13) }, 
+    { ZYDIS_DEFINITION(0x1, 0x14), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x4EC), ZYDIS_DEFINITION(0x1, 0x4ED) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4EE), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x12A), ZYDIS_DEFINITION(0x1, 0x12B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x12C), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0xBBC), ZYDIS_DEFINITION(0x1, 0xBBD) }, 
+    { ZYDIS_DEFINITION(0x1, 0xBBE), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x420), ZYDIS_DEFINITION(0x1, 0x421) }, 
+    { ZYDIS_DEFINITION(0x1, 0x422), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1F6), ZYDIS_DEFINITION(0x1, 0x1F7) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1F8), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x40C), ZYDIS_DEFINITION(0x1, 0x40D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x40E), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3A9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3AA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3AB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3AC), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3AD), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x19C), ZYDIS_DEFINITION(0x1, 0x19D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x19F), ZYDIS_DEFINITION(0x1, 0x1A0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1A2), ZYDIS_DEFINITION(0x1, 0x1A3) }, 
+    { ZYDIS_DEFINITION(0x1, 0x19E), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1A1), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1A4), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x12D), ZYDIS_DEFINITION(0x1, 0x12E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x130), ZYDIS_DEFINITION(0x1, 0x131) }, 
+    { ZYDIS_DEFINITION(0x1, 0x133), ZYDIS_DEFINITION(0x1, 0x134) }, 
+    { ZYDIS_DEFINITION(0x1, 0x12F), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x132), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x135), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3AE), ZYDIS_DEFINITION(0x1, 0x1BD) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3AF), ZYDIS_DEFINITION(0x1, 0x1CB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1D4), ZYDIS_DEFINITION(0x1, 0x1D5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x1D7), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1D3), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1D6), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1D8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B2), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B3), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B4), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B5), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x8E), ZYDIS_DEFINITION(0xB, 0x8F) }, 
+    { ZYDIS_DEFINITION(0xB, 0x90), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B6), ZYDIS_DEFINITION(0x1, 0xBF) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B8), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3B9), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3BA), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3BB), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3BE), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C0), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x1), ZYDIS_INVALID }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VECTOR_LENGTH, 0x3C1), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x3), ZYDIS_INVALID }
+};
+#endif
+
+#ifndef ZYDIS_DISABLE_KNC
+const ZydisDecoderTreeNode FILTERS_MVEX_E[][2] =
+{
+    { ZYDIS_DEFINITION(0x1, 0xC7), ZYDIS_DEFINITION(0x1, 0xC8) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB), ZYDIS_DEFINITION(0x1, 0xC) }, 
+    { ZYDIS_DEFINITION(0x1, 0xDA), ZYDIS_DEFINITION(0x1, 0xDB) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3D), ZYDIS_DEFINITION(0x1, 0x3E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x18E), ZYDIS_DEFINITION(0x1, 0x18F) }, 
+    { ZYDIS_DEFINITION(0xB, 0x22), ZYDIS_DEFINITION(0xB, 0x23) }, 
+    { ZYDIS_DEFINITION(0xB, 0x37), ZYDIS_DEFINITION(0xB, 0x38) }, 
+    { ZYDIS_DEFINITION(0xB, 0x28), ZYDIS_DEFINITION(0xB, 0x29) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC3), ZYDIS_DEFINITION(0x1, 0xC4) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8), ZYDIS_DEFINITION(0x1, 0x9) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD7), ZYDIS_DEFINITION(0x1, 0xD8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3A), ZYDIS_DEFINITION(0x1, 0x3B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x18B), ZYDIS_DEFINITION(0x1, 0x18C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x10B), ZYDIS_DEFINITION(0x1, 0x10C) }, 
+    { ZYDIS_DEFINITION(0x1, 0xCB), ZYDIS_DEFINITION(0x1, 0xCC) }, 
+    { ZYDIS_DEFINITION(0x1, 0xCF), ZYDIS_DEFINITION(0x1, 0xD0) }, 
+    { ZYDIS_DEFINITION(0xB, 0x14C), ZYDIS_DEFINITION(0xB, 0x14D) }, 
+    { ZYDIS_DEFINITION(0xB, 0x15B), ZYDIS_DEFINITION(0xB, 0x15C) }, 
+    { ZYDIS_DEFINITION(0xB, 0x155), ZYDIS_DEFINITION(0xB, 0x156) }, 
+    { ZYDIS_DEFINITION(0xB, 0x14F), ZYDIS_DEFINITION(0xB, 0x150) }, 
+    { ZYDIS_DEFINITION(0x1, 0x108), ZYDIS_DEFINITION(0x1, 0x109) }, 
+    { ZYDIS_DEFINITION(0xB, 0x1F), ZYDIS_DEFINITION(0xB, 0x20) }, 
+    { ZYDIS_DEFINITION(0x1, 0xF1), ZYDIS_DEFINITION(0x1, 0xF2) }, 
+    { ZYDIS_DEFINITION(0x1, 0xFA), ZYDIS_DEFINITION(0x1, 0xFB) }, 
+    { ZYDIS_DEFINITION(0x1, 0xF4), ZYDIS_DEFINITION(0x1, 0xF5) }, 
+    { ZYDIS_DEFINITION(0x1, 0xF7), ZYDIS_DEFINITION(0x1, 0xF8) }, 
+    { ZYDIS_DEFINITION(0x1, 0x136), ZYDIS_DEFINITION(0x1, 0x137) }, 
+    { ZYDIS_DEFINITION(0x1, 0x139), ZYDIS_DEFINITION(0x1, 0x13A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x170), ZYDIS_DEFINITION(0x1, 0x171) }, 
+    { ZYDIS_DEFINITION(0x1, 0x173), ZYDIS_DEFINITION(0x1, 0x174) }, 
+    { ZYDIS_DEFINITION(0x1, 0x161), ZYDIS_DEFINITION(0x1, 0x162) }, 
+    { ZYDIS_DEFINITION(0x1, 0xE8), ZYDIS_DEFINITION(0x1, 0xE9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x16D), ZYDIS_DEFINITION(0x1, 0x16E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x114), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0x1, 0x127), ZYDIS_DEFINITION(0x1, 0x128) }, 
+    { ZYDIS_DEFINITION(0x1, 0x12A), ZYDIS_DEFINITION(0x1, 0x12B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x121), ZYDIS_DEFINITION(0x1, 0x122) }, 
+    { ZYDIS_DEFINITION(0x1, 0x124), ZYDIS_DEFINITION(0x1, 0x125) }, 
+    { ZYDIS_DEFINITION(0x1, 0x133), ZYDIS_DEFINITION(0x1, 0x134) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA0), ZYDIS_DEFINITION(0x1, 0xA1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x9D), ZYDIS_DEFINITION(0x1, 0x9E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x15E), ZYDIS_DEFINITION(0x1, 0x15F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x158), ZYDIS_DEFINITION(0x1, 0x159) }, 
+    { ZYDIS_DEFINITION(0x1, 0x152), ZYDIS_DEFINITION(0x1, 0x153) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5), ZYDIS_DEFINITION(0x1, 0x6) }, 
+    { ZYDIS_DEFINITION(0x1, 0x2), ZYDIS_DEFINITION(0x1, 0x3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xA9), ZYDIS_DEFINITION(0x1, 0xAA) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB5), ZYDIS_DEFINITION(0x1, 0xB6) }, 
+    { ZYDIS_DEFINITION(0x1, 0xB2), ZYDIS_DEFINITION(0x1, 0xB3) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAF), ZYDIS_DEFINITION(0x1, 0xB0) }, 
+    { ZYDIS_DEFINITION(0x1, 0xAC), ZYDIS_DEFINITION(0x1, 0xAD) }, 
+    { ZYDIS_DEFINITION(0x1, 0x49), ZYDIS_DEFINITION(0x1, 0x4A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x46), ZYDIS_DEFINITION(0x1, 0x47) }, 
+    { ZYDIS_DEFINITION(0x1, 0xE5), ZYDIS_DEFINITION(0x1, 0xE6) }, 
+    { ZYDIS_DEFINITION(0x1, 0xEB), ZYDIS_DEFINITION(0x1, 0xEC) }, 
+    { ZYDIS_DEFINITION(0x1, 0x144), ZYDIS_DEFINITION(0x1, 0x145) }, 
+    { ZYDIS_DEFINITION(0x1, 0x16A), ZYDIS_DEFINITION(0x1, 0x16B) }, 
+    { ZYDIS_DEFINITION(0x1, 0xFD), ZYDIS_DEFINITION(0x1, 0xFE) }, 
+    { ZYDIS_DEFINITION(0x1, 0x100), ZYDIS_DEFINITION(0x1, 0x101) }, 
+    { ZYDIS_DEFINITION(0x1, 0x16), ZYDIS_DEFINITION(0x1, 0x17) }, 
+    { ZYDIS_DEFINITION(0x1, 0x13), ZYDIS_DEFINITION(0x1, 0x14) }, 
+    { ZYDIS_DEFINITION(0x1, 0x164), ZYDIS_DEFINITION(0x1, 0x165) }, 
+    { ZYDIS_DEFINITION(0x1, 0x194), ZYDIS_DEFINITION(0x1, 0x195) }, 
+    { ZYDIS_DEFINITION(0x1, 0x191), ZYDIS_DEFINITION(0x1, 0x192) }, 
+    { ZYDIS_DEFINITION(0x1, 0x147), ZYDIS_DEFINITION(0x1, 0x148) }, 
+    { ZYDIS_DEFINITION(0x1, 0x167), ZYDIS_DEFINITION(0x1, 0x168) }, 
+    { ZYDIS_DEFINITION(0x1, 0x10E), ZYDIS_DEFINITION(0x1, 0x10F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x182), ZYDIS_DEFINITION(0x1, 0x183) }, 
+    { ZYDIS_DEFINITION(0x1, 0x130), ZYDIS_DEFINITION(0x1, 0x131) }, 
+    { ZYDIS_DEFINITION(0x1, 0x12D), ZYDIS_DEFINITION(0x1, 0x12E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4F), ZYDIS_DEFINITION(0x1, 0x50) }, 
+    { ZYDIS_DEFINITION(0x1, 0x4C), ZYDIS_DEFINITION(0x1, 0x4D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x64), ZYDIS_DEFINITION(0x1, 0x65) }, 
+    { ZYDIS_DEFINITION(0x1, 0x61), ZYDIS_DEFINITION(0x1, 0x62) }, 
+    { ZYDIS_DEFINITION(0x1, 0x76), ZYDIS_DEFINITION(0x1, 0x77) }, 
+    { ZYDIS_DEFINITION(0x1, 0x73), ZYDIS_DEFINITION(0x1, 0x74) }, 
+    { ZYDIS_DEFINITION(0x1, 0x88), ZYDIS_DEFINITION(0x1, 0x89) }, 
+    { ZYDIS_DEFINITION(0x1, 0x85), ZYDIS_DEFINITION(0x1, 0x86) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5E), ZYDIS_DEFINITION(0x1, 0x5F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x55), ZYDIS_DEFINITION(0x1, 0x56) }, 
+    { ZYDIS_DEFINITION(0x1, 0x52), ZYDIS_DEFINITION(0x1, 0x53) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6A), ZYDIS_DEFINITION(0x1, 0x6B) }, 
+    { ZYDIS_DEFINITION(0x1, 0x67), ZYDIS_DEFINITION(0x1, 0x68) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7C), ZYDIS_DEFINITION(0x1, 0x7D) }, 
+    { ZYDIS_DEFINITION(0x1, 0x79), ZYDIS_DEFINITION(0x1, 0x7A) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8E), ZYDIS_DEFINITION(0x1, 0x8F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x8B), ZYDIS_DEFINITION(0x1, 0x8C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x11E), ZYDIS_DEFINITION(0x1, 0x11F) }, 
+    { ZYDIS_DEFINITION(0x1, 0x11B), ZYDIS_DEFINITION(0x1, 0x11C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5B), ZYDIS_DEFINITION(0x1, 0x5C) }, 
+    { ZYDIS_DEFINITION(0x1, 0x58), ZYDIS_DEFINITION(0x1, 0x59) }, 
+    { ZYDIS_DEFINITION(0x1, 0x70), ZYDIS_DEFINITION(0x1, 0x71) }, 
+    { ZYDIS_DEFINITION(0x1, 0x6D), ZYDIS_DEFINITION(0x1, 0x6E) }, 
+    { ZYDIS_DEFINITION(0x1, 0x82), ZYDIS_DEFINITION(0x1, 0x83) }, 
+    { ZYDIS_DEFINITION(0x1, 0x7F), ZYDIS_DEFINITION(0x1, 0x80) }, 
+    { ZYDIS_DEFINITION(0x1, 0x94), ZYDIS_DEFINITION(0x1, 0x95) }, 
+    { ZYDIS_DEFINITION(0x1, 0x91), ZYDIS_DEFINITION(0x1, 0x92) }, 
+    { ZYDIS_DEFINITION(0x1, 0x43), ZYDIS_DEFINITION(0x1, 0x44) }, 
+    { ZYDIS_DEFINITION(0x1, 0xC0), ZYDIS_DEFINITION(0x1, 0xC1) }, 
+    { ZYDIS_DEFINITION(0x1, 0x176), ZYDIS_DEFINITION(0x1, 0x177) }, 
+    { ZYDIS_DEFINITION(0x1, 0x17F), ZYDIS_DEFINITION(0x1, 0x180) }, 
+    { ZYDIS_DEFINITION(0x1, 0xE), ZYDIS_DEFINITION(0x1, 0xF) }, 
+    { ZYDIS_DEFINITION(0x1, 0xEE), ZYDIS_DEFINITION(0x1, 0xEF) }, 
+    { ZYDIS_DEFINITION(0xB, 0x11), ZYDIS_INVALID }, 
+    { ZYDIS_DEFINITION(0xB, 0x116), ZYDIS_DEFINITION(0xB, 0x117) }, 
+    { ZYDIS_DEFINITION(0xB, 0x111), ZYDIS_DEFINITION(0xB, 0x112) }, 
+    { ZYDIS_DEFINITION(0xB, 0x105), ZYDIS_DEFINITION(0xB, 0x106) }, 
+    { ZYDIS_DEFINITION(0xB, 0xA6), ZYDIS_DEFINITION(0xB, 0xA7) }, 
+    { ZYDIS_DEFINITION(0xB, 0xA3), ZYDIS_DEFINITION(0xB, 0xA4) }, 
+    { ZYDIS_DEFINITION(0xB, 0x17C), ZYDIS_DEFINITION(0xB, 0x17D) }, 
+    { ZYDIS_DEFINITION(0xB, 0x179), ZYDIS_DEFINITION(0xB, 0x17A) }, 
+    { ZYDIS_DEFINITION(0xB, 0x34), ZYDIS_DEFINITION(0xB, 0x35) }, 
+    { ZYDIS_DEFINITION(0xB, 0x31), ZYDIS_DEFINITION(0xB, 0x32) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD3), ZYDIS_DEFINITION(0x1, 0xD5) }, 
+    { ZYDIS_DEFINITION(0x1, 0x40), ZYDIS_DEFINITION(0x1, 0x41) }, 
+    { ZYDIS_DEFINITION(0x1, 0x25), ZYDIS_DEFINITION(0x1, 0x26) }, 
+    { ZYDIS_DEFINITION(0x1, 0xD4), ZYDIS_DEFINITION(0x1, 0xD6) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2E), ZYDIS_DEFINITION(0xB, 0x2F) }, 
+    { ZYDIS_DEFINITION(0xB, 0x2B), ZYDIS_DEFINITION(0xB, 0x2C) }
+};
+#endif
+
+const ZydisDecoderTreeNode FILTERS_MODE_AMD[][2] =
+{
+    { ZYDIS_DEFINITION(0xA, 0x29D), ZYDIS_DEFINITION(0x9, 0x29E) }, 
+    { ZYDIS_DEFINITION(0xA, 0x289), ZYDIS_DEFINITION(0x9, 0x28A) }, 
+    { ZYDIS_DEFINITION(0xA, 0x255), ZYDIS_DEFINITION(0x9, 0x256) }, 
+    { ZYDIS_DEFINITION(0xA, 0x275), ZYDIS_DEFINITION(0x9, 0x276) }, 
+    { ZYDIS_DEFINITION(0xA, 0x2AD), ZYDIS_DEFINITION(0x9, 0x2AE) }, 
+    { ZYDIS_DEFINITION(0xA, 0x298), ZYDIS_DEFINITION(0x9, 0x299) }, 
+    { ZYDIS_DEFINITION(0xA, 0x25A), ZYDIS_DEFINITION(0x9, 0x25B) }, 
+    { ZYDIS_DEFINITION(0xA, 0x27A), ZYDIS_DEFINITION(0x9, 0x27B) }, 
+    { ZYDIS_DEFINITION(0xA, 0x2A8), ZYDIS_DEFINITION(0x9, 0x2A9) }, 
+    { ZYDIS_DEFINITION(0xA, 0x293), ZYDIS_DEFINITION(0x9, 0x294) }, 
+    { ZYDIS_DEFINITION(0xA, 0x2A2), ZYDIS_DEFINITION(0x9, 0x2A3) }, 
+    { ZYDIS_DEFINITION(0xA, 0x28E), ZYDIS_DEFINITION(0x9, 0x28F) }, 
+    { ZYDIS_DEFINITION(0xA, 0x262), ZYDIS_DEFINITION(0x9, 0x263) }, 
+    { ZYDIS_DEFINITION(0xA, 0x27F), ZYDIS_DEFINITION(0x9, 0x280) }, 
+    { ZYDIS_DEFINITION(0xA, 0x267), ZYDIS_DEFINITION(0x9, 0x268) }, 
+    { ZYDIS_DEFINITION(0xA, 0x284), ZYDIS_DEFINITION(0x9, 0x285) }, 
+    { ZYDIS_DEFINITION(0xA, 0xA0), ZYDIS_DEFINITION(0x9, 0xA1) }, 
+    { ZYDIS_DEFINITION(0xA, 0x26A), ZYDIS_DEFINITION(0x9, 0x26B) }
+};
+
+const ZydisDecoderTreeNode FILTERS_MODE_KNC[][2] =
+{
+    { ZYDIS_DEFINITION(0x1, 0x3CF), ZYDIS_DEFINITION(0x1, 0x3D0) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3D1), ZYDIS_DEFINITION(0x1, 0x3D2) }, 
+    { ZYDIS_DEFINITION(0x1, 0x5D), ZYDIS_DEFINITION(0x1, 0x59) }, 
+    { ZYDIS_DEFINITION(0x1, 0x54), ZYDIS_DEFINITION(0x1, 0x40) }, 
+    { ZYDIS_DEFINITION(0x1, 0x57), ZYDIS_DEFINITION(0x1, 0x41) }, 
+    { ZYDIS_DEFINITION(0x1, 0x58), ZYDIS_DEFINITION(0x1, 0x42) }, 
+    { ZYDIS_DEFINITION(0x1, 0x66), ZYDIS_DEFINITION(0x1, 0x62) }
+};
+
+const ZydisDecoderTreeNode FILTERS_MODE_MPX[][2] =
+{
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x2F), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x30) }, 
+    { ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x31), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x32) }
+};
+
+const ZydisDecoderTreeNode FILTERS_MODE_CET[][2] =
+{
+    { ZYDIS_DEFINITION(0x1, 0x3CC), ZYDIS_DEFINITION(0x1, 0x5EA) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3CD), ZYDIS_DEFINITION(0x1, 0x5E9) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3C6), ZYDIS_DEFINITION(0x1, 0x166) }, 
+    { ZYDIS_DEFINITION(0x1, 0x3C7), ZYDIS_DEFINITION(0x1, 0x165) }
+};
+
+const ZydisDecoderTreeNode FILTERS_MODE_LZCNT[][2] =
+{
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2D8) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x2D9) }
+};
+
+const ZydisDecoderTreeNode FILTERS_MODE_TZCNT[][2] =
+{
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6FD) }, 
+    { ZYDIS_INVALID, ZYDIS_DEFINITION(0x1, 0x6FE) }
+};
+
+const ZydisDecoderTreeNode FILTERS_MODE_WBNOINVD[][2] =
+{
+    { ZYDIS_INVALID, ZYDIS_INVALID }
+};
+
+const ZydisDecoderTreeNode FILTERS_MODE_CLDEMOTE[][2] =
+{
+    { ZYDIS_DEFINITION(0x1, 0x3B7), ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MANDATORY_PREFIX, 0x14) }
+};
+
+const ZydisDecoderTreeNode FILTERS_MODE_CENTAUR[][2] =
+{
+    { ZYDIS_INVALID, ZYDIS_INVALID }
+};
diff --git a/external/zydis/src/Generated/EncodableInstructions.inc b/external/zydis/src/Generated/EncodableInstructions.inc
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Generated/EncodableInstructions.inc
@@ -0,0 +1,11552 @@
+const ZydisEncodableInstruction encodableInstructions[] =
+{
+    /* ------------------------------------------------------------------------------------------ */
+    /* AAA                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0000*/ { 0x0000, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x37, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* AAD                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0001*/ { 0x0001, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD5, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* AAM                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0002*/ { 0x0002, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD4, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* AAS                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0003*/ { 0x0003, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3F, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ADC                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0004*/ { 0x0004, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0005*/ { 0x0005, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0006*/ { 0x0006, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0007*/ { 0x0007, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0008*/ { 0x0008, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0009*/ { 0x0009, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*000A*/ { 0x000A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x13, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*000B*/ { 0x000B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x13, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*000C*/ { 0x000C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*000D*/ { 0x000D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*000E*/ { 0x000E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*000F*/ { 0x000F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0010*/ { 0x0010, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0011*/ { 0x0011, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0012*/ { 0x0012, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0013*/ { 0x0013, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0014*/ { 0x0014, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0015*/ { 0x0015, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ADCX                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0016*/ { 0x0016, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0017*/ { 0x0017, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0018*/ { 0x0018, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0019*/ { 0x0019, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ADD                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*001A*/ { 0x001A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*001B*/ { 0x001B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*001C*/ { 0x001C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*001D*/ { 0x001D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*001E*/ { 0x001E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*001F*/ { 0x001F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0020*/ { 0x0020, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0021*/ { 0x0021, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0022*/ { 0x0022, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x04, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0023*/ { 0x0023, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x05, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0024*/ { 0x0024, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0025*/ { 0x0025, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0026*/ { 0x0026, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0027*/ { 0x0027, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0028*/ { 0x0028, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0029*/ { 0x0029, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*002A*/ { 0x002A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*002B*/ { 0x002B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ADDPD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*002C*/ { 0x002C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*002D*/ { 0x002D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ADDPS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*002E*/ { 0x002E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*002F*/ { 0x002F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ADDSD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0030*/ { 0x0030, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0031*/ { 0x0031, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ADDSS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0032*/ { 0x0032, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0033*/ { 0x0033, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ADDSUBPD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0034*/ { 0x0034, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0035*/ { 0x0035, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ADDSUBPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0036*/ { 0x0036, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0037*/ { 0x0037, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ADOX                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0038*/ { 0x0038, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0039*/ { 0x0039, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*003A*/ { 0x003A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*003B*/ { 0x003B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* AESDEC                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*003C*/ { 0x003C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*003D*/ { 0x003D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* AESDECLAST                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*003E*/ { 0x003E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*003F*/ { 0x003F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* AESENC                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0040*/ { 0x0040, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0041*/ { 0x0041, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* AESENCLAST                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0042*/ { 0x0042, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0043*/ { 0x0043, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* AESIMC                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0044*/ { 0x0044, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0045*/ { 0x0045, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* AESKEYGENASSIST                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0046*/ { 0x0046, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0047*/ { 0x0047, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* AND                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0048*/ { 0x0048, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0049*/ { 0x0049, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*004A*/ { 0x004A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*004B*/ { 0x004B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*004C*/ { 0x004C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*004D*/ { 0x004D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*004E*/ { 0x004E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x23, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*004F*/ { 0x004F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x23, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0050*/ { 0x0050, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x24, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0051*/ { 0x0051, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x25, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0052*/ { 0x0052, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0053*/ { 0x0053, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0054*/ { 0x0054, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0055*/ { 0x0055, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0056*/ { 0x0056, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0057*/ { 0x0057, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0058*/ { 0x0058, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0059*/ { 0x0059, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ANDN                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*005A*/ { 0x0000, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF2, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*005B*/ { 0x0001, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF2, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*005C*/ { 0x0002, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF2, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*005D*/ { 0x0003, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF2, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*005E*/ { 0x0004, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF2, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*005F*/ { 0x0005, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF2, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ANDNPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0060*/ { 0x005A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0061*/ { 0x005B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ANDNPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0062*/ { 0x005C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0063*/ { 0x005D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ANDPD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0064*/ { 0x005E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0065*/ { 0x005F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ANDPS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0066*/ { 0x0060, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0067*/ { 0x0061, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ARPL                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0068*/ { 0x0062, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0069*/ { 0x0063, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BEXTR                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*006A*/ { 0x0006, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*006B*/ { 0x0007, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*006C*/ { 0x0008, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*006D*/ { 0x0009, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*006E*/ { 0x000A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*006F*/ { 0x000B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BEXTR_XOP                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0070*/ { 0x0000, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x10, ZYDIS_OPCODE_MAP_XOPA   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0071*/ { 0x0001, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x10, ZYDIS_OPCODE_MAP_XOPA   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0072*/ { 0x0002, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x10, ZYDIS_OPCODE_MAP_XOPA   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0073*/ { 0x0003, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x10, ZYDIS_OPCODE_MAP_XOPA   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BLCFILL                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0074*/ { 0x0004, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0075*/ { 0x0005, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0076*/ { 0x0006, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0077*/ { 0x0007, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BLCI                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0078*/ { 0x0008, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x02, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0079*/ { 0x0009, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x02, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*007A*/ { 0x000A, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x02, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*007B*/ { 0x000B, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x02, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BLCIC                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*007C*/ { 0x000C, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*007D*/ { 0x000D, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*007E*/ { 0x000E, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*007F*/ { 0x000F, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BLCMSK                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0080*/ { 0x0010, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x02, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0081*/ { 0x0011, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x02, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0082*/ { 0x0012, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x02, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0083*/ { 0x0013, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x02, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BLCS                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0084*/ { 0x0014, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0085*/ { 0x0015, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0086*/ { 0x0016, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0087*/ { 0x0017, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BLENDPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0088*/ { 0x0064, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0089*/ { 0x0065, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BLENDPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*008A*/ { 0x0066, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*008B*/ { 0x0067, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BLENDVPD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*008C*/ { 0x0068, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*008D*/ { 0x0069, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BLENDVPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*008E*/ { 0x006A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*008F*/ { 0x006B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BLSFILL                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0090*/ { 0x0018, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0091*/ { 0x0019, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0092*/ { 0x001A, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0093*/ { 0x001B, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BLSI                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0094*/ { 0x000C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0095*/ { 0x000D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0096*/ { 0x000E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0097*/ { 0x000F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0098*/ { 0x0010, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0099*/ { 0x0011, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BLSIC                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*009A*/ { 0x001C, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*009B*/ { 0x001D, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*009C*/ { 0x001E, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*009D*/ { 0x001F, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BLSMSK                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*009E*/ { 0x0012, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*009F*/ { 0x0013, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00A0*/ { 0x0014, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00A1*/ { 0x0015, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00A2*/ { 0x0016, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*00A3*/ { 0x0017, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BLSR                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00A4*/ { 0x0018, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00A5*/ { 0x0019, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00A6*/ { 0x001A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00A7*/ { 0x001B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00A8*/ { 0x001C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*00A9*/ { 0x001D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BNDCL                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00AA*/ { 0x006C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00AB*/ { 0x006D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00AC*/ { 0x006E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BNDCN                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00AD*/ { 0x006F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00AE*/ { 0x0070, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00AF*/ { 0x0071, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BNDCU                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00B0*/ { 0x0072, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00B1*/ { 0x0073, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00B2*/ { 0x0074, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BNDLDX                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00B3*/ { 0x0075, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x02, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00B4*/ { 0x0076, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x01, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00B5*/ { 0x0077, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x02, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00B6*/ { 0x0078, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x04, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BNDMK                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00B7*/ { 0x0079, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BNDMOV                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00B8*/ { 0x007A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00B9*/ { 0x007B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x01, 0x07, 0x02, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00BA*/ { 0x007C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x02, 0x07, 0x02, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00BB*/ { 0x007D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00BC*/ { 0x007E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00BD*/ { 0x007F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x01, 0x07, 0x02, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00BE*/ { 0x0080, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x02, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00BF*/ { 0x0081, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BNDSTX                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00C0*/ { 0x0082, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x02, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00C1*/ { 0x0083, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x01, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00C2*/ { 0x0084, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x02, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00C3*/ { 0x0085, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x04, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BOUND                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00C4*/ { 0x0086, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_DEFAULT, 0x01, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00C5*/ { 0x0087, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_DEFAULT, 0x02, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BSF                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00C6*/ { 0x0088, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00C7*/ { 0x0089, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00C8*/ { 0x008A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00C9*/ { 0x008B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BSR                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00CA*/ { 0x008C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00CB*/ { 0x008D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00CC*/ { 0x008E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00CD*/ { 0x008F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BSWAP                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00CE*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00CF*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00D0*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00D1*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00D2*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00D3*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00D4*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00D5*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BT                                                                                         */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00D6*/ { 0x0091, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00D7*/ { 0x0092, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00D8*/ { 0x0093, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00D9*/ { 0x0094, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BTC                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00DA*/ { 0x0095, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00DB*/ { 0x0096, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00DC*/ { 0x0097, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00DD*/ { 0x0098, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BTR                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00DE*/ { 0x0099, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00DF*/ { 0x009A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00E0*/ { 0x009B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00E1*/ { 0x009C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BTS                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00E2*/ { 0x009D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00E3*/ { 0x009E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00E4*/ { 0x009F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00E5*/ { 0x00A0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* BZHI                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00E6*/ { 0x001E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00E7*/ { 0x001F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00E8*/ { 0x0020, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00E9*/ { 0x0021, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00EA*/ { 0x0022, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*00EB*/ { 0x0023, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CALL                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00EC*/ { 0x00A1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9A, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00ED*/ { 0x00A2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE8, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00EE*/ { 0x00A3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE8, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00EF*/ { 0x00A4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00F0*/ { 0x00A5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00F1*/ { 0x00A6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CBW                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00F2*/ { 0x00A7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x98, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CDQ                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00F3*/ { 0x00A8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x99, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CDQE                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00F4*/ { 0x00A9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x98, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CLAC                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00F5*/ { 0x00AA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CLC                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00F6*/ { 0x00AB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CLD                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00F7*/ { 0x00AC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CLEVICT0                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00F8*/ { 0x0024, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00F9*/ { 0x0000, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CLEVICT1                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00FA*/ { 0x0025, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*00FB*/ { 0x0001, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CLFLUSH                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00FC*/ { 0x00AD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CLFLUSHOPT                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00FD*/ { 0x00AE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CLGI                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00FE*/ { 0x00AF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CLI                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*00FF*/ { 0x00B0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CLRSSBSY                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0100*/ { 0x00B1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CLTS                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0101*/ { 0x00B2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x06, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CLWB                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0102*/ { 0x00B3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CLZERO                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0103*/ { 0x00B4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMC                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0104*/ { 0x00B5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0105*/ { 0x00B6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x42, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0106*/ { 0x00B7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x42, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVBE                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0107*/ { 0x00B8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x46, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0108*/ { 0x00B9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x46, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVL                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0109*/ { 0x00BA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*010A*/ { 0x00BB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVLE                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*010B*/ { 0x00BC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*010C*/ { 0x00BD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVNB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*010D*/ { 0x00BE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x43, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*010E*/ { 0x00BF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x43, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVNBE                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*010F*/ { 0x00C0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x47, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0110*/ { 0x00C1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x47, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVNL                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0111*/ { 0x00C2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0112*/ { 0x00C3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVNLE                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0113*/ { 0x00C4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0114*/ { 0x00C5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVNO                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0115*/ { 0x00C6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x41, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0116*/ { 0x00C7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x41, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVNP                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0117*/ { 0x00C8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0118*/ { 0x00C9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVNS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0119*/ { 0x00CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x49, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*011A*/ { 0x00CB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x49, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVNZ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*011B*/ { 0x00CC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x45, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*011C*/ { 0x00CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x45, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVO                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*011D*/ { 0x00CE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x40, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*011E*/ { 0x00CF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x40, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVP                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*011F*/ { 0x00D0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0120*/ { 0x00D1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0121*/ { 0x00D2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x48, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0122*/ { 0x00D3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x48, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMOVZ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0123*/ { 0x00D4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x44, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0124*/ { 0x00D5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x44, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMP                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0125*/ { 0x00D6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x38, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0126*/ { 0x00D7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x38, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0127*/ { 0x00D8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x39, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0128*/ { 0x00D9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x39, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0129*/ { 0x00DA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*012A*/ { 0x00DB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*012B*/ { 0x00DC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*012C*/ { 0x00DD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*012D*/ { 0x00DE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*012E*/ { 0x00DF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*012F*/ { 0x00E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0130*/ { 0x00E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0131*/ { 0x00E2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0132*/ { 0x00E3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0133*/ { 0x00E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0134*/ { 0x00E5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0135*/ { 0x00E6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0136*/ { 0x00E7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMPPD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0137*/ { 0x00E8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0138*/ { 0x00E9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMPPS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0139*/ { 0x00EA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*013A*/ { 0x00EB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMPSB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*013B*/ { 0x00EC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*013C*/ { 0x00ED, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*013D*/ { 0x00EE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMPSD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*013E*/ { 0x00EF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*013F*/ { 0x00F0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0140*/ { 0x00F1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0141*/ { 0x00F2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0142*/ { 0x00F3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMPSQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0143*/ { 0x00F4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0144*/ { 0x00F5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0145*/ { 0x00F6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMPSS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0146*/ { 0x00F7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0147*/ { 0x00F8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMPSW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0148*/ { 0x00F9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0149*/ { 0x00FA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*014A*/ { 0x00FB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMPXCHG                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*014B*/ { 0x00FC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*014C*/ { 0x00FD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*014D*/ { 0x00FE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*014E*/ { 0x00FF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMPXCHG16B                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*014F*/ { 0x0100, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CMPXCHG8B                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0150*/ { 0x0101, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0151*/ { 0x0102, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* COMISD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0152*/ { 0x0103, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0153*/ { 0x0104, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* COMISS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0154*/ { 0x0105, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0155*/ { 0x0106, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CPUID                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0156*/ { 0x0107, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CQO                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0157*/ { 0x0108, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x99, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CRC32                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0158*/ { 0x0109, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0159*/ { 0x010A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*015A*/ { 0x010B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*015B*/ { 0x010C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTDQ2PD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*015C*/ { 0x010D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*015D*/ { 0x010E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTDQ2PS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*015E*/ { 0x010F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*015F*/ { 0x0110, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTPD2DQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0160*/ { 0x0111, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0161*/ { 0x0112, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTPD2PI                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0162*/ { 0x0113, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0163*/ { 0x0114, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTPD2PS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0164*/ { 0x0115, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0165*/ { 0x0116, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTPI2PD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0166*/ { 0x0117, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0167*/ { 0x0118, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTPI2PS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0168*/ { 0x0119, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0169*/ { 0x011A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTPS2DQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*016A*/ { 0x011B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*016B*/ { 0x011C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTPS2PD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*016C*/ { 0x011D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*016D*/ { 0x011E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTPS2PI                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*016E*/ { 0x011F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*016F*/ { 0x0120, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTSD2SI                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0170*/ { 0x0121, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0171*/ { 0x0122, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0172*/ { 0x0123, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0173*/ { 0x0124, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTSD2SS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0174*/ { 0x0125, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0175*/ { 0x0126, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTSI2SD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0176*/ { 0x0127, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0177*/ { 0x0128, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0178*/ { 0x0129, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0179*/ { 0x012A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTSI2SS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*017A*/ { 0x012B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*017B*/ { 0x012C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*017C*/ { 0x012D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*017D*/ { 0x012E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTSS2SD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*017E*/ { 0x012F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*017F*/ { 0x0130, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTSS2SI                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0180*/ { 0x0131, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0181*/ { 0x0132, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0182*/ { 0x0133, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0183*/ { 0x0134, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTTPD2DQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0184*/ { 0x0135, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0185*/ { 0x0136, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTTPD2PI                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0186*/ { 0x0137, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0187*/ { 0x0138, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTTPS2DQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0188*/ { 0x0139, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0189*/ { 0x013A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTTPS2PI                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*018A*/ { 0x013B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*018B*/ { 0x013C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTTSD2SI                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*018C*/ { 0x013D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*018D*/ { 0x013E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*018E*/ { 0x013F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*018F*/ { 0x0140, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CVTTSS2SI                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0190*/ { 0x0141, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0191*/ { 0x0142, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0192*/ { 0x0143, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0193*/ { 0x0144, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CWD                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0194*/ { 0x0145, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x99, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* CWDE                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0195*/ { 0x0146, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x98, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* DAA                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0196*/ { 0x0147, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x27, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* DAS                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0197*/ { 0x0148, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2F, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* DEC                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0198*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x48, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0199*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x49, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*019A*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4A, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*019B*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4B, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*019C*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4C, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*019D*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4D, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*019E*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4E, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*019F*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x4F, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01A0*/ { 0x014A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01A1*/ { 0x014B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01A2*/ { 0x014C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01A3*/ { 0x014D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* DELAY                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01A4*/ { 0x0026, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01A5*/ { 0x0027, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* DIV                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01A6*/ { 0x014E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01A7*/ { 0x014F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01A8*/ { 0x0150, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01A9*/ { 0x0151, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* DIVPD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01AA*/ { 0x0152, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01AB*/ { 0x0153, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* DIVPS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01AC*/ { 0x0154, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01AD*/ { 0x0155, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* DIVSD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01AE*/ { 0x0156, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01AF*/ { 0x0157, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* DIVSS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01B0*/ { 0x0158, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01B1*/ { 0x0159, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* DPPD                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01B2*/ { 0x015A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x41, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01B3*/ { 0x015B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x41, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* DPPS                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01B4*/ { 0x015C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x40, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01B5*/ { 0x015D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x40, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* EMMS                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01B6*/ { 0x015E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x77, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ENCLS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01B7*/ { 0x015F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ENCLU                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01B8*/ { 0x0160, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ENDBR32                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01B9*/ { 0x0161, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x08, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ENDBR64                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01BA*/ { 0x0162, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x04, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ENTER                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01BB*/ { 0x0163, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* EXTRACTPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01BC*/ { 0x0164, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x17, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01BD*/ { 0x0165, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x17, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* F2XM1                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01BE*/ { 0x0166, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FABS                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01BF*/ { 0x0167, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FADD                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01C0*/ { 0x0168, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01C1*/ { 0x0169, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01C2*/ { 0x016A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01C3*/ { 0x016B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FADDP                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01C4*/ { 0x016C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FBLD                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01C5*/ { 0x016D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FBSTP                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01C6*/ { 0x016E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCHS                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01C7*/ { 0x016F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCMOVB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01C8*/ { 0x0170, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCMOVBE                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01C9*/ { 0x0171, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCMOVE                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01CA*/ { 0x0172, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCMOVNB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01CB*/ { 0x0173, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCMOVNBE                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01CC*/ { 0x0174, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCMOVNE                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01CD*/ { 0x0175, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCMOVNU                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01CE*/ { 0x0176, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCMOVU                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01CF*/ { 0x0177, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCOM                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01D0*/ { 0x0178, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01D1*/ { 0x0179, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01D2*/ { 0x017A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01D3*/ { 0x017B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCOMI                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01D4*/ { 0x017C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCOMIP                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01D5*/ { 0x017D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCOMP                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01D6*/ { 0x017E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01D7*/ { 0x017F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01D8*/ { 0x0180, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01D9*/ { 0x0181, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01DA*/ { 0x0182, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCOMPP                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01DB*/ { 0x0183, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FCOS                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01DC*/ { 0x0184, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FDECSTP                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01DD*/ { 0x0185, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FDISI8087_NOP                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01DE*/ { 0x0186, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FDIV                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01DF*/ { 0x0187, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01E0*/ { 0x0188, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01E1*/ { 0x0189, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01E2*/ { 0x018A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FDIVP                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01E3*/ { 0x018B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FDIVR                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01E4*/ { 0x018C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01E5*/ { 0x018D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01E6*/ { 0x018E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01E7*/ { 0x018F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FDIVRP                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01E8*/ { 0x0190, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FEMMS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01E9*/ { 0x0191, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FENI8087_NOP                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01EA*/ { 0x0192, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FFREE                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01EB*/ { 0x0193, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FFREEP                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01EC*/ { 0x0194, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FIADD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01ED*/ { 0x0195, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01EE*/ { 0x0196, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FICOM                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01EF*/ { 0x0197, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01F0*/ { 0x0198, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FICOMP                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01F1*/ { 0x0199, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01F2*/ { 0x019A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FIDIV                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01F3*/ { 0x019B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01F4*/ { 0x019C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FIDIVR                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01F5*/ { 0x019D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01F6*/ { 0x019E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FILD                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01F7*/ { 0x019F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01F8*/ { 0x01A0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01F9*/ { 0x01A1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FIMUL                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01FA*/ { 0x01A2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01FB*/ { 0x01A3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FINCSTP                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01FC*/ { 0x01A4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FIST                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01FD*/ { 0x01A5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*01FE*/ { 0x01A6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FISTP                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*01FF*/ { 0x01A7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0200*/ { 0x01A8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0201*/ { 0x01A9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FISTTP                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0202*/ { 0x01AA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0203*/ { 0x01AB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0204*/ { 0x01AC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FISUB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0205*/ { 0x01AD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0206*/ { 0x01AE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FISUBR                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0207*/ { 0x01AF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0208*/ { 0x01B0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FLD                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0209*/ { 0x01B1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*020A*/ { 0x01B2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*020B*/ { 0x01B3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*020C*/ { 0x01B4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FLD1                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*020D*/ { 0x01B5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FLDCW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*020E*/ { 0x01B6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FLDENV                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*020F*/ { 0x01B7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0210*/ { 0x01B8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x06, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FLDL2E                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0211*/ { 0x01B9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FLDL2T                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0212*/ { 0x01BA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FLDLG2                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0213*/ { 0x01BB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FLDLN2                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0214*/ { 0x01BC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FLDPI                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0215*/ { 0x01BD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FLDZ                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0216*/ { 0x01BE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FMUL                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0217*/ { 0x01BF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0218*/ { 0x01C0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0219*/ { 0x01C1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*021A*/ { 0x01C2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FMULP                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*021B*/ { 0x01C3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FNCLEX                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*021C*/ { 0x01C4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FNINIT                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*021D*/ { 0x01C5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FNOP                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*021E*/ { 0x01C6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FNSAVE                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*021F*/ { 0x01C7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0220*/ { 0x01C8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x06, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FNSTCW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0221*/ { 0x01C9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FNSTENV                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0222*/ { 0x01CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0223*/ { 0x01CB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x06, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FNSTSW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0224*/ { 0x01CC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0225*/ { 0x01CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FPATAN                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0226*/ { 0x01CE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FPREM                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0227*/ { 0x01CF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FPREM1                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0228*/ { 0x01D0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FPTAN                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0229*/ { 0x01D1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FRNDINT                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*022A*/ { 0x01D2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FRSTOR                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*022B*/ { 0x01D3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*022C*/ { 0x01D4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x06, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FSCALE                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*022D*/ { 0x01D5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FSETPM287_NOP                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*022E*/ { 0x01D6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FSIN                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*022F*/ { 0x01D7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FSINCOS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0230*/ { 0x01D8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FSQRT                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0231*/ { 0x01D9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FST                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0232*/ { 0x01DA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0233*/ { 0x01DB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0234*/ { 0x01DC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FSTP                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0235*/ { 0x01DD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0236*/ { 0x01DE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0237*/ { 0x01DF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0238*/ { 0x01E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0239*/ { 0x01E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*023A*/ { 0x01E2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FSTPNCE                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*023B*/ { 0x01E3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FSUB                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*023C*/ { 0x01E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*023D*/ { 0x01E5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*023E*/ { 0x01E6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*023F*/ { 0x01E7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FSUBP                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0240*/ { 0x01E8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FSUBR                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0241*/ { 0x01E9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0242*/ { 0x01EA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0243*/ { 0x01EB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0244*/ { 0x01EC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FSUBRP                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0245*/ { 0x01ED, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FTST                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0246*/ { 0x01EE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FUCOM                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0247*/ { 0x01EF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FUCOMI                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0248*/ { 0x01F0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FUCOMIP                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0249*/ { 0x01F1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FUCOMP                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*024A*/ { 0x01F2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FUCOMPP                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*024B*/ { 0x01F3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FWAIT                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*024C*/ { 0x01F4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FXAM                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*024D*/ { 0x01F5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FXCH                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*024E*/ { 0x01F6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*024F*/ { 0x01F7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0250*/ { 0x01F8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FXRSTOR                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0251*/ { 0x01F9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FXRSTOR64                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0252*/ { 0x01FA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FXSAVE                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0253*/ { 0x01FB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FXSAVE64                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0254*/ { 0x01FC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FXTRACT                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0255*/ { 0x01FD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FYL2X                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0256*/ { 0x01FE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* FYL2XP1                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0257*/ { 0x01FF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* GETSEC                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0258*/ { 0x0200, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x37, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* HADDPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0259*/ { 0x0201, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*025A*/ { 0x0202, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* HADDPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*025B*/ { 0x0203, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*025C*/ { 0x0204, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* HLT                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*025D*/ { 0x0205, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF4, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* HSUBPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*025E*/ { 0x0206, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*025F*/ { 0x0207, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* HSUBPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0260*/ { 0x0208, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0261*/ { 0x0209, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* IDIV                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0262*/ { 0x020A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0263*/ { 0x020B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0264*/ { 0x020C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0265*/ { 0x020D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* IMUL                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0266*/ { 0x020E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x69, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0267*/ { 0x020F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x69, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0268*/ { 0x0210, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0269*/ { 0x0211, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*026A*/ { 0x0212, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*026B*/ { 0x0213, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*026C*/ { 0x0214, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*026D*/ { 0x0215, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*026E*/ { 0x0216, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*026F*/ { 0x0217, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* IN                                                                                         */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0270*/ { 0x0218, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE4, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0271*/ { 0x0219, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0272*/ { 0x021A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0273*/ { 0x021A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0274*/ { 0x021B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0275*/ { 0x021C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xED, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0276*/ { 0x021D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xED, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0277*/ { 0x021D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xED, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INC                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0278*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x40, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0279*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x41, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*027A*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x42, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*027B*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x43, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*027C*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x44, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*027D*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x45, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*027E*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x46, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*027F*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x47, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0280*/ { 0x021F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0281*/ { 0x0220, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0282*/ { 0x0221, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0283*/ { 0x0222, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INCSSPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0284*/ { 0x0223, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INCSSPQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0285*/ { 0x0224, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INSB                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0286*/ { 0x0225, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0287*/ { 0x0226, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0288*/ { 0x0227, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INSD                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0289*/ { 0x0228, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*028A*/ { 0x0229, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*028B*/ { 0x022A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*028C*/ { 0x022B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*028D*/ { 0x022C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*028E*/ { 0x022D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INSERTPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*028F*/ { 0x022E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0290*/ { 0x022F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INSW                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0291*/ { 0x0230, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0292*/ { 0x0231, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0293*/ { 0x0232, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INT                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0294*/ { 0x0233, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INT1                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0295*/ { 0x0234, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INT3                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0296*/ { 0x0235, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INTO                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0297*/ { 0x0236, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCE, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INVD                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0298*/ { 0x0237, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INVEPT                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0299*/ { 0x0238, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*029A*/ { 0x0239, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_0F38   , 0x02, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INVLPG                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*029B*/ { 0x023A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INVLPGA                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*029C*/ { 0x023B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INVPCID                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*029D*/ { 0x023C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*029E*/ { 0x023D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* INVVPID                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*029F*/ { 0x023E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02A0*/ { 0x023F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_0F38   , 0x02, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* IRET                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02A1*/ { 0x0240, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* IRETD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02A2*/ { 0x0241, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* IRETQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02A3*/ { 0x0242, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCF, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JB                                                                                         */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02A4*/ { 0x0243, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02A5*/ { 0x0244, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02A6*/ { 0x0245, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02A7*/ { 0x0246, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JBE                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02A8*/ { 0x0247, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x76, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02A9*/ { 0x0248, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x76, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02AA*/ { 0x0249, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x86, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02AB*/ { 0x024A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x86, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JCXZ                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02AC*/ { 0x024B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x01, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JECXZ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02AD*/ { 0x024C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x02, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02AE*/ { 0x024D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x02, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JKNZD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02AF*/ { 0x0028, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x75, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02B0*/ { 0x0029, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x85, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02B1*/ { 0x002A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x85, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JKZD                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02B2*/ { 0x002B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x74, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02B3*/ { 0x002C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x84, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02B4*/ { 0x002D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x84, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JL                                                                                         */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02B5*/ { 0x024E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7C, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02B6*/ { 0x024F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7C, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02B7*/ { 0x0250, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8C, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02B8*/ { 0x0251, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JLE                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02B9*/ { 0x0252, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02BA*/ { 0x0253, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02BB*/ { 0x0254, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8E, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02BC*/ { 0x0255, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JMP                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02BD*/ { 0x0256, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE9, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02BE*/ { 0x0257, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE9, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02BF*/ { 0x0258, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEA, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02C0*/ { 0x0259, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEB, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02C1*/ { 0x025A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEB, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02C2*/ { 0x025B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02C3*/ { 0x025C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02C4*/ { 0x025D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JNB                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02C5*/ { 0x025E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02C6*/ { 0x025F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02C7*/ { 0x0260, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02C8*/ { 0x0261, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JNBE                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02C9*/ { 0x0262, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x77, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02CA*/ { 0x0263, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x77, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02CB*/ { 0x0264, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x87, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02CC*/ { 0x0265, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x87, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JNL                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02CD*/ { 0x0266, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7D, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02CE*/ { 0x0267, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7D, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02CF*/ { 0x0268, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8D, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02D0*/ { 0x0269, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JNLE                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02D1*/ { 0x026A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02D2*/ { 0x026B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02D3*/ { 0x026C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8F, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02D4*/ { 0x026D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8F, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JNO                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02D5*/ { 0x026E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02D6*/ { 0x026F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02D7*/ { 0x0270, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02D8*/ { 0x0271, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JNP                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02D9*/ { 0x0272, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7B, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02DA*/ { 0x0273, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7B, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02DB*/ { 0x0274, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8B, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02DC*/ { 0x0275, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8B, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JNS                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02DD*/ { 0x0276, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x79, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02DE*/ { 0x0277, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x79, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02DF*/ { 0x0278, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x89, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02E0*/ { 0x0279, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x89, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JNZ                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02E1*/ { 0x027A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x75, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02E2*/ { 0x027B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x75, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02E3*/ { 0x027C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x85, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02E4*/ { 0x027D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x85, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JO                                                                                         */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02E5*/ { 0x027E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02E6*/ { 0x027F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02E7*/ { 0x0280, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02E8*/ { 0x0281, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JP                                                                                         */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02E9*/ { 0x0282, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7A, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02EA*/ { 0x0283, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7A, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02EB*/ { 0x0284, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8A, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02EC*/ { 0x0285, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JRCXZ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02ED*/ { 0x0286, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x04, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JS                                                                                         */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02EE*/ { 0x0287, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x78, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02EF*/ { 0x0288, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x78, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02F0*/ { 0x0289, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x88, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02F1*/ { 0x028A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x88, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* JZ                                                                                         */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02F2*/ { 0x028B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x74, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02F3*/ { 0x028C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x74, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02F4*/ { 0x028D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x84, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*02F5*/ { 0x028E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x84, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KADDB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02F6*/ { 0x002E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KADDD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02F7*/ { 0x002F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KADDQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02F8*/ { 0x0030, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KADDW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02F9*/ { 0x0031, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KAND                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02FA*/ { 0x0032, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x41, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KANDB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02FB*/ { 0x0033, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x41, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KANDD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02FC*/ { 0x0034, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x41, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KANDN                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02FD*/ { 0x0035, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x42, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KANDNB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02FE*/ { 0x0036, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x42, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KANDND                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*02FF*/ { 0x0037, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x42, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KANDNQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0300*/ { 0x0038, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x42, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KANDNR                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0301*/ { 0x0039, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x43, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KANDNW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0302*/ { 0x003A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x42, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KANDQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0303*/ { 0x003B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x41, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KANDW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0304*/ { 0x003C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x41, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KCONCATH                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0305*/ { 0x003D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x95, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KCONCATL                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0306*/ { 0x003E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x97, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KEXTRACT                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0307*/ { 0x003F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KMERGE2L1H                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0308*/ { 0x0040, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x48, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KMERGE2L1L                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0309*/ { 0x0041, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x49, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KMOV                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*030A*/ { 0x0042, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x90, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*030B*/ { 0x0043, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x92, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*030C*/ { 0x0044, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x93, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KMOVB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*030D*/ { 0x0045, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x90, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*030E*/ { 0x0046, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x90, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*030F*/ { 0x0047, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x91, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0310*/ { 0x0048, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x92, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0311*/ { 0x0049, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x93, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KMOVD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0312*/ { 0x004A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x90, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0313*/ { 0x004B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x90, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0314*/ { 0x004C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x91, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0315*/ { 0x004D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x92, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0316*/ { 0x004E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x92, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0317*/ { 0x004F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x93, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0318*/ { 0x0050, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x93, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KMOVQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0319*/ { 0x0051, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x90, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*031A*/ { 0x0052, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x90, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*031B*/ { 0x0053, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x91, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*031C*/ { 0x0054, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x92, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*031D*/ { 0x0055, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x93, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KMOVW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*031E*/ { 0x0056, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x90, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*031F*/ { 0x0057, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x90, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0320*/ { 0x0058, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x91, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0321*/ { 0x0059, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x92, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0322*/ { 0x005A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x93, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KNOT                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0323*/ { 0x005B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x44, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KNOTB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0324*/ { 0x005C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x44, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KNOTD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0325*/ { 0x005D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x44, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KNOTQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0326*/ { 0x005E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x44, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KNOTW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0327*/ { 0x005F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x44, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KOR                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0328*/ { 0x0060, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x45, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KORB                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0329*/ { 0x0061, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x45, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KORD                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*032A*/ { 0x0062, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x45, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KORQ                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*032B*/ { 0x0063, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x45, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KORTESTB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*032C*/ { 0x0064, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x98, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KORTESTD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*032D*/ { 0x0065, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x98, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*032E*/ { 0x0066, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x98, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KORTESTQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*032F*/ { 0x0067, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x98, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KORTESTW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0330*/ { 0x0068, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x98, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KORW                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0331*/ { 0x0069, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x45, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KSHIFTLB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0332*/ { 0x006A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x32, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KSHIFTLD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0333*/ { 0x006B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x33, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KSHIFTLQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0334*/ { 0x006C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x33, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KSHIFTLW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0335*/ { 0x006D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x32, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KSHIFTRB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0336*/ { 0x006E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x30, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KSHIFTRD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0337*/ { 0x006F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x31, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KSHIFTRQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0338*/ { 0x0070, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x31, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KSHIFTRW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0339*/ { 0x0071, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x30, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KTESTB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*033A*/ { 0x0072, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x99, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KTESTD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*033B*/ { 0x0073, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x99, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KTESTQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*033C*/ { 0x0074, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x99, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KTESTW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*033D*/ { 0x0075, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x99, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KUNPCKBW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*033E*/ { 0x0076, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KUNPCKDQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*033F*/ { 0x0077, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KUNPCKWD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0340*/ { 0x0078, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KXNOR                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0341*/ { 0x0079, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x46, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KXNORB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0342*/ { 0x007A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x46, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KXNORD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0343*/ { 0x007B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x46, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KXNORQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0344*/ { 0x007C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x46, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KXNORW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0345*/ { 0x007D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x46, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KXOR                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0346*/ { 0x007E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x47, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KXORB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0347*/ { 0x007F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x47, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KXORD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0348*/ { 0x0080, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x47, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KXORQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0349*/ { 0x0081, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x47, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* KXORW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*034A*/ { 0x0082, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x47, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LAHF                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*034B*/ { 0x028F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LAR                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*034C*/ { 0x0290, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*034D*/ { 0x0291, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LDDQU                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*034E*/ { 0x0292, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LDMXCSR                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*034F*/ { 0x0293, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LDS                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0350*/ { 0x0294, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC5, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LEA                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0351*/ { 0x0295, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LEAVE                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0352*/ { 0x0296, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LES                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0353*/ { 0x0297, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC4, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LFENCE                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0354*/ { 0x0298, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LFS                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0355*/ { 0x0299, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LGDT                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0356*/ { 0x029A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0357*/ { 0x029B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LGS                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0358*/ { 0x029C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LIDT                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0359*/ { 0x029D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*035A*/ { 0x029E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LLDT                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*035B*/ { 0x029F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*035C*/ { 0x02A0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LLWPCB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*035D*/ { 0x0020, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x12, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LMSW                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*035E*/ { 0x02A1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*035F*/ { 0x02A2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LODSB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0360*/ { 0x02A3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0361*/ { 0x02A4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0362*/ { 0x02A5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LODSD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0363*/ { 0x02A6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0364*/ { 0x02A7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0365*/ { 0x02A8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LODSQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0366*/ { 0x02A9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0367*/ { 0x02AA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0368*/ { 0x02AB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LODSW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0369*/ { 0x02AC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*036A*/ { 0x02AD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*036B*/ { 0x02AE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LOOP                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*036C*/ { 0x02AF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LOOPE                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*036D*/ { 0x02B0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LOOPNE                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*036E*/ { 0x02B1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LSL                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*036F*/ { 0x02B2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0370*/ { 0x02B3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LSS                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0371*/ { 0x02B4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LTR                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0372*/ { 0x02B5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0373*/ { 0x02B6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LWPINS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0374*/ { 0x0021, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x12, ZYDIS_OPCODE_MAP_XOPA   , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0375*/ { 0x0022, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x12, ZYDIS_OPCODE_MAP_XOPA   , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LWPVAL                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0376*/ { 0x0023, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x12, ZYDIS_OPCODE_MAP_XOPA   , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0377*/ { 0x0024, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x12, ZYDIS_OPCODE_MAP_XOPA   , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* LZCNT                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0378*/ { 0x02B7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0379*/ { 0x02B8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*037A*/ { 0x0083, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*037B*/ { 0x0084, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MASKMOVDQU                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*037C*/ { 0x02B9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MASKMOVQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*037D*/ { 0x02BA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MAXPD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*037E*/ { 0x02BB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*037F*/ { 0x02BC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MAXPS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0380*/ { 0x02BD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0381*/ { 0x02BE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MAXSD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0382*/ { 0x02BF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0383*/ { 0x02C0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MAXSS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0384*/ { 0x02C1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0385*/ { 0x02C2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MFENCE                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0386*/ { 0x02C3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MINPD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0387*/ { 0x02C4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0388*/ { 0x02C5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MINPS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0389*/ { 0x02C6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*038A*/ { 0x02C7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MINSD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*038B*/ { 0x02C8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*038C*/ { 0x02C9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MINSS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*038D*/ { 0x02CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*038E*/ { 0x02CB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MONITOR                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*038F*/ { 0x02CC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x02, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0390*/ { 0x02CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x01, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0391*/ { 0x02CE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x04, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0392*/ { 0x02CF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x02, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOV                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0393*/ { 0x02D0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x88, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0394*/ { 0x02D1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x88, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0395*/ { 0x02D2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x89, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0396*/ { 0x02D3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x89, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0397*/ { 0x02D4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0398*/ { 0x02D5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0399*/ { 0x02D6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*039A*/ { 0x02D7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*039B*/ { 0x02D8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*039C*/ { 0x02D9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*039D*/ { 0x02DA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8E, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*039E*/ { 0x02DB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8E, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*039F*/ { 0x02DC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03A0*/ { 0x02DD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03A1*/ { 0x02DE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03A2*/ { 0x02DF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03A3*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03A4*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03A5*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03A6*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03A7*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB4, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03A8*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03A9*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03AA*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03AB*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03AC*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03AD*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03AE*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03AF*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBC, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03B0*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03B1*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03B2*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03B3*/ { 0x02E2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03B4*/ { 0x02E3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03B5*/ { 0x02E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03B6*/ { 0x02E5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03B7*/ { 0x02E6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03B8*/ { 0x02E7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03B9*/ { 0x02E8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03BA*/ { 0x02E9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03BB*/ { 0x02EA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03BC*/ { 0x02EB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03BD*/ { 0x02EC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x23, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03BE*/ { 0x02ED, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x23, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVAPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03BF*/ { 0x02EE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03C0*/ { 0x02EF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03C1*/ { 0x02F0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03C2*/ { 0x02F1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVAPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03C3*/ { 0x02F2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03C4*/ { 0x02F3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03C5*/ { 0x02F4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03C6*/ { 0x02F5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVBE                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03C7*/ { 0x02F6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03C8*/ { 0x02F7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVD                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03C9*/ { 0x02F8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03CA*/ { 0x02F9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03CB*/ { 0x02FA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03CC*/ { 0x02FB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03CD*/ { 0x02FC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03CE*/ { 0x02FD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03CF*/ { 0x02FE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03D0*/ { 0x02FF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03D1*/ { 0x0300, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03D2*/ { 0x0301, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03D3*/ { 0x0302, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03D4*/ { 0x0303, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03D5*/ { 0x0304, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03D6*/ { 0x0305, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03D7*/ { 0x0306, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03D8*/ { 0x0307, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVDDUP                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03D9*/ { 0x0308, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03DA*/ { 0x0309, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVDQ2Q                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03DB*/ { 0x030A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVDQA                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03DC*/ { 0x030B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03DD*/ { 0x030C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03DE*/ { 0x030D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03DF*/ { 0x030E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVDQU                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03E0*/ { 0x030F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03E1*/ { 0x0310, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03E2*/ { 0x0311, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03E3*/ { 0x0312, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVHLPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03E4*/ { 0x0313, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVHPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03E5*/ { 0x0314, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03E6*/ { 0x0315, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x17, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVHPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03E7*/ { 0x0316, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03E8*/ { 0x0317, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x17, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVLHPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03E9*/ { 0x0318, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVLPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03EA*/ { 0x0319, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03EB*/ { 0x031A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x13, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVLPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03EC*/ { 0x031B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03ED*/ { 0x031C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x13, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVMSKPD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03EE*/ { 0x031D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x50, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVMSKPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03EF*/ { 0x031E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x50, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVNTDQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03F0*/ { 0x031F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVNTDQA                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03F1*/ { 0x0320, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVNTI                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03F2*/ { 0x0321, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x03, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03F3*/ { 0x0322, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x04, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVNTPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03F4*/ { 0x0323, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVNTPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03F5*/ { 0x0324, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVNTQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03F6*/ { 0x0325, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVQ                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*03F7*/ { 0x0326, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*03F8*/ { 0x0327, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*03F9*/ { 0x0328, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*03FA*/ { 0x0329, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*03FB*/ { 0x032A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03FC*/ { 0x032B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*03FD*/ { 0x032C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*03FE*/ { 0x032D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*03FF*/ { 0x032E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0400*/ { 0x032F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0401*/ { 0x0330, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0402*/ { 0x0331, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0403*/ { 0x0332, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0404*/ { 0x0333, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0405*/ { 0x0334, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0406*/ { 0x0335, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVQ2DQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0407*/ { 0x0336, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVSB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0408*/ { 0x0337, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA4, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0409*/ { 0x0338, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA4, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*040A*/ { 0x0339, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA4, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVSD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*040B*/ { 0x033A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*040C*/ { 0x033B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*040D*/ { 0x033C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*040E*/ { 0x033D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*040F*/ { 0x033E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0410*/ { 0x033F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0411*/ { 0x0340, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVSHDUP                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0412*/ { 0x0341, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0413*/ { 0x0342, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVSLDUP                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0414*/ { 0x0343, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0415*/ { 0x0344, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVSQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0416*/ { 0x0345, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0417*/ { 0x0346, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0418*/ { 0x0347, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVSS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0419*/ { 0x0348, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*041A*/ { 0x0349, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*041B*/ { 0x034A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*041C*/ { 0x034B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVSW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*041D*/ { 0x034C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*041E*/ { 0x034D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*041F*/ { 0x034E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVSX                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0420*/ { 0x034F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0421*/ { 0x0350, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0422*/ { 0x0351, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0423*/ { 0x0352, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVSXD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0424*/ { 0x0353, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0425*/ { 0x0354, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVUPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0426*/ { 0x0355, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0427*/ { 0x0356, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0428*/ { 0x0357, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0429*/ { 0x0358, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVUPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*042A*/ { 0x0359, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*042B*/ { 0x035A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*042C*/ { 0x035B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*042D*/ { 0x035C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MOVZX                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*042E*/ { 0x035D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*042F*/ { 0x035E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0430*/ { 0x035F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0431*/ { 0x0360, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MPSADBW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0432*/ { 0x0361, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x42, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0433*/ { 0x0362, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x42, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MUL                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0434*/ { 0x0363, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0435*/ { 0x0364, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0436*/ { 0x0365, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0437*/ { 0x0366, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MULPD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0438*/ { 0x0367, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0439*/ { 0x0368, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MULPS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*043A*/ { 0x0369, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*043B*/ { 0x036A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MULSD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*043C*/ { 0x036B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*043D*/ { 0x036C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MULSS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*043E*/ { 0x036D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*043F*/ { 0x036E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MULX                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0440*/ { 0x0085, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0441*/ { 0x0086, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0442*/ { 0x0087, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0443*/ { 0x0088, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0444*/ { 0x0089, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0445*/ { 0x008A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* MWAIT                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0446*/ { 0x036F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* NEG                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0447*/ { 0x0370, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0448*/ { 0x0371, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0449*/ { 0x0372, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*044A*/ { 0x0373, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* NOP                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*044B*/ { 0x0374, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x90, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03 },
+    /*044C*/ { 0x0375, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x90, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*044D*/ { 0x0376, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*044E*/ { 0x0377, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*044F*/ { 0x0378, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0450*/ { 0x0379, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0451*/ { 0x037A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0452*/ { 0x037B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0453*/ { 0x037C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0454*/ { 0x037D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0455*/ { 0x037E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0456*/ { 0x037F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0457*/ { 0x0380, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0458*/ { 0x0381, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0459*/ { 0x0382, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*045A*/ { 0x0383, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x19, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*045B*/ { 0x0384, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x19, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*045C*/ { 0x0385, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*045D*/ { 0x0386, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*045E*/ { 0x0387, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*045F*/ { 0x0388, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0460*/ { 0x0389, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0461*/ { 0x038A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0462*/ { 0x038B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0463*/ { 0x038C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0464*/ { 0x038D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0465*/ { 0x038E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0466*/ { 0x038F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0467*/ { 0x0390, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0468*/ { 0x0391, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0469*/ { 0x0392, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*046A*/ { 0x0393, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*046B*/ { 0x0394, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*046C*/ { 0x0395, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*046D*/ { 0x0396, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*046E*/ { 0x0397, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*046F*/ { 0x0398, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0470*/ { 0x0399, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0471*/ { 0x039A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0472*/ { 0x039B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0473*/ { 0x039C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0474*/ { 0x039D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0475*/ { 0x039E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x01, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0476*/ { 0x039F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x02, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0477*/ { 0x03A0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x10, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0478*/ { 0x03A1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x20, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0479*/ { 0x03A2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x40, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*047A*/ { 0x03A3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x80, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*047B*/ { 0x03A4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x04, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*047C*/ { 0x03A5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x08, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*047D*/ { 0x03A6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*047E*/ { 0x03A7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*047F*/ { 0x03A8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0480*/ { 0x03A9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0481*/ { 0x03AA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0482*/ { 0x03AB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0483*/ { 0x03AC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0484*/ { 0x03AD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* NOT                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0485*/ { 0x03AE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0486*/ { 0x03AF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0487*/ { 0x03B0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0488*/ { 0x03B1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* OR                                                                                         */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0489*/ { 0x03B2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*048A*/ { 0x03B3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*048B*/ { 0x03B4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*048C*/ { 0x03B5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*048D*/ { 0x03B6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*048E*/ { 0x03B7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*048F*/ { 0x03B8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0490*/ { 0x03B9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0491*/ { 0x03BA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0492*/ { 0x03BB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0493*/ { 0x03BC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0494*/ { 0x03BD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0495*/ { 0x03BE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0496*/ { 0x03BF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0497*/ { 0x03C0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0498*/ { 0x03C1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0499*/ { 0x03C2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*049A*/ { 0x03C3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ORPD                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*049B*/ { 0x03C4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*049C*/ { 0x03C5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ORPS                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*049D*/ { 0x03C6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*049E*/ { 0x03C7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* OUT                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*049F*/ { 0x03C8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04A0*/ { 0x03C9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04A1*/ { 0x03CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04A2*/ { 0x03CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04A3*/ { 0x03CB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04A4*/ { 0x03CC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04A5*/ { 0x03CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04A6*/ { 0x03CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* OUTSB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04A7*/ { 0x03CE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04A8*/ { 0x03CF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04A9*/ { 0x03D0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6E, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* OUTSD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04AA*/ { 0x03D1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04AB*/ { 0x03D2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04AC*/ { 0x03D3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04AD*/ { 0x03D4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04AE*/ { 0x03D5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04AF*/ { 0x03D6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* OUTSW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04B0*/ { 0x03D7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04B1*/ { 0x03D8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04B2*/ { 0x03D9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PABSB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04B3*/ { 0x03DA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04B4*/ { 0x03DB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04B5*/ { 0x03DC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04B6*/ { 0x03DD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PABSD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04B7*/ { 0x03DE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04B8*/ { 0x03DF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04B9*/ { 0x03E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04BA*/ { 0x03E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PABSW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04BB*/ { 0x03E2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04BC*/ { 0x03E3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04BD*/ { 0x03E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04BE*/ { 0x03E5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PACKSSDW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04BF*/ { 0x03E6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04C0*/ { 0x03E7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04C1*/ { 0x03E8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04C2*/ { 0x03E9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PACKSSWB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04C3*/ { 0x03EA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04C4*/ { 0x03EB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04C5*/ { 0x03EC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04C6*/ { 0x03ED, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PACKUSDW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04C7*/ { 0x03EE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04C8*/ { 0x03EF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PACKUSWB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04C9*/ { 0x03F0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x67, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04CA*/ { 0x03F1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x67, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04CB*/ { 0x03F2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x67, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04CC*/ { 0x03F3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x67, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PADDB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04CD*/ { 0x03F4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04CE*/ { 0x03F5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04CF*/ { 0x03F6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04D0*/ { 0x03F7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PADDD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04D1*/ { 0x03F8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04D2*/ { 0x03F9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04D3*/ { 0x03FA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04D4*/ { 0x03FB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PADDQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04D5*/ { 0x03FC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04D6*/ { 0x03FD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04D7*/ { 0x03FE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04D8*/ { 0x03FF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PADDSB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04D9*/ { 0x0400, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04DA*/ { 0x0401, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04DB*/ { 0x0402, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04DC*/ { 0x0403, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PADDSW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04DD*/ { 0x0404, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xED, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04DE*/ { 0x0405, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xED, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04DF*/ { 0x0406, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xED, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04E0*/ { 0x0407, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xED, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PADDUSB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04E1*/ { 0x0408, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04E2*/ { 0x0409, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04E3*/ { 0x040A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04E4*/ { 0x040B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PADDUSW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04E5*/ { 0x040C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04E6*/ { 0x040D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04E7*/ { 0x040E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04E8*/ { 0x040F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PADDW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04E9*/ { 0x0410, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04EA*/ { 0x0411, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04EB*/ { 0x0412, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04EC*/ { 0x0413, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PALIGNR                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04ED*/ { 0x0414, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04EE*/ { 0x0415, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04EF*/ { 0x0416, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04F0*/ { 0x0417, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PAND                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04F1*/ { 0x0418, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04F2*/ { 0x0419, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04F3*/ { 0x041A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04F4*/ { 0x041B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PANDN                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04F5*/ { 0x041C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04F6*/ { 0x041D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04F7*/ { 0x041E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04F8*/ { 0x041F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PAUSE                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04F9*/ { 0x0420, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x90, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PAVGB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04FA*/ { 0x0421, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04FB*/ { 0x0422, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04FC*/ { 0x0423, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04FD*/ { 0x0424, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PAVGUSB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*04FE*/ { 0x0000, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xBF, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*04FF*/ { 0x0001, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xBF, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PAVGW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0500*/ { 0x0425, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0501*/ { 0x0426, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0502*/ { 0x0427, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0503*/ { 0x0428, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PBLENDVB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0504*/ { 0x0429, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0505*/ { 0x042A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PBLENDW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0506*/ { 0x042B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0507*/ { 0x042C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PCLMULQDQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0508*/ { 0x042D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x44, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0509*/ { 0x042E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x44, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PCMPEQB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*050A*/ { 0x042F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x74, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*050B*/ { 0x0430, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x74, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*050C*/ { 0x0431, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x74, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*050D*/ { 0x0432, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x74, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PCMPEQD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*050E*/ { 0x0433, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*050F*/ { 0x0434, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0510*/ { 0x0435, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0511*/ { 0x0436, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PCMPEQQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0512*/ { 0x0437, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0513*/ { 0x0438, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PCMPEQW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0514*/ { 0x0439, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x75, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0515*/ { 0x043A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x75, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0516*/ { 0x043B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x75, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0517*/ { 0x043C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x75, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PCMPESTRI                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0518*/ { 0x043D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0519*/ { 0x043E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*051A*/ { 0x043F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*051B*/ { 0x0440, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PCMPESTRM                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*051C*/ { 0x0441, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*051D*/ { 0x0442, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*051E*/ { 0x0443, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*051F*/ { 0x0444, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PCMPGTB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0520*/ { 0x0445, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x64, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0521*/ { 0x0446, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x64, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0522*/ { 0x0447, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x64, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0523*/ { 0x0448, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x64, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PCMPGTD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0524*/ { 0x0449, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0525*/ { 0x044A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0526*/ { 0x044B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0527*/ { 0x044C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PCMPGTQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0528*/ { 0x044D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x37, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0529*/ { 0x044E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x37, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PCMPGTW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*052A*/ { 0x044F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x65, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*052B*/ { 0x0450, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x65, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*052C*/ { 0x0451, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x65, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*052D*/ { 0x0452, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x65, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PCMPISTRI                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*052E*/ { 0x0453, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*052F*/ { 0x0454, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0530*/ { 0x0455, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0531*/ { 0x0456, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x63, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PCMPISTRM                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0532*/ { 0x0457, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0533*/ { 0x0458, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PDEP                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0534*/ { 0x008B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0535*/ { 0x008C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0536*/ { 0x008D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0537*/ { 0x008E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0538*/ { 0x008F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0539*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PEXT                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*053A*/ { 0x0091, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*053B*/ { 0x0092, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*053C*/ { 0x0093, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*053D*/ { 0x0094, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*053E*/ { 0x0095, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*053F*/ { 0x0096, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PEXTRB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0540*/ { 0x0459, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0541*/ { 0x045A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PEXTRD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0542*/ { 0x045B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0543*/ { 0x045C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PEXTRQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0544*/ { 0x045D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0545*/ { 0x045E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PEXTRW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0546*/ { 0x045F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0547*/ { 0x0460, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0548*/ { 0x0461, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0549*/ { 0x0462, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PF2ID                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*054A*/ { 0x0002, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x1D, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*054B*/ { 0x0003, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x1D, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PF2IW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*054C*/ { 0x0004, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x1C, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*054D*/ { 0x0005, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x1C, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFACC                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*054E*/ { 0x0006, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xAE, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*054F*/ { 0x0007, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xAE, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFADD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0550*/ { 0x0008, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x9E, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0551*/ { 0x0009, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x9E, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFCMPEQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0552*/ { 0x000A, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xB0, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0553*/ { 0x000B, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xB0, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFCMPGE                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0554*/ { 0x000C, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x90, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0555*/ { 0x000D, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x90, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFCMPGT                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0556*/ { 0x000E, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xA0, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0557*/ { 0x000F, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xA0, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFCPIT1                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0558*/ { 0x0010, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xA6, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0559*/ { 0x0011, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xA6, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFMAX                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*055A*/ { 0x0012, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xA4, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*055B*/ { 0x0013, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xA4, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFMIN                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*055C*/ { 0x0014, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x94, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*055D*/ { 0x0015, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x94, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFMUL                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*055E*/ { 0x0016, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xB4, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*055F*/ { 0x0017, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xB4, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFNACC                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0560*/ { 0x0018, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x8A, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0561*/ { 0x0019, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x8A, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFPNACC                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0562*/ { 0x001A, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x8E, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0563*/ { 0x001B, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x8E, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFRCP                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0564*/ { 0x001C, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x96, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0565*/ { 0x001D, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x96, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFRCPIT2                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0566*/ { 0x001E, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xB6, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0567*/ { 0x001F, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xB6, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFRSQIT1                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0568*/ { 0x0020, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xA7, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0569*/ { 0x0021, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xA7, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFSQRT                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*056A*/ { 0x0022, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x97, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*056B*/ { 0x0023, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x97, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFSUB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*056C*/ { 0x0024, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x9A, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*056D*/ { 0x0025, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x9A, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PFSUBR                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*056E*/ { 0x0026, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xAA, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*056F*/ { 0x0027, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xAA, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PHADDD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0570*/ { 0x0463, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0571*/ { 0x0464, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0572*/ { 0x0465, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0573*/ { 0x0466, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PHADDSW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0574*/ { 0x0467, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0575*/ { 0x0468, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0576*/ { 0x0469, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0577*/ { 0x046A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x03, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PHADDW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0578*/ { 0x046B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0579*/ { 0x046C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*057A*/ { 0x046D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*057B*/ { 0x046E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PHMINPOSUW                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*057C*/ { 0x046F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x41, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*057D*/ { 0x0470, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x41, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PHSUBD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*057E*/ { 0x0471, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x06, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*057F*/ { 0x0472, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x06, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0580*/ { 0x0473, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x06, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0581*/ { 0x0474, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x06, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PHSUBSW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0582*/ { 0x0475, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0583*/ { 0x0476, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0584*/ { 0x0477, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0585*/ { 0x0478, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PHSUBW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0586*/ { 0x0479, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x05, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0587*/ { 0x047A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x05, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0588*/ { 0x047B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x05, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0589*/ { 0x047C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x05, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PI2FD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*058A*/ { 0x0028, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x0D, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*058B*/ { 0x0029, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x0D, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PI2FW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*058C*/ { 0x002A, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x0C, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*058D*/ { 0x002B, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0x0C, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PINSRB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*058E*/ { 0x047D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*058F*/ { 0x047E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PINSRD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0590*/ { 0x047F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0591*/ { 0x0480, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PINSRQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0592*/ { 0x0481, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0593*/ { 0x0482, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PINSRW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0594*/ { 0x0483, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0595*/ { 0x0484, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0596*/ { 0x0485, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0597*/ { 0x0486, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMADDUBSW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0598*/ { 0x0487, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x04, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0599*/ { 0x0488, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x04, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*059A*/ { 0x0489, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x04, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*059B*/ { 0x048A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x04, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMADDWD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*059C*/ { 0x048B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*059D*/ { 0x048C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*059E*/ { 0x048D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*059F*/ { 0x048E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMAXSB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05A0*/ { 0x048F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05A1*/ { 0x0490, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMAXSD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05A2*/ { 0x0491, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05A3*/ { 0x0492, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMAXSW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05A4*/ { 0x0493, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05A5*/ { 0x0494, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05A6*/ { 0x0495, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05A7*/ { 0x0496, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMAXUB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05A8*/ { 0x0497, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05A9*/ { 0x0498, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05AA*/ { 0x0499, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05AB*/ { 0x049A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMAXUD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05AC*/ { 0x049B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05AD*/ { 0x049C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMAXUW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05AE*/ { 0x049D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05AF*/ { 0x049E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMINSB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05B0*/ { 0x049F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05B1*/ { 0x04A0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMINSD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05B2*/ { 0x04A1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05B3*/ { 0x04A2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMINSW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05B4*/ { 0x04A3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05B5*/ { 0x04A4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05B6*/ { 0x04A5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05B7*/ { 0x04A6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMINUB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05B8*/ { 0x04A7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05B9*/ { 0x04A8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05BA*/ { 0x04A9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05BB*/ { 0x04AA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xDA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMINUD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05BC*/ { 0x04AB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05BD*/ { 0x04AC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMINUW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05BE*/ { 0x04AD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05BF*/ { 0x04AE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMOVMSKB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05C0*/ { 0x04AF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05C1*/ { 0x04B0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMOVSXBD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05C2*/ { 0x04B1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05C3*/ { 0x04B2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMOVSXBQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05C4*/ { 0x04B3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05C5*/ { 0x04B4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMOVSXBW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05C6*/ { 0x04B5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05C7*/ { 0x04B6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMOVSXDQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05C8*/ { 0x04B7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05C9*/ { 0x04B8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMOVSXWD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05CA*/ { 0x04B9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05CB*/ { 0x04BA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMOVSXWQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05CC*/ { 0x04BB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05CD*/ { 0x04BC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMOVZXBD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05CE*/ { 0x04BD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05CF*/ { 0x04BE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMOVZXBQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05D0*/ { 0x04BF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05D1*/ { 0x04C0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMOVZXBW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05D2*/ { 0x04C1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05D3*/ { 0x04C2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMOVZXDQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05D4*/ { 0x04C3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05D5*/ { 0x04C4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMOVZXWD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05D6*/ { 0x04C5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05D7*/ { 0x04C6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMOVZXWQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05D8*/ { 0x04C7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05D9*/ { 0x04C8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMULDQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05DA*/ { 0x04C9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05DB*/ { 0x04CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMULHRSW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05DC*/ { 0x04CB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05DD*/ { 0x04CC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05DE*/ { 0x04CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05DF*/ { 0x04CE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMULHRW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05E0*/ { 0x002C, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xB7, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05E1*/ { 0x002D, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xB7, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMULHUW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05E2*/ { 0x04CF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05E3*/ { 0x04D0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05E4*/ { 0x04D1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05E5*/ { 0x04D2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMULHW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05E6*/ { 0x04D3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05E7*/ { 0x04D4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05E8*/ { 0x04D5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05E9*/ { 0x04D6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMULLD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05EA*/ { 0x04D7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05EB*/ { 0x04D8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMULLW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05EC*/ { 0x04D9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05ED*/ { 0x04DA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05EE*/ { 0x04DB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05EF*/ { 0x04DC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PMULUDQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05F0*/ { 0x04DD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05F1*/ { 0x04DE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05F2*/ { 0x04DF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05F3*/ { 0x04E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* POP                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*05F4*/ { 0x04E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05F5*/ { 0x04E2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x17, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05F6*/ { 0x04E3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1F, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05F7*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x58, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05F8*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x59, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05F9*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05FA*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05FB*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05FC*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05FD*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5E, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05FE*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*05FF*/ { 0x04E5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0600*/ { 0x04E6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x8F, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0601*/ { 0x04E7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0602*/ { 0x04E8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* POPA                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0603*/ { 0x04E9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* POPAD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0604*/ { 0x04EA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* POPCNT                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0605*/ { 0x04EB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0606*/ { 0x04EC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xB8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0607*/ { 0x0097, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0608*/ { 0x0098, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* POPF                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0609*/ { 0x04ED, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* POPFD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*060A*/ { 0x04EE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9D, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* POPFQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*060B*/ { 0x04EF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9D, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* POR                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*060C*/ { 0x04F0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*060D*/ { 0x04F1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*060E*/ { 0x04F2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*060F*/ { 0x04F3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PREFETCH_EXCLUSIVE                                                                         */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0610*/ { 0x04F4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PREFETCHNTA                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0611*/ { 0x04F5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PREFETCHT0                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0612*/ { 0x04F6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PREFETCHT1                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0613*/ { 0x04F7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PREFETCHT2                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0614*/ { 0x04F8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PREFETCHW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0615*/ { 0x04F9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0616*/ { 0x04FA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PREFETCHWT1                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0617*/ { 0x04FB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSADBW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0618*/ { 0x04FC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0619*/ { 0x04FD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*061A*/ { 0x04FE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*061B*/ { 0x04FF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSHUFB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*061C*/ { 0x0500, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*061D*/ { 0x0501, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*061E*/ { 0x0502, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*061F*/ { 0x0503, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSHUFD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0620*/ { 0x0504, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0621*/ { 0x0505, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSHUFHW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0622*/ { 0x0506, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0623*/ { 0x0507, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSHUFLW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0624*/ { 0x0508, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0625*/ { 0x0509, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSHUFW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0626*/ { 0x050A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0627*/ { 0x050B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSIGNB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0628*/ { 0x050C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0629*/ { 0x050D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*062A*/ { 0x050E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*062B*/ { 0x050F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSIGND                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*062C*/ { 0x0510, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*062D*/ { 0x0511, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*062E*/ { 0x0512, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*062F*/ { 0x0513, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSIGNW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0630*/ { 0x0514, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0631*/ { 0x0515, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0632*/ { 0x0516, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0633*/ { 0x0517, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSLLD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0634*/ { 0x0518, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0635*/ { 0x0519, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0636*/ { 0x051A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0637*/ { 0x051B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0638*/ { 0x051C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0639*/ { 0x051D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSLLDQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*063A*/ { 0x051E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSLLQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*063B*/ { 0x051F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*063C*/ { 0x0520, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*063D*/ { 0x0521, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*063E*/ { 0x0522, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*063F*/ { 0x0523, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0640*/ { 0x0524, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSLLW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0641*/ { 0x0525, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0642*/ { 0x0526, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0643*/ { 0x0527, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0644*/ { 0x0528, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0645*/ { 0x0529, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0646*/ { 0x052A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSRAD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0647*/ { 0x052B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0648*/ { 0x052C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0649*/ { 0x052D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*064A*/ { 0x052E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*064B*/ { 0x052F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*064C*/ { 0x0530, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSRAW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*064D*/ { 0x0531, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*064E*/ { 0x0532, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*064F*/ { 0x0533, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0650*/ { 0x0534, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0651*/ { 0x0535, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0652*/ { 0x0536, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSRLD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0653*/ { 0x0537, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0654*/ { 0x0538, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0655*/ { 0x0539, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0656*/ { 0x053A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0657*/ { 0x053B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0658*/ { 0x053C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSRLDQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0659*/ { 0x053D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSRLQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*065A*/ { 0x053E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*065B*/ { 0x053F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*065C*/ { 0x0540, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*065D*/ { 0x0541, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*065E*/ { 0x0542, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*065F*/ { 0x0543, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSRLW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0660*/ { 0x0544, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0661*/ { 0x0545, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0662*/ { 0x0546, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0663*/ { 0x0547, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0664*/ { 0x0548, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0665*/ { 0x0549, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSUBB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0666*/ { 0x054A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0667*/ { 0x054B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0668*/ { 0x054C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0669*/ { 0x054D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSUBD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*066A*/ { 0x054E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*066B*/ { 0x054F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*066C*/ { 0x0550, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*066D*/ { 0x0551, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSUBQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*066E*/ { 0x0552, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*066F*/ { 0x0553, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0670*/ { 0x0554, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0671*/ { 0x0555, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSUBSB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0672*/ { 0x0556, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0673*/ { 0x0557, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0674*/ { 0x0558, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0675*/ { 0x0559, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSUBSW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0676*/ { 0x055A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0677*/ { 0x055B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0678*/ { 0x055C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0679*/ { 0x055D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xE9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSUBUSB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*067A*/ { 0x055E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*067B*/ { 0x055F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*067C*/ { 0x0560, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*067D*/ { 0x0561, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSUBUSW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*067E*/ { 0x0562, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*067F*/ { 0x0563, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0680*/ { 0x0564, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0681*/ { 0x0565, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSUBW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0682*/ { 0x0566, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0683*/ { 0x0567, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0684*/ { 0x0568, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0685*/ { 0x0569, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PSWAPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0686*/ { 0x002E, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xBB, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0687*/ { 0x002F, ZYDIS_INSTRUCTION_ENCODING_3DNOW  , 0xBB, ZYDIS_OPCODE_MAP_0F0F   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PTEST                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0688*/ { 0x056A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x17, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0689*/ { 0x056B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x17, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PTWRITE                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*068A*/ { 0x056C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*068B*/ { 0x056D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PUNPCKHBW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*068C*/ { 0x056E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x68, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*068D*/ { 0x056F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x68, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*068E*/ { 0x0570, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x68, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*068F*/ { 0x0571, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x68, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PUNPCKHDQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0690*/ { 0x0572, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0691*/ { 0x0573, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0692*/ { 0x0574, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0693*/ { 0x0575, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PUNPCKHQDQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0694*/ { 0x0576, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0695*/ { 0x0577, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PUNPCKHWD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0696*/ { 0x0578, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x69, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0697*/ { 0x0579, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x69, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0698*/ { 0x057A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x69, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0699*/ { 0x057B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x69, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PUNPCKLBW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*069A*/ { 0x057C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*069B*/ { 0x057D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*069C*/ { 0x057E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*069D*/ { 0x057F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PUNPCKLDQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*069E*/ { 0x0580, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*069F*/ { 0x0581, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06A0*/ { 0x0582, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06A1*/ { 0x0583, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x62, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PUNPCKLQDQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06A2*/ { 0x0584, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06A3*/ { 0x0585, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PUNPCKLWD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06A4*/ { 0x0586, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06A5*/ { 0x0587, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06A6*/ { 0x0588, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06A7*/ { 0x0589, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x61, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PUSH                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06A8*/ { 0x058A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x06, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06A9*/ { 0x058B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0E, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06AA*/ { 0x058C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x16, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06AB*/ { 0x058D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06AC*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x50, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06AD*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06AE*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x52, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06AF*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x53, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06B0*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x54, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06B1*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x55, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06B2*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x56, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06B3*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x57, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06B4*/ { 0x058F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x68, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06B5*/ { 0x0590, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x6A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06B6*/ { 0x0591, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06B7*/ { 0x0592, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06B8*/ { 0x0593, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06B9*/ { 0x0594, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PUSHA                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06BA*/ { 0x0595, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PUSHAD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06BB*/ { 0x0596, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x60, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PUSHF                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06BC*/ { 0x0597, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PUSHFD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06BD*/ { 0x0598, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9C, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PUSHFQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06BE*/ { 0x0599, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9C, ZYDIS_OPCODE_MAP_DEFAULT, 0x04, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* PXOR                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06BF*/ { 0x059A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06C0*/ { 0x059B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06C1*/ { 0x059C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06C2*/ { 0x059D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RCL                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06C3*/ { 0x059E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06C4*/ { 0x059F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06C5*/ { 0x05A0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06C6*/ { 0x05A1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06C7*/ { 0x05A2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06C8*/ { 0x05A3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06C9*/ { 0x05A4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06CA*/ { 0x05A5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06CB*/ { 0x05A6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06CC*/ { 0x05A7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06CD*/ { 0x05A8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06CE*/ { 0x05A9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RCPPS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06CF*/ { 0x05AA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x53, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06D0*/ { 0x05AB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x53, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RCPSS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06D1*/ { 0x05AC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x53, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06D2*/ { 0x05AD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x53, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RCR                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06D3*/ { 0x05AE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06D4*/ { 0x05AF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06D5*/ { 0x05B0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06D6*/ { 0x05B1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06D7*/ { 0x05B2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06D8*/ { 0x05B3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06D9*/ { 0x05B4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06DA*/ { 0x05B5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06DB*/ { 0x05B6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06DC*/ { 0x05B7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06DD*/ { 0x05B8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06DE*/ { 0x05B9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RDFSBASE                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06DF*/ { 0x05BA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RDGSBASE                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06E0*/ { 0x05BB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RDMSR                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06E1*/ { 0x05BC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x32, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RDPKRU                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06E2*/ { 0x05BD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RDPMC                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06E3*/ { 0x05BE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x33, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RDRAND                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06E4*/ { 0x05BF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RDSEED                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06E5*/ { 0x05C0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RDSSPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06E6*/ { 0x05C1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RDSSPQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06E7*/ { 0x05C2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RDTSC                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06E8*/ { 0x05C3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x31, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RDTSCP                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06E9*/ { 0x05C4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RET                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06EA*/ { 0x05C5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06EB*/ { 0x05C6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06EC*/ { 0x05C7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06ED*/ { 0x05C8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ROL                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06EE*/ { 0x05C9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06EF*/ { 0x05CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06F0*/ { 0x05CB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06F1*/ { 0x05CC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06F2*/ { 0x05CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06F3*/ { 0x05CE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06F4*/ { 0x05CF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06F5*/ { 0x05D0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06F6*/ { 0x05D1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06F7*/ { 0x05D2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06F8*/ { 0x05D3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06F9*/ { 0x05D4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ROR                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*06FA*/ { 0x05D5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06FB*/ { 0x05D6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06FC*/ { 0x05D7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06FD*/ { 0x05D8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06FE*/ { 0x05D9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*06FF*/ { 0x05DA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0700*/ { 0x05DB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0701*/ { 0x05DC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0702*/ { 0x05DD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0703*/ { 0x05DE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0704*/ { 0x05DF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0705*/ { 0x05E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RORX                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0706*/ { 0x0099, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF0, ZYDIS_OPCODE_MAP_0F3A   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0707*/ { 0x009A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF0, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0708*/ { 0x009B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF0, ZYDIS_OPCODE_MAP_0F3A   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0709*/ { 0x009C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF0, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*070A*/ { 0x009D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF0, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*070B*/ { 0x009E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF0, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ROUNDPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*070C*/ { 0x05E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*070D*/ { 0x05E2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ROUNDPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*070E*/ { 0x05E3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*070F*/ { 0x05E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x08, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ROUNDSD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0710*/ { 0x05E5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0711*/ { 0x05E6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* ROUNDSS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0712*/ { 0x05E7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0713*/ { 0x05E8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RSM                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0714*/ { 0x05E9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RSQRTPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0715*/ { 0x05EA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x52, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0716*/ { 0x05EB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x52, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RSQRTSS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0717*/ { 0x05EC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x52, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0718*/ { 0x05ED, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x52, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* RSTORSSP                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0719*/ { 0x05EE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SAHF                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*071A*/ { 0x05EF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9E, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SALC                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*071B*/ { 0x05F0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD6, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SAR                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*071C*/ { 0x05F1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*071D*/ { 0x05F2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*071E*/ { 0x05F3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*071F*/ { 0x05F4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0720*/ { 0x05F5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0721*/ { 0x05F6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0722*/ { 0x05F7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0723*/ { 0x05F8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0724*/ { 0x05F9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0725*/ { 0x05FA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0726*/ { 0x05FB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0727*/ { 0x05FC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SARX                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0728*/ { 0x009F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0729*/ { 0x00A0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*072A*/ { 0x00A1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*072B*/ { 0x00A2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*072C*/ { 0x00A3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*072D*/ { 0x00A4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SAVESSP                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*072E*/ { 0x05FD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x04, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SBB                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*072F*/ { 0x05FE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0730*/ { 0x05FF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x18, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0731*/ { 0x0600, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x19, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0732*/ { 0x0601, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x19, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0733*/ { 0x0602, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0734*/ { 0x0603, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0735*/ { 0x0604, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0736*/ { 0x0605, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0737*/ { 0x0606, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0738*/ { 0x0607, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x1D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0739*/ { 0x0608, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*073A*/ { 0x0609, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*073B*/ { 0x060A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*073C*/ { 0x060B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*073D*/ { 0x060C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*073E*/ { 0x060D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*073F*/ { 0x060E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0740*/ { 0x060F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SCASB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0741*/ { 0x0610, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0742*/ { 0x0611, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0743*/ { 0x0612, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SCASD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0744*/ { 0x0613, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0745*/ { 0x0614, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0746*/ { 0x0615, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SCASQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0747*/ { 0x0616, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0748*/ { 0x0617, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0749*/ { 0x0618, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SCASW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*074A*/ { 0x0619, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*074B*/ { 0x061A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*074C*/ { 0x061B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAF, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETB                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*074D*/ { 0x061C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x92, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*074E*/ { 0x061D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x92, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETBE                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*074F*/ { 0x061E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x96, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0750*/ { 0x061F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x96, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETL                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0751*/ { 0x0620, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0752*/ { 0x0621, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETLE                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0753*/ { 0x0622, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0754*/ { 0x0623, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETNB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0755*/ { 0x0624, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x93, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0756*/ { 0x0625, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x93, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETNBE                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0757*/ { 0x0626, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x97, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0758*/ { 0x0627, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x97, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETNL                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0759*/ { 0x0628, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*075A*/ { 0x0629, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETNLE                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*075B*/ { 0x062A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*075C*/ { 0x062B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETNO                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*075D*/ { 0x062C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x91, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*075E*/ { 0x062D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x91, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETNP                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*075F*/ { 0x062E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0760*/ { 0x062F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETNS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0761*/ { 0x0630, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x99, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0762*/ { 0x0631, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x99, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETNZ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0763*/ { 0x0632, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x95, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0764*/ { 0x0633, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x95, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETO                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0765*/ { 0x0634, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x90, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0766*/ { 0x0635, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x90, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETP                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0767*/ { 0x0636, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0768*/ { 0x0637, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x9A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETS                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0769*/ { 0x0638, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x98, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*076A*/ { 0x0639, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x98, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETSSBSY                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*076B*/ { 0x063A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x01, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SETZ                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*076C*/ { 0x063B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x94, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*076D*/ { 0x063C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x94, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SFENCE                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*076E*/ { 0x063D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SGDT                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*076F*/ { 0x063E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0770*/ { 0x063F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHA1MSG1                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0771*/ { 0x0640, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0772*/ { 0x0641, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHA1MSG2                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0773*/ { 0x0642, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0774*/ { 0x0643, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHA1NEXTE                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0775*/ { 0x0644, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0776*/ { 0x0645, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHA1RNDS4                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0777*/ { 0x0646, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCC, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0778*/ { 0x0647, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCC, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHA256MSG1                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0779*/ { 0x0648, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*077A*/ { 0x0649, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHA256MSG2                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*077B*/ { 0x064A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*077C*/ { 0x064B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHA256RNDS2                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*077D*/ { 0x064C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*077E*/ { 0x064D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xCB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHL                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*077F*/ { 0x064E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0780*/ { 0x064F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0781*/ { 0x0650, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0782*/ { 0x0651, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0783*/ { 0x0652, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0784*/ { 0x0653, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0785*/ { 0x0654, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0786*/ { 0x0655, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0787*/ { 0x0656, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0788*/ { 0x0657, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0789*/ { 0x0658, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*078A*/ { 0x0659, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*078B*/ { 0x065A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*078C*/ { 0x065B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*078D*/ { 0x065C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*078E*/ { 0x065D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*078F*/ { 0x065E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0790*/ { 0x065F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0791*/ { 0x0660, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0792*/ { 0x0661, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0793*/ { 0x0662, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0794*/ { 0x0663, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0795*/ { 0x0664, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0796*/ { 0x0665, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHLD                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0797*/ { 0x0666, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0798*/ { 0x0667, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0799*/ { 0x0668, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*079A*/ { 0x0669, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHLX                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*079B*/ { 0x00A5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*079C*/ { 0x00A6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*079D*/ { 0x00A7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*079E*/ { 0x00A8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*079F*/ { 0x00A9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*07A0*/ { 0x00AA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHR                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07A1*/ { 0x066A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07A2*/ { 0x066B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07A3*/ { 0x066C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07A4*/ { 0x066D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07A5*/ { 0x066E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07A6*/ { 0x066F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD0, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07A7*/ { 0x0670, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07A8*/ { 0x0671, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD1, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07A9*/ { 0x0672, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07AA*/ { 0x0673, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD2, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07AB*/ { 0x0674, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07AC*/ { 0x0675, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD3, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHRD                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07AD*/ { 0x0676, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07AE*/ { 0x0677, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07AF*/ { 0x0678, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07B0*/ { 0x0679, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHRX                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07B1*/ { 0x00AB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07B2*/ { 0x00AC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07B3*/ { 0x00AD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07B4*/ { 0x00AE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07B5*/ { 0x00AF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*07B6*/ { 0x00B0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHUFPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07B7*/ { 0x067A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07B8*/ { 0x067B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SHUFPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07B9*/ { 0x067C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07BA*/ { 0x067D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SIDT                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07BB*/ { 0x067E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07BC*/ { 0x067F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SKINIT                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07BD*/ { 0x0680, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SLDT                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07BE*/ { 0x0681, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07BF*/ { 0x0682, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SLWPCB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07C0*/ { 0x0025, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x12, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SMSW                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07C1*/ { 0x0683, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07C2*/ { 0x0684, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SPFLT                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07C3*/ { 0x00B1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07C4*/ { 0x00B2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SQRTPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07C5*/ { 0x0685, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07C6*/ { 0x0686, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SQRTPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07C7*/ { 0x0687, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07C8*/ { 0x0688, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SQRTSD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07C9*/ { 0x0689, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07CA*/ { 0x068A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SQRTSS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07CB*/ { 0x068B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07CC*/ { 0x068C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* STAC                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07CD*/ { 0x068D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* STC                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07CE*/ { 0x068E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* STD                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07CF*/ { 0x068F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFD, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* STGI                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07D0*/ { 0x0690, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* STI                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07D1*/ { 0x0691, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xFB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* STMXCSR                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07D2*/ { 0x0692, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* STOSB                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07D3*/ { 0x0693, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07D4*/ { 0x0694, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07D5*/ { 0x0695, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAA, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* STOSD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07D6*/ { 0x0696, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07D7*/ { 0x0697, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07D8*/ { 0x0698, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* STOSQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07D9*/ { 0x0699, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07DA*/ { 0x069A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07DB*/ { 0x069B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* STOSW                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07DC*/ { 0x069C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07DD*/ { 0x069D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07DE*/ { 0x069E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAB, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x01, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* STR                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07DF*/ { 0x069F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07E0*/ { 0x06A0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SUB                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07E1*/ { 0x06A1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07E2*/ { 0x06A2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x28, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07E3*/ { 0x06A3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07E4*/ { 0x06A4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x29, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07E5*/ { 0x06A5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07E6*/ { 0x06A6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2A, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07E7*/ { 0x06A7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07E8*/ { 0x06A8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2B, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07E9*/ { 0x06A9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2C, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07EA*/ { 0x06AA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2D, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07EB*/ { 0x06AB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07EC*/ { 0x06AC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07ED*/ { 0x06AD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07EE*/ { 0x06AE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07EF*/ { 0x06AF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07F0*/ { 0x06B0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07F1*/ { 0x06B1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07F2*/ { 0x06B2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SUBPD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07F3*/ { 0x06B3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07F4*/ { 0x06B4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SUBPS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07F5*/ { 0x06B5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07F6*/ { 0x06B6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SUBSD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07F7*/ { 0x06B7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07F8*/ { 0x06B8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SUBSS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07F9*/ { 0x06B9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07FA*/ { 0x06BA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SWAPGS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07FB*/ { 0x06BB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SYSCALL                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07FC*/ { 0x06BC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x05, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*07FD*/ { 0x06BD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x05, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SYSENTER                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07FE*/ { 0x06BE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x34, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SYSEXIT                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*07FF*/ { 0x06BF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x35, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* SYSRET                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0800*/ { 0x06C0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0801*/ { 0x06C1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x04, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0802*/ { 0x06C2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x07, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x02, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* T1MSKC                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0803*/ { 0x0026, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0804*/ { 0x0027, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0805*/ { 0x0028, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0806*/ { 0x0029, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* TEST                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0807*/ { 0x06C3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x84, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0808*/ { 0x06C4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x84, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0809*/ { 0x06C5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x85, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*080A*/ { 0x06C6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x85, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*080B*/ { 0x06C7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA8, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*080C*/ { 0x06C8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xA9, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*080D*/ { 0x06C9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*080E*/ { 0x06CA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*080F*/ { 0x06CB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0810*/ { 0x06CC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0811*/ { 0x06CD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0812*/ { 0x06CE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0813*/ { 0x06CF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0814*/ { 0x06D0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* TZCNT                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0815*/ { 0x06D1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0816*/ { 0x06D2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xBC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0817*/ { 0x00B3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0818*/ { 0x00B4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* TZCNTI                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0819*/ { 0x00B5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*081A*/ { 0x00B6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* TZMSK                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*081B*/ { 0x002A, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*081C*/ { 0x002B, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*081D*/ { 0x002C, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*081E*/ { 0x002D, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x01, ZYDIS_OPCODE_MAP_XOP9   , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* UCOMISD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*081F*/ { 0x06D3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0820*/ { 0x06D4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* UCOMISS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0821*/ { 0x06D5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0822*/ { 0x06D6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x2E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* UD2                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0823*/ { 0x06D7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* UNPCKHPD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0824*/ { 0x06D8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0825*/ { 0x06D9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* UNPCKHPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0826*/ { 0x06DA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0827*/ { 0x06DB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* UNPCKLPD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0828*/ { 0x06DC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0829*/ { 0x06DD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* UNPCKLPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*082A*/ { 0x06DE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*082B*/ { 0x06DF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* V4FMADDPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*082C*/ { 0x0000, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*082D*/ { 0x0001, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* V4FMADDSS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*082E*/ { 0x0002, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*082F*/ { 0x0003, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* V4FNMADDPS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0830*/ { 0x0004, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0831*/ { 0x0005, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* V4FNMADDSS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0832*/ { 0x0006, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0833*/ { 0x0007, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VADDNPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0834*/ { 0x0002, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x50, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0835*/ { 0x0003, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x50, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0836*/ { 0x0004, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x50, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VADDNPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0837*/ { 0x0005, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x50, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0838*/ { 0x0006, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x50, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0839*/ { 0x0007, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x50, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VADDPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*083A*/ { 0x00B7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*083B*/ { 0x00B8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*083C*/ { 0x00B9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*083D*/ { 0x00BA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*083E*/ { 0x0008, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*083F*/ { 0x0009, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0840*/ { 0x000A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0841*/ { 0x000B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0842*/ { 0x000C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0843*/ { 0x000D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0844*/ { 0x000E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0845*/ { 0x0008, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0846*/ { 0x0009, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0847*/ { 0x000A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VADDPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0848*/ { 0x00BB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0849*/ { 0x00BC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*084A*/ { 0x00BD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*084B*/ { 0x00BE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*084C*/ { 0x000F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*084D*/ { 0x0010, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*084E*/ { 0x0011, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*084F*/ { 0x0012, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0850*/ { 0x0013, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0851*/ { 0x0014, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0852*/ { 0x0015, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0853*/ { 0x000B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0854*/ { 0x000C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0855*/ { 0x000D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VADDSD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0856*/ { 0x00BF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0857*/ { 0x00C0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0858*/ { 0x0016, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0859*/ { 0x0017, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*085A*/ { 0x0018, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VADDSETSPS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*085B*/ { 0x000E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*085C*/ { 0x000F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*085D*/ { 0x0010, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VADDSS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*085E*/ { 0x00C1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*085F*/ { 0x00C2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0860*/ { 0x0019, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0861*/ { 0x001A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0862*/ { 0x001B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VADDSUBPD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0863*/ { 0x00C3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0864*/ { 0x00C4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0865*/ { 0x00C5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0866*/ { 0x00C6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VADDSUBPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0867*/ { 0x00C7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0868*/ { 0x00C8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0869*/ { 0x00C9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*086A*/ { 0x00CA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VAESDEC                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*086B*/ { 0x00CB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*086C*/ { 0x00CC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VAESDECLAST                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*086D*/ { 0x00CD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*086E*/ { 0x00CE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VAESENC                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*086F*/ { 0x00CF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0870*/ { 0x00D0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VAESENCLAST                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0871*/ { 0x00D1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0872*/ { 0x00D2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VAESIMC                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0873*/ { 0x00D3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0874*/ { 0x00D4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VAESKEYGENASSIST                                                                           */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0875*/ { 0x00D5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDF, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0876*/ { 0x00D6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDF, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VALIGND                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0877*/ { 0x001C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x03, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0878*/ { 0x001D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x03, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0879*/ { 0x001E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x03, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*087A*/ { 0x001F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x03, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*087B*/ { 0x0020, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x03, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*087C*/ { 0x0021, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x03, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*087D*/ { 0x0011, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x03, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*087E*/ { 0x0012, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x03, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VALIGNQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*087F*/ { 0x0022, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x03, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0880*/ { 0x0023, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x03, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0881*/ { 0x0024, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x03, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0882*/ { 0x0025, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x03, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0883*/ { 0x0026, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x03, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0884*/ { 0x0027, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x03, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VANDNPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0885*/ { 0x00D7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0886*/ { 0x00D8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0887*/ { 0x00D9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0888*/ { 0x00DA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0889*/ { 0x0028, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*088A*/ { 0x0029, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*088B*/ { 0x002A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*088C*/ { 0x002B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*088D*/ { 0x002C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*088E*/ { 0x002D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VANDNPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*088F*/ { 0x00DB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0890*/ { 0x00DC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0891*/ { 0x00DD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0892*/ { 0x00DE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0893*/ { 0x002E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0894*/ { 0x002F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0895*/ { 0x0030, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0896*/ { 0x0031, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0897*/ { 0x0032, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0898*/ { 0x0033, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VANDPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0899*/ { 0x00DF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*089A*/ { 0x00E0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*089B*/ { 0x00E1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*089C*/ { 0x00E2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*089D*/ { 0x0034, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*089E*/ { 0x0035, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*089F*/ { 0x0036, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*08A0*/ { 0x0037, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*08A1*/ { 0x0038, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*08A2*/ { 0x0039, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VANDPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08A3*/ { 0x00E3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08A4*/ { 0x00E4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08A5*/ { 0x00E5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08A6*/ { 0x00E6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08A7*/ { 0x003A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08A8*/ { 0x003B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08A9*/ { 0x003C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08AA*/ { 0x003D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08AB*/ { 0x003E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*08AC*/ { 0x003F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBLENDMPD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08AD*/ { 0x0040, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*08AE*/ { 0x0041, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*08AF*/ { 0x0042, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*08B0*/ { 0x0043, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*08B1*/ { 0x0044, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*08B2*/ { 0x0045, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*08B3*/ { 0x0013, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*08B4*/ { 0x0014, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*08B5*/ { 0x0015, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBLENDMPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08B6*/ { 0x0046, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08B7*/ { 0x0047, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08B8*/ { 0x0048, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08B9*/ { 0x0049, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08BA*/ { 0x004A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*08BB*/ { 0x004B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*08BC*/ { 0x0016, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08BD*/ { 0x0017, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*08BE*/ { 0x0018, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x65, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBLENDPD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08BF*/ { 0x00E7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08C0*/ { 0x00E8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08C1*/ { 0x00E9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08C2*/ { 0x00EA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBLENDPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08C3*/ { 0x00EB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08C4*/ { 0x00EC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08C5*/ { 0x00ED, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08C6*/ { 0x00EE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBLENDVPD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08C7*/ { 0x00EF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08C8*/ { 0x00F0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08C9*/ { 0x00F1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08CA*/ { 0x00F2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBLENDVPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08CB*/ { 0x00F3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08CC*/ { 0x00F4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08CD*/ { 0x00F5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08CE*/ { 0x00F6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBROADCASTF128                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08CF*/ { 0x00F7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBROADCASTF32X2                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08D0*/ { 0x004C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08D1*/ { 0x004D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08D2*/ { 0x004E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*08D3*/ { 0x004F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBROADCASTF32X4                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08D4*/ { 0x0050, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08D5*/ { 0x0051, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*08D6*/ { 0x0019, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x1A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBROADCASTF32X8                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08D7*/ { 0x0052, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBROADCASTF64X2                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08D8*/ { 0x0053, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*08D9*/ { 0x0054, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBROADCASTF64X4                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08DA*/ { 0x0055, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*08DB*/ { 0x001A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x1B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBROADCASTI128                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08DC*/ { 0x00F8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBROADCASTI32X2                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08DD*/ { 0x0056, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08DE*/ { 0x0057, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08DF*/ { 0x0058, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08E0*/ { 0x0059, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08E1*/ { 0x005A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*08E2*/ { 0x005B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBROADCASTI32X4                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08E3*/ { 0x005C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08E4*/ { 0x005D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*08E5*/ { 0x001B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBROADCASTI32X8                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08E6*/ { 0x005E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBROADCASTI64X2                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08E7*/ { 0x005F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*08E8*/ { 0x0060, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBROADCASTI64X4                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08E9*/ { 0x0061, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*08EA*/ { 0x001C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBROADCASTSD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08EB*/ { 0x00F9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x19, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08EC*/ { 0x00FA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x19, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08ED*/ { 0x0062, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*08EE*/ { 0x0063, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*08EF*/ { 0x0064, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*08F0*/ { 0x0065, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*08F1*/ { 0x001D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x19, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VBROADCASTSS                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08F2*/ { 0x00FB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x18, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08F3*/ { 0x00FC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x18, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08F4*/ { 0x00FD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x18, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08F5*/ { 0x00FE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x18, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08F6*/ { 0x0066, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x18, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08F7*/ { 0x0067, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x18, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08F8*/ { 0x0068, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x18, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08F9*/ { 0x0069, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x18, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*08FA*/ { 0x006A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x18, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*08FB*/ { 0x006B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x18, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*08FC*/ { 0x001E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x18, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCMPPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*08FD*/ { 0x00FF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08FE*/ { 0x0100, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*08FF*/ { 0x0101, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0900*/ { 0x0102, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0901*/ { 0x006C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0902*/ { 0x006D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0903*/ { 0x006E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0904*/ { 0x006F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0905*/ { 0x0070, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0906*/ { 0x0071, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0907*/ { 0x0072, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0908*/ { 0x001F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0909*/ { 0x0020, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*090A*/ { 0x0021, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCMPPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*090B*/ { 0x0103, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*090C*/ { 0x0104, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*090D*/ { 0x0105, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*090E*/ { 0x0106, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*090F*/ { 0x0073, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0910*/ { 0x0074, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0911*/ { 0x0075, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0912*/ { 0x0076, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0913*/ { 0x0077, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0914*/ { 0x0078, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0915*/ { 0x0079, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0916*/ { 0x0022, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0917*/ { 0x0023, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0918*/ { 0x0024, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCMPSD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0919*/ { 0x0107, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*091A*/ { 0x0108, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*091B*/ { 0x007A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*091C*/ { 0x007B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*091D*/ { 0x007C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCMPSS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*091E*/ { 0x0109, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*091F*/ { 0x010A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0920*/ { 0x007D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0921*/ { 0x007E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0922*/ { 0x007F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCOMISD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0923*/ { 0x010B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0924*/ { 0x010C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0925*/ { 0x0080, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0926*/ { 0x0081, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0927*/ { 0x0082, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCOMISS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0928*/ { 0x010D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0929*/ { 0x010E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*092A*/ { 0x0083, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*092B*/ { 0x0084, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*092C*/ { 0x0085, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCOMPRESSPD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*092D*/ { 0x0086, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*092E*/ { 0x0087, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*092F*/ { 0x0088, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0930*/ { 0x0089, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0931*/ { 0x008A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0932*/ { 0x008B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCOMPRESSPS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0933*/ { 0x008C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0934*/ { 0x008D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0935*/ { 0x008E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0936*/ { 0x008F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0937*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0938*/ { 0x0091, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTDQ2PD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0939*/ { 0x010F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*093A*/ { 0x0110, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*093B*/ { 0x0111, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*093C*/ { 0x0112, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*093D*/ { 0x0092, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*093E*/ { 0x0093, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*093F*/ { 0x0094, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0940*/ { 0x0095, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0941*/ { 0x0096, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0942*/ { 0x0097, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0943*/ { 0x0025, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0944*/ { 0x0026, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0945*/ { 0x0027, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTDQ2PS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0946*/ { 0x0113, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0947*/ { 0x0114, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0948*/ { 0x0115, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0949*/ { 0x0116, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*094A*/ { 0x0098, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*094B*/ { 0x0099, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*094C*/ { 0x009A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*094D*/ { 0x009B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*094E*/ { 0x009C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*094F*/ { 0x009D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0950*/ { 0x009E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTFXPNTDQ2PS                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0951*/ { 0x0028, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0952*/ { 0x0029, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0953*/ { 0x002A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTFXPNTPD2DQ                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0954*/ { 0x002B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0955*/ { 0x002C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0956*/ { 0x002D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTFXPNTPD2UDQ                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0957*/ { 0x002E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0958*/ { 0x002F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /*0959*/ { 0x0030, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTFXPNTPS2DQ                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*095A*/ { 0x0031, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*095B*/ { 0x0032, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*095C*/ { 0x0033, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTFXPNTPS2UDQ                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*095D*/ { 0x0034, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*095E*/ { 0x0035, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*095F*/ { 0x0036, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTFXPNTUDQ2PS                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0960*/ { 0x0037, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0961*/ { 0x0038, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0962*/ { 0x0039, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTPD2DQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0963*/ { 0x0117, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0964*/ { 0x0118, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0965*/ { 0x0119, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0966*/ { 0x011A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0967*/ { 0x009F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0968*/ { 0x00A0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0969*/ { 0x00A1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*096A*/ { 0x00A2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*096B*/ { 0x00A3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*096C*/ { 0x00A4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*096D*/ { 0x00A5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTPD2PS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*096E*/ { 0x011B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*096F*/ { 0x011C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0970*/ { 0x011D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0971*/ { 0x011E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0972*/ { 0x00A6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0973*/ { 0x00A7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0974*/ { 0x00A8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0975*/ { 0x00A9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0976*/ { 0x00AA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0977*/ { 0x00AB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0978*/ { 0x00AC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0979*/ { 0x003A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*097A*/ { 0x003B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*097B*/ { 0x003C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTPD2QQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*097C*/ { 0x00AD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*097D*/ { 0x00AE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*097E*/ { 0x00AF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*097F*/ { 0x00B0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0980*/ { 0x00B1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0981*/ { 0x00B2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0982*/ { 0x00B3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTPD2UDQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0983*/ { 0x00B4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0984*/ { 0x00B5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0985*/ { 0x00B6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0986*/ { 0x00B7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0987*/ { 0x00B8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0988*/ { 0x00B9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0989*/ { 0x00BA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTPD2UQQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*098A*/ { 0x00BB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*098B*/ { 0x00BC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*098C*/ { 0x00BD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*098D*/ { 0x00BE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*098E*/ { 0x00BF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*098F*/ { 0x00C0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0990*/ { 0x00C1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTPH2PS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0991*/ { 0x011F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0992*/ { 0x0120, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0993*/ { 0x0121, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0994*/ { 0x0122, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0995*/ { 0x00C2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0996*/ { 0x00C3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0997*/ { 0x00C4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0998*/ { 0x00C5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0999*/ { 0x00C6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*099A*/ { 0x00C7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*099B*/ { 0x00C8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTPS2DQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*099C*/ { 0x0123, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*099D*/ { 0x0124, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*099E*/ { 0x0125, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*099F*/ { 0x0126, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09A0*/ { 0x00C9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09A1*/ { 0x00CA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09A2*/ { 0x00CB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09A3*/ { 0x00CC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09A4*/ { 0x00CD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*09A5*/ { 0x00CE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*09A6*/ { 0x00CF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTPS2PD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*09A7*/ { 0x0127, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09A8*/ { 0x0128, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09A9*/ { 0x0129, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09AA*/ { 0x012A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09AB*/ { 0x00D0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09AC*/ { 0x00D1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09AD*/ { 0x00D2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09AE*/ { 0x00D3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09AF*/ { 0x00D4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*09B0*/ { 0x00D5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*09B1*/ { 0x00D6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*09B2*/ { 0x003D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09B3*/ { 0x003E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*09B4*/ { 0x003F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTPS2PH                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*09B5*/ { 0x012B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09B6*/ { 0x012C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09B7*/ { 0x012D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09B8*/ { 0x012E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09B9*/ { 0x00D7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09BA*/ { 0x00D8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09BB*/ { 0x00D9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09BC*/ { 0x00DA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09BD*/ { 0x00DB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*09BE*/ { 0x00DC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*09BF*/ { 0x00DD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTPS2QQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*09C0*/ { 0x00DE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09C1*/ { 0x00DF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09C2*/ { 0x00E0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09C3*/ { 0x00E1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09C4*/ { 0x00E2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*09C5*/ { 0x00E3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*09C6*/ { 0x00E4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTPS2UDQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*09C7*/ { 0x00E5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09C8*/ { 0x00E6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09C9*/ { 0x00E7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09CA*/ { 0x00E8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09CB*/ { 0x00E9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*09CC*/ { 0x00EA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*09CD*/ { 0x00EB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTPS2UQQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*09CE*/ { 0x00EC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09CF*/ { 0x00ED, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09D0*/ { 0x00EE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09D1*/ { 0x00EF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*09D2*/ { 0x00F0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*09D3*/ { 0x00F1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*09D4*/ { 0x00F2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTQQ2PD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*09D5*/ { 0x00F3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*09D6*/ { 0x00F4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*09D7*/ { 0x00F5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*09D8*/ { 0x00F6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*09D9*/ { 0x00F7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*09DA*/ { 0x00F8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*09DB*/ { 0x00F9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTQQ2PS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*09DC*/ { 0x00FA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*09DD*/ { 0x00FB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*09DE*/ { 0x00FC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*09DF*/ { 0x00FD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*09E0*/ { 0x00FE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*09E1*/ { 0x00FF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*09E2*/ { 0x0100, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTSD2SI                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*09E3*/ { 0x012F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09E4*/ { 0x0130, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09E5*/ { 0x0131, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09E6*/ { 0x0132, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09E7*/ { 0x0133, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*09E8*/ { 0x0134, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*09E9*/ { 0x0101, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09EA*/ { 0x0102, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*09EB*/ { 0x0103, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09EC*/ { 0x0104, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*09ED*/ { 0x0105, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*09EE*/ { 0x0106, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTSD2SS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*09EF*/ { 0x0135, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09F0*/ { 0x0136, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09F1*/ { 0x0107, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*09F2*/ { 0x0108, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*09F3*/ { 0x0109, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTSD2USI                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*09F4*/ { 0x010A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09F5*/ { 0x010B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*09F6*/ { 0x010C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09F7*/ { 0x010D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*09F8*/ { 0x010E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*09F9*/ { 0x010F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTSI2SD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*09FA*/ { 0x0137, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09FB*/ { 0x0138, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09FC*/ { 0x0139, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09FD*/ { 0x013A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*09FE*/ { 0x013B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*09FF*/ { 0x013C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A00*/ { 0x0110, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A01*/ { 0x0111, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A02*/ { 0x0112, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A03*/ { 0x0113, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0A04*/ { 0x0114, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTSI2SS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A05*/ { 0x013D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A06*/ { 0x013E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A07*/ { 0x013F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A08*/ { 0x0140, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A09*/ { 0x0141, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A0A*/ { 0x0142, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A0B*/ { 0x0115, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A0C*/ { 0x0116, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0A0D*/ { 0x0117, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A0E*/ { 0x0118, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A0F*/ { 0x0119, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0A10*/ { 0x011A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTSS2SD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A11*/ { 0x0143, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A12*/ { 0x0144, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A13*/ { 0x011B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A14*/ { 0x011C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0A15*/ { 0x011D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTSS2SI                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A16*/ { 0x0145, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A17*/ { 0x0146, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A18*/ { 0x0147, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A19*/ { 0x0148, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A1A*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A1B*/ { 0x014A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A1C*/ { 0x011E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A1D*/ { 0x011F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0A1E*/ { 0x0120, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A1F*/ { 0x0121, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A20*/ { 0x0122, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0A21*/ { 0x0123, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTSS2USI                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A22*/ { 0x0124, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A23*/ { 0x0125, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0A24*/ { 0x0126, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A25*/ { 0x0127, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A26*/ { 0x0128, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0A27*/ { 0x0129, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTTPD2DQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A28*/ { 0x014B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A29*/ { 0x014C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A2A*/ { 0x014D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A2B*/ { 0x014E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A2C*/ { 0x012A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A2D*/ { 0x012B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A2E*/ { 0x012C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0A2F*/ { 0x012D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0A30*/ { 0x012E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0A31*/ { 0x012F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0A32*/ { 0x0130, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTTPD2QQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A33*/ { 0x0131, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A34*/ { 0x0132, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A35*/ { 0x0133, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0A36*/ { 0x0134, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0A37*/ { 0x0135, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0A38*/ { 0x0136, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0A39*/ { 0x0137, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTTPD2UDQ                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A3A*/ { 0x0138, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A3B*/ { 0x0139, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A3C*/ { 0x013A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0A3D*/ { 0x013B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0A3E*/ { 0x013C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0A3F*/ { 0x013D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0A40*/ { 0x013E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTTPD2UQQ                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A41*/ { 0x013F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A42*/ { 0x0140, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A43*/ { 0x0141, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0A44*/ { 0x0142, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0A45*/ { 0x0143, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0A46*/ { 0x0144, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0A47*/ { 0x0145, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTTPS2DQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A48*/ { 0x014F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A49*/ { 0x0150, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A4A*/ { 0x0151, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A4B*/ { 0x0152, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A4C*/ { 0x0146, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A4D*/ { 0x0147, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A4E*/ { 0x0148, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A4F*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A50*/ { 0x014A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0A51*/ { 0x014B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0A52*/ { 0x014C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTTPS2QQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A53*/ { 0x014D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A54*/ { 0x014E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A55*/ { 0x014F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A56*/ { 0x0150, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A57*/ { 0x0151, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0A58*/ { 0x0152, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0A59*/ { 0x0153, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTTPS2UDQ                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A5A*/ { 0x0154, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A5B*/ { 0x0155, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A5C*/ { 0x0156, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A5D*/ { 0x0157, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A5E*/ { 0x0158, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0A5F*/ { 0x0159, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0A60*/ { 0x015A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTTPS2UQQ                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A61*/ { 0x015B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A62*/ { 0x015C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A63*/ { 0x015D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A64*/ { 0x015E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A65*/ { 0x015F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0A66*/ { 0x0160, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0A67*/ { 0x0161, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTTSD2SI                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A68*/ { 0x0153, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A69*/ { 0x0154, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A6A*/ { 0x0155, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A6B*/ { 0x0156, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A6C*/ { 0x0157, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A6D*/ { 0x0158, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A6E*/ { 0x0162, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A6F*/ { 0x0163, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0A70*/ { 0x0164, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A71*/ { 0x0165, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A72*/ { 0x0166, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0A73*/ { 0x0167, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTTSD2USI                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A74*/ { 0x0168, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A75*/ { 0x0169, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0A76*/ { 0x016A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A77*/ { 0x016B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A78*/ { 0x016C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0A79*/ { 0x016D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTTSS2SI                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A7A*/ { 0x0159, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A7B*/ { 0x015A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A7C*/ { 0x015B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A7D*/ { 0x015C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A7E*/ { 0x015D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A7F*/ { 0x015E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A80*/ { 0x016E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A81*/ { 0x016F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0A82*/ { 0x0170, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A83*/ { 0x0171, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A84*/ { 0x0172, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0A85*/ { 0x0173, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTTSS2USI                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A86*/ { 0x0174, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A87*/ { 0x0175, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0A88*/ { 0x0176, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A89*/ { 0x0177, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A8A*/ { 0x0178, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0A8B*/ { 0x0179, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTUDQ2PD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A8C*/ { 0x017A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A8D*/ { 0x017B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A8E*/ { 0x017C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A8F*/ { 0x017D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A90*/ { 0x017E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0A91*/ { 0x017F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0A92*/ { 0x0040, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A93*/ { 0x0041, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0A94*/ { 0x0042, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTUDQ2PS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A95*/ { 0x0180, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A96*/ { 0x0181, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0A97*/ { 0x0182, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A98*/ { 0x0183, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0A99*/ { 0x0184, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0A9A*/ { 0x0185, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0A9B*/ { 0x0186, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTUQQ2PD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0A9C*/ { 0x0187, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A9D*/ { 0x0188, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0A9E*/ { 0x0189, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0A9F*/ { 0x018A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0AA0*/ { 0x018B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0AA1*/ { 0x018C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0AA2*/ { 0x018D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTUQQ2PS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AA3*/ { 0x018E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0AA4*/ { 0x018F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0AA5*/ { 0x0190, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0AA6*/ { 0x0191, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0AA7*/ { 0x0192, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0AA8*/ { 0x0193, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0AA9*/ { 0x0194, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTUSI2SD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AAA*/ { 0x0195, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AAB*/ { 0x0196, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AAC*/ { 0x0197, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0AAD*/ { 0x0198, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0AAE*/ { 0x0199, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VCVTUSI2SS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AAF*/ { 0x019A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AB0*/ { 0x019B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0AB1*/ { 0x019C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AB2*/ { 0x019D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0AB3*/ { 0x019E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0AB4*/ { 0x019F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VDBPSADBW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AB5*/ { 0x01A0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AB6*/ { 0x01A1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AB7*/ { 0x01A2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0AB8*/ { 0x01A3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0AB9*/ { 0x01A4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0ABA*/ { 0x01A5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VDIVPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0ABB*/ { 0x015F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0ABC*/ { 0x0160, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0ABD*/ { 0x0161, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0ABE*/ { 0x0162, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0ABF*/ { 0x01A6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0AC0*/ { 0x01A7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0AC1*/ { 0x01A8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0AC2*/ { 0x01A9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0AC3*/ { 0x01AA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0AC4*/ { 0x01AB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0AC5*/ { 0x01AC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VDIVPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AC6*/ { 0x0163, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AC7*/ { 0x0164, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AC8*/ { 0x0165, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0AC9*/ { 0x0166, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0ACA*/ { 0x01AD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0ACB*/ { 0x01AE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0ACC*/ { 0x01AF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0ACD*/ { 0x01B0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0ACE*/ { 0x01B1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0ACF*/ { 0x01B2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0AD0*/ { 0x01B3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VDIVSD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AD1*/ { 0x0167, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AD2*/ { 0x0168, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AD3*/ { 0x01B4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0AD4*/ { 0x01B5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0AD5*/ { 0x01B6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VDIVSS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AD6*/ { 0x0169, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AD7*/ { 0x016A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AD8*/ { 0x01B7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AD9*/ { 0x01B8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0ADA*/ { 0x01B9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VDPPD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0ADB*/ { 0x016B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x41, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0ADC*/ { 0x016C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x41, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VDPPS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0ADD*/ { 0x016D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x40, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0ADE*/ { 0x016E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x40, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0ADF*/ { 0x016F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x40, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0AE0*/ { 0x0170, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x40, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VERR                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AE1*/ { 0x06E0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AE2*/ { 0x06E1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VERW                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AE3*/ { 0x06E2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AE4*/ { 0x06E3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXP223PS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AE5*/ { 0x0043, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AE6*/ { 0x0044, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*0AE7*/ { 0x0045, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXP2PD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AE8*/ { 0x01BA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0AE9*/ { 0x01BB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0AEA*/ { 0x01BC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXP2PS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AEB*/ { 0x01BD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0AEC*/ { 0x01BE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0AED*/ { 0x01BF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXPANDPD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AEE*/ { 0x01C0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x88, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0AEF*/ { 0x01C1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x88, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0AF0*/ { 0x01C2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x88, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0AF1*/ { 0x01C3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x88, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0AF2*/ { 0x01C4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x88, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0AF3*/ { 0x01C5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x88, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXPANDPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AF4*/ { 0x01C6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x88, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AF5*/ { 0x01C7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x88, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0AF6*/ { 0x01C8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x88, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0AF7*/ { 0x01C9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x88, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0AF8*/ { 0x01CA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x88, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0AF9*/ { 0x01CB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x88, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXTRACTF128                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AFA*/ { 0x0171, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x19, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0AFB*/ { 0x0172, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x19, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXTRACTF32X4                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0AFC*/ { 0x01CC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0AFD*/ { 0x01CD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0AFE*/ { 0x01CE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0AFF*/ { 0x01CF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXTRACTF32X8                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B00*/ { 0x01D0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0B01*/ { 0x01D1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXTRACTF64X2                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B02*/ { 0x01D2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B03*/ { 0x01D3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B04*/ { 0x01D4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0B05*/ { 0x01D5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x19, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXTRACTF64X4                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B06*/ { 0x01D6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0B07*/ { 0x01D7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXTRACTI128                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B08*/ { 0x0173, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x39, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B09*/ { 0x0174, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x39, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXTRACTI32X4                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B0A*/ { 0x01D8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B0B*/ { 0x01D9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B0C*/ { 0x01DA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0B0D*/ { 0x01DB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXTRACTI32X8                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B0E*/ { 0x01DC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0B0F*/ { 0x01DD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXTRACTI64X2                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B10*/ { 0x01DE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B11*/ { 0x01DF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B12*/ { 0x01E0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0B13*/ { 0x01E1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXTRACTI64X4                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B14*/ { 0x01E2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0B15*/ { 0x01E3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VEXTRACTPS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B16*/ { 0x0175, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x17, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B17*/ { 0x0176, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x17, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B18*/ { 0x01E4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x17, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B19*/ { 0x01E5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x17, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFIXUPIMMPD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B1A*/ { 0x01E6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B1B*/ { 0x01E7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B1C*/ { 0x01E8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B1D*/ { 0x01E9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B1E*/ { 0x01EA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0B1F*/ { 0x01EB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0B20*/ { 0x01EC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFIXUPIMMPS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B21*/ { 0x01ED, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B22*/ { 0x01EE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B23*/ { 0x01EF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B24*/ { 0x01F0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B25*/ { 0x01F1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0B26*/ { 0x01F2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0B27*/ { 0x01F3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x54, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFIXUPIMMSD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B28*/ { 0x01F4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B29*/ { 0x01F5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0B2A*/ { 0x01F6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFIXUPIMMSS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B2B*/ { 0x01F7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B2C*/ { 0x01F8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0B2D*/ { 0x01F9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFIXUPNANPD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B2E*/ { 0x0046, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x55, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B2F*/ { 0x0047, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x55, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0B30*/ { 0x0048, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x55, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFIXUPNANPS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B31*/ { 0x0049, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x55, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B32*/ { 0x004A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x55, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0B33*/ { 0x004B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x55, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADD132PD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B34*/ { 0x0177, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B35*/ { 0x0178, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B36*/ { 0x0179, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B37*/ { 0x017A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B38*/ { 0x01FA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B39*/ { 0x01FB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B3A*/ { 0x01FC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B3B*/ { 0x01FD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B3C*/ { 0x01FE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0B3D*/ { 0x01FF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0B3E*/ { 0x0200, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0B3F*/ { 0x004C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B40*/ { 0x004D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0B41*/ { 0x004E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADD132PS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B42*/ { 0x017B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B43*/ { 0x017C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B44*/ { 0x017D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B45*/ { 0x017E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B46*/ { 0x0201, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B47*/ { 0x0202, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B48*/ { 0x0203, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B49*/ { 0x0204, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B4A*/ { 0x0205, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0B4B*/ { 0x0206, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0B4C*/ { 0x0207, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0B4D*/ { 0x004F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B4E*/ { 0x0050, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0B4F*/ { 0x0051, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x98, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADD132SD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B50*/ { 0x017F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x99, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B51*/ { 0x0180, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x99, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B52*/ { 0x0208, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x99, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B53*/ { 0x0209, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x99, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0B54*/ { 0x020A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x99, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADD132SS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B55*/ { 0x0181, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x99, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B56*/ { 0x0182, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x99, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B57*/ { 0x020B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x99, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B58*/ { 0x020C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x99, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0B59*/ { 0x020D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x99, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADD213PD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B5A*/ { 0x0183, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B5B*/ { 0x0184, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B5C*/ { 0x0185, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B5D*/ { 0x0186, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B5E*/ { 0x020E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B5F*/ { 0x020F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B60*/ { 0x0210, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B61*/ { 0x0211, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B62*/ { 0x0212, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0B63*/ { 0x0213, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0B64*/ { 0x0214, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0B65*/ { 0x0052, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B66*/ { 0x0053, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0B67*/ { 0x0054, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADD213PS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B68*/ { 0x0187, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B69*/ { 0x0188, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B6A*/ { 0x0189, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B6B*/ { 0x018A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B6C*/ { 0x0215, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B6D*/ { 0x0216, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B6E*/ { 0x0217, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B6F*/ { 0x0218, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B70*/ { 0x0219, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0B71*/ { 0x021A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0B72*/ { 0x021B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0B73*/ { 0x0055, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B74*/ { 0x0056, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0B75*/ { 0x0057, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xA8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADD213SD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B76*/ { 0x018B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B77*/ { 0x018C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B78*/ { 0x021C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B79*/ { 0x021D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0B7A*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADD213SS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B7B*/ { 0x018D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B7C*/ { 0x018E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B7D*/ { 0x021F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B7E*/ { 0x0220, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0B7F*/ { 0x0221, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADD231PD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B80*/ { 0x018F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B81*/ { 0x0190, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B82*/ { 0x0191, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B83*/ { 0x0192, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B84*/ { 0x0222, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B85*/ { 0x0223, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B86*/ { 0x0224, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B87*/ { 0x0225, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0B88*/ { 0x0226, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0B89*/ { 0x0227, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0B8A*/ { 0x0228, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0B8B*/ { 0x0058, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B8C*/ { 0x0059, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0B8D*/ { 0x005A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADD231PS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B8E*/ { 0x0193, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B8F*/ { 0x0194, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B90*/ { 0x0195, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B91*/ { 0x0196, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B92*/ { 0x0229, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B93*/ { 0x022A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B94*/ { 0x022B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B95*/ { 0x022C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0B96*/ { 0x022D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0B97*/ { 0x022E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0B98*/ { 0x022F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0B99*/ { 0x005B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0B9A*/ { 0x005C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0B9B*/ { 0x005D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xB8, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADD231SD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0B9C*/ { 0x0197, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B9D*/ { 0x0198, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B9E*/ { 0x0230, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0B9F*/ { 0x0231, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0BA0*/ { 0x0232, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADD231SS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0BA1*/ { 0x0199, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BA2*/ { 0x019A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BA3*/ { 0x0233, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BA4*/ { 0x0234, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0BA5*/ { 0x0235, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADD233PS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0BA6*/ { 0x005E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xA4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BA7*/ { 0x005F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xA4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0BA8*/ { 0x0060, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xA4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADDPD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0BA9*/ { 0x019B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x69, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BAA*/ { 0x019C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x69, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BAB*/ { 0x019D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x69, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BAC*/ { 0x019E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x69, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BAD*/ { 0x019F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x69, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BAE*/ { 0x01A0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x69, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BAF*/ { 0x01A1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x69, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0BB0*/ { 0x01A2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x69, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADDPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0BB1*/ { 0x01A3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x68, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BB2*/ { 0x01A4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x68, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BB3*/ { 0x01A5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x68, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BB4*/ { 0x01A6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x68, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BB5*/ { 0x01A7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x68, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BB6*/ { 0x01A8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x68, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BB7*/ { 0x01A9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x68, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0BB8*/ { 0x01AA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x68, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADDSD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0BB9*/ { 0x01AB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BBA*/ { 0x01AC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BBB*/ { 0x01AD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BBC*/ { 0x01AE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADDSS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0BBD*/ { 0x01AF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BBE*/ { 0x01B0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BBF*/ { 0x01B1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BC0*/ { 0x01B2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADDSUB132PD                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0BC1*/ { 0x01B3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BC2*/ { 0x01B4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BC3*/ { 0x01B5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0BC4*/ { 0x01B6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0BC5*/ { 0x0236, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BC6*/ { 0x0237, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BC7*/ { 0x0238, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0BC8*/ { 0x0239, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0BC9*/ { 0x023A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0BCA*/ { 0x023B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0BCB*/ { 0x023C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADDSUB132PS                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0BCC*/ { 0x01B7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BCD*/ { 0x01B8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BCE*/ { 0x01B9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BCF*/ { 0x01BA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BD0*/ { 0x023D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BD1*/ { 0x023E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BD2*/ { 0x023F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BD3*/ { 0x0240, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BD4*/ { 0x0241, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0BD5*/ { 0x0242, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0BD6*/ { 0x0243, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x96, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADDSUB213PD                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0BD7*/ { 0x01BB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BD8*/ { 0x01BC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BD9*/ { 0x01BD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0BDA*/ { 0x01BE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0BDB*/ { 0x0244, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BDC*/ { 0x0245, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BDD*/ { 0x0246, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0BDE*/ { 0x0247, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0BDF*/ { 0x0248, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0BE0*/ { 0x0249, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0BE1*/ { 0x024A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADDSUB213PS                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0BE2*/ { 0x01BF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BE3*/ { 0x01C0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BE4*/ { 0x01C1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BE5*/ { 0x01C2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BE6*/ { 0x024B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BE7*/ { 0x024C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BE8*/ { 0x024D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BE9*/ { 0x024E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BEA*/ { 0x024F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0BEB*/ { 0x0250, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0BEC*/ { 0x0251, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADDSUB231PD                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0BED*/ { 0x01C3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BEE*/ { 0x01C4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BEF*/ { 0x01C5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0BF0*/ { 0x01C6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0BF1*/ { 0x0252, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BF2*/ { 0x0253, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0BF3*/ { 0x0254, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0BF4*/ { 0x0255, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0BF5*/ { 0x0256, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0BF6*/ { 0x0257, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0BF7*/ { 0x0258, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADDSUB231PS                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0BF8*/ { 0x01C7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BF9*/ { 0x01C8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BFA*/ { 0x01C9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BFB*/ { 0x01CA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BFC*/ { 0x0259, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BFD*/ { 0x025A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0BFE*/ { 0x025B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0BFF*/ { 0x025C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C00*/ { 0x025D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0C01*/ { 0x025E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0C02*/ { 0x025F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADDSUBPD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C03*/ { 0x01CB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C04*/ { 0x01CC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C05*/ { 0x01CD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C06*/ { 0x01CE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C07*/ { 0x01CF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C08*/ { 0x01D0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C09*/ { 0x01D1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C0A*/ { 0x01D2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMADDSUBPS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C0B*/ { 0x01D3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C0C*/ { 0x01D4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C0D*/ { 0x01D5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C0E*/ { 0x01D6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C0F*/ { 0x01D7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C10*/ { 0x01D8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C11*/ { 0x01D9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C12*/ { 0x01DA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUB132PD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C13*/ { 0x01DB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C14*/ { 0x01DC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C15*/ { 0x01DD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C16*/ { 0x01DE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C17*/ { 0x0260, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C18*/ { 0x0261, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C19*/ { 0x0262, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C1A*/ { 0x0263, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C1B*/ { 0x0264, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0C1C*/ { 0x0265, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0C1D*/ { 0x0266, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0C1E*/ { 0x0061, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C1F*/ { 0x0062, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0C20*/ { 0x0063, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUB132PS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C21*/ { 0x01DF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C22*/ { 0x01E0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C23*/ { 0x01E1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C24*/ { 0x01E2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C25*/ { 0x0267, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C26*/ { 0x0268, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C27*/ { 0x0269, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C28*/ { 0x026A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C29*/ { 0x026B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0C2A*/ { 0x026C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0C2B*/ { 0x026D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0C2C*/ { 0x0064, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C2D*/ { 0x0065, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0C2E*/ { 0x0066, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUB132SD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C2F*/ { 0x01E3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C30*/ { 0x01E4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C31*/ { 0x026E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C32*/ { 0x026F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0C33*/ { 0x0270, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUB132SS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C34*/ { 0x01E5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C35*/ { 0x01E6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C36*/ { 0x0271, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C37*/ { 0x0272, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0C38*/ { 0x0273, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUB213PD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C39*/ { 0x01E7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C3A*/ { 0x01E8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C3B*/ { 0x01E9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C3C*/ { 0x01EA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C3D*/ { 0x0274, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C3E*/ { 0x0275, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C3F*/ { 0x0276, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C40*/ { 0x0277, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C41*/ { 0x0278, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0C42*/ { 0x0279, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0C43*/ { 0x027A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0C44*/ { 0x0067, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C45*/ { 0x0068, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0C46*/ { 0x0069, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUB213PS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C47*/ { 0x01EB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C48*/ { 0x01EC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C49*/ { 0x01ED, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C4A*/ { 0x01EE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C4B*/ { 0x027B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C4C*/ { 0x027C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C4D*/ { 0x027D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C4E*/ { 0x027E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C4F*/ { 0x027F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0C50*/ { 0x0280, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0C51*/ { 0x0281, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0C52*/ { 0x006A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C53*/ { 0x006B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0C54*/ { 0x006C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUB213SD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C55*/ { 0x01EF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C56*/ { 0x01F0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C57*/ { 0x0282, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C58*/ { 0x0283, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0C59*/ { 0x0284, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUB213SS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C5A*/ { 0x01F1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C5B*/ { 0x01F2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C5C*/ { 0x0285, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C5D*/ { 0x0286, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0C5E*/ { 0x0287, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUB231PD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C5F*/ { 0x01F3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C60*/ { 0x01F4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C61*/ { 0x01F5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C62*/ { 0x01F6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C63*/ { 0x0288, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C64*/ { 0x0289, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C65*/ { 0x028A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C66*/ { 0x028B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C67*/ { 0x028C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0C68*/ { 0x028D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0C69*/ { 0x028E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0C6A*/ { 0x006D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C6B*/ { 0x006E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0C6C*/ { 0x006F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUB231PS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C6D*/ { 0x01F7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C6E*/ { 0x01F8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C6F*/ { 0x01F9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C70*/ { 0x01FA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C71*/ { 0x028F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C72*/ { 0x0290, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C73*/ { 0x0291, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C74*/ { 0x0292, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C75*/ { 0x0293, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0C76*/ { 0x0294, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0C77*/ { 0x0295, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0C78*/ { 0x0070, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C79*/ { 0x0071, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0C7A*/ { 0x0072, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUB231SD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C7B*/ { 0x01FB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C7C*/ { 0x01FC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C7D*/ { 0x0296, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C7E*/ { 0x0297, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0C7F*/ { 0x0298, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUB231SS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C80*/ { 0x01FD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C81*/ { 0x01FE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C82*/ { 0x0299, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C83*/ { 0x029A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0C84*/ { 0x029B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUBADD132PD                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C85*/ { 0x01FF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C86*/ { 0x0200, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C87*/ { 0x0201, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C88*/ { 0x0202, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C89*/ { 0x029C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C8A*/ { 0x029D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C8B*/ { 0x029E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C8C*/ { 0x029F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C8D*/ { 0x02A0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0C8E*/ { 0x02A1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0C8F*/ { 0x02A2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUBADD132PS                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C90*/ { 0x0203, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C91*/ { 0x0204, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C92*/ { 0x0205, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C93*/ { 0x0206, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C94*/ { 0x02A3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C95*/ { 0x02A4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0C96*/ { 0x02A5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C97*/ { 0x02A6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0C98*/ { 0x02A7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0C99*/ { 0x02A8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0C9A*/ { 0x02A9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x97, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUBADD213PD                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0C9B*/ { 0x0207, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C9C*/ { 0x0208, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0C9D*/ { 0x0209, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C9E*/ { 0x020A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0C9F*/ { 0x02AA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CA0*/ { 0x02AB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CA1*/ { 0x02AC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0CA2*/ { 0x02AD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0CA3*/ { 0x02AE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0CA4*/ { 0x02AF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0CA5*/ { 0x02B0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUBADD213PS                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0CA6*/ { 0x020B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CA7*/ { 0x020C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CA8*/ { 0x020D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CA9*/ { 0x020E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CAA*/ { 0x02B1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CAB*/ { 0x02B2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CAC*/ { 0x02B3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CAD*/ { 0x02B4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CAE*/ { 0x02B5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0CAF*/ { 0x02B6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0CB0*/ { 0x02B7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUBADD231PD                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0CB1*/ { 0x020F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CB2*/ { 0x0210, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CB3*/ { 0x0211, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0CB4*/ { 0x0212, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0CB5*/ { 0x02B8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CB6*/ { 0x02B9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CB7*/ { 0x02BA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0CB8*/ { 0x02BB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0CB9*/ { 0x02BC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0CBA*/ { 0x02BD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0CBB*/ { 0x02BE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUBADD231PS                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0CBC*/ { 0x0213, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CBD*/ { 0x0214, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CBE*/ { 0x0215, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CBF*/ { 0x0216, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CC0*/ { 0x02BF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CC1*/ { 0x02C0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CC2*/ { 0x02C1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CC3*/ { 0x02C2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CC4*/ { 0x02C3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0CC5*/ { 0x02C4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0CC6*/ { 0x02C5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUBADDPD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0CC7*/ { 0x0217, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CC8*/ { 0x0218, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CC9*/ { 0x0219, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CCA*/ { 0x021A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CCB*/ { 0x021B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CCC*/ { 0x021C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CCD*/ { 0x021D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0CCE*/ { 0x021E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUBADDPS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0CCF*/ { 0x021F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CD0*/ { 0x0220, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CD1*/ { 0x0221, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CD2*/ { 0x0222, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CD3*/ { 0x0223, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CD4*/ { 0x0224, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CD5*/ { 0x0225, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0CD6*/ { 0x0226, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUBPD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0CD7*/ { 0x0227, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CD8*/ { 0x0228, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CD9*/ { 0x0229, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CDA*/ { 0x022A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CDB*/ { 0x022B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CDC*/ { 0x022C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CDD*/ { 0x022D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0CDE*/ { 0x022E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUBPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0CDF*/ { 0x022F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CE0*/ { 0x0230, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CE1*/ { 0x0231, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CE2*/ { 0x0232, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CE3*/ { 0x0233, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CE4*/ { 0x0234, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0CE5*/ { 0x0235, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0CE6*/ { 0x0236, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUBSD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0CE7*/ { 0x0237, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CE8*/ { 0x0238, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CE9*/ { 0x0239, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CEA*/ { 0x023A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFMSUBSS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0CEB*/ { 0x023B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CEC*/ { 0x023C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CED*/ { 0x023D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CEE*/ { 0x023E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADD132PD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0CEF*/ { 0x023F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CF0*/ { 0x0240, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CF1*/ { 0x0241, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0CF2*/ { 0x0242, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0CF3*/ { 0x02C6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CF4*/ { 0x02C7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CF5*/ { 0x02C8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0CF6*/ { 0x02C9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0CF7*/ { 0x02CA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0CF8*/ { 0x02CB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0CF9*/ { 0x02CC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0CFA*/ { 0x0073, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0CFB*/ { 0x0074, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0CFC*/ { 0x0075, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADD132PS                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0CFD*/ { 0x0243, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CFE*/ { 0x0244, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0CFF*/ { 0x0245, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D00*/ { 0x0246, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D01*/ { 0x02CD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D02*/ { 0x02CE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D03*/ { 0x02CF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D04*/ { 0x02D0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D05*/ { 0x02D1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0D06*/ { 0x02D2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0D07*/ { 0x02D3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0D08*/ { 0x0076, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D09*/ { 0x0077, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0D0A*/ { 0x0078, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADD132SD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D0B*/ { 0x0247, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D0C*/ { 0x0248, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D0D*/ { 0x02D4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D0E*/ { 0x02D5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0D0F*/ { 0x02D6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADD132SS                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D10*/ { 0x0249, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D11*/ { 0x024A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D12*/ { 0x02D7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D13*/ { 0x02D8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0D14*/ { 0x02D9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADD213PD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D15*/ { 0x024B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D16*/ { 0x024C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D17*/ { 0x024D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0D18*/ { 0x024E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0D19*/ { 0x02DA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D1A*/ { 0x02DB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D1B*/ { 0x02DC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0D1C*/ { 0x02DD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0D1D*/ { 0x02DE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0D1E*/ { 0x02DF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0D1F*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0D20*/ { 0x0079, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D21*/ { 0x007A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0D22*/ { 0x007B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADD213PS                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D23*/ { 0x024F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D24*/ { 0x0250, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D25*/ { 0x0251, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D26*/ { 0x0252, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D27*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D28*/ { 0x02E2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D29*/ { 0x02E3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D2A*/ { 0x02E4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D2B*/ { 0x02E5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0D2C*/ { 0x02E6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0D2D*/ { 0x02E7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0D2E*/ { 0x007C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D2F*/ { 0x007D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0D30*/ { 0x007E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADD213SD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D31*/ { 0x0253, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D32*/ { 0x0254, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D33*/ { 0x02E8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D34*/ { 0x02E9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0D35*/ { 0x02EA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADD213SS                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D36*/ { 0x0255, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D37*/ { 0x0256, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D38*/ { 0x02EB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D39*/ { 0x02EC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0D3A*/ { 0x02ED, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADD231PD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D3B*/ { 0x0257, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D3C*/ { 0x0258, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D3D*/ { 0x0259, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0D3E*/ { 0x025A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0D3F*/ { 0x02EE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D40*/ { 0x02EF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D41*/ { 0x02F0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0D42*/ { 0x02F1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0D43*/ { 0x02F2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0D44*/ { 0x02F3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0D45*/ { 0x02F4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0D46*/ { 0x007F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D47*/ { 0x0080, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0D48*/ { 0x0081, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADD231PS                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D49*/ { 0x025B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D4A*/ { 0x025C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D4B*/ { 0x025D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D4C*/ { 0x025E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D4D*/ { 0x02F5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D4E*/ { 0x02F6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D4F*/ { 0x02F7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D50*/ { 0x02F8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D51*/ { 0x02F9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0D52*/ { 0x02FA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0D53*/ { 0x02FB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0D54*/ { 0x0082, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D55*/ { 0x0083, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0D56*/ { 0x0084, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADD231SD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D57*/ { 0x025F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D58*/ { 0x0260, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D59*/ { 0x02FC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D5A*/ { 0x02FD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0D5B*/ { 0x02FE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADD231SS                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D5C*/ { 0x0261, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D5D*/ { 0x0262, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D5E*/ { 0x02FF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D5F*/ { 0x0300, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0D60*/ { 0x0301, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADDPD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D61*/ { 0x0263, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x79, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D62*/ { 0x0264, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x79, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D63*/ { 0x0265, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x79, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D64*/ { 0x0266, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x79, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D65*/ { 0x0267, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x79, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D66*/ { 0x0268, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x79, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D67*/ { 0x0269, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x79, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0D68*/ { 0x026A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x79, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADDPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D69*/ { 0x026B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x78, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D6A*/ { 0x026C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x78, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D6B*/ { 0x026D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x78, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D6C*/ { 0x026E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x78, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D6D*/ { 0x026F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x78, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D6E*/ { 0x0270, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x78, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D6F*/ { 0x0271, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x78, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0D70*/ { 0x0272, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x78, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADDSD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D71*/ { 0x0273, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D72*/ { 0x0274, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D73*/ { 0x0275, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D74*/ { 0x0276, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMADDSS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D75*/ { 0x0277, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D76*/ { 0x0278, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D77*/ { 0x0279, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D78*/ { 0x027A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUB132PD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D79*/ { 0x027B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D7A*/ { 0x027C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D7B*/ { 0x027D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0D7C*/ { 0x027E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0D7D*/ { 0x0302, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D7E*/ { 0x0303, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D7F*/ { 0x0304, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0D80*/ { 0x0305, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0D81*/ { 0x0306, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0D82*/ { 0x0307, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0D83*/ { 0x0308, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0D84*/ { 0x0085, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D85*/ { 0x0086, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0D86*/ { 0x0087, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUB132PS                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D87*/ { 0x027F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D88*/ { 0x0280, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D89*/ { 0x0281, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D8A*/ { 0x0282, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D8B*/ { 0x0309, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D8C*/ { 0x030A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D8D*/ { 0x030B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D8E*/ { 0x030C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0D8F*/ { 0x030D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0D90*/ { 0x030E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0D91*/ { 0x030F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0D92*/ { 0x0088, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D93*/ { 0x0089, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0D94*/ { 0x008A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x9E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUB132SD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D95*/ { 0x0283, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D96*/ { 0x0284, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D97*/ { 0x0310, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0D98*/ { 0x0311, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0D99*/ { 0x0312, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUB132SS                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D9A*/ { 0x0285, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D9B*/ { 0x0286, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x9F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D9C*/ { 0x0313, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0D9D*/ { 0x0314, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0D9E*/ { 0x0315, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x9F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUB213PD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0D9F*/ { 0x0287, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DA0*/ { 0x0288, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DA1*/ { 0x0289, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0DA2*/ { 0x028A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0DA3*/ { 0x0316, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DA4*/ { 0x0317, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DA5*/ { 0x0318, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0DA6*/ { 0x0319, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0DA7*/ { 0x031A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0DA8*/ { 0x031B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0DA9*/ { 0x031C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0DAA*/ { 0x008B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DAB*/ { 0x008C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0DAC*/ { 0x008D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUB213PS                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0DAD*/ { 0x028B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DAE*/ { 0x028C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DAF*/ { 0x028D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0DB0*/ { 0x028E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0DB1*/ { 0x031D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DB2*/ { 0x031E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DB3*/ { 0x031F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0DB4*/ { 0x0320, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0DB5*/ { 0x0321, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0DB6*/ { 0x0322, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0DB7*/ { 0x0323, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0DB8*/ { 0x008E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DB9*/ { 0x008F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0DBA*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xAE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUB213SD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0DBB*/ { 0x028F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DBC*/ { 0x0290, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DBD*/ { 0x0324, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DBE*/ { 0x0325, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0DBF*/ { 0x0326, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUB213SS                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0DC0*/ { 0x0291, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DC1*/ { 0x0292, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DC2*/ { 0x0327, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DC3*/ { 0x0328, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0DC4*/ { 0x0329, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xAF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUB231PD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0DC5*/ { 0x0293, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DC6*/ { 0x0294, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DC7*/ { 0x0295, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0DC8*/ { 0x0296, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0DC9*/ { 0x032A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DCA*/ { 0x032B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DCB*/ { 0x032C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0DCC*/ { 0x032D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0DCD*/ { 0x032E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0DCE*/ { 0x032F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0DCF*/ { 0x0330, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0DD0*/ { 0x0091, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DD1*/ { 0x0092, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0DD2*/ { 0x0093, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUB231PS                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0DD3*/ { 0x0297, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DD4*/ { 0x0298, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DD5*/ { 0x0299, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0DD6*/ { 0x029A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0DD7*/ { 0x0331, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DD8*/ { 0x0332, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DD9*/ { 0x0333, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0DDA*/ { 0x0334, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0DDB*/ { 0x0335, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0DDC*/ { 0x0336, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0DDD*/ { 0x0337, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0DDE*/ { 0x0094, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DDF*/ { 0x0095, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0DE0*/ { 0x0096, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xBE, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUB231SD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0DE1*/ { 0x029B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DE2*/ { 0x029C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DE3*/ { 0x0338, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DE4*/ { 0x0339, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0DE5*/ { 0x033A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUB231SS                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0DE6*/ { 0x029D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DE7*/ { 0x029E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xBF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DE8*/ { 0x033B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DE9*/ { 0x033C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0DEA*/ { 0x033D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xBF, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUBPD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0DEB*/ { 0x029F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DEC*/ { 0x02A0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DED*/ { 0x02A1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DEE*/ { 0x02A2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DEF*/ { 0x02A3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0DF0*/ { 0x02A4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0DF1*/ { 0x02A5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0DF2*/ { 0x02A6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUBPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0DF3*/ { 0x02A7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DF4*/ { 0x02A8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DF5*/ { 0x02A9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DF6*/ { 0x02AA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DF7*/ { 0x02AB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0DF8*/ { 0x02AC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0DF9*/ { 0x02AD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0DFA*/ { 0x02AE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUBSD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0DFB*/ { 0x02AF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DFC*/ { 0x02B0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0DFD*/ { 0x02B1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0DFE*/ { 0x02B2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFNMSUBSS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0DFF*/ { 0x02B3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E00*/ { 0x02B4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E01*/ { 0x02B5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E02*/ { 0x02B6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFPCLASSPD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E03*/ { 0x033E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E04*/ { 0x033F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E05*/ { 0x0340, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0E06*/ { 0x0341, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0E07*/ { 0x0342, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0E08*/ { 0x0343, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFPCLASSPS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E09*/ { 0x0344, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E0A*/ { 0x0345, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E0B*/ { 0x0346, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E0C*/ { 0x0347, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E0D*/ { 0x0348, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0E0E*/ { 0x0349, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFPCLASSSD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E0F*/ { 0x034A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x67, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E10*/ { 0x034B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x67, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFPCLASSSS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E11*/ { 0x034C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x67, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E12*/ { 0x034D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x67, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFRCZPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E13*/ { 0x002E, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x81, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E14*/ { 0x002F, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x81, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E15*/ { 0x0030, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x81, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E16*/ { 0x0031, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x81, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFRCZPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E17*/ { 0x0032, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x80, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E18*/ { 0x0033, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x80, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E19*/ { 0x0034, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x80, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E1A*/ { 0x0035, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x80, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFRCZSD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E1B*/ { 0x0036, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x83, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E1C*/ { 0x0037, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x83, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VFRCZSS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E1D*/ { 0x0038, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x82, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E1E*/ { 0x0039, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x82, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGATHERDPD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E1F*/ { 0x02B7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x92, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0E20*/ { 0x02B8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x92, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E21*/ { 0x034E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x92, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E22*/ { 0x034F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x92, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0E23*/ { 0x0350, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x92, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0E24*/ { 0x0097, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x92, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGATHERDPS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E25*/ { 0x02B9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x92, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E26*/ { 0x02BA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x92, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E27*/ { 0x0351, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x92, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E28*/ { 0x0352, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x92, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E29*/ { 0x0353, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x92, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0E2A*/ { 0x0098, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x92, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGATHERPF0DPD                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E2B*/ { 0x0354, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGATHERPF0DPS                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E2C*/ { 0x0355, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0E2D*/ { 0x0099, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGATHERPF0HINTDPD                                                                          */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E2E*/ { 0x009A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGATHERPF0HINTDPS                                                                          */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E2F*/ { 0x009B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGATHERPF0QPD                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E30*/ { 0x0356, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGATHERPF0QPS                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E31*/ { 0x0357, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGATHERPF1DPD                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E32*/ { 0x0358, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGATHERPF1DPS                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E33*/ { 0x0359, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0E34*/ { 0x009C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGATHERPF1QPD                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E35*/ { 0x035A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGATHERPF1QPS                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E36*/ { 0x035B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGATHERQPD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E37*/ { 0x02BB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x93, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0E38*/ { 0x02BC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x93, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E39*/ { 0x035C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x93, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E3A*/ { 0x035D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x93, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0E3B*/ { 0x035E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x93, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGATHERQPS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E3C*/ { 0x02BD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x93, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E3D*/ { 0x02BE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x93, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E3E*/ { 0x035F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x93, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E3F*/ { 0x0360, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x93, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E40*/ { 0x0361, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x93, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGETEXPPD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E41*/ { 0x0362, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E42*/ { 0x0363, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E43*/ { 0x0364, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0E44*/ { 0x0365, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0E45*/ { 0x0366, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0E46*/ { 0x0367, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0E47*/ { 0x0368, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0E48*/ { 0x009D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E49*/ { 0x009E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0E4A*/ { 0x009F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGETEXPPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E4B*/ { 0x0369, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E4C*/ { 0x036A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E4D*/ { 0x036B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E4E*/ { 0x036C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E4F*/ { 0x036D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0E50*/ { 0x036E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0E51*/ { 0x036F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0E52*/ { 0x00A0, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E53*/ { 0x00A1, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0E54*/ { 0x00A2, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x42, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGETEXPSD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E55*/ { 0x0370, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x43, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E56*/ { 0x0371, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x43, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0E57*/ { 0x0372, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x43, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGETEXPSS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E58*/ { 0x0373, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x43, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E59*/ { 0x0374, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x43, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0E5A*/ { 0x0375, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x43, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGETMANTPD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E5B*/ { 0x0376, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E5C*/ { 0x0377, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E5D*/ { 0x0378, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0E5E*/ { 0x0379, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0E5F*/ { 0x037A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0E60*/ { 0x037B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0E61*/ { 0x037C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0E62*/ { 0x00A3, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E63*/ { 0x00A4, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /*0E64*/ { 0x00A5, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGETMANTPS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E65*/ { 0x037D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E66*/ { 0x037E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E67*/ { 0x037F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E68*/ { 0x0380, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E69*/ { 0x0381, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0E6A*/ { 0x0382, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0E6B*/ { 0x0383, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0E6C*/ { 0x00A6, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E6D*/ { 0x00A7, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*0E6E*/ { 0x00A8, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x26, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGETMANTSD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E6F*/ { 0x0384, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E70*/ { 0x0385, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0E71*/ { 0x0386, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGETMANTSS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E72*/ { 0x0387, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E73*/ { 0x0388, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0E74*/ { 0x0389, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGMAXABSPS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E75*/ { 0x00A9, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x51, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E76*/ { 0x00AA, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x51, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0E77*/ { 0x00AB, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x51, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGMAXPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E78*/ { 0x00AC, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x53, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E79*/ { 0x00AD, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x53, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0E7A*/ { 0x00AE, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x53, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGMAXPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E7B*/ { 0x00AF, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x53, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E7C*/ { 0x00B0, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x53, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0E7D*/ { 0x00B1, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x53, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGMINPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E7E*/ { 0x00B2, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x52, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0E7F*/ { 0x00B3, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x52, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0E80*/ { 0x00B4, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x52, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VGMINPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E81*/ { 0x00B5, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x52, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E82*/ { 0x00B6, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x52, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0E83*/ { 0x00B7, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x52, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VHADDPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E84*/ { 0x02BF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E85*/ { 0x02C0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E86*/ { 0x02C1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E87*/ { 0x02C2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VHADDPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E88*/ { 0x02C3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E89*/ { 0x02C4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E8A*/ { 0x02C5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E8B*/ { 0x02C6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VHSUBPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E8C*/ { 0x02C7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E8D*/ { 0x02C8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E8E*/ { 0x02C9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E8F*/ { 0x02CA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VHSUBPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E90*/ { 0x02CB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E91*/ { 0x02CC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0E92*/ { 0x02CD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E93*/ { 0x02CE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VINSERTF128                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E94*/ { 0x02CF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x18, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E95*/ { 0x02D0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x18, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VINSERTF32X4                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E96*/ { 0x038A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x18, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E97*/ { 0x038B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x18, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0E98*/ { 0x038C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x18, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0E99*/ { 0x038D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x18, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VINSERTF32X8                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E9A*/ { 0x038E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0E9B*/ { 0x038F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VINSERTF64X2                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0E9C*/ { 0x0390, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x18, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0E9D*/ { 0x0391, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x18, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0E9E*/ { 0x0392, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x18, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0E9F*/ { 0x0393, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x18, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VINSERTF64X4                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EA0*/ { 0x0394, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0EA1*/ { 0x0395, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VINSERTI128                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EA2*/ { 0x02D1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x38, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0EA3*/ { 0x02D2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x38, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VINSERTI32X4                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EA4*/ { 0x0396, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0EA5*/ { 0x0397, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0EA6*/ { 0x0398, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0EA7*/ { 0x0399, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VINSERTI32X8                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EA8*/ { 0x039A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0EA9*/ { 0x039B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VINSERTI64X2                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EAA*/ { 0x039C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0EAB*/ { 0x039D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0EAC*/ { 0x039E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0EAD*/ { 0x039F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VINSERTI64X4                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EAE*/ { 0x03A0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0EAF*/ { 0x03A1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VINSERTPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EB0*/ { 0x02D3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x21, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EB1*/ { 0x02D4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x21, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EB2*/ { 0x03A2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x21, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EB3*/ { 0x03A3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x21, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VLDDQU                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EB4*/ { 0x02D5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EB5*/ { 0x02D6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VLDMXCSR                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EB6*/ { 0x02D7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VLOADUNPACKHD                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EB7*/ { 0x00B8, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VLOADUNPACKHPD                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EB8*/ { 0x00B9, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD5, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VLOADUNPACKHPS                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EB9*/ { 0x00BA, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD5, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VLOADUNPACKHQ                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EBA*/ { 0x00BB, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VLOADUNPACKLD                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EBB*/ { 0x00BC, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VLOADUNPACKLPD                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EBC*/ { 0x00BD, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD1, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VLOADUNPACKLPS                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EBD*/ { 0x00BE, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD1, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VLOADUNPACKLQ                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EBE*/ { 0x00BF, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VLOG2PS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EBF*/ { 0x00C0, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EC0*/ { 0x00C1, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*0EC1*/ { 0x00C2, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC9, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMASKMOVDQU                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EC2*/ { 0x02D8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMASKMOVPD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EC3*/ { 0x02D9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EC4*/ { 0x02DA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0EC5*/ { 0x02DB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EC6*/ { 0x02DC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMASKMOVPS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EC7*/ { 0x02DD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EC8*/ { 0x02DE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0EC9*/ { 0x02DF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0ECA*/ { 0x02E0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMAXPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0ECB*/ { 0x02E1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0ECC*/ { 0x02E2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0ECD*/ { 0x02E3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0ECE*/ { 0x02E4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0ECF*/ { 0x03A4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0ED0*/ { 0x03A5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0ED1*/ { 0x03A6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0ED2*/ { 0x03A7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0ED3*/ { 0x03A8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0ED4*/ { 0x03A9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0ED5*/ { 0x03AA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMAXPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0ED6*/ { 0x02E5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0ED7*/ { 0x02E6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0ED8*/ { 0x02E7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0ED9*/ { 0x02E8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0EDA*/ { 0x03AB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EDB*/ { 0x03AC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EDC*/ { 0x03AD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0EDD*/ { 0x03AE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0EDE*/ { 0x03AF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0EDF*/ { 0x03B0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0EE0*/ { 0x03B1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMAXSD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EE1*/ { 0x02E9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EE2*/ { 0x02EA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EE3*/ { 0x03B2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0EE4*/ { 0x03B3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0EE5*/ { 0x03B4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMAXSS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EE6*/ { 0x02EB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EE7*/ { 0x02EC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EE8*/ { 0x03B5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EE9*/ { 0x03B6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0EEA*/ { 0x03B7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMCALL                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EEB*/ { 0x06E4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMCLEAR                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EEC*/ { 0x06E5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMFUNC                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EED*/ { 0x06E6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMINPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EEE*/ { 0x02ED, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EEF*/ { 0x02EE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EF0*/ { 0x02EF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0EF1*/ { 0x02F0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0EF2*/ { 0x03B8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0EF3*/ { 0x03B9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0EF4*/ { 0x03BA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0EF5*/ { 0x03BB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0EF6*/ { 0x03BC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0EF7*/ { 0x03BD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0EF8*/ { 0x03BE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMINPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0EF9*/ { 0x02F1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EFA*/ { 0x02F2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EFB*/ { 0x02F3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0EFC*/ { 0x02F4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0EFD*/ { 0x03BF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EFE*/ { 0x03C0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0EFF*/ { 0x03C1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F00*/ { 0x03C2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F01*/ { 0x03C3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0F02*/ { 0x03C4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0F03*/ { 0x03C5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMINSD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F04*/ { 0x02F5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F05*/ { 0x02F6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F06*/ { 0x03C6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F07*/ { 0x03C7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*0F08*/ { 0x03C8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMINSS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F09*/ { 0x02F7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F0A*/ { 0x02F8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F0B*/ { 0x03C9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F0C*/ { 0x03CA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*0F0D*/ { 0x03CB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMLAUNCH                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F0E*/ { 0x06E7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_TRUE , 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMLOAD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F0F*/ { 0x06E8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x04, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMMCALL                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F10*/ { 0x06E9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVAPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F11*/ { 0x02F9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F12*/ { 0x02FA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F13*/ { 0x02FB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F14*/ { 0x02FC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F15*/ { 0x02FD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F16*/ { 0x02FE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F17*/ { 0x02FF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F18*/ { 0x0300, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F19*/ { 0x03CC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F1A*/ { 0x03CD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F1B*/ { 0x03CE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0F1C*/ { 0x03CF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0F1D*/ { 0x03D0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0F1E*/ { 0x03D1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0F1F*/ { 0x03D2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F20*/ { 0x03D3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F21*/ { 0x03D4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0F22*/ { 0x03D5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0F23*/ { 0x03D6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0F24*/ { 0x03D7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0F25*/ { 0x00C3, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F26*/ { 0x00C4, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0F27*/ { 0x00C5, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /*0F28*/ { 0x00C6, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVAPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F29*/ { 0x0301, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F2A*/ { 0x0302, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F2B*/ { 0x0303, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F2C*/ { 0x0304, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F2D*/ { 0x0305, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F2E*/ { 0x0306, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F2F*/ { 0x0307, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F30*/ { 0x0308, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F31*/ { 0x03D8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F32*/ { 0x03D9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F33*/ { 0x03DA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F34*/ { 0x03DB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F35*/ { 0x03DC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0F36*/ { 0x03DD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0F37*/ { 0x03DE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F38*/ { 0x03DF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F39*/ { 0x03E0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F3A*/ { 0x03E1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F3B*/ { 0x03E2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0F3C*/ { 0x03E3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0F3D*/ { 0x00C7, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F3E*/ { 0x00C8, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0F3F*/ { 0x00C9, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x28, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*0F40*/ { 0x00CA, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F41*/ { 0x0309, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F42*/ { 0x030A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F43*/ { 0x030B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F44*/ { 0x030C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F45*/ { 0x030D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F46*/ { 0x030E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F47*/ { 0x030F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F48*/ { 0x0310, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F49*/ { 0x03E4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F4A*/ { 0x03E5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F4B*/ { 0x03E6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F4C*/ { 0x03E7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVDDUP                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F4D*/ { 0x0311, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F4E*/ { 0x0312, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F4F*/ { 0x0313, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F50*/ { 0x0314, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F51*/ { 0x03E8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F52*/ { 0x03E9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F53*/ { 0x03EA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0F54*/ { 0x03EB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0F55*/ { 0x03EC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0F56*/ { 0x03ED, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVDQA                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F57*/ { 0x0315, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F58*/ { 0x0316, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F59*/ { 0x0317, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F5A*/ { 0x0318, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F5B*/ { 0x0319, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F5C*/ { 0x031A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F5D*/ { 0x031B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F5E*/ { 0x031C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVDQA32                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F5F*/ { 0x03EE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F60*/ { 0x03EF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F61*/ { 0x03F0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F62*/ { 0x03F1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F63*/ { 0x03F2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0F64*/ { 0x03F3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0F65*/ { 0x03F4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F66*/ { 0x03F5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F67*/ { 0x03F6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F68*/ { 0x03F7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F69*/ { 0x03F8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0F6A*/ { 0x03F9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0F6B*/ { 0x00CB, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F6C*/ { 0x00CC, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*0F6D*/ { 0x00CD, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*0F6E*/ { 0x00CE, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVDQA64                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F6F*/ { 0x03FA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F70*/ { 0x03FB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F71*/ { 0x03FC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0F72*/ { 0x03FD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0F73*/ { 0x03FE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0F74*/ { 0x03FF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0F75*/ { 0x0400, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F76*/ { 0x0401, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F77*/ { 0x0402, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0F78*/ { 0x0403, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0F79*/ { 0x0404, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0F7A*/ { 0x0405, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0F7B*/ { 0x00CF, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F7C*/ { 0x00D0, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*0F7D*/ { 0x00D1, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /*0F7E*/ { 0x00D2, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVDQU                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F7F*/ { 0x031D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F80*/ { 0x031E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F81*/ { 0x031F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F82*/ { 0x0320, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F83*/ { 0x0321, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F84*/ { 0x0322, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F85*/ { 0x0323, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F86*/ { 0x0324, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVDQU16                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F87*/ { 0x0406, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F88*/ { 0x0407, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F89*/ { 0x0408, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0F8A*/ { 0x0409, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0F8B*/ { 0x040A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0F8C*/ { 0x040B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0F8D*/ { 0x040C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F8E*/ { 0x040D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0F8F*/ { 0x040E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0F90*/ { 0x040F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0F91*/ { 0x0410, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0F92*/ { 0x0411, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVDQU32                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F93*/ { 0x0412, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F94*/ { 0x0413, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F95*/ { 0x0414, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F96*/ { 0x0415, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F97*/ { 0x0416, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0F98*/ { 0x0417, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0F99*/ { 0x0418, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F9A*/ { 0x0419, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0F9B*/ { 0x041A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F9C*/ { 0x041B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0F9D*/ { 0x041C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0F9E*/ { 0x041D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVDQU64                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0F9F*/ { 0x041E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FA0*/ { 0x041F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FA1*/ { 0x0420, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0FA2*/ { 0x0421, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0FA3*/ { 0x0422, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0FA4*/ { 0x0423, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0FA5*/ { 0x0424, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FA6*/ { 0x0425, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FA7*/ { 0x0426, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0FA8*/ { 0x0427, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0FA9*/ { 0x0428, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*0FAA*/ { 0x0429, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVDQU8                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FAB*/ { 0x042A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FAC*/ { 0x042B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FAD*/ { 0x042C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0FAE*/ { 0x042D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0FAF*/ { 0x042E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0FB0*/ { 0x042F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0FB1*/ { 0x0430, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FB2*/ { 0x0431, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FB3*/ { 0x0432, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0FB4*/ { 0x0433, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0FB5*/ { 0x0434, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*0FB6*/ { 0x0435, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVHLPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FB7*/ { 0x0325, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FB8*/ { 0x0436, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVHPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FB9*/ { 0x0326, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FBA*/ { 0x0327, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x17, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FBB*/ { 0x0437, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FBC*/ { 0x0438, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x17, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVHPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FBD*/ { 0x0328, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FBE*/ { 0x0329, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x17, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FBF*/ { 0x0439, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FC0*/ { 0x043A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x17, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVLHPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FC1*/ { 0x032A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FC2*/ { 0x043B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVLPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FC3*/ { 0x032B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FC4*/ { 0x032C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x13, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FC5*/ { 0x043C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FC6*/ { 0x043D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVLPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FC7*/ { 0x032D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FC8*/ { 0x032E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x13, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FC9*/ { 0x043E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FCA*/ { 0x043F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVMSKPD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FCB*/ { 0x032F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x50, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FCC*/ { 0x0330, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x50, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVMSKPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FCD*/ { 0x0331, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x50, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FCE*/ { 0x0332, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x50, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVNRAPD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FCF*/ { 0x00D3, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVNRAPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FD0*/ { 0x00D4, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVNRNGOAPD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FD1*/ { 0x00D5, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVNRNGOAPS                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FD2*/ { 0x00D6, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x29, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVNTDQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FD3*/ { 0x0333, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FD4*/ { 0x0334, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0FD5*/ { 0x0440, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FD6*/ { 0x0441, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0FD7*/ { 0x0442, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVNTDQA                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FD8*/ { 0x0335, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FD9*/ { 0x0336, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0FDA*/ { 0x0443, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FDB*/ { 0x0444, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0FDC*/ { 0x0445, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVNTPD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FDD*/ { 0x0337, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FDE*/ { 0x0338, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0FDF*/ { 0x0446, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FE0*/ { 0x0447, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*0FE1*/ { 0x0448, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVNTPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FE2*/ { 0x0339, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FE3*/ { 0x033A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0FE4*/ { 0x0449, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FE5*/ { 0x044A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*0FE6*/ { 0x044B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FE7*/ { 0x033B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FE8*/ { 0x033C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FE9*/ { 0x033D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FEA*/ { 0x033E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FEB*/ { 0x033F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FEC*/ { 0x0340, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FED*/ { 0x0341, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FEE*/ { 0x0342, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FEF*/ { 0x044C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FF0*/ { 0x044D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FF1*/ { 0x044E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FF2*/ { 0x044F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FF3*/ { 0x0450, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FF4*/ { 0x0451, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FF5*/ { 0x0452, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FF6*/ { 0x0453, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVSD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FF7*/ { 0x0343, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FF8*/ { 0x0344, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FF9*/ { 0x0345, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FFA*/ { 0x0346, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*0FFB*/ { 0x0454, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FFC*/ { 0x0455, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FFD*/ { 0x0456, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*0FFE*/ { 0x0457, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVSHDUP                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*0FFF*/ { 0x0347, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1000*/ { 0x0348, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1001*/ { 0x0349, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1002*/ { 0x034A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1003*/ { 0x0458, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1004*/ { 0x0459, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1005*/ { 0x045A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1006*/ { 0x045B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1007*/ { 0x045C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1008*/ { 0x045D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVSLDUP                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1009*/ { 0x034B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*100A*/ { 0x034C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*100B*/ { 0x034D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*100C*/ { 0x034E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*100D*/ { 0x045E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*100E*/ { 0x045F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*100F*/ { 0x0460, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1010*/ { 0x0461, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1011*/ { 0x0462, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1012*/ { 0x0463, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVSS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1013*/ { 0x034F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1014*/ { 0x0350, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1015*/ { 0x0351, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1016*/ { 0x0352, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1017*/ { 0x0464, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1018*/ { 0x0465, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1019*/ { 0x0466, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*101A*/ { 0x0467, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVUPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*101B*/ { 0x0353, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*101C*/ { 0x0354, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*101D*/ { 0x0355, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*101E*/ { 0x0356, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*101F*/ { 0x0357, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1020*/ { 0x0358, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1021*/ { 0x0359, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1022*/ { 0x035A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1023*/ { 0x0468, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1024*/ { 0x0469, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1025*/ { 0x046A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1026*/ { 0x046B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1027*/ { 0x046C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1028*/ { 0x046D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1029*/ { 0x046E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*102A*/ { 0x046F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*102B*/ { 0x0470, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*102C*/ { 0x0471, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*102D*/ { 0x0472, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*102E*/ { 0x0473, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMOVUPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*102F*/ { 0x035B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1030*/ { 0x035C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1031*/ { 0x035D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1032*/ { 0x035E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1033*/ { 0x035F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1034*/ { 0x0360, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1035*/ { 0x0361, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1036*/ { 0x0362, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1037*/ { 0x0474, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1038*/ { 0x0475, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1039*/ { 0x0476, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*103A*/ { 0x0477, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*103B*/ { 0x0478, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*103C*/ { 0x0479, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*103D*/ { 0x047A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*103E*/ { 0x047B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*103F*/ { 0x047C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1040*/ { 0x047D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1041*/ { 0x047E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1042*/ { 0x047F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMPSADBW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1043*/ { 0x0363, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x42, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1044*/ { 0x0364, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x42, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1045*/ { 0x0365, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x42, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1046*/ { 0x0366, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x42, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMPTRLD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1047*/ { 0x06EA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMPTRST                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1048*/ { 0x06EB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMREAD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1049*/ { 0x06EC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x78, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*104A*/ { 0x06ED, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x78, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*104B*/ { 0x06EE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x78, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*104C*/ { 0x06EF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x78, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMRESUME                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*104D*/ { 0x06F0, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_TRUE , 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMRUN                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*104E*/ { 0x06F1, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMSAVE                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*104F*/ { 0x06F2, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_TRUE , 0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMULPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1050*/ { 0x0367, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1051*/ { 0x0368, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1052*/ { 0x0369, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1053*/ { 0x036A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1054*/ { 0x0480, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1055*/ { 0x0481, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1056*/ { 0x0482, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1057*/ { 0x0483, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1058*/ { 0x0484, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1059*/ { 0x0485, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*105A*/ { 0x0486, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*105B*/ { 0x00D7, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*105C*/ { 0x00D8, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*105D*/ { 0x00D9, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMULPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*105E*/ { 0x036B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*105F*/ { 0x036C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1060*/ { 0x036D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1061*/ { 0x036E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1062*/ { 0x0487, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1063*/ { 0x0488, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1064*/ { 0x0489, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1065*/ { 0x048A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1066*/ { 0x048B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1067*/ { 0x048C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*1068*/ { 0x048D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1069*/ { 0x00DA, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*106A*/ { 0x00DB, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*106B*/ { 0x00DC, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMULSD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*106C*/ { 0x036F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*106D*/ { 0x0370, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*106E*/ { 0x048E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*106F*/ { 0x048F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*1070*/ { 0x0490, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMULSS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1071*/ { 0x0371, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1072*/ { 0x0372, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1073*/ { 0x0491, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1074*/ { 0x0492, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*1075*/ { 0x0493, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMWRITE                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1076*/ { 0x06F3, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x79, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1077*/ { 0x06F4, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x79, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1078*/ { 0x06F5, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x79, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1079*/ { 0x06F6, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x79, ZYDIS_OPCODE_MAP_0F     , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMXOFF                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*107A*/ { 0x06F7, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_TRUE , 0x10, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VMXON                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*107B*/ { 0x06F8, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VORPD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*107C*/ { 0x0373, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*107D*/ { 0x0374, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*107E*/ { 0x0375, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*107F*/ { 0x0376, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1080*/ { 0x0494, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1081*/ { 0x0495, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1082*/ { 0x0496, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1083*/ { 0x0497, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1084*/ { 0x0498, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1085*/ { 0x0499, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VORPS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1086*/ { 0x0377, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1087*/ { 0x0378, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1088*/ { 0x0379, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1089*/ { 0x037A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*108A*/ { 0x049A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*108B*/ { 0x049B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*108C*/ { 0x049C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*108D*/ { 0x049D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*108E*/ { 0x049E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*108F*/ { 0x049F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VP4DPWSSD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1090*/ { 0x04A0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x52, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1091*/ { 0x04A1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x52, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VP4DPWSSDS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1092*/ { 0x04A2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x53, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1093*/ { 0x04A3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x53, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPABSB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1094*/ { 0x037B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1095*/ { 0x037C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1096*/ { 0x037D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1097*/ { 0x037E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1098*/ { 0x04A4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1099*/ { 0x04A5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*109A*/ { 0x04A6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*109B*/ { 0x04A7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*109C*/ { 0x04A8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*109D*/ { 0x04A9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPABSD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*109E*/ { 0x037F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*109F*/ { 0x0380, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10A0*/ { 0x0381, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10A1*/ { 0x0382, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10A2*/ { 0x04AA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10A3*/ { 0x04AB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10A4*/ { 0x04AC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10A5*/ { 0x04AD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10A6*/ { 0x04AE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*10A7*/ { 0x04AF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPABSQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10A8*/ { 0x04B0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*10A9*/ { 0x04B1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*10AA*/ { 0x04B2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*10AB*/ { 0x04B3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*10AC*/ { 0x04B4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*10AD*/ { 0x04B5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPABSW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10AE*/ { 0x0383, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10AF*/ { 0x0384, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10B0*/ { 0x0385, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10B1*/ { 0x0386, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x1D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10B2*/ { 0x04B6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10B3*/ { 0x04B7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10B4*/ { 0x04B8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10B5*/ { 0x04B9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10B6*/ { 0x04BA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*10B7*/ { 0x04BB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPACKSSDW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10B8*/ { 0x0387, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10B9*/ { 0x0388, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10BA*/ { 0x0389, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10BB*/ { 0x038A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10BC*/ { 0x04BC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10BD*/ { 0x04BD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10BE*/ { 0x04BE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10BF*/ { 0x04BF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10C0*/ { 0x04C0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*10C1*/ { 0x04C1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6B, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPACKSSWB                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10C2*/ { 0x038B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x63, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10C3*/ { 0x038C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x63, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10C4*/ { 0x038D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x63, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10C5*/ { 0x038E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x63, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10C6*/ { 0x04C2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x63, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10C7*/ { 0x04C3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x63, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10C8*/ { 0x04C4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x63, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10C9*/ { 0x04C5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x63, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10CA*/ { 0x04C6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x63, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*10CB*/ { 0x04C7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x63, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPACKSTOREHD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10CC*/ { 0x00DD, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPACKSTOREHPD                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10CD*/ { 0x00DE, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD5, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPACKSTOREHPS                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10CE*/ { 0x00DF, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD5, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPACKSTOREHQ                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10CF*/ { 0x00E0, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPACKSTORELD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10D0*/ { 0x00E1, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPACKSTORELPD                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10D1*/ { 0x00E2, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD1, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPACKSTORELPS                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10D2*/ { 0x00E3, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD1, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPACKSTORELQ                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10D3*/ { 0x00E4, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xD0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPACKUSDW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10D4*/ { 0x038F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10D5*/ { 0x0390, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10D6*/ { 0x0391, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10D7*/ { 0x0392, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10D8*/ { 0x04C8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10D9*/ { 0x04C9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10DA*/ { 0x04CA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10DB*/ { 0x04CB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10DC*/ { 0x04CC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*10DD*/ { 0x04CD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPACKUSWB                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10DE*/ { 0x0393, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x67, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10DF*/ { 0x0394, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x67, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10E0*/ { 0x0395, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x67, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10E1*/ { 0x0396, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x67, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10E2*/ { 0x04CE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x67, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10E3*/ { 0x04CF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x67, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10E4*/ { 0x04D0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x67, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10E5*/ { 0x04D1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x67, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10E6*/ { 0x04D2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x67, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*10E7*/ { 0x04D3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x67, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPADCD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10E8*/ { 0x00E5, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10E9*/ { 0x00E6, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*10EA*/ { 0x00E7, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPADDB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10EB*/ { 0x0397, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10EC*/ { 0x0398, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10ED*/ { 0x0399, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10EE*/ { 0x039A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10EF*/ { 0x04D4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10F0*/ { 0x04D5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10F1*/ { 0x04D6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10F2*/ { 0x04D7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10F3*/ { 0x04D8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*10F4*/ { 0x04D9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPADDD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*10F5*/ { 0x039B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10F6*/ { 0x039C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10F7*/ { 0x039D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10F8*/ { 0x039E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10F9*/ { 0x04DA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10FA*/ { 0x04DB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*10FB*/ { 0x04DC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10FC*/ { 0x04DD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*10FD*/ { 0x04DE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*10FE*/ { 0x04DF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*10FF*/ { 0x00E8, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1100*/ { 0x00E9, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1101*/ { 0x00EA, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xFE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPADDQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1102*/ { 0x039F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1103*/ { 0x03A0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1104*/ { 0x03A1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1105*/ { 0x03A2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1106*/ { 0x04E0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1107*/ { 0x04E1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1108*/ { 0x04E2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1109*/ { 0x04E3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*110A*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*110B*/ { 0x04E5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPADDSB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*110C*/ { 0x03A3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*110D*/ { 0x03A4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*110E*/ { 0x03A5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*110F*/ { 0x03A6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1110*/ { 0x04E6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1111*/ { 0x04E7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1112*/ { 0x04E8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1113*/ { 0x04E9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1114*/ { 0x04EA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1115*/ { 0x04EB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPADDSETCD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1116*/ { 0x00EB, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1117*/ { 0x00EC, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1118*/ { 0x00ED, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPADDSETSD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1119*/ { 0x00EE, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*111A*/ { 0x00EF, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*111B*/ { 0x00F0, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPADDSW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*111C*/ { 0x03A7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xED, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*111D*/ { 0x03A8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xED, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*111E*/ { 0x03A9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xED, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*111F*/ { 0x03AA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xED, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1120*/ { 0x04EC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xED, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1121*/ { 0x04ED, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xED, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1122*/ { 0x04EE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xED, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1123*/ { 0x04EF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xED, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1124*/ { 0x04F0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xED, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1125*/ { 0x04F1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xED, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPADDUSB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1126*/ { 0x03AB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1127*/ { 0x03AC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1128*/ { 0x03AD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1129*/ { 0x03AE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*112A*/ { 0x04F2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*112B*/ { 0x04F3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*112C*/ { 0x04F4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*112D*/ { 0x04F5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*112E*/ { 0x04F6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*112F*/ { 0x04F7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDC, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPADDUSW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1130*/ { 0x03AF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1131*/ { 0x03B0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1132*/ { 0x03B1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1133*/ { 0x03B2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1134*/ { 0x04F8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1135*/ { 0x04F9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1136*/ { 0x04FA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1137*/ { 0x04FB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1138*/ { 0x04FC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1139*/ { 0x04FD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPADDW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*113A*/ { 0x03B3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*113B*/ { 0x03B4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*113C*/ { 0x03B5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*113D*/ { 0x03B6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*113E*/ { 0x04FE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*113F*/ { 0x04FF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1140*/ { 0x0500, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1141*/ { 0x0501, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1142*/ { 0x0502, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1143*/ { 0x0503, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFD, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPALIGNR                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1144*/ { 0x03B7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1145*/ { 0x03B8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1146*/ { 0x03B9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1147*/ { 0x03BA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1148*/ { 0x0504, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1149*/ { 0x0505, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*114A*/ { 0x0506, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*114B*/ { 0x0507, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*114C*/ { 0x0508, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*114D*/ { 0x0509, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPAND                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*114E*/ { 0x03BB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*114F*/ { 0x03BC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1150*/ { 0x03BD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1151*/ { 0x03BE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPANDD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1152*/ { 0x050A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1153*/ { 0x050B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1154*/ { 0x050C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1155*/ { 0x050D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1156*/ { 0x050E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1157*/ { 0x050F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1158*/ { 0x00F1, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1159*/ { 0x00F2, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*115A*/ { 0x00F3, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPANDN                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*115B*/ { 0x03BF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*115C*/ { 0x03C0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*115D*/ { 0x03C1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*115E*/ { 0x03C2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPANDND                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*115F*/ { 0x0510, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1160*/ { 0x0511, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1161*/ { 0x0512, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1162*/ { 0x0513, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1163*/ { 0x0514, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1164*/ { 0x0515, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1165*/ { 0x00F4, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1166*/ { 0x00F5, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1167*/ { 0x00F6, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPANDNQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1168*/ { 0x0516, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1169*/ { 0x0517, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*116A*/ { 0x0518, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*116B*/ { 0x0519, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*116C*/ { 0x051A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*116D*/ { 0x051B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*116E*/ { 0x00F7, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*116F*/ { 0x00F8, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*1170*/ { 0x00F9, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xDF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPANDQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1171*/ { 0x051C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1172*/ { 0x051D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1173*/ { 0x051E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1174*/ { 0x051F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1175*/ { 0x0520, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1176*/ { 0x0521, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1177*/ { 0x00FA, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1178*/ { 0x00FB, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*1179*/ { 0x00FC, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xDB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPAVGB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*117A*/ { 0x03C3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*117B*/ { 0x03C4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*117C*/ { 0x03C5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*117D*/ { 0x03C6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*117E*/ { 0x0522, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*117F*/ { 0x0523, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1180*/ { 0x0524, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1181*/ { 0x0525, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1182*/ { 0x0526, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1183*/ { 0x0527, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPAVGW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1184*/ { 0x03C7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1185*/ { 0x03C8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1186*/ { 0x03C9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1187*/ { 0x03CA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1188*/ { 0x0528, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1189*/ { 0x0529, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*118A*/ { 0x052A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*118B*/ { 0x052B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*118C*/ { 0x052C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*118D*/ { 0x052D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPBLENDD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*118E*/ { 0x03CB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x02, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*118F*/ { 0x03CC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x02, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1190*/ { 0x03CD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x02, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1191*/ { 0x03CE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x02, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPBLENDMB                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1192*/ { 0x052E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1193*/ { 0x052F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1194*/ { 0x0530, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1195*/ { 0x0531, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1196*/ { 0x0532, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1197*/ { 0x0533, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPBLENDMD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1198*/ { 0x0534, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1199*/ { 0x0535, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*119A*/ { 0x0536, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*119B*/ { 0x0537, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*119C*/ { 0x0538, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*119D*/ { 0x0539, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*119E*/ { 0x00FD, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*119F*/ { 0x00FE, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*11A0*/ { 0x00FF, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPBLENDMQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*11A1*/ { 0x053A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*11A2*/ { 0x053B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*11A3*/ { 0x053C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*11A4*/ { 0x053D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*11A5*/ { 0x053E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*11A6*/ { 0x053F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*11A7*/ { 0x0100, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*11A8*/ { 0x0101, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*11A9*/ { 0x0102, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x64, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPBLENDMW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*11AA*/ { 0x0540, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*11AB*/ { 0x0541, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*11AC*/ { 0x0542, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*11AD*/ { 0x0543, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*11AE*/ { 0x0544, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*11AF*/ { 0x0545, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPBLENDVB                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*11B0*/ { 0x03CF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11B1*/ { 0x03D0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11B2*/ { 0x03D1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11B3*/ { 0x03D2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x4C, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPBLENDW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*11B4*/ { 0x03D3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11B5*/ { 0x03D4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11B6*/ { 0x03D5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11B7*/ { 0x03D6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPBROADCASTB                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*11B8*/ { 0x03D7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x78, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11B9*/ { 0x03D8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x78, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11BA*/ { 0x03D9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x78, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11BB*/ { 0x03DA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x78, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11BC*/ { 0x0546, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11BD*/ { 0x0547, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11BE*/ { 0x0548, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11BF*/ { 0x0549, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11C0*/ { 0x054A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*11C1*/ { 0x054B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x78, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*11C2*/ { 0x054C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11C3*/ { 0x054D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11C4*/ { 0x054E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPBROADCASTD                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*11C5*/ { 0x03DB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11C6*/ { 0x03DC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11C7*/ { 0x03DD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11C8*/ { 0x03DE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x58, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11C9*/ { 0x054F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11CA*/ { 0x0550, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11CB*/ { 0x0551, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11CC*/ { 0x0552, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11CD*/ { 0x0553, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*11CE*/ { 0x0554, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x58, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*11CF*/ { 0x0555, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11D0*/ { 0x0556, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11D1*/ { 0x0557, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*11D2*/ { 0x0103, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x58, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPBROADCASTMB2Q                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*11D3*/ { 0x0558, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*11D4*/ { 0x0559, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*11D5*/ { 0x055A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPBROADCASTMW2D                                                                            */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*11D6*/ { 0x055B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11D7*/ { 0x055C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11D8*/ { 0x055D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPBROADCASTQ                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*11D9*/ { 0x03DF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11DA*/ { 0x03E0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11DB*/ { 0x03E1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11DC*/ { 0x03E2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11DD*/ { 0x055E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*11DE*/ { 0x055F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*11DF*/ { 0x0560, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*11E0*/ { 0x0561, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*11E1*/ { 0x0562, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*11E2*/ { 0x0563, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*11E3*/ { 0x0564, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7C, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*11E4*/ { 0x0565, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7C, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*11E5*/ { 0x0566, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7C, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*11E6*/ { 0x0104, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x59, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPBROADCASTW                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*11E7*/ { 0x03E3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x79, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11E8*/ { 0x03E4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x79, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11E9*/ { 0x03E5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x79, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11EA*/ { 0x03E6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x79, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11EB*/ { 0x0567, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11EC*/ { 0x0568, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11ED*/ { 0x0569, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11EE*/ { 0x056A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11EF*/ { 0x056B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*11F0*/ { 0x056C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x79, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*11F1*/ { 0x056D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11F2*/ { 0x056E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11F3*/ { 0x056F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCLMULQDQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*11F4*/ { 0x03E7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x44, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11F5*/ { 0x03E8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x44, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMOV                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*11F6*/ { 0x003A, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xA2, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11F7*/ { 0x003B, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xA2, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11F8*/ { 0x003C, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xA2, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*11F9*/ { 0x003D, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xA2, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*11FA*/ { 0x003E, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xA2, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11FB*/ { 0x003F, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xA2, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*11FC*/ { 0x0040, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xA2, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*11FD*/ { 0x0041, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xA2, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*11FE*/ { 0x0570, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*11FF*/ { 0x0571, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1200*/ { 0x0572, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1201*/ { 0x0573, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1202*/ { 0x0574, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1203*/ { 0x0575, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1204*/ { 0x0576, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1205*/ { 0x0577, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1206*/ { 0x0578, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1207*/ { 0x0579, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1208*/ { 0x057A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1209*/ { 0x057B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*120A*/ { 0x0105, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*120B*/ { 0x0106, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*120C*/ { 0x0107, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPEQB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*120D*/ { 0x03E9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x74, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*120E*/ { 0x03EA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x74, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*120F*/ { 0x03EB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x74, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1210*/ { 0x03EC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x74, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1211*/ { 0x057C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x74, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1212*/ { 0x057D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x74, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1213*/ { 0x057E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x74, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1214*/ { 0x057F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x74, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1215*/ { 0x0580, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x74, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1216*/ { 0x0581, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x74, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPEQD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1217*/ { 0x03ED, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1218*/ { 0x03EE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1219*/ { 0x03EF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*121A*/ { 0x03F0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*121B*/ { 0x0582, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*121C*/ { 0x0583, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*121D*/ { 0x0584, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*121E*/ { 0x0585, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*121F*/ { 0x0586, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1220*/ { 0x0587, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1221*/ { 0x0108, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1222*/ { 0x0109, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1223*/ { 0x010A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x76, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPEQQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1224*/ { 0x03F1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1225*/ { 0x03F2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1226*/ { 0x03F3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1227*/ { 0x03F4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1228*/ { 0x0588, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1229*/ { 0x0589, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*122A*/ { 0x058A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*122B*/ { 0x058B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*122C*/ { 0x058C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*122D*/ { 0x058D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPEQW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*122E*/ { 0x03F5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x75, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*122F*/ { 0x03F6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x75, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1230*/ { 0x03F7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x75, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1231*/ { 0x03F8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x75, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1232*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1233*/ { 0x058F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1234*/ { 0x0590, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1235*/ { 0x0591, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1236*/ { 0x0592, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1237*/ { 0x0593, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPESTRI                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1238*/ { 0x03F9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x61, ZYDIS_OPCODE_MAP_0F3A   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1239*/ { 0x03FA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x61, ZYDIS_OPCODE_MAP_0F3A   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*123A*/ { 0x03FB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x61, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*123B*/ { 0x03FC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x61, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*123C*/ { 0x03FD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x61, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*123D*/ { 0x03FE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x61, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPESTRM                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*123E*/ { 0x03FF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x60, ZYDIS_OPCODE_MAP_0F3A   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*123F*/ { 0x0400, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x60, ZYDIS_OPCODE_MAP_0F3A   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1240*/ { 0x0401, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x60, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1241*/ { 0x0402, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x60, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1242*/ { 0x0403, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x60, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1243*/ { 0x0404, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x60, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPGTB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1244*/ { 0x0405, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x64, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1245*/ { 0x0406, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x64, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1246*/ { 0x0407, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x64, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1247*/ { 0x0408, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x64, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1248*/ { 0x0594, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1249*/ { 0x0595, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*124A*/ { 0x0596, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*124B*/ { 0x0597, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*124C*/ { 0x0598, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*124D*/ { 0x0599, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x64, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPGTD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*124E*/ { 0x0409, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*124F*/ { 0x040A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1250*/ { 0x040B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1251*/ { 0x040C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1252*/ { 0x059A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1253*/ { 0x059B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1254*/ { 0x059C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1255*/ { 0x059D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1256*/ { 0x059E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1257*/ { 0x059F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1258*/ { 0x010B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1259*/ { 0x010C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*125A*/ { 0x010D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x66, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPGTQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*125B*/ { 0x040D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x37, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*125C*/ { 0x040E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x37, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*125D*/ { 0x040F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x37, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*125E*/ { 0x0410, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x37, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*125F*/ { 0x05A0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x37, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1260*/ { 0x05A1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x37, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1261*/ { 0x05A2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x37, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1262*/ { 0x05A3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x37, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1263*/ { 0x05A4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x37, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1264*/ { 0x05A5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x37, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPGTW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1265*/ { 0x0411, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x65, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1266*/ { 0x0412, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x65, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1267*/ { 0x0413, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x65, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1268*/ { 0x0414, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x65, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1269*/ { 0x05A6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*126A*/ { 0x05A7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*126B*/ { 0x05A8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*126C*/ { 0x05A9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*126D*/ { 0x05AA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*126E*/ { 0x05AB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x65, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPISTRI                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*126F*/ { 0x0415, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x63, ZYDIS_OPCODE_MAP_0F3A   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1270*/ { 0x0416, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x63, ZYDIS_OPCODE_MAP_0F3A   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1271*/ { 0x0417, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x63, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1272*/ { 0x0418, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x63, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1273*/ { 0x0419, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x63, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1274*/ { 0x041A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x63, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPISTRM                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1275*/ { 0x041B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x62, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1276*/ { 0x041C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x62, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPLTD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1277*/ { 0x010E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x74, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1278*/ { 0x010F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x74, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1279*/ { 0x0110, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x74, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*127A*/ { 0x05AC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*127B*/ { 0x05AD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*127C*/ { 0x05AE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*127D*/ { 0x05AF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*127E*/ { 0x05B0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*127F*/ { 0x05B1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPUB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1280*/ { 0x05B2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1281*/ { 0x05B3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1282*/ { 0x05B4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1283*/ { 0x05B5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1284*/ { 0x05B6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1285*/ { 0x05B7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPUD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1286*/ { 0x05B8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1287*/ { 0x05B9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1288*/ { 0x05BA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1289*/ { 0x05BB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*128A*/ { 0x05BC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*128B*/ { 0x05BD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*128C*/ { 0x0111, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*128D*/ { 0x0112, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*128E*/ { 0x0113, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPUQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*128F*/ { 0x05BE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1290*/ { 0x05BF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1291*/ { 0x05C0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1292*/ { 0x05C1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1293*/ { 0x05C2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1294*/ { 0x05C3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x1E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPUW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1295*/ { 0x05C4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1296*/ { 0x05C5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1297*/ { 0x05C6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1298*/ { 0x05C7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1299*/ { 0x05C8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*129A*/ { 0x05C9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCMPW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*129B*/ { 0x05CA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*129C*/ { 0x05CB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*129D*/ { 0x05CC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*129E*/ { 0x05CD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*129F*/ { 0x05CE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*12A0*/ { 0x05CF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCOMB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12A1*/ { 0x0042, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xCC, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12A2*/ { 0x0043, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xCC, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCOMD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12A3*/ { 0x0044, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xCE, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12A4*/ { 0x0045, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xCE, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCOMPRESSD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12A5*/ { 0x05D0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12A6*/ { 0x05D1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12A7*/ { 0x05D2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12A8*/ { 0x05D3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12A9*/ { 0x05D4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*12AA*/ { 0x05D5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCOMPRESSQ                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12AB*/ { 0x05D6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*12AC*/ { 0x05D7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*12AD*/ { 0x05D8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*12AE*/ { 0x05D9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*12AF*/ { 0x05DA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*12B0*/ { 0x05DB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCOMQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12B1*/ { 0x0046, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xCF, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12B2*/ { 0x0047, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xCF, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCOMUB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12B3*/ { 0x0048, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xEC, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12B4*/ { 0x0049, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xEC, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCOMUD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12B5*/ { 0x004A, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xEE, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12B6*/ { 0x004B, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xEE, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCOMUQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12B7*/ { 0x004C, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xEF, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12B8*/ { 0x004D, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xEF, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCOMUW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12B9*/ { 0x004E, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xED, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12BA*/ { 0x004F, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xED, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCOMW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12BB*/ { 0x0050, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xCD, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12BC*/ { 0x0051, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xCD, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCONFLICTD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12BD*/ { 0x05DC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12BE*/ { 0x05DD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12BF*/ { 0x05DE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12C0*/ { 0x05DF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12C1*/ { 0x05E0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*12C2*/ { 0x05E1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPCONFLICTQ                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12C3*/ { 0x05E2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*12C4*/ { 0x05E3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*12C5*/ { 0x05E4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*12C6*/ { 0x05E5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*12C7*/ { 0x05E6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*12C8*/ { 0x05E7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERM2F128                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12C9*/ { 0x041D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x06, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12CA*/ { 0x041E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x06, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERM2I128                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12CB*/ { 0x041F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x46, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12CC*/ { 0x0420, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x46, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12CD*/ { 0x05E8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12CE*/ { 0x05E9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12CF*/ { 0x05EA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12D0*/ { 0x05EB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12D1*/ { 0x05EC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*12D2*/ { 0x05ED, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12D3*/ { 0x0421, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x36, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12D4*/ { 0x0422, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x36, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12D5*/ { 0x05EE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x36, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12D6*/ { 0x05EF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x36, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12D7*/ { 0x05F0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x36, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*12D8*/ { 0x05F1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x36, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*12D9*/ { 0x0114, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x36, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12DA*/ { 0x0115, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x36, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMF32X4                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12DB*/ { 0x0116, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x07, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12DC*/ { 0x0117, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x07, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*12DD*/ { 0x0118, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x07, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMI2B                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12DE*/ { 0x05F2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12DF*/ { 0x05F3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12E0*/ { 0x05F4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12E1*/ { 0x05F5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12E2*/ { 0x05F6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*12E3*/ { 0x05F7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMI2D                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12E4*/ { 0x05F8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12E5*/ { 0x05F9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12E6*/ { 0x05FA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12E7*/ { 0x05FB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12E8*/ { 0x05FC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*12E9*/ { 0x05FD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMI2PD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12EA*/ { 0x05FE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x77, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*12EB*/ { 0x05FF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x77, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*12EC*/ { 0x0600, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x77, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*12ED*/ { 0x0601, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x77, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*12EE*/ { 0x0602, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x77, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*12EF*/ { 0x0603, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x77, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMI2PS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12F0*/ { 0x0604, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x77, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12F1*/ { 0x0605, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x77, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*12F2*/ { 0x0606, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x77, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12F3*/ { 0x0607, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x77, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*12F4*/ { 0x0608, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x77, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*12F5*/ { 0x0609, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x77, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMI2Q                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12F6*/ { 0x060A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*12F7*/ { 0x060B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*12F8*/ { 0x060C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*12F9*/ { 0x060D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*12FA*/ { 0x060E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*12FB*/ { 0x060F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x76, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMI2W                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*12FC*/ { 0x0610, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*12FD*/ { 0x0611, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*12FE*/ { 0x0612, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*12FF*/ { 0x0613, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1300*/ { 0x0614, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1301*/ { 0x0615, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x75, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMIL2PD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1302*/ { 0x0423, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x49, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1303*/ { 0x0424, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x49, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1304*/ { 0x0425, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x49, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1305*/ { 0x0426, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x49, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1306*/ { 0x0427, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x49, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1307*/ { 0x0428, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x49, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1308*/ { 0x0429, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x49, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1309*/ { 0x042A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x49, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMIL2PS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*130A*/ { 0x042B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x48, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*130B*/ { 0x042C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x48, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*130C*/ { 0x042D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x48, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*130D*/ { 0x042E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x48, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*130E*/ { 0x042F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x48, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*130F*/ { 0x0430, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x48, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1310*/ { 0x0431, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x48, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1311*/ { 0x0432, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x48, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMILPD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1312*/ { 0x0433, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1313*/ { 0x0434, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1314*/ { 0x0435, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1315*/ { 0x0436, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1316*/ { 0x0437, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x05, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1317*/ { 0x0438, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x05, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1318*/ { 0x0439, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x05, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1319*/ { 0x043A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x05, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*131A*/ { 0x0616, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*131B*/ { 0x0617, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*131C*/ { 0x0618, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*131D*/ { 0x0619, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*131E*/ { 0x061A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*131F*/ { 0x061B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1320*/ { 0x061C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x05, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1321*/ { 0x061D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x05, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1322*/ { 0x061E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x05, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1323*/ { 0x061F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x05, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1324*/ { 0x0620, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x05, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1325*/ { 0x0621, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x05, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMILPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1326*/ { 0x043B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1327*/ { 0x043C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1328*/ { 0x043D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1329*/ { 0x043E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*132A*/ { 0x043F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x04, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*132B*/ { 0x0440, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x04, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*132C*/ { 0x0441, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x04, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*132D*/ { 0x0442, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x04, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*132E*/ { 0x0622, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*132F*/ { 0x0623, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1330*/ { 0x0624, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1331*/ { 0x0625, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1332*/ { 0x0626, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1333*/ { 0x0627, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1334*/ { 0x0628, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x04, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1335*/ { 0x0629, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x04, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1336*/ { 0x062A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x04, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1337*/ { 0x062B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x04, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1338*/ { 0x062C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x04, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1339*/ { 0x062D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x04, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*133A*/ { 0x0443, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x01, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*133B*/ { 0x0444, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x01, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*133C*/ { 0x062E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*133D*/ { 0x062F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*133E*/ { 0x0630, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*133F*/ { 0x0631, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1340*/ { 0x0632, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x01, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1341*/ { 0x0633, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x01, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1342*/ { 0x0634, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x01, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1343*/ { 0x0635, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x01, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1344*/ { 0x0445, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1345*/ { 0x0446, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1346*/ { 0x0636, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1347*/ { 0x0637, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1348*/ { 0x0638, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1349*/ { 0x0639, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*134A*/ { 0x0447, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x00, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*134B*/ { 0x0448, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x00, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*134C*/ { 0x063A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x36, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*134D*/ { 0x063B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x36, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*134E*/ { 0x063C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x36, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*134F*/ { 0x063D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x36, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1350*/ { 0x063E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x00, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1351*/ { 0x063F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x00, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1352*/ { 0x0640, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x00, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1353*/ { 0x0641, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x00, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMT2B                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1354*/ { 0x0642, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1355*/ { 0x0643, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1356*/ { 0x0644, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1357*/ { 0x0645, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1358*/ { 0x0646, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1359*/ { 0x0647, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMT2D                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*135A*/ { 0x0648, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*135B*/ { 0x0649, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*135C*/ { 0x064A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*135D*/ { 0x064B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*135E*/ { 0x064C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*135F*/ { 0x064D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMT2PD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1360*/ { 0x064E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1361*/ { 0x064F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1362*/ { 0x0650, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1363*/ { 0x0651, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1364*/ { 0x0652, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1365*/ { 0x0653, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMT2PS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1366*/ { 0x0654, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1367*/ { 0x0655, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1368*/ { 0x0656, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1369*/ { 0x0657, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*136A*/ { 0x0658, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*136B*/ { 0x0659, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMT2Q                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*136C*/ { 0x065A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*136D*/ { 0x065B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*136E*/ { 0x065C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*136F*/ { 0x065D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1370*/ { 0x065E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1371*/ { 0x065F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMT2W                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1372*/ { 0x0660, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1373*/ { 0x0661, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1374*/ { 0x0662, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1375*/ { 0x0663, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1376*/ { 0x0664, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1377*/ { 0x0665, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x7D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPERMW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1378*/ { 0x0666, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1379*/ { 0x0667, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*137A*/ { 0x0668, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*137B*/ { 0x0669, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*137C*/ { 0x066A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*137D*/ { 0x066B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x8D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPEXPANDD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*137E*/ { 0x066C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x89, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*137F*/ { 0x066D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x89, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1380*/ { 0x066E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x89, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1381*/ { 0x066F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x89, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1382*/ { 0x0670, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x89, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1383*/ { 0x0671, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x89, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPEXPANDQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1384*/ { 0x0672, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x89, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1385*/ { 0x0673, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x89, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1386*/ { 0x0674, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x89, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1387*/ { 0x0675, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x89, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1388*/ { 0x0676, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x89, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1389*/ { 0x0677, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x89, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPEXTRB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*138A*/ { 0x0449, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x14, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*138B*/ { 0x044A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x14, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*138C*/ { 0x0678, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*138D*/ { 0x0679, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPEXTRD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*138E*/ { 0x044B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*138F*/ { 0x044C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1390*/ { 0x044D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F3A   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1391*/ { 0x044E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F3A   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1392*/ { 0x067A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1393*/ { 0x067B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPEXTRQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1394*/ { 0x044F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1395*/ { 0x0450, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x16, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1396*/ { 0x067C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1397*/ { 0x067D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x16, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPEXTRW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1398*/ { 0x0451, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1399*/ { 0x0452, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x15, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*139A*/ { 0x0453, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x15, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*139B*/ { 0x067E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*139C*/ { 0x067F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*139D*/ { 0x0680, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPGATHERDD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*139E*/ { 0x0454, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x90, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*139F*/ { 0x0455, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x90, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13A0*/ { 0x0681, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x90, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13A1*/ { 0x0682, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x90, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*13A2*/ { 0x0683, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x90, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*13A3*/ { 0x0119, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x90, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPGATHERDQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13A4*/ { 0x0456, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x90, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*13A5*/ { 0x0457, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x90, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*13A6*/ { 0x0684, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x90, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*13A7*/ { 0x0685, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x90, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*13A8*/ { 0x0686, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x90, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*13A9*/ { 0x011A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x90, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPGATHERQD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13AA*/ { 0x0458, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x91, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*13AB*/ { 0x0459, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x91, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13AC*/ { 0x0687, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x91, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13AD*/ { 0x0688, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x91, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*13AE*/ { 0x0689, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x91, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPGATHERQQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13AF*/ { 0x045A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x91, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*13B0*/ { 0x045B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x91, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*13B1*/ { 0x068A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x91, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*13B2*/ { 0x068B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x91, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*13B3*/ { 0x068C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x91, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDBD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13B4*/ { 0x0052, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC2, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13B5*/ { 0x0053, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC2, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDBQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13B6*/ { 0x0054, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC3, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13B7*/ { 0x0055, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC3, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDBW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13B8*/ { 0x0056, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC1, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13B9*/ { 0x0057, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC1, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13BA*/ { 0x045C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x02, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13BB*/ { 0x045D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x02, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13BC*/ { 0x045E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x02, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*13BD*/ { 0x045F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x02, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDDQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13BE*/ { 0x0058, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xCB, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13BF*/ { 0x0059, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xCB, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDSW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13C0*/ { 0x0460, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x03, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13C1*/ { 0x0461, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x03, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13C2*/ { 0x0462, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x03, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*13C3*/ { 0x0463, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x03, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDUBD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13C4*/ { 0x005A, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xD2, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13C5*/ { 0x005B, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xD2, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDUBQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13C6*/ { 0x005C, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xD3, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13C7*/ { 0x005D, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xD3, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDUBW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13C8*/ { 0x005E, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xD1, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13C9*/ { 0x005F, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xD1, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDUDQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13CA*/ { 0x0060, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xDB, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13CB*/ { 0x0061, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xDB, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDUWD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13CC*/ { 0x0062, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xD6, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13CD*/ { 0x0063, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xD6, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDUWQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13CE*/ { 0x0064, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xD7, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13CF*/ { 0x0065, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xD7, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13D0*/ { 0x0464, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x01, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13D1*/ { 0x0465, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x01, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13D2*/ { 0x0466, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x01, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*13D3*/ { 0x0467, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x01, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDWD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13D4*/ { 0x0066, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC6, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13D5*/ { 0x0067, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC6, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHADDWQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13D6*/ { 0x0068, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC7, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13D7*/ { 0x0069, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC7, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHMINPOSUW                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13D8*/ { 0x0468, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x41, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13D9*/ { 0x0469, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x41, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13DA*/ { 0x046A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x41, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*13DB*/ { 0x046B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x41, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHSUBBW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13DC*/ { 0x006A, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xE1, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13DD*/ { 0x006B, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xE1, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHSUBD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13DE*/ { 0x046C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x06, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13DF*/ { 0x046D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x06, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13E0*/ { 0x046E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x06, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*13E1*/ { 0x046F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x06, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHSUBDQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13E2*/ { 0x006C, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xE3, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13E3*/ { 0x006D, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xE3, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHSUBSW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13E4*/ { 0x0470, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x07, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13E5*/ { 0x0471, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x07, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13E6*/ { 0x0472, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x07, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*13E7*/ { 0x0473, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x07, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHSUBW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13E8*/ { 0x0474, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x05, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13E9*/ { 0x0475, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x05, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13EA*/ { 0x0476, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x05, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*13EB*/ { 0x0477, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x05, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPHSUBWD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13EC*/ { 0x006E, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xE2, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13ED*/ { 0x006F, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xE2, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPINSRB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13EE*/ { 0x0478, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x20, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13EF*/ { 0x0479, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x20, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13F0*/ { 0x068D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x20, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13F1*/ { 0x068E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x20, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPINSRD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13F2*/ { 0x047A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x22, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13F3*/ { 0x047B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x22, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13F4*/ { 0x047C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x22, ZYDIS_OPCODE_MAP_0F3A   , 0x03, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13F5*/ { 0x047D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x22, ZYDIS_OPCODE_MAP_0F3A   , 0x03, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13F6*/ { 0x068F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13F7*/ { 0x0690, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPINSRQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13F8*/ { 0x047E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x22, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*13F9*/ { 0x047F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x22, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*13FA*/ { 0x0691, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*13FB*/ { 0x0692, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F3A   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPINSRW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*13FC*/ { 0x0480, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13FD*/ { 0x0481, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13FE*/ { 0x0693, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*13FF*/ { 0x0694, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPLZCNTD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1400*/ { 0x0695, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x44, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1401*/ { 0x0696, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x44, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1402*/ { 0x0697, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x44, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1403*/ { 0x0698, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x44, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1404*/ { 0x0699, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x44, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1405*/ { 0x069A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x44, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPLZCNTQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1406*/ { 0x069B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x44, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1407*/ { 0x069C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x44, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1408*/ { 0x069D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x44, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1409*/ { 0x069E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x44, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*140A*/ { 0x069F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x44, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*140B*/ { 0x06A0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x44, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMACSDD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*140C*/ { 0x0070, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x9E, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*140D*/ { 0x0071, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x9E, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMACSDQH                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*140E*/ { 0x0072, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x9F, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*140F*/ { 0x0073, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x9F, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMACSDQL                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1410*/ { 0x0074, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x97, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1411*/ { 0x0075, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x97, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMACSSDD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1412*/ { 0x0076, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x8E, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1413*/ { 0x0077, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x8E, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMACSSDQH                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1414*/ { 0x0078, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x8F, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1415*/ { 0x0079, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x8F, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMACSSDQL                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1416*/ { 0x007A, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x87, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1417*/ { 0x007B, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x87, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMACSSWD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1418*/ { 0x007C, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x86, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1419*/ { 0x007D, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x86, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMACSSWW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*141A*/ { 0x007E, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x85, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*141B*/ { 0x007F, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x85, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMACSWD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*141C*/ { 0x0080, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x96, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*141D*/ { 0x0081, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x96, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMACSWW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*141E*/ { 0x0082, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x95, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*141F*/ { 0x0083, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x95, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMADCSSWD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1420*/ { 0x0084, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xA6, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1421*/ { 0x0085, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xA6, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMADCSWD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1422*/ { 0x0086, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xB6, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1423*/ { 0x0087, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xB6, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMADD231D                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1424*/ { 0x011B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xB5, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1425*/ { 0x011C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xB5, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1426*/ { 0x011D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xB5, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMADD233D                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1427*/ { 0x011E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xB4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1428*/ { 0x011F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xB4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1429*/ { 0x0120, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xB4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMADD52HUQ                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*142A*/ { 0x06A1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB5, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*142B*/ { 0x06A2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB5, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*142C*/ { 0x06A3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB5, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*142D*/ { 0x06A4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB5, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*142E*/ { 0x06A5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB5, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*142F*/ { 0x06A6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB5, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMADD52LUQ                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1430*/ { 0x06A7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1431*/ { 0x06A8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1432*/ { 0x06A9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1433*/ { 0x06AA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1434*/ { 0x06AB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1435*/ { 0x06AC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xB4, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMADDUBSW                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1436*/ { 0x0482, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x04, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1437*/ { 0x0483, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x04, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1438*/ { 0x0484, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x04, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1439*/ { 0x0485, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x04, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*143A*/ { 0x06AD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x04, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*143B*/ { 0x06AE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x04, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*143C*/ { 0x06AF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x04, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*143D*/ { 0x06B0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x04, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*143E*/ { 0x06B1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x04, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*143F*/ { 0x06B2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x04, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMADDWD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1440*/ { 0x0486, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1441*/ { 0x0487, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1442*/ { 0x0488, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1443*/ { 0x0489, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1444*/ { 0x06B3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1445*/ { 0x06B4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1446*/ { 0x06B5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1447*/ { 0x06B6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1448*/ { 0x06B7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1449*/ { 0x06B8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMASKMOVD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*144A*/ { 0x048A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x8C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*144B*/ { 0x048B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x8C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*144C*/ { 0x048C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x8E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*144D*/ { 0x048D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x8E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMASKMOVQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*144E*/ { 0x048E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x8C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*144F*/ { 0x048F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x8C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1450*/ { 0x0490, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x8E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1451*/ { 0x0491, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x8E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMAXSB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1452*/ { 0x0492, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1453*/ { 0x0493, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1454*/ { 0x0494, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1455*/ { 0x0495, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1456*/ { 0x06B9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1457*/ { 0x06BA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1458*/ { 0x06BB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1459*/ { 0x06BC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*145A*/ { 0x06BD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*145B*/ { 0x06BE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMAXSD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*145C*/ { 0x0496, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*145D*/ { 0x0497, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*145E*/ { 0x0498, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*145F*/ { 0x0499, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1460*/ { 0x06BF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1461*/ { 0x06C0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1462*/ { 0x06C1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1463*/ { 0x06C2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1464*/ { 0x06C3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1465*/ { 0x06C4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1466*/ { 0x0121, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1467*/ { 0x0122, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1468*/ { 0x0123, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMAXSQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1469*/ { 0x06C5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*146A*/ { 0x06C6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*146B*/ { 0x06C7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*146C*/ { 0x06C8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*146D*/ { 0x06C9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*146E*/ { 0x06CA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMAXSW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*146F*/ { 0x049A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1470*/ { 0x049B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1471*/ { 0x049C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1472*/ { 0x049D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1473*/ { 0x06CB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1474*/ { 0x06CC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1475*/ { 0x06CD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1476*/ { 0x06CE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1477*/ { 0x06CF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1478*/ { 0x06D0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMAXUB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1479*/ { 0x049E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*147A*/ { 0x049F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*147B*/ { 0x04A0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*147C*/ { 0x04A1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*147D*/ { 0x06D1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*147E*/ { 0x06D2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*147F*/ { 0x06D3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1480*/ { 0x06D4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1481*/ { 0x06D5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1482*/ { 0x06D6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMAXUD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1483*/ { 0x04A2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1484*/ { 0x04A3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1485*/ { 0x04A4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1486*/ { 0x04A5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1487*/ { 0x06D7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1488*/ { 0x06D8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1489*/ { 0x06D9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*148A*/ { 0x06DA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*148B*/ { 0x06DB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*148C*/ { 0x06DC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*148D*/ { 0x0124, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*148E*/ { 0x0125, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*148F*/ { 0x0126, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMAXUQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1490*/ { 0x06DD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1491*/ { 0x06DE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1492*/ { 0x06DF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1493*/ { 0x06E0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1494*/ { 0x06E1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1495*/ { 0x06E2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMAXUW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1496*/ { 0x04A6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1497*/ { 0x04A7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1498*/ { 0x04A8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1499*/ { 0x04A9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*149A*/ { 0x06E3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*149B*/ { 0x06E4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*149C*/ { 0x06E5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*149D*/ { 0x06E6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*149E*/ { 0x06E7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*149F*/ { 0x06E8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMINSB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*14A0*/ { 0x04AA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14A1*/ { 0x04AB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14A2*/ { 0x04AC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14A3*/ { 0x04AD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14A4*/ { 0x06E9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14A5*/ { 0x06EA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14A6*/ { 0x06EB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14A7*/ { 0x06EC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14A8*/ { 0x06ED, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*14A9*/ { 0x06EE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMINSD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*14AA*/ { 0x04AE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14AB*/ { 0x04AF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14AC*/ { 0x04B0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14AD*/ { 0x04B1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14AE*/ { 0x06EF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14AF*/ { 0x06F0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14B0*/ { 0x06F1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14B1*/ { 0x06F2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14B2*/ { 0x06F3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*14B3*/ { 0x06F4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*14B4*/ { 0x0127, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14B5*/ { 0x0128, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*14B6*/ { 0x0129, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMINSQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*14B7*/ { 0x06F5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*14B8*/ { 0x06F6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*14B9*/ { 0x06F7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*14BA*/ { 0x06F8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*14BB*/ { 0x06F9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*14BC*/ { 0x06FA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMINSW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*14BD*/ { 0x04B2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14BE*/ { 0x04B3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14BF*/ { 0x04B4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14C0*/ { 0x04B5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14C1*/ { 0x06FB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14C2*/ { 0x06FC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14C3*/ { 0x06FD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14C4*/ { 0x06FE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14C5*/ { 0x06FF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*14C6*/ { 0x0700, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMINUB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*14C7*/ { 0x04B6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14C8*/ { 0x04B7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14C9*/ { 0x04B8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14CA*/ { 0x04B9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xDA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14CB*/ { 0x0701, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14CC*/ { 0x0702, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14CD*/ { 0x0703, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14CE*/ { 0x0704, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14CF*/ { 0x0705, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*14D0*/ { 0x0706, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xDA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMINUD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*14D1*/ { 0x04BA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14D2*/ { 0x04BB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14D3*/ { 0x04BC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14D4*/ { 0x04BD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14D5*/ { 0x0707, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14D6*/ { 0x0708, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14D7*/ { 0x0709, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14D8*/ { 0x070A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14D9*/ { 0x070B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*14DA*/ { 0x070C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*14DB*/ { 0x012A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14DC*/ { 0x012B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*14DD*/ { 0x012C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMINUQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*14DE*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*14DF*/ { 0x070E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*14E0*/ { 0x070F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*14E1*/ { 0x0710, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*14E2*/ { 0x0711, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*14E3*/ { 0x0712, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMINUW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*14E4*/ { 0x04BE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14E5*/ { 0x04BF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14E6*/ { 0x04C0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14E7*/ { 0x04C1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14E8*/ { 0x0713, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14E9*/ { 0x0714, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14EA*/ { 0x0715, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14EB*/ { 0x0716, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14EC*/ { 0x0717, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*14ED*/ { 0x0718, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x3A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVB2M                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*14EE*/ { 0x0719, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14EF*/ { 0x071A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14F0*/ { 0x071B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVD2M                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*14F1*/ { 0x071C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14F2*/ { 0x071D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14F3*/ { 0x071E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVDB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*14F4*/ { 0x071F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14F5*/ { 0x0720, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14F6*/ { 0x0721, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14F7*/ { 0x0722, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14F8*/ { 0x0723, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*14F9*/ { 0x0724, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVDW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*14FA*/ { 0x0725, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14FB*/ { 0x0726, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*14FC*/ { 0x0727, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14FD*/ { 0x0728, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*14FE*/ { 0x0729, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*14FF*/ { 0x072A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVM2B                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1500*/ { 0x072B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1501*/ { 0x072C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1502*/ { 0x072D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVM2D                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1503*/ { 0x072E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1504*/ { 0x072F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1505*/ { 0x0730, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVM2Q                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1506*/ { 0x0731, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1507*/ { 0x0732, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1508*/ { 0x0733, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x38, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVM2W                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1509*/ { 0x0734, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*150A*/ { 0x0735, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*150B*/ { 0x0736, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVMSKB                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*150C*/ { 0x04C2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*150D*/ { 0x04C3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVQ2M                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*150E*/ { 0x0737, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*150F*/ { 0x0738, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1510*/ { 0x0739, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x39, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVQB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1511*/ { 0x073A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1512*/ { 0x073B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1513*/ { 0x073C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1514*/ { 0x073D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1515*/ { 0x073E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1516*/ { 0x073F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVQD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1517*/ { 0x0740, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1518*/ { 0x0741, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1519*/ { 0x0742, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*151A*/ { 0x0743, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*151B*/ { 0x0744, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*151C*/ { 0x0745, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVQW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*151D*/ { 0x0746, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*151E*/ { 0x0747, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*151F*/ { 0x0748, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1520*/ { 0x0749, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1521*/ { 0x074A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1522*/ { 0x074B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVSDB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1523*/ { 0x074C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1524*/ { 0x074D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1525*/ { 0x074E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1526*/ { 0x074F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1527*/ { 0x0750, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1528*/ { 0x0751, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVSDW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1529*/ { 0x0752, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*152A*/ { 0x0753, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*152B*/ { 0x0754, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*152C*/ { 0x0755, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*152D*/ { 0x0756, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*152E*/ { 0x0757, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVSQB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*152F*/ { 0x0758, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1530*/ { 0x0759, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1531*/ { 0x075A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1532*/ { 0x075B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1533*/ { 0x075C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1534*/ { 0x075D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVSQD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1535*/ { 0x075E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1536*/ { 0x075F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1537*/ { 0x0760, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1538*/ { 0x0761, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1539*/ { 0x0762, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*153A*/ { 0x0763, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVSQW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*153B*/ { 0x0764, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*153C*/ { 0x0765, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*153D*/ { 0x0766, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*153E*/ { 0x0767, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*153F*/ { 0x0768, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1540*/ { 0x0769, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVSWB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1541*/ { 0x076A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1542*/ { 0x076B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1543*/ { 0x076C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1544*/ { 0x076D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1545*/ { 0x076E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1546*/ { 0x076F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVSXBD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1547*/ { 0x04C4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1548*/ { 0x04C5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1549*/ { 0x04C6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*154A*/ { 0x04C7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*154B*/ { 0x0770, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*154C*/ { 0x0771, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*154D*/ { 0x0772, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*154E*/ { 0x0773, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*154F*/ { 0x0774, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1550*/ { 0x0775, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x21, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVSXBQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1551*/ { 0x04C8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1552*/ { 0x04C9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1553*/ { 0x04CA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1554*/ { 0x04CB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1555*/ { 0x0776, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1556*/ { 0x0777, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1557*/ { 0x0778, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1558*/ { 0x0779, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1559*/ { 0x077A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*155A*/ { 0x077B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x22, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVSXBW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*155B*/ { 0x04CC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*155C*/ { 0x04CD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*155D*/ { 0x04CE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*155E*/ { 0x04CF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*155F*/ { 0x077C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1560*/ { 0x077D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1561*/ { 0x077E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1562*/ { 0x077F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1563*/ { 0x0780, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1564*/ { 0x0781, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x20, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVSXDQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1565*/ { 0x04D0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1566*/ { 0x04D1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1567*/ { 0x04D2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1568*/ { 0x04D3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1569*/ { 0x0782, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*156A*/ { 0x0783, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*156B*/ { 0x0784, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*156C*/ { 0x0785, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*156D*/ { 0x0786, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*156E*/ { 0x0787, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVSXWD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*156F*/ { 0x04D4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1570*/ { 0x04D5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1571*/ { 0x04D6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1572*/ { 0x04D7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1573*/ { 0x0788, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1574*/ { 0x0789, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1575*/ { 0x078A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1576*/ { 0x078B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1577*/ { 0x078C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1578*/ { 0x078D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVSXWQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1579*/ { 0x04D8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*157A*/ { 0x04D9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*157B*/ { 0x04DA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*157C*/ { 0x04DB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*157D*/ { 0x078E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*157E*/ { 0x078F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*157F*/ { 0x0790, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1580*/ { 0x0791, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1581*/ { 0x0792, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1582*/ { 0x0793, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x24, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVUSDB                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1583*/ { 0x0794, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1584*/ { 0x0795, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1585*/ { 0x0796, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1586*/ { 0x0797, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1587*/ { 0x0798, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1588*/ { 0x0799, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVUSDW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1589*/ { 0x079A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*158A*/ { 0x079B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*158B*/ { 0x079C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*158C*/ { 0x079D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*158D*/ { 0x079E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*158E*/ { 0x079F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x13, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVUSQB                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*158F*/ { 0x07A0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1590*/ { 0x07A1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1591*/ { 0x07A2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1592*/ { 0x07A3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1593*/ { 0x07A4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1594*/ { 0x07A5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVUSQD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1595*/ { 0x07A6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1596*/ { 0x07A7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1597*/ { 0x07A8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1598*/ { 0x07A9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1599*/ { 0x07AA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*159A*/ { 0x07AB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVUSQW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*159B*/ { 0x07AC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*159C*/ { 0x07AD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*159D*/ { 0x07AE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*159E*/ { 0x07AF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*159F*/ { 0x07B0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*15A0*/ { 0x07B1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVUSWB                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*15A1*/ { 0x07B2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15A2*/ { 0x07B3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15A3*/ { 0x07B4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15A4*/ { 0x07B5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15A5*/ { 0x07B6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*15A6*/ { 0x07B7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVW2M                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*15A7*/ { 0x07B8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*15A8*/ { 0x07B9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*15A9*/ { 0x07BA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x29, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVWB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*15AA*/ { 0x07BB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15AB*/ { 0x07BC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15AC*/ { 0x07BD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15AD*/ { 0x07BE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15AE*/ { 0x07BF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*15AF*/ { 0x07C0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVZXBD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*15B0*/ { 0x04DC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15B1*/ { 0x04DD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15B2*/ { 0x04DE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15B3*/ { 0x04DF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15B4*/ { 0x07C1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15B5*/ { 0x07C2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15B6*/ { 0x07C3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15B7*/ { 0x07C4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15B8*/ { 0x07C5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*15B9*/ { 0x07C6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x31, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVZXBQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*15BA*/ { 0x04E0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15BB*/ { 0x04E1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15BC*/ { 0x04E2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15BD*/ { 0x04E3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15BE*/ { 0x07C7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15BF*/ { 0x07C8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15C0*/ { 0x07C9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15C1*/ { 0x07CA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15C2*/ { 0x07CB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*15C3*/ { 0x07CC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x32, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVZXBW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*15C4*/ { 0x04E4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15C5*/ { 0x04E5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15C6*/ { 0x04E6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15C7*/ { 0x04E7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15C8*/ { 0x07CD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15C9*/ { 0x07CE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15CA*/ { 0x07CF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15CB*/ { 0x07D0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15CC*/ { 0x07D1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*15CD*/ { 0x07D2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x30, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVZXDQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*15CE*/ { 0x04E8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15CF*/ { 0x04E9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15D0*/ { 0x04EA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15D1*/ { 0x04EB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15D2*/ { 0x07D3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15D3*/ { 0x07D4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15D4*/ { 0x07D5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15D5*/ { 0x07D6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15D6*/ { 0x07D7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*15D7*/ { 0x07D8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x35, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVZXWD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*15D8*/ { 0x04EC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15D9*/ { 0x04ED, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15DA*/ { 0x04EE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15DB*/ { 0x04EF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15DC*/ { 0x07D9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15DD*/ { 0x07DA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15DE*/ { 0x07DB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15DF*/ { 0x07DC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15E0*/ { 0x07DD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*15E1*/ { 0x07DE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x33, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMOVZXWQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*15E2*/ { 0x04F0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15E3*/ { 0x04F1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15E4*/ { 0x04F2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15E5*/ { 0x04F3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15E6*/ { 0x07DF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15E7*/ { 0x07E0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15E8*/ { 0x07E1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15E9*/ { 0x07E2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15EA*/ { 0x07E3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*15EB*/ { 0x07E4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x34, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMULDQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*15EC*/ { 0x04F4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15ED*/ { 0x04F5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15EE*/ { 0x04F6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15EF*/ { 0x04F7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15F0*/ { 0x07E5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*15F1*/ { 0x07E6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*15F2*/ { 0x07E7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*15F3*/ { 0x07E8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*15F4*/ { 0x07E9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*15F5*/ { 0x07EA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x28, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMULHD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*15F6*/ { 0x012D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x87, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15F7*/ { 0x012E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x87, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*15F8*/ { 0x012F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x87, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMULHRSW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*15F9*/ { 0x04F8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15FA*/ { 0x04F9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15FB*/ { 0x04FA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15FC*/ { 0x04FB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*15FD*/ { 0x07EB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15FE*/ { 0x07EC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*15FF*/ { 0x07ED, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1600*/ { 0x07EE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1601*/ { 0x07EF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1602*/ { 0x07F0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0B, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMULHUD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1603*/ { 0x0130, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x86, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1604*/ { 0x0131, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x86, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1605*/ { 0x0132, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x86, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMULHUW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1606*/ { 0x04FC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1607*/ { 0x04FD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1608*/ { 0x04FE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1609*/ { 0x04FF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*160A*/ { 0x07F1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*160B*/ { 0x07F2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*160C*/ { 0x07F3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*160D*/ { 0x07F4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*160E*/ { 0x07F5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*160F*/ { 0x07F6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMULHW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1610*/ { 0x0500, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1611*/ { 0x0501, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1612*/ { 0x0502, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1613*/ { 0x0503, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1614*/ { 0x07F7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1615*/ { 0x07F8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1616*/ { 0x07F9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1617*/ { 0x07FA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1618*/ { 0x07FB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1619*/ { 0x07FC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMULLD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*161A*/ { 0x0504, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*161B*/ { 0x0505, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*161C*/ { 0x0506, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*161D*/ { 0x0507, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*161E*/ { 0x07FD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*161F*/ { 0x07FE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1620*/ { 0x07FF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1621*/ { 0x0800, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1622*/ { 0x0801, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1623*/ { 0x0802, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1624*/ { 0x0133, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1625*/ { 0x0134, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1626*/ { 0x0135, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMULLQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1627*/ { 0x0803, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1628*/ { 0x0804, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1629*/ { 0x0805, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*162A*/ { 0x0806, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*162B*/ { 0x0807, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*162C*/ { 0x0808, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x40, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMULLW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*162D*/ { 0x0508, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*162E*/ { 0x0509, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*162F*/ { 0x050A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1630*/ { 0x050B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1631*/ { 0x0809, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1632*/ { 0x080A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1633*/ { 0x080B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1634*/ { 0x080C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1635*/ { 0x080D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1636*/ { 0x080E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD5, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMULTISHIFTQB                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1637*/ { 0x080F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x83, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1638*/ { 0x0810, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x83, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1639*/ { 0x0811, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x83, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*163A*/ { 0x0812, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x83, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*163B*/ { 0x0813, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x83, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*163C*/ { 0x0814, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x83, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPMULUDQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*163D*/ { 0x050C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*163E*/ { 0x050D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*163F*/ { 0x050E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1640*/ { 0x050F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1641*/ { 0x0815, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1642*/ { 0x0816, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1643*/ { 0x0817, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1644*/ { 0x0818, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1645*/ { 0x0819, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1646*/ { 0x081A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF4, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPOPCNTD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1647*/ { 0x081B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1648*/ { 0x081C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPOPCNTQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1649*/ { 0x081D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*164A*/ { 0x081E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x55, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPOR                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*164B*/ { 0x0510, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*164C*/ { 0x0511, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*164D*/ { 0x0512, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*164E*/ { 0x0513, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPORD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*164F*/ { 0x081F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1650*/ { 0x0820, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1651*/ { 0x0821, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1652*/ { 0x0822, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1653*/ { 0x0823, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1654*/ { 0x0824, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1655*/ { 0x0136, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1656*/ { 0x0137, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1657*/ { 0x0138, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPORQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1658*/ { 0x0825, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1659*/ { 0x0826, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*165A*/ { 0x0827, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*165B*/ { 0x0828, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*165C*/ { 0x0829, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*165D*/ { 0x082A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*165E*/ { 0x0139, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*165F*/ { 0x013A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*1660*/ { 0x013B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xEB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPPERM                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1661*/ { 0x0088, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xA3, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1662*/ { 0x0089, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xA3, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1663*/ { 0x008A, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xA3, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1664*/ { 0x008B, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xA3, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPREFETCH0                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1665*/ { 0x0514, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1666*/ { 0x013C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPREFETCH1                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1667*/ { 0x0515, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1668*/ { 0x013D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPREFETCH2                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1669*/ { 0x0516, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*166A*/ { 0x013E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPREFETCHE0                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*166B*/ { 0x0517, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*166C*/ { 0x013F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPREFETCHE1                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*166D*/ { 0x0518, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*166E*/ { 0x0140, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPREFETCHE2                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*166F*/ { 0x0519, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1670*/ { 0x0141, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPREFETCHENTA                                                                              */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1671*/ { 0x051A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1672*/ { 0x0142, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPREFETCHNTA                                                                               */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1673*/ { 0x051B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1674*/ { 0x0143, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x18, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPROLD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1675*/ { 0x082B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1676*/ { 0x082C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1677*/ { 0x082D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1678*/ { 0x082E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1679*/ { 0x082F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*167A*/ { 0x0830, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPROLQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*167B*/ { 0x0831, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*167C*/ { 0x0832, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*167D*/ { 0x0833, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*167E*/ { 0x0834, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*167F*/ { 0x0835, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1680*/ { 0x0836, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x02, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPROLVD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1681*/ { 0x0837, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1682*/ { 0x0838, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1683*/ { 0x0839, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1684*/ { 0x083A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1685*/ { 0x083B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1686*/ { 0x083C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPROLVQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1687*/ { 0x083D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1688*/ { 0x083E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1689*/ { 0x083F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*168A*/ { 0x0840, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*168B*/ { 0x0841, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*168C*/ { 0x0842, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPRORD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*168D*/ { 0x0843, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*168E*/ { 0x0844, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*168F*/ { 0x0845, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1690*/ { 0x0846, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1691*/ { 0x0847, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1692*/ { 0x0848, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPRORQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1693*/ { 0x0849, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1694*/ { 0x084A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1695*/ { 0x084B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1696*/ { 0x084C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1697*/ { 0x084D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1698*/ { 0x084E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x01, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPRORVD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1699*/ { 0x084F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*169A*/ { 0x0850, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*169B*/ { 0x0851, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*169C*/ { 0x0852, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*169D*/ { 0x0853, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*169E*/ { 0x0854, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPRORVQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*169F*/ { 0x0855, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16A0*/ { 0x0856, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16A1*/ { 0x0857, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*16A2*/ { 0x0858, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*16A3*/ { 0x0859, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*16A4*/ { 0x085A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPROTB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16A5*/ { 0x008C, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC0, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16A6*/ { 0x008D, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC0, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16A7*/ { 0x008E, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x90, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16A8*/ { 0x008F, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x90, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16A9*/ { 0x0090, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x90, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16AA*/ { 0x0091, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x90, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPROTD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16AB*/ { 0x0092, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC2, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16AC*/ { 0x0093, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC2, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16AD*/ { 0x0094, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x92, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16AE*/ { 0x0095, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x92, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16AF*/ { 0x0096, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x92, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16B0*/ { 0x0097, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x92, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPROTQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16B1*/ { 0x0098, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC3, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16B2*/ { 0x0099, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC3, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16B3*/ { 0x009A, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x93, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16B4*/ { 0x009B, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x93, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16B5*/ { 0x009C, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x93, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16B6*/ { 0x009D, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x93, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPROTW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16B7*/ { 0x009E, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC1, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16B8*/ { 0x009F, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0xC1, ZYDIS_OPCODE_MAP_XOP8   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16B9*/ { 0x00A0, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x91, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16BA*/ { 0x00A1, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x91, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16BB*/ { 0x00A2, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x91, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16BC*/ { 0x00A3, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x91, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSADBW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16BD*/ { 0x051C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16BE*/ { 0x051D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16BF*/ { 0x051E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*16C0*/ { 0x051F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*16C1*/ { 0x085B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16C2*/ { 0x085C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16C3*/ { 0x085D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*16C4*/ { 0x085E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*16C5*/ { 0x085F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*16C6*/ { 0x0860, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSBBD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16C7*/ { 0x0144, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16C8*/ { 0x0145, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*16C9*/ { 0x0146, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSBBRD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16CA*/ { 0x0147, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16CB*/ { 0x0148, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*16CC*/ { 0x0149, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSCATTERDD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16CD*/ { 0x0861, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16CE*/ { 0x0862, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*16CF*/ { 0x0863, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*16D0*/ { 0x014A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xA0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSCATTERDQ                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16D1*/ { 0x0864, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16D2*/ { 0x0865, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*16D3*/ { 0x0866, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*16D4*/ { 0x014B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xA0, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSCATTERQD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16D5*/ { 0x0867, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA1, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16D6*/ { 0x0868, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA1, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*16D7*/ { 0x0869, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA1, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSCATTERQQ                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16D8*/ { 0x086A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA1, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16D9*/ { 0x086B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA1, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*16DA*/ { 0x086C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA1, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSHAB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16DB*/ { 0x00A4, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x98, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16DC*/ { 0x00A5, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x98, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16DD*/ { 0x00A6, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x98, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16DE*/ { 0x00A7, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x98, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSHAD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16DF*/ { 0x00A8, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x9A, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16E0*/ { 0x00A9, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x9A, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16E1*/ { 0x00AA, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x9A, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16E2*/ { 0x00AB, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x9A, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSHAQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16E3*/ { 0x00AC, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x9B, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16E4*/ { 0x00AD, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x9B, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16E5*/ { 0x00AE, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x9B, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16E6*/ { 0x00AF, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x9B, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSHAW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16E7*/ { 0x00B0, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x99, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16E8*/ { 0x00B1, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x99, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16E9*/ { 0x00B2, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x99, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16EA*/ { 0x00B3, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x99, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSHLB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16EB*/ { 0x00B4, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x94, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16EC*/ { 0x00B5, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x94, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16ED*/ { 0x00B6, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x94, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16EE*/ { 0x00B7, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x94, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSHLD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16EF*/ { 0x00B8, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x96, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16F0*/ { 0x00B9, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x96, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16F1*/ { 0x00BA, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x96, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16F2*/ { 0x00BB, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x96, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSHLQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16F3*/ { 0x00BC, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x97, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16F4*/ { 0x00BD, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x97, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16F5*/ { 0x00BE, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x97, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16F6*/ { 0x00BF, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x97, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSHLW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16F7*/ { 0x00C0, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x95, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16F8*/ { 0x00C1, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x95, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16F9*/ { 0x00C2, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x95, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*16FA*/ { 0x00C3, ZYDIS_INSTRUCTION_ENCODING_XOP    , 0x95, ZYDIS_OPCODE_MAP_XOP9   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSHUFB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*16FB*/ { 0x0520, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x00, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16FC*/ { 0x0521, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x00, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*16FD*/ { 0x0522, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x00, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*16FE*/ { 0x0523, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x00, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*16FF*/ { 0x086D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x00, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1700*/ { 0x086E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x00, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1701*/ { 0x086F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x00, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1702*/ { 0x0870, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x00, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1703*/ { 0x0871, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x00, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1704*/ { 0x0872, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x00, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSHUFD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1705*/ { 0x0524, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1706*/ { 0x0525, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1707*/ { 0x0526, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1708*/ { 0x0527, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1709*/ { 0x0873, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*170A*/ { 0x0874, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*170B*/ { 0x0875, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*170C*/ { 0x0876, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*170D*/ { 0x0877, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*170E*/ { 0x0878, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*170F*/ { 0x014C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1710*/ { 0x014D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*1711*/ { 0x014E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSHUFHW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1712*/ { 0x0528, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1713*/ { 0x0529, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1714*/ { 0x052A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1715*/ { 0x052B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1716*/ { 0x0879, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1717*/ { 0x087A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1718*/ { 0x087B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1719*/ { 0x087C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*171A*/ { 0x087D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*171B*/ { 0x087E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSHUFLW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*171C*/ { 0x052C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*171D*/ { 0x052D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*171E*/ { 0x052E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*171F*/ { 0x052F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1720*/ { 0x087F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1721*/ { 0x0880, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1722*/ { 0x0881, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1723*/ { 0x0882, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1724*/ { 0x0883, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1725*/ { 0x0884, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x70, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSIGNB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1726*/ { 0x0530, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x08, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1727*/ { 0x0531, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x08, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1728*/ { 0x0532, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x08, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1729*/ { 0x0533, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x08, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSIGND                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*172A*/ { 0x0534, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*172B*/ { 0x0535, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*172C*/ { 0x0536, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*172D*/ { 0x0537, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0A, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSIGNW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*172E*/ { 0x0538, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x09, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*172F*/ { 0x0539, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x09, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1730*/ { 0x053A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x09, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1731*/ { 0x053B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x09, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSLLD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1732*/ { 0x053C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1733*/ { 0x053D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1734*/ { 0x053E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1735*/ { 0x053F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1736*/ { 0x0540, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1737*/ { 0x0541, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1738*/ { 0x0885, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1739*/ { 0x0886, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*173A*/ { 0x0887, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*173B*/ { 0x0888, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*173C*/ { 0x0889, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*173D*/ { 0x088A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*173E*/ { 0x088B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*173F*/ { 0x088C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1740*/ { 0x088D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1741*/ { 0x088E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1742*/ { 0x088F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1743*/ { 0x0890, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1744*/ { 0x014F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1745*/ { 0x0150, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*1746*/ { 0x0151, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSLLDQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1747*/ { 0x0542, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1748*/ { 0x0543, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1749*/ { 0x0891, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*174A*/ { 0x0892, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*174B*/ { 0x0893, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*174C*/ { 0x0894, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*174D*/ { 0x0895, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*174E*/ { 0x0896, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x80, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSLLQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*174F*/ { 0x0544, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1750*/ { 0x0545, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1751*/ { 0x0546, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1752*/ { 0x0547, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1753*/ { 0x0548, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1754*/ { 0x0549, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1755*/ { 0x0897, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1756*/ { 0x0898, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1757*/ { 0x0899, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1758*/ { 0x089A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1759*/ { 0x089B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*175A*/ { 0x089C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*175B*/ { 0x089D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*175C*/ { 0x089E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*175D*/ { 0x089F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*175E*/ { 0x08A0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*175F*/ { 0x08A1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1760*/ { 0x08A2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSLLVD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1761*/ { 0x054A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1762*/ { 0x054B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1763*/ { 0x054C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1764*/ { 0x054D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1765*/ { 0x08A3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1766*/ { 0x08A4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1767*/ { 0x08A5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1768*/ { 0x08A6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1769*/ { 0x08A7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*176A*/ { 0x08A8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*176B*/ { 0x0152, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*176C*/ { 0x0153, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*176D*/ { 0x0154, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSLLVQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*176E*/ { 0x054E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*176F*/ { 0x054F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1770*/ { 0x0550, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1771*/ { 0x0551, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1772*/ { 0x08A9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1773*/ { 0x08AA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1774*/ { 0x08AB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1775*/ { 0x08AC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1776*/ { 0x08AD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1777*/ { 0x08AE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x47, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSLLVW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1778*/ { 0x08AF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1779*/ { 0x08B0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*177A*/ { 0x08B1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*177B*/ { 0x08B2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*177C*/ { 0x08B3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*177D*/ { 0x08B4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x12, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSLLW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*177E*/ { 0x0552, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*177F*/ { 0x0553, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1780*/ { 0x0554, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1781*/ { 0x0555, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1782*/ { 0x0556, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1783*/ { 0x0557, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1784*/ { 0x08B5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1785*/ { 0x08B6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1786*/ { 0x08B7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1787*/ { 0x08B8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1788*/ { 0x08B9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1789*/ { 0x08BA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*178A*/ { 0x08BB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*178B*/ { 0x08BC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*178C*/ { 0x08BD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*178D*/ { 0x08BE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*178E*/ { 0x08BF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*178F*/ { 0x08C0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSRAD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1790*/ { 0x0558, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1791*/ { 0x0559, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1792*/ { 0x055A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1793*/ { 0x055B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1794*/ { 0x055C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1795*/ { 0x055D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1796*/ { 0x08C1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1797*/ { 0x08C2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1798*/ { 0x08C3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1799*/ { 0x08C4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*179A*/ { 0x08C5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*179B*/ { 0x08C6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*179C*/ { 0x08C7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*179D*/ { 0x08C8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*179E*/ { 0x08C9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*179F*/ { 0x08CA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17A0*/ { 0x08CB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*17A1*/ { 0x08CC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*17A2*/ { 0x0155, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*17A3*/ { 0x0156, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*17A4*/ { 0x0157, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSRAQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*17A5*/ { 0x08CD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*17A6*/ { 0x08CE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*17A7*/ { 0x08CF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*17A8*/ { 0x08D0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*17A9*/ { 0x08D1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*17AA*/ { 0x08D2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*17AB*/ { 0x08D3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*17AC*/ { 0x08D4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*17AD*/ { 0x08D5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*17AE*/ { 0x08D6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*17AF*/ { 0x08D7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*17B0*/ { 0x08D8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSRAVD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*17B1*/ { 0x055E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17B2*/ { 0x055F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17B3*/ { 0x0560, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17B4*/ { 0x0561, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17B5*/ { 0x08D9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17B6*/ { 0x08DA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17B7*/ { 0x08DB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17B8*/ { 0x08DC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17B9*/ { 0x08DD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*17BA*/ { 0x08DE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*17BB*/ { 0x0158, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17BC*/ { 0x0159, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*17BD*/ { 0x015A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSRAVQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*17BE*/ { 0x08DF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*17BF*/ { 0x08E0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*17C0*/ { 0x08E1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*17C1*/ { 0x08E2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*17C2*/ { 0x08E3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*17C3*/ { 0x08E4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x46, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSRAVW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*17C4*/ { 0x08E5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*17C5*/ { 0x08E6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*17C6*/ { 0x08E7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*17C7*/ { 0x08E8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*17C8*/ { 0x08E9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*17C9*/ { 0x08EA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x11, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSRAW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*17CA*/ { 0x0562, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17CB*/ { 0x0563, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17CC*/ { 0x0564, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17CD*/ { 0x0565, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17CE*/ { 0x0566, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17CF*/ { 0x0567, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17D0*/ { 0x08EB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17D1*/ { 0x08EC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17D2*/ { 0x08ED, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17D3*/ { 0x08EE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17D4*/ { 0x08EF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*17D5*/ { 0x08F0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*17D6*/ { 0x08F1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17D7*/ { 0x08F2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17D8*/ { 0x08F3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17D9*/ { 0x08F4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17DA*/ { 0x08F5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*17DB*/ { 0x08F6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSRLD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*17DC*/ { 0x0568, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17DD*/ { 0x0569, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17DE*/ { 0x056A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17DF*/ { 0x056B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17E0*/ { 0x056C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17E1*/ { 0x056D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17E2*/ { 0x08F7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17E3*/ { 0x08F8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17E4*/ { 0x08F9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17E5*/ { 0x08FA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17E6*/ { 0x08FB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*17E7*/ { 0x08FC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*17E8*/ { 0x08FD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17E9*/ { 0x08FE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17EA*/ { 0x08FF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17EB*/ { 0x0900, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17EC*/ { 0x0901, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*17ED*/ { 0x0902, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD2, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*17EE*/ { 0x015B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*17EF*/ { 0x015C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*17F0*/ { 0x015D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x72, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSRLDQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*17F1*/ { 0x056E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17F2*/ { 0x056F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17F3*/ { 0x0903, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17F4*/ { 0x0904, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17F5*/ { 0x0905, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17F6*/ { 0x0906, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17F7*/ { 0x0907, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*17F8*/ { 0x0908, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSRLQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*17F9*/ { 0x0570, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17FA*/ { 0x0571, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17FB*/ { 0x0572, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17FC*/ { 0x0573, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*17FD*/ { 0x0574, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17FE*/ { 0x0575, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*17FF*/ { 0x0909, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1800*/ { 0x090A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1801*/ { 0x090B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1802*/ { 0x090C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1803*/ { 0x090D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1804*/ { 0x090E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x73, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1805*/ { 0x090F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1806*/ { 0x0910, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1807*/ { 0x0911, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1808*/ { 0x0912, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1809*/ { 0x0913, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*180A*/ { 0x0914, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD3, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSRLVD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*180B*/ { 0x0576, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*180C*/ { 0x0577, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*180D*/ { 0x0578, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*180E*/ { 0x0579, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*180F*/ { 0x0915, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1810*/ { 0x0916, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1811*/ { 0x0917, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1812*/ { 0x0918, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1813*/ { 0x0919, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1814*/ { 0x091A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1815*/ { 0x015E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1816*/ { 0x015F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*1817*/ { 0x0160, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSRLVQ                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1818*/ { 0x057A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1819*/ { 0x057B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*181A*/ { 0x057C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*181B*/ { 0x057D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*181C*/ { 0x091B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*181D*/ { 0x091C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*181E*/ { 0x091D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*181F*/ { 0x091E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1820*/ { 0x091F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1821*/ { 0x0920, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x45, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSRLVW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1822*/ { 0x0921, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1823*/ { 0x0922, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1824*/ { 0x0923, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1825*/ { 0x0924, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1826*/ { 0x0925, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1827*/ { 0x0926, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x10, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSRLW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1828*/ { 0x057E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1829*/ { 0x057F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*182A*/ { 0x0580, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*182B*/ { 0x0581, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*182C*/ { 0x0582, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*182D*/ { 0x0583, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*182E*/ { 0x0927, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*182F*/ { 0x0928, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1830*/ { 0x0929, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1831*/ { 0x092A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1832*/ { 0x092B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1833*/ { 0x092C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x71, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1834*/ { 0x092D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1835*/ { 0x092E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1836*/ { 0x092F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1837*/ { 0x0930, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1838*/ { 0x0931, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1839*/ { 0x0932, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSUBB                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*183A*/ { 0x0584, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*183B*/ { 0x0585, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*183C*/ { 0x0586, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*183D*/ { 0x0587, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*183E*/ { 0x0933, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*183F*/ { 0x0934, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1840*/ { 0x0935, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1841*/ { 0x0936, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1842*/ { 0x0937, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1843*/ { 0x0938, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSUBD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1844*/ { 0x0588, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1845*/ { 0x0589, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1846*/ { 0x058A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1847*/ { 0x058B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1848*/ { 0x0939, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1849*/ { 0x093A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*184A*/ { 0x093B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*184B*/ { 0x093C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*184C*/ { 0x093D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*184D*/ { 0x093E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*184E*/ { 0x0161, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*184F*/ { 0x0162, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1850*/ { 0x0163, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xFA, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSUBQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1851*/ { 0x058C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1852*/ { 0x058D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1853*/ { 0x058E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1854*/ { 0x058F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xFB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1855*/ { 0x093F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1856*/ { 0x0940, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1857*/ { 0x0941, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1858*/ { 0x0942, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1859*/ { 0x0943, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*185A*/ { 0x0944, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xFB, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSUBRD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*185B*/ { 0x0164, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*185C*/ { 0x0165, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*185D*/ { 0x0166, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSUBRSETBD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*185E*/ { 0x0167, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*185F*/ { 0x0168, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1860*/ { 0x0169, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSUBSB                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1861*/ { 0x0590, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1862*/ { 0x0591, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1863*/ { 0x0592, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1864*/ { 0x0593, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1865*/ { 0x0945, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1866*/ { 0x0946, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1867*/ { 0x0947, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1868*/ { 0x0948, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1869*/ { 0x0949, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*186A*/ { 0x094A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSUBSETBD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*186B*/ { 0x016A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*186C*/ { 0x016B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*186D*/ { 0x016C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSUBSW                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*186E*/ { 0x0594, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*186F*/ { 0x0595, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1870*/ { 0x0596, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1871*/ { 0x0597, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xE9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1872*/ { 0x094B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1873*/ { 0x094C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1874*/ { 0x094D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1875*/ { 0x094E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1876*/ { 0x094F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1877*/ { 0x0950, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xE9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSUBUSB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1878*/ { 0x0598, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1879*/ { 0x0599, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*187A*/ { 0x059A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*187B*/ { 0x059B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*187C*/ { 0x0951, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*187D*/ { 0x0952, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*187E*/ { 0x0953, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*187F*/ { 0x0954, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1880*/ { 0x0955, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1881*/ { 0x0956, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD8, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSUBUSW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1882*/ { 0x059C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1883*/ { 0x059D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1884*/ { 0x059E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1885*/ { 0x059F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xD9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1886*/ { 0x0957, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1887*/ { 0x0958, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1888*/ { 0x0959, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1889*/ { 0x095A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*188A*/ { 0x095B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*188B*/ { 0x095C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xD9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPSUBW                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*188C*/ { 0x05A0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*188D*/ { 0x05A1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*188E*/ { 0x05A2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*188F*/ { 0x05A3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xF9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1890*/ { 0x095D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1891*/ { 0x095E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1892*/ { 0x095F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1893*/ { 0x0960, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1894*/ { 0x0961, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1895*/ { 0x0962, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xF9, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPTERNLOGD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1896*/ { 0x0963, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1897*/ { 0x0964, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1898*/ { 0x0965, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1899*/ { 0x0966, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*189A*/ { 0x0967, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*189B*/ { 0x0968, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPTERNLOGQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*189C*/ { 0x0969, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*189D*/ { 0x096A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*189E*/ { 0x096B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*189F*/ { 0x096C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*18A0*/ { 0x096D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*18A1*/ { 0x096E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x25, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPTEST                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*18A2*/ { 0x05A4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x17, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18A3*/ { 0x05A5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x17, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18A4*/ { 0x05A6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x17, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18A5*/ { 0x05A7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x17, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPTESTMB                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*18A6*/ { 0x096F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18A7*/ { 0x0970, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18A8*/ { 0x0971, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18A9*/ { 0x0972, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18AA*/ { 0x0973, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*18AB*/ { 0x0974, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPTESTMD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*18AC*/ { 0x0975, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18AD*/ { 0x0976, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18AE*/ { 0x0977, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18AF*/ { 0x0978, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18B0*/ { 0x0979, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*18B1*/ { 0x097A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*18B2*/ { 0x016D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18B3*/ { 0x016E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*18B4*/ { 0x016F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPTESTMQ                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*18B5*/ { 0x097B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*18B6*/ { 0x097C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*18B7*/ { 0x097D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*18B8*/ { 0x097E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*18B9*/ { 0x097F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*18BA*/ { 0x0980, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPTESTMW                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*18BB*/ { 0x0981, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*18BC*/ { 0x0982, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*18BD*/ { 0x0983, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*18BE*/ { 0x0984, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*18BF*/ { 0x0985, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*18C0*/ { 0x0986, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPTESTNMB                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*18C1*/ { 0x0987, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18C2*/ { 0x0988, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18C3*/ { 0x0989, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18C4*/ { 0x098A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18C5*/ { 0x098B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*18C6*/ { 0x098C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPTESTNMD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*18C7*/ { 0x098D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18C8*/ { 0x098E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18C9*/ { 0x098F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18CA*/ { 0x0990, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18CB*/ { 0x0991, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*18CC*/ { 0x0992, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPTESTNMQ                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*18CD*/ { 0x0993, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*18CE*/ { 0x0994, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*18CF*/ { 0x0995, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*18D0*/ { 0x0996, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*18D1*/ { 0x0997, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*18D2*/ { 0x0998, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x27, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPTESTNMW                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*18D3*/ { 0x0999, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*18D4*/ { 0x099A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*18D5*/ { 0x099B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*18D6*/ { 0x099C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*18D7*/ { 0x099D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*18D8*/ { 0x099E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x26, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPUNPCKHBW                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*18D9*/ { 0x05A8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x68, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18DA*/ { 0x05A9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x68, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18DB*/ { 0x05AA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x68, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18DC*/ { 0x05AB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x68, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18DD*/ { 0x099F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x68, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18DE*/ { 0x09A0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x68, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18DF*/ { 0x09A1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x68, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18E0*/ { 0x09A2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x68, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18E1*/ { 0x09A3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x68, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*18E2*/ { 0x09A4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x68, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPUNPCKHDQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*18E3*/ { 0x05AC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18E4*/ { 0x05AD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18E5*/ { 0x05AE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18E6*/ { 0x05AF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18E7*/ { 0x09A5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18E8*/ { 0x09A6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18E9*/ { 0x09A7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18EA*/ { 0x09A8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18EB*/ { 0x09A9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*18EC*/ { 0x09AA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6A, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPUNPCKHQDQ                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*18ED*/ { 0x05B0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18EE*/ { 0x05B1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18EF*/ { 0x05B2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18F0*/ { 0x05B3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18F1*/ { 0x09AB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*18F2*/ { 0x09AC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*18F3*/ { 0x09AD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*18F4*/ { 0x09AE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*18F5*/ { 0x09AF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*18F6*/ { 0x09B0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6D, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPUNPCKHWD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*18F7*/ { 0x05B4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x69, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18F8*/ { 0x05B5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x69, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18F9*/ { 0x05B6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x69, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18FA*/ { 0x05B7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x69, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18FB*/ { 0x09B1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x69, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18FC*/ { 0x09B2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x69, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*18FD*/ { 0x09B3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x69, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18FE*/ { 0x09B4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x69, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*18FF*/ { 0x09B5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x69, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1900*/ { 0x09B6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x69, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPUNPCKLBW                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1901*/ { 0x05B8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x60, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1902*/ { 0x05B9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x60, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1903*/ { 0x05BA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x60, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1904*/ { 0x05BB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x60, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1905*/ { 0x09B7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x60, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1906*/ { 0x09B8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x60, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1907*/ { 0x09B9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x60, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1908*/ { 0x09BA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x60, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1909*/ { 0x09BB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x60, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*190A*/ { 0x09BC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x60, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPUNPCKLDQ                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*190B*/ { 0x05BC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x62, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*190C*/ { 0x05BD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x62, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*190D*/ { 0x05BE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x62, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*190E*/ { 0x05BF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x62, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*190F*/ { 0x09BD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x62, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1910*/ { 0x09BE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x62, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1911*/ { 0x09BF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x62, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1912*/ { 0x09C0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x62, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1913*/ { 0x09C1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x62, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1914*/ { 0x09C2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x62, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPUNPCKLQDQ                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1915*/ { 0x05C0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1916*/ { 0x05C1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1917*/ { 0x05C2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1918*/ { 0x05C3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x6C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1919*/ { 0x09C3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*191A*/ { 0x09C4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*191B*/ { 0x09C5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*191C*/ { 0x09C6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*191D*/ { 0x09C7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*191E*/ { 0x09C8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x6C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPUNPCKLWD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*191F*/ { 0x05C4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x61, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1920*/ { 0x05C5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x61, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1921*/ { 0x05C6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x61, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1922*/ { 0x05C7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x61, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1923*/ { 0x09C9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x61, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1924*/ { 0x09CA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x61, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1925*/ { 0x09CB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x61, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1926*/ { 0x09CC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x61, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1927*/ { 0x09CD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x61, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1928*/ { 0x09CE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x61, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPXOR                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1929*/ { 0x05C8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*192A*/ { 0x05C9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*192B*/ { 0x05CA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*192C*/ { 0x05CB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPXORD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*192D*/ { 0x09CF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*192E*/ { 0x09D0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*192F*/ { 0x09D1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1930*/ { 0x09D2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1931*/ { 0x09D3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1932*/ { 0x09D4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1933*/ { 0x0170, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1934*/ { 0x0171, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1935*/ { 0x0172, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VPXORQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1936*/ { 0x09D5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1937*/ { 0x09D6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1938*/ { 0x09D7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1939*/ { 0x09D8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*193A*/ { 0x09D9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*193B*/ { 0x09DA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*193C*/ { 0x0173, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*193D*/ { 0x0174, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*193E*/ { 0x0175, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xEF, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRANGEPD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*193F*/ { 0x09DB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x50, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1940*/ { 0x09DC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x50, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1941*/ { 0x09DD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x50, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1942*/ { 0x09DE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x50, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1943*/ { 0x09DF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x50, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1944*/ { 0x09E0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x50, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*1945*/ { 0x09E1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x50, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRANGEPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1946*/ { 0x09E2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x50, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1947*/ { 0x09E3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x50, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1948*/ { 0x09E4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x50, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1949*/ { 0x09E5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x50, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*194A*/ { 0x09E6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x50, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*194B*/ { 0x09E7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x50, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*194C*/ { 0x09E8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x50, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRANGESD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*194D*/ { 0x09E9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*194E*/ { 0x09EA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*194F*/ { 0x09EB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRANGESS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1950*/ { 0x09EC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1951*/ { 0x09ED, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*1952*/ { 0x09EE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRCP14PD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1953*/ { 0x09EF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1954*/ { 0x09F0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1955*/ { 0x09F1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1956*/ { 0x09F2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1957*/ { 0x09F3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1958*/ { 0x09F4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRCP14PS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1959*/ { 0x09F5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*195A*/ { 0x09F6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*195B*/ { 0x09F7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*195C*/ { 0x09F8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*195D*/ { 0x09F9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*195E*/ { 0x09FA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRCP14SD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*195F*/ { 0x09FB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1960*/ { 0x09FC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRCP14SS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1961*/ { 0x09FD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1962*/ { 0x09FE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRCP23PS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1963*/ { 0x0176, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1964*/ { 0x0177, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*1965*/ { 0x0178, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRCP28PD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1966*/ { 0x09FF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1967*/ { 0x0A00, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*1968*/ { 0x0A01, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRCP28PS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1969*/ { 0x0A02, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*196A*/ { 0x0A03, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*196B*/ { 0x0A04, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCA, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRCP28SD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*196C*/ { 0x0A05, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*196D*/ { 0x0A06, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*196E*/ { 0x0A07, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRCP28SS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*196F*/ { 0x0A08, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1970*/ { 0x0A09, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*1971*/ { 0x0A0A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRCPPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1972*/ { 0x05CC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x53, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1973*/ { 0x05CD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x53, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1974*/ { 0x05CE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x53, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1975*/ { 0x05CF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x53, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRCPSS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1976*/ { 0x05D0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x53, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1977*/ { 0x05D1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x53, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VREDUCEPD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1978*/ { 0x0A0B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1979*/ { 0x0A0C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*197A*/ { 0x0A0D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*197B*/ { 0x0A0E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*197C*/ { 0x0A0F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*197D*/ { 0x0A10, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*197E*/ { 0x0A11, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VREDUCEPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*197F*/ { 0x0A12, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1980*/ { 0x0A13, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1981*/ { 0x0A14, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1982*/ { 0x0A15, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1983*/ { 0x0A16, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1984*/ { 0x0A17, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*1985*/ { 0x0A18, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x56, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VREDUCESD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1986*/ { 0x0A19, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1987*/ { 0x0A1A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*1988*/ { 0x0A1B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VREDUCESS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1989*/ { 0x0A1C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*198A*/ { 0x0A1D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*198B*/ { 0x0A1E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRNDFXPNTPD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*198C*/ { 0x0179, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x52, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*198D*/ { 0x017A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x52, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /*198E*/ { 0x017B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x52, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRNDFXPNTPS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*198F*/ { 0x017C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x52, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1990*/ { 0x017D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x52, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*1991*/ { 0x017E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x52, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRNDSCALEPD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1992*/ { 0x0A1F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x09, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1993*/ { 0x0A20, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x09, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1994*/ { 0x0A21, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x09, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1995*/ { 0x0A22, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x09, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1996*/ { 0x0A23, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x09, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1997*/ { 0x0A24, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x09, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*1998*/ { 0x0A25, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x09, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRNDSCALEPS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1999*/ { 0x0A26, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x08, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*199A*/ { 0x0A27, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x08, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*199B*/ { 0x0A28, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x08, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*199C*/ { 0x0A29, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x08, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*199D*/ { 0x0A2A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x08, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*199E*/ { 0x0A2B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x08, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*199F*/ { 0x0A2C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x08, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRNDSCALESD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19A0*/ { 0x0A2D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*19A1*/ { 0x0A2E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*19A2*/ { 0x0A2F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRNDSCALESS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19A3*/ { 0x0A30, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19A4*/ { 0x0A31, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*19A5*/ { 0x0A32, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x0A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VROUNDPD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19A6*/ { 0x05D2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x09, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19A7*/ { 0x05D3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x09, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19A8*/ { 0x05D4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x09, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*19A9*/ { 0x05D5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x09, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VROUNDPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19AA*/ { 0x05D6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x08, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19AB*/ { 0x05D7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x08, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19AC*/ { 0x05D8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x08, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*19AD*/ { 0x05D9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x08, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VROUNDSD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19AE*/ { 0x05DA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19AF*/ { 0x05DB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0B, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VROUNDSS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19B0*/ { 0x05DC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19B1*/ { 0x05DD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0A, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRSQRT14PD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19B2*/ { 0x0A33, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*19B3*/ { 0x0A34, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*19B4*/ { 0x0A35, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*19B5*/ { 0x0A36, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*19B6*/ { 0x0A37, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*19B7*/ { 0x0A38, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRSQRT14PS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19B8*/ { 0x0A39, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19B9*/ { 0x0A3A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19BA*/ { 0x0A3B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*19BB*/ { 0x0A3C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*19BC*/ { 0x0A3D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*19BD*/ { 0x0A3E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRSQRT14SD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19BE*/ { 0x0A3F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*19BF*/ { 0x0A40, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRSQRT14SS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19C0*/ { 0x0A41, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19C1*/ { 0x0A42, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x4F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRSQRT23PS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19C2*/ { 0x017F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19C3*/ { 0x0180, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /*19C4*/ { 0x0181, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xCB, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRSQRT28PD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19C5*/ { 0x0A43, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*19C6*/ { 0x0A44, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*19C7*/ { 0x0A45, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRSQRT28PS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19C8*/ { 0x0A46, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*19C9*/ { 0x0A47, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*19CA*/ { 0x0A48, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCC, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRSQRT28SD                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19CB*/ { 0x0A49, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*19CC*/ { 0x0A4A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*19CD*/ { 0x0A4B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRSQRT28SS                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19CE*/ { 0x0A4C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19CF*/ { 0x0A4D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*19D0*/ { 0x0A4E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xCD, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRSQRTPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19D1*/ { 0x05DE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x52, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19D2*/ { 0x05DF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x52, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19D3*/ { 0x05E0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x52, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*19D4*/ { 0x05E1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x52, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VRSQRTSS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19D5*/ { 0x05E2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x52, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19D6*/ { 0x05E3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x52, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCALEFPD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19D7*/ { 0x0A4F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*19D8*/ { 0x0A50, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*19D9*/ { 0x0A51, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*19DA*/ { 0x0A52, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*19DB*/ { 0x0A53, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*19DC*/ { 0x0A54, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*19DD*/ { 0x0A55, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCALEFPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19DE*/ { 0x0A56, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19DF*/ { 0x0A57, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19E0*/ { 0x0A58, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*19E1*/ { 0x0A59, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*19E2*/ { 0x0A5A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*19E3*/ { 0x0A5B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*19E4*/ { 0x0A5C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2C, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCALEFSD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19E5*/ { 0x0A5D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*19E6*/ { 0x0A5E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*19E7*/ { 0x0A5F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCALEFSS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19E8*/ { 0x0A60, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19E9*/ { 0x0A61, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*19EA*/ { 0x0A62, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCALEPS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19EB*/ { 0x0182, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x84, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19EC*/ { 0x0183, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x84, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*19ED*/ { 0x0184, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x84, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCATTERDPD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19EE*/ { 0x0A63, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA2, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*19EF*/ { 0x0A64, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA2, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*19F0*/ { 0x0A65, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA2, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*19F1*/ { 0x0185, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xA2, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCATTERDPS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19F2*/ { 0x0A66, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA2, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*19F3*/ { 0x0A67, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA2, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*19F4*/ { 0x0A68, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA2, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*19F5*/ { 0x0186, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xA2, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCATTERPF0DPD                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19F6*/ { 0x0A69, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCATTERPF0DPS                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19F7*/ { 0x0A6A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*19F8*/ { 0x0187, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCATTERPF0HINTDPD                                                                         */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19F9*/ { 0x0188, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCATTERPF0HINTDPS                                                                         */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19FA*/ { 0x0189, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCATTERPF0QPD                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19FB*/ { 0x0A6B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCATTERPF0QPS                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19FC*/ { 0x0A6C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCATTERPF1DPD                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19FD*/ { 0x0A6D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCATTERPF1DPS                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*19FE*/ { 0x0A6E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*19FF*/ { 0x018A, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_TRUE , 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCATTERPF1QPD                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A00*/ { 0x0A6F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCATTERPF1QPS                                                                             */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A01*/ { 0x0A70, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC7, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCATTERQPD                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A02*/ { 0x0A71, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA3, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1A03*/ { 0x0A72, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA3, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1A04*/ { 0x0A73, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA3, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSCATTERQPS                                                                                */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A05*/ { 0x0A74, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA3, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A06*/ { 0x0A75, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA3, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A07*/ { 0x0A76, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xA3, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x06, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0x10, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSHUFF32X4                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A08*/ { 0x0A77, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A09*/ { 0x0A78, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A0A*/ { 0x0A79, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1A0B*/ { 0x0A7A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSHUFF64X2                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A0C*/ { 0x0A7B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1A0D*/ { 0x0A7C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1A0E*/ { 0x0A7D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1A0F*/ { 0x0A7E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x23, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSHUFI32X4                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A10*/ { 0x0A7F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x43, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A11*/ { 0x0A80, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x43, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A12*/ { 0x0A81, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x43, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1A13*/ { 0x0A82, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x43, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSHUFI64X2                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A14*/ { 0x0A83, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x43, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1A15*/ { 0x0A84, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x43, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1A16*/ { 0x0A85, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x43, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1A17*/ { 0x0A86, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x43, ZYDIS_OPCODE_MAP_0F3A   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSHUFPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A18*/ { 0x05E4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A19*/ { 0x05E5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A1A*/ { 0x05E6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A1B*/ { 0x05E7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A1C*/ { 0x0A87, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1A1D*/ { 0x0A88, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1A1E*/ { 0x0A89, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1A1F*/ { 0x0A8A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1A20*/ { 0x0A8B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1A21*/ { 0x0A8C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSHUFPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A22*/ { 0x05E8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A23*/ { 0x05E9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A24*/ { 0x05EA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A25*/ { 0x05EB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A26*/ { 0x0A8D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A27*/ { 0x0A8E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A28*/ { 0x0A8F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A29*/ { 0x0A90, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A2A*/ { 0x0A91, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1A2B*/ { 0x0A92, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0xC6, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSQRTPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A2C*/ { 0x05EC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A2D*/ { 0x05ED, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A2E*/ { 0x05EE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A2F*/ { 0x05EF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A30*/ { 0x0A93, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1A31*/ { 0x0A94, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1A32*/ { 0x0A95, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1A33*/ { 0x0A96, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1A34*/ { 0x0A97, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1A35*/ { 0x0A98, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*1A36*/ { 0x0A99, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSQRTPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A37*/ { 0x05F0, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A38*/ { 0x05F1, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A39*/ { 0x05F2, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A3A*/ { 0x05F3, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A3B*/ { 0x0A9A, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A3C*/ { 0x0A9B, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A3D*/ { 0x0A9C, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A3E*/ { 0x0A9D, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A3F*/ { 0x0A9E, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1A40*/ { 0x0A9F, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*1A41*/ { 0x0AA0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSQRTSD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A42*/ { 0x05F4, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A43*/ { 0x05F5, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A44*/ { 0x0AA1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1A45*/ { 0x0AA2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*1A46*/ { 0x0AA3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSQRTSS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A47*/ { 0x05F6, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A48*/ { 0x05F7, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A49*/ { 0x0AA4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A4A*/ { 0x0AA5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*1A4B*/ { 0x0AA6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x51, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSTMXCSR                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A4C*/ { 0x05F8, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSUBPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A4D*/ { 0x05F9, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A4E*/ { 0x05FA, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A4F*/ { 0x05FB, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A50*/ { 0x05FC, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A51*/ { 0x0AA7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1A52*/ { 0x0AA8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1A53*/ { 0x0AA9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1A54*/ { 0x0AAA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1A55*/ { 0x0AAB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1A56*/ { 0x0AAC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*1A57*/ { 0x0AAD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1A58*/ { 0x018B, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1A59*/ { 0x018C, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*1A5A*/ { 0x018D, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSUBPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A5B*/ { 0x05FD, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A5C*/ { 0x05FE, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A5D*/ { 0x05FF, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A5E*/ { 0x0600, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A5F*/ { 0x0AAE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A60*/ { 0x0AAF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A61*/ { 0x0AB0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A62*/ { 0x0AB1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A63*/ { 0x0AB2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1A64*/ { 0x0AB3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*1A65*/ { 0x0AB4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1A66*/ { 0x018E, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A67*/ { 0x018F, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1A68*/ { 0x0190, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSUBRPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A69*/ { 0x0191, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1A6A*/ { 0x0192, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x01 },
+    /*1A6B*/ { 0x0193, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSUBRPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A6C*/ { 0x0194, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A6D*/ { 0x0195, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x01 },
+    /*1A6E*/ { 0x0196, ZYDIS_INSTRUCTION_ENCODING_MVEX   , 0x6D, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x02 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSUBSD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A6F*/ { 0x0601, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A70*/ { 0x0602, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A71*/ { 0x0AB5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1A72*/ { 0x0AB6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*1A73*/ { 0x0AB7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x03, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VSUBSS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A74*/ { 0x0603, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A75*/ { 0x0604, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A76*/ { 0x0AB8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A77*/ { 0x0AB9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*1A78*/ { 0x0ABA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x5C, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VTESTPD                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A79*/ { 0x0605, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A7A*/ { 0x0606, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A7B*/ { 0x0607, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A7C*/ { 0x0608, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0F, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VTESTPS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A7D*/ { 0x0609, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A7E*/ { 0x060A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A7F*/ { 0x060B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A80*/ { 0x060C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x0E, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VUCOMISD                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A81*/ { 0x060D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A82*/ { 0x060E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A83*/ { 0x0ABB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1A84*/ { 0x0ABC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x01, 0x03 },
+    /*1A85*/ { 0x0ABD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VUCOMISS                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A86*/ { 0x060F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A87*/ { 0x0610, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x2E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A88*/ { 0x0ABE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A89*/ { 0x0ABF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x01, 0x03 },
+    /*1A8A*/ { 0x0AC0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x2E, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VUNPCKHPD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A8B*/ { 0x0611, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A8C*/ { 0x0612, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A8D*/ { 0x0613, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A8E*/ { 0x0614, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A8F*/ { 0x0AC1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1A90*/ { 0x0AC2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1A91*/ { 0x0AC3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1A92*/ { 0x0AC4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1A93*/ { 0x0AC5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1A94*/ { 0x0AC6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VUNPCKHPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A95*/ { 0x0615, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A96*/ { 0x0616, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A97*/ { 0x0617, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A98*/ { 0x0618, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A99*/ { 0x0AC7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A9A*/ { 0x0AC8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1A9B*/ { 0x0AC9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A9C*/ { 0x0ACA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1A9D*/ { 0x0ACB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1A9E*/ { 0x0ACC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x15, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VUNPCKLPD                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1A9F*/ { 0x0619, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AA0*/ { 0x061A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AA1*/ { 0x061B, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1AA2*/ { 0x061C, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1AA3*/ { 0x0ACD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1AA4*/ { 0x0ACE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1AA5*/ { 0x0ACF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1AA6*/ { 0x0AD0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1AA7*/ { 0x0AD1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1AA8*/ { 0x0AD2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VUNPCKLPS                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AA9*/ { 0x061D, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AAA*/ { 0x061E, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AAB*/ { 0x061F, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1AAC*/ { 0x0620, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1AAD*/ { 0x0AD3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AAE*/ { 0x0AD4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AAF*/ { 0x0AD5, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1AB0*/ { 0x0AD6, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1AB1*/ { 0x0AD7, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1AB2*/ { 0x0AD8, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x14, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VXORPD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AB3*/ { 0x0621, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AB4*/ { 0x0622, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AB5*/ { 0x0623, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1AB6*/ { 0x0624, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1AB7*/ { 0x0AD9, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1AB8*/ { 0x0ADA, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /*1AB9*/ { 0x0ADB, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1ABA*/ { 0x0ADC, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x01, 0x01, 0x03, 0x00, 0x03 },
+    /*1ABB*/ { 0x0ADD, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /*1ABC*/ { 0x0ADE, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x02, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VXORPS                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1ABD*/ { 0x0625, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1ABE*/ { 0x0626, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1ABF*/ { 0x0627, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1AC0*/ { 0x0628, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1AC1*/ { 0x0ADF, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AC2*/ { 0x0AE0, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AC3*/ { 0x0AE1, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1AC4*/ { 0x0AE2, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /*1AC5*/ { 0x0AE3, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /*1AC6*/ { 0x0AE4, ZYDIS_INSTRUCTION_ENCODING_EVEX   , 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x02, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VZEROALL                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AC7*/ { 0x0629, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x77, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x01, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* VZEROUPPER                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AC8*/ { 0x062A, ZYDIS_INSTRUCTION_ENCODING_VEX    , 0x77, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* WBINVD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AC9*/ { 0x06F9, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x09, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* WRFSBASE                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1ACA*/ { 0x06FA, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* WRGSBASE                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1ACB*/ { 0x06FB, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x04, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x02, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* WRMSR                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1ACC*/ { 0x06FC, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x30, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* WRPKRU                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1ACD*/ { 0x06FD, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x20, ZYDIS_TRUE , 0x80, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* WRSSD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1ACE*/ { 0x06FE, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* WRSSQ                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1ACF*/ { 0x06FF, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF6, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* WRUSSD                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AD0*/ { 0x0700, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* WRUSSQ                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AD1*/ { 0x0701, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xF5, ZYDIS_OPCODE_MAP_0F38   , 0x04, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XABORT                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AD2*/ { 0x0702, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC6, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XADD                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AD3*/ { 0x0703, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AD4*/ { 0x0704, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC0, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AD5*/ { 0x0705, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AD6*/ { 0x0706, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC1, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XBEGIN                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AD7*/ { 0x0707, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x80, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XCHG                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AD8*/ { 0x0708, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x86, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AD9*/ { 0x0709, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x86, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1ADA*/ { 0x070A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x87, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1ADB*/ { 0x070B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x87, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1ADC*/ { 0x070C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x90, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x02, 0x00, 0x03 },
+    /*1ADD*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x91, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1ADE*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x92, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1ADF*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x93, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AE0*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x94, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AE1*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x95, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AE2*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x96, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AE3*/ { 0x070D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x97, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XEND                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AE4*/ { 0x070E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x20, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XGETBV                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AE5*/ { 0x070F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XLAT                                                                                       */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AE6*/ { 0x0710, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xD7, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XOR                                                                                        */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AE7*/ { 0x0711, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x30, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AE8*/ { 0x0712, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x30, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AE9*/ { 0x0713, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x31, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AEA*/ { 0x0714, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x31, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AEB*/ { 0x0715, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x32, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AEC*/ { 0x0716, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x32, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AED*/ { 0x0717, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x33, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AEE*/ { 0x0718, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x33, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AEF*/ { 0x0719, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x34, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AF0*/ { 0x071A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x35, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x0F, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AF1*/ { 0x071B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AF2*/ { 0x071C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x80, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AF3*/ { 0x071D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AF4*/ { 0x071E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x81, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AF5*/ { 0x071F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AF6*/ { 0x0720, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x82, ZYDIS_OPCODE_MAP_DEFAULT, 0x03, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AF7*/ { 0x0721, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AF8*/ { 0x0722, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x83, ZYDIS_OPCODE_MAP_DEFAULT, 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XORPD                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AF9*/ { 0x0723, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AFA*/ { 0x0724, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x01, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XORPS                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AFB*/ { 0x0725, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /*1AFC*/ { 0x0726, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x57, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_FALSE, 0xFF, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XRSTOR                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AFD*/ { 0x0727, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XRSTOR64                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AFE*/ { 0x0728, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XRSTORS                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1AFF*/ { 0x0729, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XRSTORS64                                                                                  */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1B00*/ { 0x072A, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x08, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XSAVE                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1B01*/ { 0x072B, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XSAVE64                                                                                    */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1B02*/ { 0x072C, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XSAVEC                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1B03*/ { 0x072D, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XSAVEC64                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1B04*/ { 0x072E, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x10, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XSAVEOPT                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1B05*/ { 0x072F, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XSAVEOPT64                                                                                 */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1B06*/ { 0x0730, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xAE, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x40, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XSAVES                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1B07*/ { 0x0731, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XSAVES64                                                                                   */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1B08*/ { 0x0732, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0xC7, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x07, ZYDIS_TRUE , 0x20, ZYDIS_FALSE, 0xFF, 0x00, 0x00, 0x01, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XSETBV                                                                                     */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1B09*/ { 0x0733, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 },
+    /* ------------------------------------------------------------------------------------------ */
+    /* XTEST                                                                                      */ 
+    /* ------------------------------------------------------------------------------------------ */
+    /*1B0A*/ { 0x0734, ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x01, ZYDIS_OPCODE_MAP_0F     , 0x07, 0x07, 0x07, 0x08, ZYDIS_TRUE , 0x04, ZYDIS_TRUE , 0x40, 0x00, 0x00, 0x00, 0x03, 0x00, 0x03 }
+};
diff --git a/external/zydis/src/Generated/EnumISAExt.inc b/external/zydis/src/Generated/EnumISAExt.inc
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Generated/EnumISAExt.inc
@@ -0,0 +1,77 @@
+static const char* STR_ISAEXT[] =
+{
+    "INVALID",
+    "ADOX_ADCX",
+    "AES",
+    "AMD3DNOW",
+    "AVX",
+    "AVX2",
+    "AVX2GATHER",
+    "AVX512EVEX",
+    "AVX512VEX",
+    "AVXAES",
+    "BASE",
+    "BMI1",
+    "BMI2",
+    "CET",
+    "CLDEMOTE",
+    "CLFLUSHOPT",
+    "CLFSH",
+    "CLWB",
+    "CLZERO",
+    "ENQCMD",
+    "F16C",
+    "FMA",
+    "FMA4",
+    "GFNI",
+    "INVPCID",
+    "KNC",
+    "KNCE",
+    "KNCV",
+    "LONGMODE",
+    "LZCNT",
+    "MMX",
+    "MONITOR",
+    "MONITORX",
+    "MOVBE",
+    "MOVDIR",
+    "MPX",
+    "PADLOCK",
+    "PAUSE",
+    "PCLMULQDQ",
+    "PCONFIG",
+    "PKU",
+    "PREFETCHWT1",
+    "PT",
+    "RDPID",
+    "RDPRU",
+    "RDRAND",
+    "RDSEED",
+    "RDTSCP",
+    "RDWRFSGS",
+    "RTM",
+    "SGX",
+    "SGX_ENCLV",
+    "SHA",
+    "SMAP",
+    "SMX",
+    "SSE",
+    "SSE2",
+    "SSE3",
+    "SSE4",
+    "SSE4A",
+    "SSSE3",
+    "SVM",
+    "TBM",
+    "VAES",
+    "VMFUNC",
+    "VPCLMULQDQ",
+    "VTX",
+    "WAITPKG",
+    "X87",
+    "XOP",
+    "XSAVE",
+    "XSAVEC",
+    "XSAVEOPT",
+    "XSAVES"
+};
diff --git a/external/zydis/src/Generated/EnumISASet.inc b/external/zydis/src/Generated/EnumISASet.inc
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Generated/EnumISASet.inc
@@ -0,0 +1,166 @@
+static const char* STR_ISASET[] =
+{
+    "INVALID",
+    "ADOX_ADCX",
+    "AES",
+    "AMD",
+    "AMD3DNOW",
+    "AVX",
+    "AVX2",
+    "AVX2GATHER",
+    "AVX512BW_128",
+    "AVX512BW_128N",
+    "AVX512BW_256",
+    "AVX512BW_512",
+    "AVX512BW_KOP",
+    "AVX512CD_128",
+    "AVX512CD_256",
+    "AVX512CD_512",
+    "AVX512DQ_128",
+    "AVX512DQ_128N",
+    "AVX512DQ_256",
+    "AVX512DQ_512",
+    "AVX512DQ_KOP",
+    "AVX512DQ_SCALAR",
+    "AVX512ER_512",
+    "AVX512ER_SCALAR",
+    "AVX512F_128",
+    "AVX512F_128N",
+    "AVX512F_256",
+    "AVX512F_512",
+    "AVX512F_KOP",
+    "AVX512F_SCALAR",
+    "AVX512PF_512",
+    "AVX512_4FMAPS_512",
+    "AVX512_4FMAPS_SCALAR",
+    "AVX512_4VNNIW_512",
+    "AVX512_BF16_128",
+    "AVX512_BF16_256",
+    "AVX512_BF16_512",
+    "AVX512_BITALG_128",
+    "AVX512_BITALG_256",
+    "AVX512_BITALG_512",
+    "AVX512_GFNI_128",
+    "AVX512_GFNI_256",
+    "AVX512_GFNI_512",
+    "AVX512_IFMA_128",
+    "AVX512_IFMA_256",
+    "AVX512_IFMA_512",
+    "AVX512_VAES_128",
+    "AVX512_VAES_256",
+    "AVX512_VAES_512",
+    "AVX512_VBMI2_128",
+    "AVX512_VBMI2_256",
+    "AVX512_VBMI2_512",
+    "AVX512_VBMI_128",
+    "AVX512_VBMI_256",
+    "AVX512_VBMI_512",
+    "AVX512_VNNI_128",
+    "AVX512_VNNI_256",
+    "AVX512_VNNI_512",
+    "AVX512_VP2INTERSECT_128",
+    "AVX512_VP2INTERSECT_256",
+    "AVX512_VP2INTERSECT_512",
+    "AVX512_VPCLMULQDQ_128",
+    "AVX512_VPCLMULQDQ_256",
+    "AVX512_VPCLMULQDQ_512",
+    "AVX512_VPOPCNTDQ_128",
+    "AVX512_VPOPCNTDQ_256",
+    "AVX512_VPOPCNTDQ_512",
+    "AVXAES",
+    "AVX_GFNI",
+    "BMI1",
+    "BMI2",
+    "CET",
+    "CLDEMOTE",
+    "CLFLUSHOPT",
+    "CLFSH",
+    "CLWB",
+    "CLZERO",
+    "CMOV",
+    "CMPXCHG16B",
+    "ENQCMD",
+    "F16C",
+    "FAT_NOP",
+    "FCMOV",
+    "FMA",
+    "FMA4",
+    "FXSAVE",
+    "FXSAVE64",
+    "GFNI",
+    "I186",
+    "I286PROTECTED",
+    "I286REAL",
+    "I386",
+    "I486",
+    "I486REAL",
+    "I86",
+    "INVPCID",
+    "KNCE",
+    "KNCJKBR",
+    "KNCSTREAM",
+    "KNCV",
+    "KNC_MISC",
+    "KNC_PF_HINT",
+    "LAHF",
+    "LONGMODE",
+    "LZCNT",
+    "MONITOR",
+    "MONITORX",
+    "MOVBE",
+    "MOVDIR",
+    "MPX",
+    "PADLOCK_ACE",
+    "PADLOCK_PHE",
+    "PADLOCK_PMM",
+    "PADLOCK_RNG",
+    "PAUSE",
+    "PCLMULQDQ",
+    "PCONFIG",
+    "PENTIUMMMX",
+    "PENTIUMREAL",
+    "PKU",
+    "POPCNT",
+    "PPRO",
+    "PREFETCHWT1",
+    "PREFETCH_NOP",
+    "PT",
+    "RDPID",
+    "RDPMC",
+    "RDPRU",
+    "RDRAND",
+    "RDSEED",
+    "RDTSCP",
+    "RDWRFSGS",
+    "RTM",
+    "SGX",
+    "SGX_ENCLV",
+    "SHA",
+    "SMAP",
+    "SMX",
+    "SSE",
+    "SSE2",
+    "SSE2MMX",
+    "SSE3",
+    "SSE3X87",
+    "SSE4",
+    "SSE42",
+    "SSE4A",
+    "SSEMXCSR",
+    "SSE_PREFETCH",
+    "SSSE3",
+    "SSSE3MMX",
+    "SVM",
+    "TBM",
+    "VAES",
+    "VMFUNC",
+    "VPCLMULQDQ",
+    "VTX",
+    "WAITPKG",
+    "X87",
+    "XOP",
+    "XSAVE",
+    "XSAVEC",
+    "XSAVEOPT",
+    "XSAVES"
+};
diff --git a/external/zydis/src/Generated/EnumInstructionCategory.inc b/external/zydis/src/Generated/EnumInstructionCategory.inc
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Generated/EnumInstructionCategory.inc
@@ -0,0 +1,102 @@
+static const char* STR_INSTRUCTIONCATEGORY[] =
+{
+    "INVALID",
+    "ADOX_ADCX",
+    "AES",
+    "AMD3DNOW",
+    "AVX",
+    "AVX2",
+    "AVX2GATHER",
+    "AVX512",
+    "AVX512_4FMAPS",
+    "AVX512_4VNNIW",
+    "AVX512_BITALG",
+    "AVX512_VBMI",
+    "AVX512_VP2INTERSECT",
+    "BINARY",
+    "BITBYTE",
+    "BLEND",
+    "BMI1",
+    "BMI2",
+    "BROADCAST",
+    "CALL",
+    "CET",
+    "CLDEMOTE",
+    "CLFLUSHOPT",
+    "CLWB",
+    "CLZERO",
+    "CMOV",
+    "COMPRESS",
+    "COND_BR",
+    "CONFLICT",
+    "CONVERT",
+    "DATAXFER",
+    "DECIMAL",
+    "ENQCMD",
+    "EXPAND",
+    "FCMOV",
+    "FLAGOP",
+    "FMA4",
+    "GATHER",
+    "GFNI",
+    "IFMA",
+    "INTERRUPT",
+    "IO",
+    "IOSTRINGOP",
+    "KMASK",
+    "KNC",
+    "KNCMASK",
+    "KNCSCALAR",
+    "LOGICAL",
+    "LOGICAL_FP",
+    "LZCNT",
+    "MISC",
+    "MMX",
+    "MOVDIR",
+    "MPX",
+    "NOP",
+    "PADLOCK",
+    "PCLMULQDQ",
+    "PCONFIG",
+    "PKU",
+    "POP",
+    "PREFETCH",
+    "PREFETCHWT1",
+    "PT",
+    "PUSH",
+    "RDPID",
+    "RDPRU",
+    "RDRAND",
+    "RDSEED",
+    "RDWRFSGS",
+    "RET",
+    "ROTATE",
+    "SCATTER",
+    "SEGOP",
+    "SEMAPHORE",
+    "SETCC",
+    "SGX",
+    "SHA",
+    "SHIFT",
+    "SMAP",
+    "SSE",
+    "STRINGOP",
+    "STTNI",
+    "SYSCALL",
+    "SYSRET",
+    "SYSTEM",
+    "TBM",
+    "UFMA",
+    "UNCOND_BR",
+    "VAES",
+    "VBMI2",
+    "VFMA",
+    "VPCLMULQDQ",
+    "VTX",
+    "WAITPKG",
+    "WIDENOP",
+    "X87_ALU",
+    "XOP",
+    "XSAVE",
+    "XSAVEOPT"
+};
diff --git a/external/zydis/src/Generated/EnumMnemonic.inc b/external/zydis/src/Generated/EnumMnemonic.inc
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Generated/EnumMnemonic.inc
@@ -0,0 +1,1609 @@
+static const ZydisShortString STR_MNEMONIC[] =
+{
+    ZYDIS_MAKE_SHORTSTRING("invalid"),
+    ZYDIS_MAKE_SHORTSTRING("aaa"),
+    ZYDIS_MAKE_SHORTSTRING("aad"),
+    ZYDIS_MAKE_SHORTSTRING("aam"),
+    ZYDIS_MAKE_SHORTSTRING("aas"),
+    ZYDIS_MAKE_SHORTSTRING("adc"),
+    ZYDIS_MAKE_SHORTSTRING("adcx"),
+    ZYDIS_MAKE_SHORTSTRING("add"),
+    ZYDIS_MAKE_SHORTSTRING("addpd"),
+    ZYDIS_MAKE_SHORTSTRING("addps"),
+    ZYDIS_MAKE_SHORTSTRING("addsd"),
+    ZYDIS_MAKE_SHORTSTRING("addss"),
+    ZYDIS_MAKE_SHORTSTRING("addsubpd"),
+    ZYDIS_MAKE_SHORTSTRING("addsubps"),
+    ZYDIS_MAKE_SHORTSTRING("adox"),
+    ZYDIS_MAKE_SHORTSTRING("aesdec"),
+    ZYDIS_MAKE_SHORTSTRING("aesdeclast"),
+    ZYDIS_MAKE_SHORTSTRING("aesenc"),
+    ZYDIS_MAKE_SHORTSTRING("aesenclast"),
+    ZYDIS_MAKE_SHORTSTRING("aesimc"),
+    ZYDIS_MAKE_SHORTSTRING("aeskeygenassist"),
+    ZYDIS_MAKE_SHORTSTRING("and"),
+    ZYDIS_MAKE_SHORTSTRING("andn"),
+    ZYDIS_MAKE_SHORTSTRING("andnpd"),
+    ZYDIS_MAKE_SHORTSTRING("andnps"),
+    ZYDIS_MAKE_SHORTSTRING("andpd"),
+    ZYDIS_MAKE_SHORTSTRING("andps"),
+    ZYDIS_MAKE_SHORTSTRING("arpl"),
+    ZYDIS_MAKE_SHORTSTRING("bextr"),
+    ZYDIS_MAKE_SHORTSTRING("blcfill"),
+    ZYDIS_MAKE_SHORTSTRING("blci"),
+    ZYDIS_MAKE_SHORTSTRING("blcic"),
+    ZYDIS_MAKE_SHORTSTRING("blcmsk"),
+    ZYDIS_MAKE_SHORTSTRING("blcs"),
+    ZYDIS_MAKE_SHORTSTRING("blendpd"),
+    ZYDIS_MAKE_SHORTSTRING("blendps"),
+    ZYDIS_MAKE_SHORTSTRING("blendvpd"),
+    ZYDIS_MAKE_SHORTSTRING("blendvps"),
+    ZYDIS_MAKE_SHORTSTRING("blsfill"),
+    ZYDIS_MAKE_SHORTSTRING("blsi"),
+    ZYDIS_MAKE_SHORTSTRING("blsic"),
+    ZYDIS_MAKE_SHORTSTRING("blsmsk"),
+    ZYDIS_MAKE_SHORTSTRING("blsr"),
+    ZYDIS_MAKE_SHORTSTRING("bndcl"),
+    ZYDIS_MAKE_SHORTSTRING("bndcn"),
+    ZYDIS_MAKE_SHORTSTRING("bndcu"),
+    ZYDIS_MAKE_SHORTSTRING("bndldx"),
+    ZYDIS_MAKE_SHORTSTRING("bndmk"),
+    ZYDIS_MAKE_SHORTSTRING("bndmov"),
+    ZYDIS_MAKE_SHORTSTRING("bndstx"),
+    ZYDIS_MAKE_SHORTSTRING("bound"),
+    ZYDIS_MAKE_SHORTSTRING("bsf"),
+    ZYDIS_MAKE_SHORTSTRING("bsr"),
+    ZYDIS_MAKE_SHORTSTRING("bswap"),
+    ZYDIS_MAKE_SHORTSTRING("bt"),
+    ZYDIS_MAKE_SHORTSTRING("btc"),
+    ZYDIS_MAKE_SHORTSTRING("btr"),
+    ZYDIS_MAKE_SHORTSTRING("bts"),
+    ZYDIS_MAKE_SHORTSTRING("bzhi"),
+    ZYDIS_MAKE_SHORTSTRING("call"),
+    ZYDIS_MAKE_SHORTSTRING("cbw"),
+    ZYDIS_MAKE_SHORTSTRING("cdq"),
+    ZYDIS_MAKE_SHORTSTRING("cdqe"),
+    ZYDIS_MAKE_SHORTSTRING("clac"),
+    ZYDIS_MAKE_SHORTSTRING("clc"),
+    ZYDIS_MAKE_SHORTSTRING("cld"),
+    ZYDIS_MAKE_SHORTSTRING("cldemote"),
+    ZYDIS_MAKE_SHORTSTRING("clevict0"),
+    ZYDIS_MAKE_SHORTSTRING("clevict1"),
+    ZYDIS_MAKE_SHORTSTRING("clflush"),
+    ZYDIS_MAKE_SHORTSTRING("clflushopt"),
+    ZYDIS_MAKE_SHORTSTRING("clgi"),
+    ZYDIS_MAKE_SHORTSTRING("cli"),
+    ZYDIS_MAKE_SHORTSTRING("clrssbsy"),
+    ZYDIS_MAKE_SHORTSTRING("clts"),
+    ZYDIS_MAKE_SHORTSTRING("clwb"),
+    ZYDIS_MAKE_SHORTSTRING("clzero"),
+    ZYDIS_MAKE_SHORTSTRING("cmc"),
+    ZYDIS_MAKE_SHORTSTRING("cmovb"),
+    ZYDIS_MAKE_SHORTSTRING("cmovbe"),
+    ZYDIS_MAKE_SHORTSTRING("cmovl"),
+    ZYDIS_MAKE_SHORTSTRING("cmovle"),
+    ZYDIS_MAKE_SHORTSTRING("cmovnb"),
+    ZYDIS_MAKE_SHORTSTRING("cmovnbe"),
+    ZYDIS_MAKE_SHORTSTRING("cmovnl"),
+    ZYDIS_MAKE_SHORTSTRING("cmovnle"),
+    ZYDIS_MAKE_SHORTSTRING("cmovno"),
+    ZYDIS_MAKE_SHORTSTRING("cmovnp"),
+    ZYDIS_MAKE_SHORTSTRING("cmovns"),
+    ZYDIS_MAKE_SHORTSTRING("cmovnz"),
+    ZYDIS_MAKE_SHORTSTRING("cmovo"),
+    ZYDIS_MAKE_SHORTSTRING("cmovp"),
+    ZYDIS_MAKE_SHORTSTRING("cmovs"),
+    ZYDIS_MAKE_SHORTSTRING("cmovz"),
+    ZYDIS_MAKE_SHORTSTRING("cmp"),
+    ZYDIS_MAKE_SHORTSTRING("cmppd"),
+    ZYDIS_MAKE_SHORTSTRING("cmpps"),
+    ZYDIS_MAKE_SHORTSTRING("cmpsb"),
+    ZYDIS_MAKE_SHORTSTRING("cmpsd"),
+    ZYDIS_MAKE_SHORTSTRING("cmpsq"),
+    ZYDIS_MAKE_SHORTSTRING("cmpss"),
+    ZYDIS_MAKE_SHORTSTRING("cmpsw"),
+    ZYDIS_MAKE_SHORTSTRING("cmpxchg"),
+    ZYDIS_MAKE_SHORTSTRING("cmpxchg16b"),
+    ZYDIS_MAKE_SHORTSTRING("cmpxchg8b"),
+    ZYDIS_MAKE_SHORTSTRING("comisd"),
+    ZYDIS_MAKE_SHORTSTRING("comiss"),
+    ZYDIS_MAKE_SHORTSTRING("cpuid"),
+    ZYDIS_MAKE_SHORTSTRING("cqo"),
+    ZYDIS_MAKE_SHORTSTRING("crc32"),
+    ZYDIS_MAKE_SHORTSTRING("cvtdq2pd"),
+    ZYDIS_MAKE_SHORTSTRING("cvtdq2ps"),
+    ZYDIS_MAKE_SHORTSTRING("cvtpd2dq"),
+    ZYDIS_MAKE_SHORTSTRING("cvtpd2pi"),
+    ZYDIS_MAKE_SHORTSTRING("cvtpd2ps"),
+    ZYDIS_MAKE_SHORTSTRING("cvtpi2pd"),
+    ZYDIS_MAKE_SHORTSTRING("cvtpi2ps"),
+    ZYDIS_MAKE_SHORTSTRING("cvtps2dq"),
+    ZYDIS_MAKE_SHORTSTRING("cvtps2pd"),
+    ZYDIS_MAKE_SHORTSTRING("cvtps2pi"),
+    ZYDIS_MAKE_SHORTSTRING("cvtsd2si"),
+    ZYDIS_MAKE_SHORTSTRING("cvtsd2ss"),
+    ZYDIS_MAKE_SHORTSTRING("cvtsi2sd"),
+    ZYDIS_MAKE_SHORTSTRING("cvtsi2ss"),
+    ZYDIS_MAKE_SHORTSTRING("cvtss2sd"),
+    ZYDIS_MAKE_SHORTSTRING("cvtss2si"),
+    ZYDIS_MAKE_SHORTSTRING("cvttpd2dq"),
+    ZYDIS_MAKE_SHORTSTRING("cvttpd2pi"),
+    ZYDIS_MAKE_SHORTSTRING("cvttps2dq"),
+    ZYDIS_MAKE_SHORTSTRING("cvttps2pi"),
+    ZYDIS_MAKE_SHORTSTRING("cvttsd2si"),
+    ZYDIS_MAKE_SHORTSTRING("cvttss2si"),
+    ZYDIS_MAKE_SHORTSTRING("cwd"),
+    ZYDIS_MAKE_SHORTSTRING("cwde"),
+    ZYDIS_MAKE_SHORTSTRING("daa"),
+    ZYDIS_MAKE_SHORTSTRING("das"),
+    ZYDIS_MAKE_SHORTSTRING("dec"),
+    ZYDIS_MAKE_SHORTSTRING("delay"),
+    ZYDIS_MAKE_SHORTSTRING("div"),
+    ZYDIS_MAKE_SHORTSTRING("divpd"),
+    ZYDIS_MAKE_SHORTSTRING("divps"),
+    ZYDIS_MAKE_SHORTSTRING("divsd"),
+    ZYDIS_MAKE_SHORTSTRING("divss"),
+    ZYDIS_MAKE_SHORTSTRING("dppd"),
+    ZYDIS_MAKE_SHORTSTRING("dpps"),
+    ZYDIS_MAKE_SHORTSTRING("emms"),
+    ZYDIS_MAKE_SHORTSTRING("encls"),
+    ZYDIS_MAKE_SHORTSTRING("enclu"),
+    ZYDIS_MAKE_SHORTSTRING("enclv"),
+    ZYDIS_MAKE_SHORTSTRING("endbr32"),
+    ZYDIS_MAKE_SHORTSTRING("endbr64"),
+    ZYDIS_MAKE_SHORTSTRING("enqcmd"),
+    ZYDIS_MAKE_SHORTSTRING("enqcmds"),
+    ZYDIS_MAKE_SHORTSTRING("enter"),
+    ZYDIS_MAKE_SHORTSTRING("extractps"),
+    ZYDIS_MAKE_SHORTSTRING("extrq"),
+    ZYDIS_MAKE_SHORTSTRING("f2xm1"),
+    ZYDIS_MAKE_SHORTSTRING("fabs"),
+    ZYDIS_MAKE_SHORTSTRING("fadd"),
+    ZYDIS_MAKE_SHORTSTRING("faddp"),
+    ZYDIS_MAKE_SHORTSTRING("fbld"),
+    ZYDIS_MAKE_SHORTSTRING("fbstp"),
+    ZYDIS_MAKE_SHORTSTRING("fchs"),
+    ZYDIS_MAKE_SHORTSTRING("fcmovb"),
+    ZYDIS_MAKE_SHORTSTRING("fcmovbe"),
+    ZYDIS_MAKE_SHORTSTRING("fcmove"),
+    ZYDIS_MAKE_SHORTSTRING("fcmovnb"),
+    ZYDIS_MAKE_SHORTSTRING("fcmovnbe"),
+    ZYDIS_MAKE_SHORTSTRING("fcmovne"),
+    ZYDIS_MAKE_SHORTSTRING("fcmovnu"),
+    ZYDIS_MAKE_SHORTSTRING("fcmovu"),
+    ZYDIS_MAKE_SHORTSTRING("fcom"),
+    ZYDIS_MAKE_SHORTSTRING("fcomi"),
+    ZYDIS_MAKE_SHORTSTRING("fcomip"),
+    ZYDIS_MAKE_SHORTSTRING("fcomp"),
+    ZYDIS_MAKE_SHORTSTRING("fcompp"),
+    ZYDIS_MAKE_SHORTSTRING("fcos"),
+    ZYDIS_MAKE_SHORTSTRING("fdecstp"),
+    ZYDIS_MAKE_SHORTSTRING("fdisi8087_nop"),
+    ZYDIS_MAKE_SHORTSTRING("fdiv"),
+    ZYDIS_MAKE_SHORTSTRING("fdivp"),
+    ZYDIS_MAKE_SHORTSTRING("fdivr"),
+    ZYDIS_MAKE_SHORTSTRING("fdivrp"),
+    ZYDIS_MAKE_SHORTSTRING("femms"),
+    ZYDIS_MAKE_SHORTSTRING("feni8087_nop"),
+    ZYDIS_MAKE_SHORTSTRING("ffree"),
+    ZYDIS_MAKE_SHORTSTRING("ffreep"),
+    ZYDIS_MAKE_SHORTSTRING("fiadd"),
+    ZYDIS_MAKE_SHORTSTRING("ficom"),
+    ZYDIS_MAKE_SHORTSTRING("ficomp"),
+    ZYDIS_MAKE_SHORTSTRING("fidiv"),
+    ZYDIS_MAKE_SHORTSTRING("fidivr"),
+    ZYDIS_MAKE_SHORTSTRING("fild"),
+    ZYDIS_MAKE_SHORTSTRING("fimul"),
+    ZYDIS_MAKE_SHORTSTRING("fincstp"),
+    ZYDIS_MAKE_SHORTSTRING("fist"),
+    ZYDIS_MAKE_SHORTSTRING("fistp"),
+    ZYDIS_MAKE_SHORTSTRING("fisttp"),
+    ZYDIS_MAKE_SHORTSTRING("fisub"),
+    ZYDIS_MAKE_SHORTSTRING("fisubr"),
+    ZYDIS_MAKE_SHORTSTRING("fld"),
+    ZYDIS_MAKE_SHORTSTRING("fld1"),
+    ZYDIS_MAKE_SHORTSTRING("fldcw"),
+    ZYDIS_MAKE_SHORTSTRING("fldenv"),
+    ZYDIS_MAKE_SHORTSTRING("fldl2e"),
+    ZYDIS_MAKE_SHORTSTRING("fldl2t"),
+    ZYDIS_MAKE_SHORTSTRING("fldlg2"),
+    ZYDIS_MAKE_SHORTSTRING("fldln2"),
+    ZYDIS_MAKE_SHORTSTRING("fldpi"),
+    ZYDIS_MAKE_SHORTSTRING("fldz"),
+    ZYDIS_MAKE_SHORTSTRING("fmul"),
+    ZYDIS_MAKE_SHORTSTRING("fmulp"),
+    ZYDIS_MAKE_SHORTSTRING("fnclex"),
+    ZYDIS_MAKE_SHORTSTRING("fninit"),
+    ZYDIS_MAKE_SHORTSTRING("fnop"),
+    ZYDIS_MAKE_SHORTSTRING("fnsave"),
+    ZYDIS_MAKE_SHORTSTRING("fnstcw"),
+    ZYDIS_MAKE_SHORTSTRING("fnstenv"),
+    ZYDIS_MAKE_SHORTSTRING("fnstsw"),
+    ZYDIS_MAKE_SHORTSTRING("fpatan"),
+    ZYDIS_MAKE_SHORTSTRING("fprem"),
+    ZYDIS_MAKE_SHORTSTRING("fprem1"),
+    ZYDIS_MAKE_SHORTSTRING("fptan"),
+    ZYDIS_MAKE_SHORTSTRING("frndint"),
+    ZYDIS_MAKE_SHORTSTRING("frstor"),
+    ZYDIS_MAKE_SHORTSTRING("fscale"),
+    ZYDIS_MAKE_SHORTSTRING("fsetpm287_nop"),
+    ZYDIS_MAKE_SHORTSTRING("fsin"),
+    ZYDIS_MAKE_SHORTSTRING("fsincos"),
+    ZYDIS_MAKE_SHORTSTRING("fsqrt"),
+    ZYDIS_MAKE_SHORTSTRING("fst"),
+    ZYDIS_MAKE_SHORTSTRING("fstp"),
+    ZYDIS_MAKE_SHORTSTRING("fstpnce"),
+    ZYDIS_MAKE_SHORTSTRING("fsub"),
+    ZYDIS_MAKE_SHORTSTRING("fsubp"),
+    ZYDIS_MAKE_SHORTSTRING("fsubr"),
+    ZYDIS_MAKE_SHORTSTRING("fsubrp"),
+    ZYDIS_MAKE_SHORTSTRING("ftst"),
+    ZYDIS_MAKE_SHORTSTRING("fucom"),
+    ZYDIS_MAKE_SHORTSTRING("fucomi"),
+    ZYDIS_MAKE_SHORTSTRING("fucomip"),
+    ZYDIS_MAKE_SHORTSTRING("fucomp"),
+    ZYDIS_MAKE_SHORTSTRING("fucompp"),
+    ZYDIS_MAKE_SHORTSTRING("fwait"),
+    ZYDIS_MAKE_SHORTSTRING("fxam"),
+    ZYDIS_MAKE_SHORTSTRING("fxch"),
+    ZYDIS_MAKE_SHORTSTRING("fxrstor"),
+    ZYDIS_MAKE_SHORTSTRING("fxrstor64"),
+    ZYDIS_MAKE_SHORTSTRING("fxsave"),
+    ZYDIS_MAKE_SHORTSTRING("fxsave64"),
+    ZYDIS_MAKE_SHORTSTRING("fxtract"),
+    ZYDIS_MAKE_SHORTSTRING("fyl2x"),
+    ZYDIS_MAKE_SHORTSTRING("fyl2xp1"),
+    ZYDIS_MAKE_SHORTSTRING("getsec"),
+    ZYDIS_MAKE_SHORTSTRING("gf2p8affineinvqb"),
+    ZYDIS_MAKE_SHORTSTRING("gf2p8affineqb"),
+    ZYDIS_MAKE_SHORTSTRING("gf2p8mulb"),
+    ZYDIS_MAKE_SHORTSTRING("haddpd"),
+    ZYDIS_MAKE_SHORTSTRING("haddps"),
+    ZYDIS_MAKE_SHORTSTRING("hlt"),
+    ZYDIS_MAKE_SHORTSTRING("hsubpd"),
+    ZYDIS_MAKE_SHORTSTRING("hsubps"),
+    ZYDIS_MAKE_SHORTSTRING("idiv"),
+    ZYDIS_MAKE_SHORTSTRING("imul"),
+    ZYDIS_MAKE_SHORTSTRING("in"),
+    ZYDIS_MAKE_SHORTSTRING("inc"),
+    ZYDIS_MAKE_SHORTSTRING("incsspd"),
+    ZYDIS_MAKE_SHORTSTRING("incsspq"),
+    ZYDIS_MAKE_SHORTSTRING("insb"),
+    ZYDIS_MAKE_SHORTSTRING("insd"),
+    ZYDIS_MAKE_SHORTSTRING("insertps"),
+    ZYDIS_MAKE_SHORTSTRING("insertq"),
+    ZYDIS_MAKE_SHORTSTRING("insw"),
+    ZYDIS_MAKE_SHORTSTRING("int"),
+    ZYDIS_MAKE_SHORTSTRING("int1"),
+    ZYDIS_MAKE_SHORTSTRING("int3"),
+    ZYDIS_MAKE_SHORTSTRING("into"),
+    ZYDIS_MAKE_SHORTSTRING("invd"),
+    ZYDIS_MAKE_SHORTSTRING("invept"),
+    ZYDIS_MAKE_SHORTSTRING("invlpg"),
+    ZYDIS_MAKE_SHORTSTRING("invlpga"),
+    ZYDIS_MAKE_SHORTSTRING("invpcid"),
+    ZYDIS_MAKE_SHORTSTRING("invvpid"),
+    ZYDIS_MAKE_SHORTSTRING("iret"),
+    ZYDIS_MAKE_SHORTSTRING("iretd"),
+    ZYDIS_MAKE_SHORTSTRING("iretq"),
+    ZYDIS_MAKE_SHORTSTRING("jb"),
+    ZYDIS_MAKE_SHORTSTRING("jbe"),
+    ZYDIS_MAKE_SHORTSTRING("jcxz"),
+    ZYDIS_MAKE_SHORTSTRING("jecxz"),
+    ZYDIS_MAKE_SHORTSTRING("jknzd"),
+    ZYDIS_MAKE_SHORTSTRING("jkzd"),
+    ZYDIS_MAKE_SHORTSTRING("jl"),
+    ZYDIS_MAKE_SHORTSTRING("jle"),
+    ZYDIS_MAKE_SHORTSTRING("jmp"),
+    ZYDIS_MAKE_SHORTSTRING("jnb"),
+    ZYDIS_MAKE_SHORTSTRING("jnbe"),
+    ZYDIS_MAKE_SHORTSTRING("jnl"),
+    ZYDIS_MAKE_SHORTSTRING("jnle"),
+    ZYDIS_MAKE_SHORTSTRING("jno"),
+    ZYDIS_MAKE_SHORTSTRING("jnp"),
+    ZYDIS_MAKE_SHORTSTRING("jns"),
+    ZYDIS_MAKE_SHORTSTRING("jnz"),
+    ZYDIS_MAKE_SHORTSTRING("jo"),
+    ZYDIS_MAKE_SHORTSTRING("jp"),
+    ZYDIS_MAKE_SHORTSTRING("jrcxz"),
+    ZYDIS_MAKE_SHORTSTRING("js"),
+    ZYDIS_MAKE_SHORTSTRING("jz"),
+    ZYDIS_MAKE_SHORTSTRING("kaddb"),
+    ZYDIS_MAKE_SHORTSTRING("kaddd"),
+    ZYDIS_MAKE_SHORTSTRING("kaddq"),
+    ZYDIS_MAKE_SHORTSTRING("kaddw"),
+    ZYDIS_MAKE_SHORTSTRING("kand"),
+    ZYDIS_MAKE_SHORTSTRING("kandb"),
+    ZYDIS_MAKE_SHORTSTRING("kandd"),
+    ZYDIS_MAKE_SHORTSTRING("kandn"),
+    ZYDIS_MAKE_SHORTSTRING("kandnb"),
+    ZYDIS_MAKE_SHORTSTRING("kandnd"),
+    ZYDIS_MAKE_SHORTSTRING("kandnq"),
+    ZYDIS_MAKE_SHORTSTRING("kandnr"),
+    ZYDIS_MAKE_SHORTSTRING("kandnw"),
+    ZYDIS_MAKE_SHORTSTRING("kandq"),
+    ZYDIS_MAKE_SHORTSTRING("kandw"),
+    ZYDIS_MAKE_SHORTSTRING("kconcath"),
+    ZYDIS_MAKE_SHORTSTRING("kconcatl"),
+    ZYDIS_MAKE_SHORTSTRING("kextract"),
+    ZYDIS_MAKE_SHORTSTRING("kmerge2l1h"),
+    ZYDIS_MAKE_SHORTSTRING("kmerge2l1l"),
+    ZYDIS_MAKE_SHORTSTRING("kmov"),
+    ZYDIS_MAKE_SHORTSTRING("kmovb"),
+    ZYDIS_MAKE_SHORTSTRING("kmovd"),
+    ZYDIS_MAKE_SHORTSTRING("kmovq"),
+    ZYDIS_MAKE_SHORTSTRING("kmovw"),
+    ZYDIS_MAKE_SHORTSTRING("knot"),
+    ZYDIS_MAKE_SHORTSTRING("knotb"),
+    ZYDIS_MAKE_SHORTSTRING("knotd"),
+    ZYDIS_MAKE_SHORTSTRING("knotq"),
+    ZYDIS_MAKE_SHORTSTRING("knotw"),
+    ZYDIS_MAKE_SHORTSTRING("kor"),
+    ZYDIS_MAKE_SHORTSTRING("korb"),
+    ZYDIS_MAKE_SHORTSTRING("kord"),
+    ZYDIS_MAKE_SHORTSTRING("korq"),
+    ZYDIS_MAKE_SHORTSTRING("kortest"),
+    ZYDIS_MAKE_SHORTSTRING("kortestb"),
+    ZYDIS_MAKE_SHORTSTRING("kortestd"),
+    ZYDIS_MAKE_SHORTSTRING("kortestq"),
+    ZYDIS_MAKE_SHORTSTRING("kortestw"),
+    ZYDIS_MAKE_SHORTSTRING("korw"),
+    ZYDIS_MAKE_SHORTSTRING("kshiftlb"),
+    ZYDIS_MAKE_SHORTSTRING("kshiftld"),
+    ZYDIS_MAKE_SHORTSTRING("kshiftlq"),
+    ZYDIS_MAKE_SHORTSTRING("kshiftlw"),
+    ZYDIS_MAKE_SHORTSTRING("kshiftrb"),
+    ZYDIS_MAKE_SHORTSTRING("kshiftrd"),
+    ZYDIS_MAKE_SHORTSTRING("kshiftrq"),
+    ZYDIS_MAKE_SHORTSTRING("kshiftrw"),
+    ZYDIS_MAKE_SHORTSTRING("ktestb"),
+    ZYDIS_MAKE_SHORTSTRING("ktestd"),
+    ZYDIS_MAKE_SHORTSTRING("ktestq"),
+    ZYDIS_MAKE_SHORTSTRING("ktestw"),
+    ZYDIS_MAKE_SHORTSTRING("kunpckbw"),
+    ZYDIS_MAKE_SHORTSTRING("kunpckdq"),
+    ZYDIS_MAKE_SHORTSTRING("kunpckwd"),
+    ZYDIS_MAKE_SHORTSTRING("kxnor"),
+    ZYDIS_MAKE_SHORTSTRING("kxnorb"),
+    ZYDIS_MAKE_SHORTSTRING("kxnord"),
+    ZYDIS_MAKE_SHORTSTRING("kxnorq"),
+    ZYDIS_MAKE_SHORTSTRING("kxnorw"),
+    ZYDIS_MAKE_SHORTSTRING("kxor"),
+    ZYDIS_MAKE_SHORTSTRING("kxorb"),
+    ZYDIS_MAKE_SHORTSTRING("kxord"),
+    ZYDIS_MAKE_SHORTSTRING("kxorq"),
+    ZYDIS_MAKE_SHORTSTRING("kxorw"),
+    ZYDIS_MAKE_SHORTSTRING("lahf"),
+    ZYDIS_MAKE_SHORTSTRING("lar"),
+    ZYDIS_MAKE_SHORTSTRING("lddqu"),
+    ZYDIS_MAKE_SHORTSTRING("ldmxcsr"),
+    ZYDIS_MAKE_SHORTSTRING("lds"),
+    ZYDIS_MAKE_SHORTSTRING("lea"),
+    ZYDIS_MAKE_SHORTSTRING("leave"),
+    ZYDIS_MAKE_SHORTSTRING("les"),
+    ZYDIS_MAKE_SHORTSTRING("lfence"),
+    ZYDIS_MAKE_SHORTSTRING("lfs"),
+    ZYDIS_MAKE_SHORTSTRING("lgdt"),
+    ZYDIS_MAKE_SHORTSTRING("lgs"),
+    ZYDIS_MAKE_SHORTSTRING("lidt"),
+    ZYDIS_MAKE_SHORTSTRING("lldt"),
+    ZYDIS_MAKE_SHORTSTRING("llwpcb"),
+    ZYDIS_MAKE_SHORTSTRING("lmsw"),
+    ZYDIS_MAKE_SHORTSTRING("lodsb"),
+    ZYDIS_MAKE_SHORTSTRING("lodsd"),
+    ZYDIS_MAKE_SHORTSTRING("lodsq"),
+    ZYDIS_MAKE_SHORTSTRING("lodsw"),
+    ZYDIS_MAKE_SHORTSTRING("loop"),
+    ZYDIS_MAKE_SHORTSTRING("loope"),
+    ZYDIS_MAKE_SHORTSTRING("loopne"),
+    ZYDIS_MAKE_SHORTSTRING("lsl"),
+    ZYDIS_MAKE_SHORTSTRING("lss"),
+    ZYDIS_MAKE_SHORTSTRING("ltr"),
+    ZYDIS_MAKE_SHORTSTRING("lwpins"),
+    ZYDIS_MAKE_SHORTSTRING("lwpval"),
+    ZYDIS_MAKE_SHORTSTRING("lzcnt"),
+    ZYDIS_MAKE_SHORTSTRING("maskmovdqu"),
+    ZYDIS_MAKE_SHORTSTRING("maskmovq"),
+    ZYDIS_MAKE_SHORTSTRING("maxpd"),
+    ZYDIS_MAKE_SHORTSTRING("maxps"),
+    ZYDIS_MAKE_SHORTSTRING("maxsd"),
+    ZYDIS_MAKE_SHORTSTRING("maxss"),
+    ZYDIS_MAKE_SHORTSTRING("mfence"),
+    ZYDIS_MAKE_SHORTSTRING("minpd"),
+    ZYDIS_MAKE_SHORTSTRING("minps"),
+    ZYDIS_MAKE_SHORTSTRING("minsd"),
+    ZYDIS_MAKE_SHORTSTRING("minss"),
+    ZYDIS_MAKE_SHORTSTRING("monitor"),
+    ZYDIS_MAKE_SHORTSTRING("monitorx"),
+    ZYDIS_MAKE_SHORTSTRING("montmul"),
+    ZYDIS_MAKE_SHORTSTRING("mov"),
+    ZYDIS_MAKE_SHORTSTRING("movapd"),
+    ZYDIS_MAKE_SHORTSTRING("movaps"),
+    ZYDIS_MAKE_SHORTSTRING("movbe"),
+    ZYDIS_MAKE_SHORTSTRING("movd"),
+    ZYDIS_MAKE_SHORTSTRING("movddup"),
+    ZYDIS_MAKE_SHORTSTRING("movdir64b"),
+    ZYDIS_MAKE_SHORTSTRING("movdiri"),
+    ZYDIS_MAKE_SHORTSTRING("movdq2q"),
+    ZYDIS_MAKE_SHORTSTRING("movdqa"),
+    ZYDIS_MAKE_SHORTSTRING("movdqu"),
+    ZYDIS_MAKE_SHORTSTRING("movhlps"),
+    ZYDIS_MAKE_SHORTSTRING("movhpd"),
+    ZYDIS_MAKE_SHORTSTRING("movhps"),
+    ZYDIS_MAKE_SHORTSTRING("movlhps"),
+    ZYDIS_MAKE_SHORTSTRING("movlpd"),
+    ZYDIS_MAKE_SHORTSTRING("movlps"),
+    ZYDIS_MAKE_SHORTSTRING("movmskpd"),
+    ZYDIS_MAKE_SHORTSTRING("movmskps"),
+    ZYDIS_MAKE_SHORTSTRING("movntdq"),
+    ZYDIS_MAKE_SHORTSTRING("movntdqa"),
+    ZYDIS_MAKE_SHORTSTRING("movnti"),
+    ZYDIS_MAKE_SHORTSTRING("movntpd"),
+    ZYDIS_MAKE_SHORTSTRING("movntps"),
+    ZYDIS_MAKE_SHORTSTRING("movntq"),
+    ZYDIS_MAKE_SHORTSTRING("movntsd"),
+    ZYDIS_MAKE_SHORTSTRING("movntss"),
+    ZYDIS_MAKE_SHORTSTRING("movq"),
+    ZYDIS_MAKE_SHORTSTRING("movq2dq"),
+    ZYDIS_MAKE_SHORTSTRING("movsb"),
+    ZYDIS_MAKE_SHORTSTRING("movsd"),
+    ZYDIS_MAKE_SHORTSTRING("movshdup"),
+    ZYDIS_MAKE_SHORTSTRING("movsldup"),
+    ZYDIS_MAKE_SHORTSTRING("movsq"),
+    ZYDIS_MAKE_SHORTSTRING("movss"),
+    ZYDIS_MAKE_SHORTSTRING("movsw"),
+    ZYDIS_MAKE_SHORTSTRING("movsx"),
+    ZYDIS_MAKE_SHORTSTRING("movsxd"),
+    ZYDIS_MAKE_SHORTSTRING("movupd"),
+    ZYDIS_MAKE_SHORTSTRING("movups"),
+    ZYDIS_MAKE_SHORTSTRING("movzx"),
+    ZYDIS_MAKE_SHORTSTRING("mpsadbw"),
+    ZYDIS_MAKE_SHORTSTRING("mul"),
+    ZYDIS_MAKE_SHORTSTRING("mulpd"),
+    ZYDIS_MAKE_SHORTSTRING("mulps"),
+    ZYDIS_MAKE_SHORTSTRING("mulsd"),
+    ZYDIS_MAKE_SHORTSTRING("mulss"),
+    ZYDIS_MAKE_SHORTSTRING("mulx"),
+    ZYDIS_MAKE_SHORTSTRING("mwait"),
+    ZYDIS_MAKE_SHORTSTRING("mwaitx"),
+    ZYDIS_MAKE_SHORTSTRING("neg"),
+    ZYDIS_MAKE_SHORTSTRING("nop"),
+    ZYDIS_MAKE_SHORTSTRING("not"),
+    ZYDIS_MAKE_SHORTSTRING("or"),
+    ZYDIS_MAKE_SHORTSTRING("orpd"),
+    ZYDIS_MAKE_SHORTSTRING("orps"),
+    ZYDIS_MAKE_SHORTSTRING("out"),
+    ZYDIS_MAKE_SHORTSTRING("outsb"),
+    ZYDIS_MAKE_SHORTSTRING("outsd"),
+    ZYDIS_MAKE_SHORTSTRING("outsw"),
+    ZYDIS_MAKE_SHORTSTRING("pabsb"),
+    ZYDIS_MAKE_SHORTSTRING("pabsd"),
+    ZYDIS_MAKE_SHORTSTRING("pabsw"),
+    ZYDIS_MAKE_SHORTSTRING("packssdw"),
+    ZYDIS_MAKE_SHORTSTRING("packsswb"),
+    ZYDIS_MAKE_SHORTSTRING("packusdw"),
+    ZYDIS_MAKE_SHORTSTRING("packuswb"),
+    ZYDIS_MAKE_SHORTSTRING("paddb"),
+    ZYDIS_MAKE_SHORTSTRING("paddd"),
+    ZYDIS_MAKE_SHORTSTRING("paddq"),
+    ZYDIS_MAKE_SHORTSTRING("paddsb"),
+    ZYDIS_MAKE_SHORTSTRING("paddsw"),
+    ZYDIS_MAKE_SHORTSTRING("paddusb"),
+    ZYDIS_MAKE_SHORTSTRING("paddusw"),
+    ZYDIS_MAKE_SHORTSTRING("paddw"),
+    ZYDIS_MAKE_SHORTSTRING("palignr"),
+    ZYDIS_MAKE_SHORTSTRING("pand"),
+    ZYDIS_MAKE_SHORTSTRING("pandn"),
+    ZYDIS_MAKE_SHORTSTRING("pause"),
+    ZYDIS_MAKE_SHORTSTRING("pavgb"),
+    ZYDIS_MAKE_SHORTSTRING("pavgusb"),
+    ZYDIS_MAKE_SHORTSTRING("pavgw"),
+    ZYDIS_MAKE_SHORTSTRING("pblendvb"),
+    ZYDIS_MAKE_SHORTSTRING("pblendw"),
+    ZYDIS_MAKE_SHORTSTRING("pclmulqdq"),
+    ZYDIS_MAKE_SHORTSTRING("pcmpeqb"),
+    ZYDIS_MAKE_SHORTSTRING("pcmpeqd"),
+    ZYDIS_MAKE_SHORTSTRING("pcmpeqq"),
+    ZYDIS_MAKE_SHORTSTRING("pcmpeqw"),
+    ZYDIS_MAKE_SHORTSTRING("pcmpestri"),
+    ZYDIS_MAKE_SHORTSTRING("pcmpestrm"),
+    ZYDIS_MAKE_SHORTSTRING("pcmpgtb"),
+    ZYDIS_MAKE_SHORTSTRING("pcmpgtd"),
+    ZYDIS_MAKE_SHORTSTRING("pcmpgtq"),
+    ZYDIS_MAKE_SHORTSTRING("pcmpgtw"),
+    ZYDIS_MAKE_SHORTSTRING("pcmpistri"),
+    ZYDIS_MAKE_SHORTSTRING("pcmpistrm"),
+    ZYDIS_MAKE_SHORTSTRING("pconfig"),
+    ZYDIS_MAKE_SHORTSTRING("pdep"),
+    ZYDIS_MAKE_SHORTSTRING("pext"),
+    ZYDIS_MAKE_SHORTSTRING("pextrb"),
+    ZYDIS_MAKE_SHORTSTRING("pextrd"),
+    ZYDIS_MAKE_SHORTSTRING("pextrq"),
+    ZYDIS_MAKE_SHORTSTRING("pextrw"),
+    ZYDIS_MAKE_SHORTSTRING("pf2id"),
+    ZYDIS_MAKE_SHORTSTRING("pf2iw"),
+    ZYDIS_MAKE_SHORTSTRING("pfacc"),
+    ZYDIS_MAKE_SHORTSTRING("pfadd"),
+    ZYDIS_MAKE_SHORTSTRING("pfcmpeq"),
+    ZYDIS_MAKE_SHORTSTRING("pfcmpge"),
+    ZYDIS_MAKE_SHORTSTRING("pfcmpgt"),
+    ZYDIS_MAKE_SHORTSTRING("pfcpit1"),
+    ZYDIS_MAKE_SHORTSTRING("pfmax"),
+    ZYDIS_MAKE_SHORTSTRING("pfmin"),
+    ZYDIS_MAKE_SHORTSTRING("pfmul"),
+    ZYDIS_MAKE_SHORTSTRING("pfnacc"),
+    ZYDIS_MAKE_SHORTSTRING("pfpnacc"),
+    ZYDIS_MAKE_SHORTSTRING("pfrcp"),
+    ZYDIS_MAKE_SHORTSTRING("pfrcpit2"),
+    ZYDIS_MAKE_SHORTSTRING("pfrsqit1"),
+    ZYDIS_MAKE_SHORTSTRING("pfsqrt"),
+    ZYDIS_MAKE_SHORTSTRING("pfsub"),
+    ZYDIS_MAKE_SHORTSTRING("pfsubr"),
+    ZYDIS_MAKE_SHORTSTRING("phaddd"),
+    ZYDIS_MAKE_SHORTSTRING("phaddsw"),
+    ZYDIS_MAKE_SHORTSTRING("phaddw"),
+    ZYDIS_MAKE_SHORTSTRING("phminposuw"),
+    ZYDIS_MAKE_SHORTSTRING("phsubd"),
+    ZYDIS_MAKE_SHORTSTRING("phsubsw"),
+    ZYDIS_MAKE_SHORTSTRING("phsubw"),
+    ZYDIS_MAKE_SHORTSTRING("pi2fd"),
+    ZYDIS_MAKE_SHORTSTRING("pi2fw"),
+    ZYDIS_MAKE_SHORTSTRING("pinsrb"),
+    ZYDIS_MAKE_SHORTSTRING("pinsrd"),
+    ZYDIS_MAKE_SHORTSTRING("pinsrq"),
+    ZYDIS_MAKE_SHORTSTRING("pinsrw"),
+    ZYDIS_MAKE_SHORTSTRING("pmaddubsw"),
+    ZYDIS_MAKE_SHORTSTRING("pmaddwd"),
+    ZYDIS_MAKE_SHORTSTRING("pmaxsb"),
+    ZYDIS_MAKE_SHORTSTRING("pmaxsd"),
+    ZYDIS_MAKE_SHORTSTRING("pmaxsw"),
+    ZYDIS_MAKE_SHORTSTRING("pmaxub"),
+    ZYDIS_MAKE_SHORTSTRING("pmaxud"),
+    ZYDIS_MAKE_SHORTSTRING("pmaxuw"),
+    ZYDIS_MAKE_SHORTSTRING("pminsb"),
+    ZYDIS_MAKE_SHORTSTRING("pminsd"),
+    ZYDIS_MAKE_SHORTSTRING("pminsw"),
+    ZYDIS_MAKE_SHORTSTRING("pminub"),
+    ZYDIS_MAKE_SHORTSTRING("pminud"),
+    ZYDIS_MAKE_SHORTSTRING("pminuw"),
+    ZYDIS_MAKE_SHORTSTRING("pmovmskb"),
+    ZYDIS_MAKE_SHORTSTRING("pmovsxbd"),
+    ZYDIS_MAKE_SHORTSTRING("pmovsxbq"),
+    ZYDIS_MAKE_SHORTSTRING("pmovsxbw"),
+    ZYDIS_MAKE_SHORTSTRING("pmovsxdq"),
+    ZYDIS_MAKE_SHORTSTRING("pmovsxwd"),
+    ZYDIS_MAKE_SHORTSTRING("pmovsxwq"),
+    ZYDIS_MAKE_SHORTSTRING("pmovzxbd"),
+    ZYDIS_MAKE_SHORTSTRING("pmovzxbq"),
+    ZYDIS_MAKE_SHORTSTRING("pmovzxbw"),
+    ZYDIS_MAKE_SHORTSTRING("pmovzxdq"),
+    ZYDIS_MAKE_SHORTSTRING("pmovzxwd"),
+    ZYDIS_MAKE_SHORTSTRING("pmovzxwq"),
+    ZYDIS_MAKE_SHORTSTRING("pmuldq"),
+    ZYDIS_MAKE_SHORTSTRING("pmulhrsw"),
+    ZYDIS_MAKE_SHORTSTRING("pmulhrw"),
+    ZYDIS_MAKE_SHORTSTRING("pmulhuw"),
+    ZYDIS_MAKE_SHORTSTRING("pmulhw"),
+    ZYDIS_MAKE_SHORTSTRING("pmulld"),
+    ZYDIS_MAKE_SHORTSTRING("pmullw"),
+    ZYDIS_MAKE_SHORTSTRING("pmuludq"),
+    ZYDIS_MAKE_SHORTSTRING("pop"),
+    ZYDIS_MAKE_SHORTSTRING("popa"),
+    ZYDIS_MAKE_SHORTSTRING("popad"),
+    ZYDIS_MAKE_SHORTSTRING("popcnt"),
+    ZYDIS_MAKE_SHORTSTRING("popf"),
+    ZYDIS_MAKE_SHORTSTRING("popfd"),
+    ZYDIS_MAKE_SHORTSTRING("popfq"),
+    ZYDIS_MAKE_SHORTSTRING("por"),
+    ZYDIS_MAKE_SHORTSTRING("prefetch"),
+    ZYDIS_MAKE_SHORTSTRING("prefetchnta"),
+    ZYDIS_MAKE_SHORTSTRING("prefetcht0"),
+    ZYDIS_MAKE_SHORTSTRING("prefetcht1"),
+    ZYDIS_MAKE_SHORTSTRING("prefetcht2"),
+    ZYDIS_MAKE_SHORTSTRING("prefetchw"),
+    ZYDIS_MAKE_SHORTSTRING("prefetchwt1"),
+    ZYDIS_MAKE_SHORTSTRING("psadbw"),
+    ZYDIS_MAKE_SHORTSTRING("pshufb"),
+    ZYDIS_MAKE_SHORTSTRING("pshufd"),
+    ZYDIS_MAKE_SHORTSTRING("pshufhw"),
+    ZYDIS_MAKE_SHORTSTRING("pshuflw"),
+    ZYDIS_MAKE_SHORTSTRING("pshufw"),
+    ZYDIS_MAKE_SHORTSTRING("psignb"),
+    ZYDIS_MAKE_SHORTSTRING("psignd"),
+    ZYDIS_MAKE_SHORTSTRING("psignw"),
+    ZYDIS_MAKE_SHORTSTRING("pslld"),
+    ZYDIS_MAKE_SHORTSTRING("pslldq"),
+    ZYDIS_MAKE_SHORTSTRING("psllq"),
+    ZYDIS_MAKE_SHORTSTRING("psllw"),
+    ZYDIS_MAKE_SHORTSTRING("psrad"),
+    ZYDIS_MAKE_SHORTSTRING("psraw"),
+    ZYDIS_MAKE_SHORTSTRING("psrld"),
+    ZYDIS_MAKE_SHORTSTRING("psrldq"),
+    ZYDIS_MAKE_SHORTSTRING("psrlq"),
+    ZYDIS_MAKE_SHORTSTRING("psrlw"),
+    ZYDIS_MAKE_SHORTSTRING("psubb"),
+    ZYDIS_MAKE_SHORTSTRING("psubd"),
+    ZYDIS_MAKE_SHORTSTRING("psubq"),
+    ZYDIS_MAKE_SHORTSTRING("psubsb"),
+    ZYDIS_MAKE_SHORTSTRING("psubsw"),
+    ZYDIS_MAKE_SHORTSTRING("psubusb"),
+    ZYDIS_MAKE_SHORTSTRING("psubusw"),
+    ZYDIS_MAKE_SHORTSTRING("psubw"),
+    ZYDIS_MAKE_SHORTSTRING("pswapd"),
+    ZYDIS_MAKE_SHORTSTRING("ptest"),
+    ZYDIS_MAKE_SHORTSTRING("ptwrite"),
+    ZYDIS_MAKE_SHORTSTRING("punpckhbw"),
+    ZYDIS_MAKE_SHORTSTRING("punpckhdq"),
+    ZYDIS_MAKE_SHORTSTRING("punpckhqdq"),
+    ZYDIS_MAKE_SHORTSTRING("punpckhwd"),
+    ZYDIS_MAKE_SHORTSTRING("punpcklbw"),
+    ZYDIS_MAKE_SHORTSTRING("punpckldq"),
+    ZYDIS_MAKE_SHORTSTRING("punpcklqdq"),
+    ZYDIS_MAKE_SHORTSTRING("punpcklwd"),
+    ZYDIS_MAKE_SHORTSTRING("push"),
+    ZYDIS_MAKE_SHORTSTRING("pusha"),
+    ZYDIS_MAKE_SHORTSTRING("pushad"),
+    ZYDIS_MAKE_SHORTSTRING("pushf"),
+    ZYDIS_MAKE_SHORTSTRING("pushfd"),
+    ZYDIS_MAKE_SHORTSTRING("pushfq"),
+    ZYDIS_MAKE_SHORTSTRING("pxor"),
+    ZYDIS_MAKE_SHORTSTRING("rcl"),
+    ZYDIS_MAKE_SHORTSTRING("rcpps"),
+    ZYDIS_MAKE_SHORTSTRING("rcpss"),
+    ZYDIS_MAKE_SHORTSTRING("rcr"),
+    ZYDIS_MAKE_SHORTSTRING("rdfsbase"),
+    ZYDIS_MAKE_SHORTSTRING("rdgsbase"),
+    ZYDIS_MAKE_SHORTSTRING("rdmsr"),
+    ZYDIS_MAKE_SHORTSTRING("rdpid"),
+    ZYDIS_MAKE_SHORTSTRING("rdpkru"),
+    ZYDIS_MAKE_SHORTSTRING("rdpmc"),
+    ZYDIS_MAKE_SHORTSTRING("rdpru"),
+    ZYDIS_MAKE_SHORTSTRING("rdrand"),
+    ZYDIS_MAKE_SHORTSTRING("rdseed"),
+    ZYDIS_MAKE_SHORTSTRING("rdsspd"),
+    ZYDIS_MAKE_SHORTSTRING("rdsspq"),
+    ZYDIS_MAKE_SHORTSTRING("rdtsc"),
+    ZYDIS_MAKE_SHORTSTRING("rdtscp"),
+    ZYDIS_MAKE_SHORTSTRING("ret"),
+    ZYDIS_MAKE_SHORTSTRING("rol"),
+    ZYDIS_MAKE_SHORTSTRING("ror"),
+    ZYDIS_MAKE_SHORTSTRING("rorx"),
+    ZYDIS_MAKE_SHORTSTRING("roundpd"),
+    ZYDIS_MAKE_SHORTSTRING("roundps"),
+    ZYDIS_MAKE_SHORTSTRING("roundsd"),
+    ZYDIS_MAKE_SHORTSTRING("roundss"),
+    ZYDIS_MAKE_SHORTSTRING("rsm"),
+    ZYDIS_MAKE_SHORTSTRING("rsqrtps"),
+    ZYDIS_MAKE_SHORTSTRING("rsqrtss"),
+    ZYDIS_MAKE_SHORTSTRING("rstorssp"),
+    ZYDIS_MAKE_SHORTSTRING("sahf"),
+    ZYDIS_MAKE_SHORTSTRING("salc"),
+    ZYDIS_MAKE_SHORTSTRING("sar"),
+    ZYDIS_MAKE_SHORTSTRING("sarx"),
+    ZYDIS_MAKE_SHORTSTRING("saveprevssp"),
+    ZYDIS_MAKE_SHORTSTRING("sbb"),
+    ZYDIS_MAKE_SHORTSTRING("scasb"),
+    ZYDIS_MAKE_SHORTSTRING("scasd"),
+    ZYDIS_MAKE_SHORTSTRING("scasq"),
+    ZYDIS_MAKE_SHORTSTRING("scasw"),
+    ZYDIS_MAKE_SHORTSTRING("setb"),
+    ZYDIS_MAKE_SHORTSTRING("setbe"),
+    ZYDIS_MAKE_SHORTSTRING("setl"),
+    ZYDIS_MAKE_SHORTSTRING("setle"),
+    ZYDIS_MAKE_SHORTSTRING("setnb"),
+    ZYDIS_MAKE_SHORTSTRING("setnbe"),
+    ZYDIS_MAKE_SHORTSTRING("setnl"),
+    ZYDIS_MAKE_SHORTSTRING("setnle"),
+    ZYDIS_MAKE_SHORTSTRING("setno"),
+    ZYDIS_MAKE_SHORTSTRING("setnp"),
+    ZYDIS_MAKE_SHORTSTRING("setns"),
+    ZYDIS_MAKE_SHORTSTRING("setnz"),
+    ZYDIS_MAKE_SHORTSTRING("seto"),
+    ZYDIS_MAKE_SHORTSTRING("setp"),
+    ZYDIS_MAKE_SHORTSTRING("sets"),
+    ZYDIS_MAKE_SHORTSTRING("setssbsy"),
+    ZYDIS_MAKE_SHORTSTRING("setz"),
+    ZYDIS_MAKE_SHORTSTRING("sfence"),
+    ZYDIS_MAKE_SHORTSTRING("sgdt"),
+    ZYDIS_MAKE_SHORTSTRING("sha1msg1"),
+    ZYDIS_MAKE_SHORTSTRING("sha1msg2"),
+    ZYDIS_MAKE_SHORTSTRING("sha1nexte"),
+    ZYDIS_MAKE_SHORTSTRING("sha1rnds4"),
+    ZYDIS_MAKE_SHORTSTRING("sha256msg1"),
+    ZYDIS_MAKE_SHORTSTRING("sha256msg2"),
+    ZYDIS_MAKE_SHORTSTRING("sha256rnds2"),
+    ZYDIS_MAKE_SHORTSTRING("shl"),
+    ZYDIS_MAKE_SHORTSTRING("shld"),
+    ZYDIS_MAKE_SHORTSTRING("shlx"),
+    ZYDIS_MAKE_SHORTSTRING("shr"),
+    ZYDIS_MAKE_SHORTSTRING("shrd"),
+    ZYDIS_MAKE_SHORTSTRING("shrx"),
+    ZYDIS_MAKE_SHORTSTRING("shufpd"),
+    ZYDIS_MAKE_SHORTSTRING("shufps"),
+    ZYDIS_MAKE_SHORTSTRING("sidt"),
+    ZYDIS_MAKE_SHORTSTRING("skinit"),
+    ZYDIS_MAKE_SHORTSTRING("sldt"),
+    ZYDIS_MAKE_SHORTSTRING("slwpcb"),
+    ZYDIS_MAKE_SHORTSTRING("smsw"),
+    ZYDIS_MAKE_SHORTSTRING("spflt"),
+    ZYDIS_MAKE_SHORTSTRING("sqrtpd"),
+    ZYDIS_MAKE_SHORTSTRING("sqrtps"),
+    ZYDIS_MAKE_SHORTSTRING("sqrtsd"),
+    ZYDIS_MAKE_SHORTSTRING("sqrtss"),
+    ZYDIS_MAKE_SHORTSTRING("stac"),
+    ZYDIS_MAKE_SHORTSTRING("stc"),
+    ZYDIS_MAKE_SHORTSTRING("std"),
+    ZYDIS_MAKE_SHORTSTRING("stgi"),
+    ZYDIS_MAKE_SHORTSTRING("sti"),
+    ZYDIS_MAKE_SHORTSTRING("stmxcsr"),
+    ZYDIS_MAKE_SHORTSTRING("stosb"),
+    ZYDIS_MAKE_SHORTSTRING("stosd"),
+    ZYDIS_MAKE_SHORTSTRING("stosq"),
+    ZYDIS_MAKE_SHORTSTRING("stosw"),
+    ZYDIS_MAKE_SHORTSTRING("str"),
+    ZYDIS_MAKE_SHORTSTRING("sub"),
+    ZYDIS_MAKE_SHORTSTRING("subpd"),
+    ZYDIS_MAKE_SHORTSTRING("subps"),
+    ZYDIS_MAKE_SHORTSTRING("subsd"),
+    ZYDIS_MAKE_SHORTSTRING("subss"),
+    ZYDIS_MAKE_SHORTSTRING("swapgs"),
+    ZYDIS_MAKE_SHORTSTRING("syscall"),
+    ZYDIS_MAKE_SHORTSTRING("sysenter"),
+    ZYDIS_MAKE_SHORTSTRING("sysexit"),
+    ZYDIS_MAKE_SHORTSTRING("sysret"),
+    ZYDIS_MAKE_SHORTSTRING("t1mskc"),
+    ZYDIS_MAKE_SHORTSTRING("test"),
+    ZYDIS_MAKE_SHORTSTRING("tpause"),
+    ZYDIS_MAKE_SHORTSTRING("tzcnt"),
+    ZYDIS_MAKE_SHORTSTRING("tzcnti"),
+    ZYDIS_MAKE_SHORTSTRING("tzmsk"),
+    ZYDIS_MAKE_SHORTSTRING("ucomisd"),
+    ZYDIS_MAKE_SHORTSTRING("ucomiss"),
+    ZYDIS_MAKE_SHORTSTRING("ud0"),
+    ZYDIS_MAKE_SHORTSTRING("ud1"),
+    ZYDIS_MAKE_SHORTSTRING("ud2"),
+    ZYDIS_MAKE_SHORTSTRING("umonitor"),
+    ZYDIS_MAKE_SHORTSTRING("umwait"),
+    ZYDIS_MAKE_SHORTSTRING("unpckhpd"),
+    ZYDIS_MAKE_SHORTSTRING("unpckhps"),
+    ZYDIS_MAKE_SHORTSTRING("unpcklpd"),
+    ZYDIS_MAKE_SHORTSTRING("unpcklps"),
+    ZYDIS_MAKE_SHORTSTRING("v4fmaddps"),
+    ZYDIS_MAKE_SHORTSTRING("v4fmaddss"),
+    ZYDIS_MAKE_SHORTSTRING("v4fnmaddps"),
+    ZYDIS_MAKE_SHORTSTRING("v4fnmaddss"),
+    ZYDIS_MAKE_SHORTSTRING("vaddnpd"),
+    ZYDIS_MAKE_SHORTSTRING("vaddnps"),
+    ZYDIS_MAKE_SHORTSTRING("vaddpd"),
+    ZYDIS_MAKE_SHORTSTRING("vaddps"),
+    ZYDIS_MAKE_SHORTSTRING("vaddsd"),
+    ZYDIS_MAKE_SHORTSTRING("vaddsetsps"),
+    ZYDIS_MAKE_SHORTSTRING("vaddss"),
+    ZYDIS_MAKE_SHORTSTRING("vaddsubpd"),
+    ZYDIS_MAKE_SHORTSTRING("vaddsubps"),
+    ZYDIS_MAKE_SHORTSTRING("vaesdec"),
+    ZYDIS_MAKE_SHORTSTRING("vaesdeclast"),
+    ZYDIS_MAKE_SHORTSTRING("vaesenc"),
+    ZYDIS_MAKE_SHORTSTRING("vaesenclast"),
+    ZYDIS_MAKE_SHORTSTRING("vaesimc"),
+    ZYDIS_MAKE_SHORTSTRING("vaeskeygenassist"),
+    ZYDIS_MAKE_SHORTSTRING("valignd"),
+    ZYDIS_MAKE_SHORTSTRING("valignq"),
+    ZYDIS_MAKE_SHORTSTRING("vandnpd"),
+    ZYDIS_MAKE_SHORTSTRING("vandnps"),
+    ZYDIS_MAKE_SHORTSTRING("vandpd"),
+    ZYDIS_MAKE_SHORTSTRING("vandps"),
+    ZYDIS_MAKE_SHORTSTRING("vblendmpd"),
+    ZYDIS_MAKE_SHORTSTRING("vblendmps"),
+    ZYDIS_MAKE_SHORTSTRING("vblendpd"),
+    ZYDIS_MAKE_SHORTSTRING("vblendps"),
+    ZYDIS_MAKE_SHORTSTRING("vblendvpd"),
+    ZYDIS_MAKE_SHORTSTRING("vblendvps"),
+    ZYDIS_MAKE_SHORTSTRING("vbroadcastf128"),
+    ZYDIS_MAKE_SHORTSTRING("vbroadcastf32x2"),
+    ZYDIS_MAKE_SHORTSTRING("vbroadcastf32x4"),
+    ZYDIS_MAKE_SHORTSTRING("vbroadcastf32x8"),
+    ZYDIS_MAKE_SHORTSTRING("vbroadcastf64x2"),
+    ZYDIS_MAKE_SHORTSTRING("vbroadcastf64x4"),
+    ZYDIS_MAKE_SHORTSTRING("vbroadcasti128"),
+    ZYDIS_MAKE_SHORTSTRING("vbroadcasti32x2"),
+    ZYDIS_MAKE_SHORTSTRING("vbroadcasti32x4"),
+    ZYDIS_MAKE_SHORTSTRING("vbroadcasti32x8"),
+    ZYDIS_MAKE_SHORTSTRING("vbroadcasti64x2"),
+    ZYDIS_MAKE_SHORTSTRING("vbroadcasti64x4"),
+    ZYDIS_MAKE_SHORTSTRING("vbroadcastsd"),
+    ZYDIS_MAKE_SHORTSTRING("vbroadcastss"),
+    ZYDIS_MAKE_SHORTSTRING("vcmppd"),
+    ZYDIS_MAKE_SHORTSTRING("vcmpps"),
+    ZYDIS_MAKE_SHORTSTRING("vcmpsd"),
+    ZYDIS_MAKE_SHORTSTRING("vcmpss"),
+    ZYDIS_MAKE_SHORTSTRING("vcomisd"),
+    ZYDIS_MAKE_SHORTSTRING("vcomiss"),
+    ZYDIS_MAKE_SHORTSTRING("vcompresspd"),
+    ZYDIS_MAKE_SHORTSTRING("vcompressps"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtdq2pd"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtdq2ps"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtfxpntdq2ps"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtfxpntpd2dq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtfxpntpd2udq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtfxpntps2dq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtfxpntps2udq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtfxpntudq2ps"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtne2ps2bf16"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtneps2bf16"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtpd2dq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtpd2ps"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtpd2qq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtpd2udq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtpd2uqq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtph2ps"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtps2dq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtps2pd"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtps2ph"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtps2qq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtps2udq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtps2uqq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtqq2pd"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtqq2ps"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtsd2si"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtsd2ss"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtsd2usi"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtsi2sd"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtsi2ss"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtss2sd"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtss2si"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtss2usi"),
+    ZYDIS_MAKE_SHORTSTRING("vcvttpd2dq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvttpd2qq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvttpd2udq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvttpd2uqq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvttps2dq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvttps2qq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvttps2udq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvttps2uqq"),
+    ZYDIS_MAKE_SHORTSTRING("vcvttsd2si"),
+    ZYDIS_MAKE_SHORTSTRING("vcvttsd2usi"),
+    ZYDIS_MAKE_SHORTSTRING("vcvttss2si"),
+    ZYDIS_MAKE_SHORTSTRING("vcvttss2usi"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtudq2pd"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtudq2ps"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtuqq2pd"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtuqq2ps"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtusi2sd"),
+    ZYDIS_MAKE_SHORTSTRING("vcvtusi2ss"),
+    ZYDIS_MAKE_SHORTSTRING("vdbpsadbw"),
+    ZYDIS_MAKE_SHORTSTRING("vdivpd"),
+    ZYDIS_MAKE_SHORTSTRING("vdivps"),
+    ZYDIS_MAKE_SHORTSTRING("vdivsd"),
+    ZYDIS_MAKE_SHORTSTRING("vdivss"),
+    ZYDIS_MAKE_SHORTSTRING("vdpbf16ps"),
+    ZYDIS_MAKE_SHORTSTRING("vdppd"),
+    ZYDIS_MAKE_SHORTSTRING("vdpps"),
+    ZYDIS_MAKE_SHORTSTRING("verr"),
+    ZYDIS_MAKE_SHORTSTRING("verw"),
+    ZYDIS_MAKE_SHORTSTRING("vexp223ps"),
+    ZYDIS_MAKE_SHORTSTRING("vexp2pd"),
+    ZYDIS_MAKE_SHORTSTRING("vexp2ps"),
+    ZYDIS_MAKE_SHORTSTRING("vexpandpd"),
+    ZYDIS_MAKE_SHORTSTRING("vexpandps"),
+    ZYDIS_MAKE_SHORTSTRING("vextractf128"),
+    ZYDIS_MAKE_SHORTSTRING("vextractf32x4"),
+    ZYDIS_MAKE_SHORTSTRING("vextractf32x8"),
+    ZYDIS_MAKE_SHORTSTRING("vextractf64x2"),
+    ZYDIS_MAKE_SHORTSTRING("vextractf64x4"),
+    ZYDIS_MAKE_SHORTSTRING("vextracti128"),
+    ZYDIS_MAKE_SHORTSTRING("vextracti32x4"),
+    ZYDIS_MAKE_SHORTSTRING("vextracti32x8"),
+    ZYDIS_MAKE_SHORTSTRING("vextracti64x2"),
+    ZYDIS_MAKE_SHORTSTRING("vextracti64x4"),
+    ZYDIS_MAKE_SHORTSTRING("vextractps"),
+    ZYDIS_MAKE_SHORTSTRING("vfixupimmpd"),
+    ZYDIS_MAKE_SHORTSTRING("vfixupimmps"),
+    ZYDIS_MAKE_SHORTSTRING("vfixupimmsd"),
+    ZYDIS_MAKE_SHORTSTRING("vfixupimmss"),
+    ZYDIS_MAKE_SHORTSTRING("vfixupnanpd"),
+    ZYDIS_MAKE_SHORTSTRING("vfixupnanps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmadd132pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmadd132ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmadd132sd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmadd132ss"),
+    ZYDIS_MAKE_SHORTSTRING("vfmadd213pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmadd213ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmadd213sd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmadd213ss"),
+    ZYDIS_MAKE_SHORTSTRING("vfmadd231pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmadd231ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmadd231sd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmadd231ss"),
+    ZYDIS_MAKE_SHORTSTRING("vfmadd233ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmaddpd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmaddps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmaddsd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmaddss"),
+    ZYDIS_MAKE_SHORTSTRING("vfmaddsub132pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmaddsub132ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmaddsub213pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmaddsub213ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmaddsub231pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmaddsub231ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmaddsubpd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmaddsubps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsub132pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsub132ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsub132sd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsub132ss"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsub213pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsub213ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsub213sd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsub213ss"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsub231pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsub231ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsub231sd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsub231ss"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsubadd132pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsubadd132ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsubadd213pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsubadd213ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsubadd231pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsubadd231ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsubaddpd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsubaddps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsubpd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsubps"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsubsd"),
+    ZYDIS_MAKE_SHORTSTRING("vfmsubss"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmadd132pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmadd132ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmadd132sd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmadd132ss"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmadd213pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmadd213ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmadd213sd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmadd213ss"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmadd231pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmadd231ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmadd231sd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmadd231ss"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmaddpd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmaddps"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmaddsd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmaddss"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsub132pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsub132ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsub132sd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsub132ss"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsub213pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsub213ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsub213sd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsub213ss"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsub231pd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsub231ps"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsub231sd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsub231ss"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsubpd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsubps"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsubsd"),
+    ZYDIS_MAKE_SHORTSTRING("vfnmsubss"),
+    ZYDIS_MAKE_SHORTSTRING("vfpclasspd"),
+    ZYDIS_MAKE_SHORTSTRING("vfpclassps"),
+    ZYDIS_MAKE_SHORTSTRING("vfpclasssd"),
+    ZYDIS_MAKE_SHORTSTRING("vfpclassss"),
+    ZYDIS_MAKE_SHORTSTRING("vfrczpd"),
+    ZYDIS_MAKE_SHORTSTRING("vfrczps"),
+    ZYDIS_MAKE_SHORTSTRING("vfrczsd"),
+    ZYDIS_MAKE_SHORTSTRING("vfrczss"),
+    ZYDIS_MAKE_SHORTSTRING("vgatherdpd"),
+    ZYDIS_MAKE_SHORTSTRING("vgatherdps"),
+    ZYDIS_MAKE_SHORTSTRING("vgatherpf0dpd"),
+    ZYDIS_MAKE_SHORTSTRING("vgatherpf0dps"),
+    ZYDIS_MAKE_SHORTSTRING("vgatherpf0hintdpd"),
+    ZYDIS_MAKE_SHORTSTRING("vgatherpf0hintdps"),
+    ZYDIS_MAKE_SHORTSTRING("vgatherpf0qpd"),
+    ZYDIS_MAKE_SHORTSTRING("vgatherpf0qps"),
+    ZYDIS_MAKE_SHORTSTRING("vgatherpf1dpd"),
+    ZYDIS_MAKE_SHORTSTRING("vgatherpf1dps"),
+    ZYDIS_MAKE_SHORTSTRING("vgatherpf1qpd"),
+    ZYDIS_MAKE_SHORTSTRING("vgatherpf1qps"),
+    ZYDIS_MAKE_SHORTSTRING("vgatherqpd"),
+    ZYDIS_MAKE_SHORTSTRING("vgatherqps"),
+    ZYDIS_MAKE_SHORTSTRING("vgetexppd"),
+    ZYDIS_MAKE_SHORTSTRING("vgetexpps"),
+    ZYDIS_MAKE_SHORTSTRING("vgetexpsd"),
+    ZYDIS_MAKE_SHORTSTRING("vgetexpss"),
+    ZYDIS_MAKE_SHORTSTRING("vgetmantpd"),
+    ZYDIS_MAKE_SHORTSTRING("vgetmantps"),
+    ZYDIS_MAKE_SHORTSTRING("vgetmantsd"),
+    ZYDIS_MAKE_SHORTSTRING("vgetmantss"),
+    ZYDIS_MAKE_SHORTSTRING("vgf2p8affineinvqb"),
+    ZYDIS_MAKE_SHORTSTRING("vgf2p8affineqb"),
+    ZYDIS_MAKE_SHORTSTRING("vgf2p8mulb"),
+    ZYDIS_MAKE_SHORTSTRING("vgmaxabsps"),
+    ZYDIS_MAKE_SHORTSTRING("vgmaxpd"),
+    ZYDIS_MAKE_SHORTSTRING("vgmaxps"),
+    ZYDIS_MAKE_SHORTSTRING("vgminpd"),
+    ZYDIS_MAKE_SHORTSTRING("vgminps"),
+    ZYDIS_MAKE_SHORTSTRING("vhaddpd"),
+    ZYDIS_MAKE_SHORTSTRING("vhaddps"),
+    ZYDIS_MAKE_SHORTSTRING("vhsubpd"),
+    ZYDIS_MAKE_SHORTSTRING("vhsubps"),
+    ZYDIS_MAKE_SHORTSTRING("vinsertf128"),
+    ZYDIS_MAKE_SHORTSTRING("vinsertf32x4"),
+    ZYDIS_MAKE_SHORTSTRING("vinsertf32x8"),
+    ZYDIS_MAKE_SHORTSTRING("vinsertf64x2"),
+    ZYDIS_MAKE_SHORTSTRING("vinsertf64x4"),
+    ZYDIS_MAKE_SHORTSTRING("vinserti128"),
+    ZYDIS_MAKE_SHORTSTRING("vinserti32x4"),
+    ZYDIS_MAKE_SHORTSTRING("vinserti32x8"),
+    ZYDIS_MAKE_SHORTSTRING("vinserti64x2"),
+    ZYDIS_MAKE_SHORTSTRING("vinserti64x4"),
+    ZYDIS_MAKE_SHORTSTRING("vinsertps"),
+    ZYDIS_MAKE_SHORTSTRING("vlddqu"),
+    ZYDIS_MAKE_SHORTSTRING("vldmxcsr"),
+    ZYDIS_MAKE_SHORTSTRING("vloadunpackhd"),
+    ZYDIS_MAKE_SHORTSTRING("vloadunpackhpd"),
+    ZYDIS_MAKE_SHORTSTRING("vloadunpackhps"),
+    ZYDIS_MAKE_SHORTSTRING("vloadunpackhq"),
+    ZYDIS_MAKE_SHORTSTRING("vloadunpackld"),
+    ZYDIS_MAKE_SHORTSTRING("vloadunpacklpd"),
+    ZYDIS_MAKE_SHORTSTRING("vloadunpacklps"),
+    ZYDIS_MAKE_SHORTSTRING("vloadunpacklq"),
+    ZYDIS_MAKE_SHORTSTRING("vlog2ps"),
+    ZYDIS_MAKE_SHORTSTRING("vmaskmovdqu"),
+    ZYDIS_MAKE_SHORTSTRING("vmaskmovpd"),
+    ZYDIS_MAKE_SHORTSTRING("vmaskmovps"),
+    ZYDIS_MAKE_SHORTSTRING("vmaxpd"),
+    ZYDIS_MAKE_SHORTSTRING("vmaxps"),
+    ZYDIS_MAKE_SHORTSTRING("vmaxsd"),
+    ZYDIS_MAKE_SHORTSTRING("vmaxss"),
+    ZYDIS_MAKE_SHORTSTRING("vmcall"),
+    ZYDIS_MAKE_SHORTSTRING("vmclear"),
+    ZYDIS_MAKE_SHORTSTRING("vmfunc"),
+    ZYDIS_MAKE_SHORTSTRING("vminpd"),
+    ZYDIS_MAKE_SHORTSTRING("vminps"),
+    ZYDIS_MAKE_SHORTSTRING("vminsd"),
+    ZYDIS_MAKE_SHORTSTRING("vminss"),
+    ZYDIS_MAKE_SHORTSTRING("vmlaunch"),
+    ZYDIS_MAKE_SHORTSTRING("vmload"),
+    ZYDIS_MAKE_SHORTSTRING("vmmcall"),
+    ZYDIS_MAKE_SHORTSTRING("vmovapd"),
+    ZYDIS_MAKE_SHORTSTRING("vmovaps"),
+    ZYDIS_MAKE_SHORTSTRING("vmovd"),
+    ZYDIS_MAKE_SHORTSTRING("vmovddup"),
+    ZYDIS_MAKE_SHORTSTRING("vmovdqa"),
+    ZYDIS_MAKE_SHORTSTRING("vmovdqa32"),
+    ZYDIS_MAKE_SHORTSTRING("vmovdqa64"),
+    ZYDIS_MAKE_SHORTSTRING("vmovdqu"),
+    ZYDIS_MAKE_SHORTSTRING("vmovdqu16"),
+    ZYDIS_MAKE_SHORTSTRING("vmovdqu32"),
+    ZYDIS_MAKE_SHORTSTRING("vmovdqu64"),
+    ZYDIS_MAKE_SHORTSTRING("vmovdqu8"),
+    ZYDIS_MAKE_SHORTSTRING("vmovhlps"),
+    ZYDIS_MAKE_SHORTSTRING("vmovhpd"),
+    ZYDIS_MAKE_SHORTSTRING("vmovhps"),
+    ZYDIS_MAKE_SHORTSTRING("vmovlhps"),
+    ZYDIS_MAKE_SHORTSTRING("vmovlpd"),
+    ZYDIS_MAKE_SHORTSTRING("vmovlps"),
+    ZYDIS_MAKE_SHORTSTRING("vmovmskpd"),
+    ZYDIS_MAKE_SHORTSTRING("vmovmskps"),
+    ZYDIS_MAKE_SHORTSTRING("vmovnrapd"),
+    ZYDIS_MAKE_SHORTSTRING("vmovnraps"),
+    ZYDIS_MAKE_SHORTSTRING("vmovnrngoapd"),
+    ZYDIS_MAKE_SHORTSTRING("vmovnrngoaps"),
+    ZYDIS_MAKE_SHORTSTRING("vmovntdq"),
+    ZYDIS_MAKE_SHORTSTRING("vmovntdqa"),
+    ZYDIS_MAKE_SHORTSTRING("vmovntpd"),
+    ZYDIS_MAKE_SHORTSTRING("vmovntps"),
+    ZYDIS_MAKE_SHORTSTRING("vmovq"),
+    ZYDIS_MAKE_SHORTSTRING("vmovsd"),
+    ZYDIS_MAKE_SHORTSTRING("vmovshdup"),
+    ZYDIS_MAKE_SHORTSTRING("vmovsldup"),
+    ZYDIS_MAKE_SHORTSTRING("vmovss"),
+    ZYDIS_MAKE_SHORTSTRING("vmovupd"),
+    ZYDIS_MAKE_SHORTSTRING("vmovups"),
+    ZYDIS_MAKE_SHORTSTRING("vmpsadbw"),
+    ZYDIS_MAKE_SHORTSTRING("vmptrld"),
+    ZYDIS_MAKE_SHORTSTRING("vmptrst"),
+    ZYDIS_MAKE_SHORTSTRING("vmread"),
+    ZYDIS_MAKE_SHORTSTRING("vmresume"),
+    ZYDIS_MAKE_SHORTSTRING("vmrun"),
+    ZYDIS_MAKE_SHORTSTRING("vmsave"),
+    ZYDIS_MAKE_SHORTSTRING("vmulpd"),
+    ZYDIS_MAKE_SHORTSTRING("vmulps"),
+    ZYDIS_MAKE_SHORTSTRING("vmulsd"),
+    ZYDIS_MAKE_SHORTSTRING("vmulss"),
+    ZYDIS_MAKE_SHORTSTRING("vmwrite"),
+    ZYDIS_MAKE_SHORTSTRING("vmxoff"),
+    ZYDIS_MAKE_SHORTSTRING("vmxon"),
+    ZYDIS_MAKE_SHORTSTRING("vorpd"),
+    ZYDIS_MAKE_SHORTSTRING("vorps"),
+    ZYDIS_MAKE_SHORTSTRING("vp2intersectd"),
+    ZYDIS_MAKE_SHORTSTRING("vp2intersectq"),
+    ZYDIS_MAKE_SHORTSTRING("vp4dpwssd"),
+    ZYDIS_MAKE_SHORTSTRING("vp4dpwssds"),
+    ZYDIS_MAKE_SHORTSTRING("vpabsb"),
+    ZYDIS_MAKE_SHORTSTRING("vpabsd"),
+    ZYDIS_MAKE_SHORTSTRING("vpabsq"),
+    ZYDIS_MAKE_SHORTSTRING("vpabsw"),
+    ZYDIS_MAKE_SHORTSTRING("vpackssdw"),
+    ZYDIS_MAKE_SHORTSTRING("vpacksswb"),
+    ZYDIS_MAKE_SHORTSTRING("vpackstorehd"),
+    ZYDIS_MAKE_SHORTSTRING("vpackstorehpd"),
+    ZYDIS_MAKE_SHORTSTRING("vpackstorehps"),
+    ZYDIS_MAKE_SHORTSTRING("vpackstorehq"),
+    ZYDIS_MAKE_SHORTSTRING("vpackstoreld"),
+    ZYDIS_MAKE_SHORTSTRING("vpackstorelpd"),
+    ZYDIS_MAKE_SHORTSTRING("vpackstorelps"),
+    ZYDIS_MAKE_SHORTSTRING("vpackstorelq"),
+    ZYDIS_MAKE_SHORTSTRING("vpackusdw"),
+    ZYDIS_MAKE_SHORTSTRING("vpackuswb"),
+    ZYDIS_MAKE_SHORTSTRING("vpadcd"),
+    ZYDIS_MAKE_SHORTSTRING("vpaddb"),
+    ZYDIS_MAKE_SHORTSTRING("vpaddd"),
+    ZYDIS_MAKE_SHORTSTRING("vpaddq"),
+    ZYDIS_MAKE_SHORTSTRING("vpaddsb"),
+    ZYDIS_MAKE_SHORTSTRING("vpaddsetcd"),
+    ZYDIS_MAKE_SHORTSTRING("vpaddsetsd"),
+    ZYDIS_MAKE_SHORTSTRING("vpaddsw"),
+    ZYDIS_MAKE_SHORTSTRING("vpaddusb"),
+    ZYDIS_MAKE_SHORTSTRING("vpaddusw"),
+    ZYDIS_MAKE_SHORTSTRING("vpaddw"),
+    ZYDIS_MAKE_SHORTSTRING("vpalignr"),
+    ZYDIS_MAKE_SHORTSTRING("vpand"),
+    ZYDIS_MAKE_SHORTSTRING("vpandd"),
+    ZYDIS_MAKE_SHORTSTRING("vpandn"),
+    ZYDIS_MAKE_SHORTSTRING("vpandnd"),
+    ZYDIS_MAKE_SHORTSTRING("vpandnq"),
+    ZYDIS_MAKE_SHORTSTRING("vpandq"),
+    ZYDIS_MAKE_SHORTSTRING("vpavgb"),
+    ZYDIS_MAKE_SHORTSTRING("vpavgw"),
+    ZYDIS_MAKE_SHORTSTRING("vpblendd"),
+    ZYDIS_MAKE_SHORTSTRING("vpblendmb"),
+    ZYDIS_MAKE_SHORTSTRING("vpblendmd"),
+    ZYDIS_MAKE_SHORTSTRING("vpblendmq"),
+    ZYDIS_MAKE_SHORTSTRING("vpblendmw"),
+    ZYDIS_MAKE_SHORTSTRING("vpblendvb"),
+    ZYDIS_MAKE_SHORTSTRING("vpblendw"),
+    ZYDIS_MAKE_SHORTSTRING("vpbroadcastb"),
+    ZYDIS_MAKE_SHORTSTRING("vpbroadcastd"),
+    ZYDIS_MAKE_SHORTSTRING("vpbroadcastmb2q"),
+    ZYDIS_MAKE_SHORTSTRING("vpbroadcastmw2d"),
+    ZYDIS_MAKE_SHORTSTRING("vpbroadcastq"),
+    ZYDIS_MAKE_SHORTSTRING("vpbroadcastw"),
+    ZYDIS_MAKE_SHORTSTRING("vpclmulqdq"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmov"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpb"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpd"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpeqb"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpeqd"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpeqq"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpeqw"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpestri"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpestrm"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpgtb"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpgtd"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpgtq"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpgtw"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpistri"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpistrm"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpltd"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpq"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpub"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpud"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpuq"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpuw"),
+    ZYDIS_MAKE_SHORTSTRING("vpcmpw"),
+    ZYDIS_MAKE_SHORTSTRING("vpcomb"),
+    ZYDIS_MAKE_SHORTSTRING("vpcomd"),
+    ZYDIS_MAKE_SHORTSTRING("vpcompressb"),
+    ZYDIS_MAKE_SHORTSTRING("vpcompressd"),
+    ZYDIS_MAKE_SHORTSTRING("vpcompressq"),
+    ZYDIS_MAKE_SHORTSTRING("vpcompressw"),
+    ZYDIS_MAKE_SHORTSTRING("vpcomq"),
+    ZYDIS_MAKE_SHORTSTRING("vpcomub"),
+    ZYDIS_MAKE_SHORTSTRING("vpcomud"),
+    ZYDIS_MAKE_SHORTSTRING("vpcomuq"),
+    ZYDIS_MAKE_SHORTSTRING("vpcomuw"),
+    ZYDIS_MAKE_SHORTSTRING("vpcomw"),
+    ZYDIS_MAKE_SHORTSTRING("vpconflictd"),
+    ZYDIS_MAKE_SHORTSTRING("vpconflictq"),
+    ZYDIS_MAKE_SHORTSTRING("vpdpbusd"),
+    ZYDIS_MAKE_SHORTSTRING("vpdpbusds"),
+    ZYDIS_MAKE_SHORTSTRING("vpdpwssd"),
+    ZYDIS_MAKE_SHORTSTRING("vpdpwssds"),
+    ZYDIS_MAKE_SHORTSTRING("vperm2f128"),
+    ZYDIS_MAKE_SHORTSTRING("vperm2i128"),
+    ZYDIS_MAKE_SHORTSTRING("vpermb"),
+    ZYDIS_MAKE_SHORTSTRING("vpermd"),
+    ZYDIS_MAKE_SHORTSTRING("vpermf32x4"),
+    ZYDIS_MAKE_SHORTSTRING("vpermi2b"),
+    ZYDIS_MAKE_SHORTSTRING("vpermi2d"),
+    ZYDIS_MAKE_SHORTSTRING("vpermi2pd"),
+    ZYDIS_MAKE_SHORTSTRING("vpermi2ps"),
+    ZYDIS_MAKE_SHORTSTRING("vpermi2q"),
+    ZYDIS_MAKE_SHORTSTRING("vpermi2w"),
+    ZYDIS_MAKE_SHORTSTRING("vpermil2pd"),
+    ZYDIS_MAKE_SHORTSTRING("vpermil2ps"),
+    ZYDIS_MAKE_SHORTSTRING("vpermilpd"),
+    ZYDIS_MAKE_SHORTSTRING("vpermilps"),
+    ZYDIS_MAKE_SHORTSTRING("vpermpd"),
+    ZYDIS_MAKE_SHORTSTRING("vpermps"),
+    ZYDIS_MAKE_SHORTSTRING("vpermq"),
+    ZYDIS_MAKE_SHORTSTRING("vpermt2b"),
+    ZYDIS_MAKE_SHORTSTRING("vpermt2d"),
+    ZYDIS_MAKE_SHORTSTRING("vpermt2pd"),
+    ZYDIS_MAKE_SHORTSTRING("vpermt2ps"),
+    ZYDIS_MAKE_SHORTSTRING("vpermt2q"),
+    ZYDIS_MAKE_SHORTSTRING("vpermt2w"),
+    ZYDIS_MAKE_SHORTSTRING("vpermw"),
+    ZYDIS_MAKE_SHORTSTRING("vpexpandb"),
+    ZYDIS_MAKE_SHORTSTRING("vpexpandd"),
+    ZYDIS_MAKE_SHORTSTRING("vpexpandq"),
+    ZYDIS_MAKE_SHORTSTRING("vpexpandw"),
+    ZYDIS_MAKE_SHORTSTRING("vpextrb"),
+    ZYDIS_MAKE_SHORTSTRING("vpextrd"),
+    ZYDIS_MAKE_SHORTSTRING("vpextrq"),
+    ZYDIS_MAKE_SHORTSTRING("vpextrw"),
+    ZYDIS_MAKE_SHORTSTRING("vpgatherdd"),
+    ZYDIS_MAKE_SHORTSTRING("vpgatherdq"),
+    ZYDIS_MAKE_SHORTSTRING("vpgatherqd"),
+    ZYDIS_MAKE_SHORTSTRING("vpgatherqq"),
+    ZYDIS_MAKE_SHORTSTRING("vphaddbd"),
+    ZYDIS_MAKE_SHORTSTRING("vphaddbq"),
+    ZYDIS_MAKE_SHORTSTRING("vphaddbw"),
+    ZYDIS_MAKE_SHORTSTRING("vphaddd"),
+    ZYDIS_MAKE_SHORTSTRING("vphadddq"),
+    ZYDIS_MAKE_SHORTSTRING("vphaddsw"),
+    ZYDIS_MAKE_SHORTSTRING("vphaddubd"),
+    ZYDIS_MAKE_SHORTSTRING("vphaddubq"),
+    ZYDIS_MAKE_SHORTSTRING("vphaddubw"),
+    ZYDIS_MAKE_SHORTSTRING("vphaddudq"),
+    ZYDIS_MAKE_SHORTSTRING("vphadduwd"),
+    ZYDIS_MAKE_SHORTSTRING("vphadduwq"),
+    ZYDIS_MAKE_SHORTSTRING("vphaddw"),
+    ZYDIS_MAKE_SHORTSTRING("vphaddwd"),
+    ZYDIS_MAKE_SHORTSTRING("vphaddwq"),
+    ZYDIS_MAKE_SHORTSTRING("vphminposuw"),
+    ZYDIS_MAKE_SHORTSTRING("vphsubbw"),
+    ZYDIS_MAKE_SHORTSTRING("vphsubd"),
+    ZYDIS_MAKE_SHORTSTRING("vphsubdq"),
+    ZYDIS_MAKE_SHORTSTRING("vphsubsw"),
+    ZYDIS_MAKE_SHORTSTRING("vphsubw"),
+    ZYDIS_MAKE_SHORTSTRING("vphsubwd"),
+    ZYDIS_MAKE_SHORTSTRING("vpinsrb"),
+    ZYDIS_MAKE_SHORTSTRING("vpinsrd"),
+    ZYDIS_MAKE_SHORTSTRING("vpinsrq"),
+    ZYDIS_MAKE_SHORTSTRING("vpinsrw"),
+    ZYDIS_MAKE_SHORTSTRING("vplzcntd"),
+    ZYDIS_MAKE_SHORTSTRING("vplzcntq"),
+    ZYDIS_MAKE_SHORTSTRING("vpmacsdd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmacsdqh"),
+    ZYDIS_MAKE_SHORTSTRING("vpmacsdql"),
+    ZYDIS_MAKE_SHORTSTRING("vpmacssdd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmacssdqh"),
+    ZYDIS_MAKE_SHORTSTRING("vpmacssdql"),
+    ZYDIS_MAKE_SHORTSTRING("vpmacsswd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmacssww"),
+    ZYDIS_MAKE_SHORTSTRING("vpmacswd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmacsww"),
+    ZYDIS_MAKE_SHORTSTRING("vpmadcsswd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmadcswd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmadd231d"),
+    ZYDIS_MAKE_SHORTSTRING("vpmadd233d"),
+    ZYDIS_MAKE_SHORTSTRING("vpmadd52huq"),
+    ZYDIS_MAKE_SHORTSTRING("vpmadd52luq"),
+    ZYDIS_MAKE_SHORTSTRING("vpmaddubsw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmaddwd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmaskmovd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmaskmovq"),
+    ZYDIS_MAKE_SHORTSTRING("vpmaxsb"),
+    ZYDIS_MAKE_SHORTSTRING("vpmaxsd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmaxsq"),
+    ZYDIS_MAKE_SHORTSTRING("vpmaxsw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmaxub"),
+    ZYDIS_MAKE_SHORTSTRING("vpmaxud"),
+    ZYDIS_MAKE_SHORTSTRING("vpmaxuq"),
+    ZYDIS_MAKE_SHORTSTRING("vpmaxuw"),
+    ZYDIS_MAKE_SHORTSTRING("vpminsb"),
+    ZYDIS_MAKE_SHORTSTRING("vpminsd"),
+    ZYDIS_MAKE_SHORTSTRING("vpminsq"),
+    ZYDIS_MAKE_SHORTSTRING("vpminsw"),
+    ZYDIS_MAKE_SHORTSTRING("vpminub"),
+    ZYDIS_MAKE_SHORTSTRING("vpminud"),
+    ZYDIS_MAKE_SHORTSTRING("vpminuq"),
+    ZYDIS_MAKE_SHORTSTRING("vpminuw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovb2m"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovd2m"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovdb"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovdw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovm2b"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovm2d"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovm2q"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovm2w"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovmskb"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovq2m"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovqb"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovqd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovqw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovsdb"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovsdw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovsqb"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovsqd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovsqw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovswb"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovsxbd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovsxbq"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovsxbw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovsxdq"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovsxwd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovsxwq"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovusdb"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovusdw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovusqb"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovusqd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovusqw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovuswb"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovw2m"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovwb"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovzxbd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovzxbq"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovzxbw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovzxdq"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovzxwd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmovzxwq"),
+    ZYDIS_MAKE_SHORTSTRING("vpmuldq"),
+    ZYDIS_MAKE_SHORTSTRING("vpmulhd"),
+    ZYDIS_MAKE_SHORTSTRING("vpmulhrsw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmulhud"),
+    ZYDIS_MAKE_SHORTSTRING("vpmulhuw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmulhw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmulld"),
+    ZYDIS_MAKE_SHORTSTRING("vpmullq"),
+    ZYDIS_MAKE_SHORTSTRING("vpmullw"),
+    ZYDIS_MAKE_SHORTSTRING("vpmultishiftqb"),
+    ZYDIS_MAKE_SHORTSTRING("vpmuludq"),
+    ZYDIS_MAKE_SHORTSTRING("vpopcntb"),
+    ZYDIS_MAKE_SHORTSTRING("vpopcntd"),
+    ZYDIS_MAKE_SHORTSTRING("vpopcntq"),
+    ZYDIS_MAKE_SHORTSTRING("vpopcntw"),
+    ZYDIS_MAKE_SHORTSTRING("vpor"),
+    ZYDIS_MAKE_SHORTSTRING("vpord"),
+    ZYDIS_MAKE_SHORTSTRING("vporq"),
+    ZYDIS_MAKE_SHORTSTRING("vpperm"),
+    ZYDIS_MAKE_SHORTSTRING("vprefetch0"),
+    ZYDIS_MAKE_SHORTSTRING("vprefetch1"),
+    ZYDIS_MAKE_SHORTSTRING("vprefetch2"),
+    ZYDIS_MAKE_SHORTSTRING("vprefetche0"),
+    ZYDIS_MAKE_SHORTSTRING("vprefetche1"),
+    ZYDIS_MAKE_SHORTSTRING("vprefetche2"),
+    ZYDIS_MAKE_SHORTSTRING("vprefetchenta"),
+    ZYDIS_MAKE_SHORTSTRING("vprefetchnta"),
+    ZYDIS_MAKE_SHORTSTRING("vprold"),
+    ZYDIS_MAKE_SHORTSTRING("vprolq"),
+    ZYDIS_MAKE_SHORTSTRING("vprolvd"),
+    ZYDIS_MAKE_SHORTSTRING("vprolvq"),
+    ZYDIS_MAKE_SHORTSTRING("vprord"),
+    ZYDIS_MAKE_SHORTSTRING("vprorq"),
+    ZYDIS_MAKE_SHORTSTRING("vprorvd"),
+    ZYDIS_MAKE_SHORTSTRING("vprorvq"),
+    ZYDIS_MAKE_SHORTSTRING("vprotb"),
+    ZYDIS_MAKE_SHORTSTRING("vprotd"),
+    ZYDIS_MAKE_SHORTSTRING("vprotq"),
+    ZYDIS_MAKE_SHORTSTRING("vprotw"),
+    ZYDIS_MAKE_SHORTSTRING("vpsadbw"),
+    ZYDIS_MAKE_SHORTSTRING("vpsbbd"),
+    ZYDIS_MAKE_SHORTSTRING("vpsbbrd"),
+    ZYDIS_MAKE_SHORTSTRING("vpscatterdd"),
+    ZYDIS_MAKE_SHORTSTRING("vpscatterdq"),
+    ZYDIS_MAKE_SHORTSTRING("vpscatterqd"),
+    ZYDIS_MAKE_SHORTSTRING("vpscatterqq"),
+    ZYDIS_MAKE_SHORTSTRING("vpshab"),
+    ZYDIS_MAKE_SHORTSTRING("vpshad"),
+    ZYDIS_MAKE_SHORTSTRING("vpshaq"),
+    ZYDIS_MAKE_SHORTSTRING("vpshaw"),
+    ZYDIS_MAKE_SHORTSTRING("vpshlb"),
+    ZYDIS_MAKE_SHORTSTRING("vpshld"),
+    ZYDIS_MAKE_SHORTSTRING("vpshldd"),
+    ZYDIS_MAKE_SHORTSTRING("vpshldq"),
+    ZYDIS_MAKE_SHORTSTRING("vpshldvd"),
+    ZYDIS_MAKE_SHORTSTRING("vpshldvq"),
+    ZYDIS_MAKE_SHORTSTRING("vpshldvw"),
+    ZYDIS_MAKE_SHORTSTRING("vpshldw"),
+    ZYDIS_MAKE_SHORTSTRING("vpshlq"),
+    ZYDIS_MAKE_SHORTSTRING("vpshlw"),
+    ZYDIS_MAKE_SHORTSTRING("vpshrdd"),
+    ZYDIS_MAKE_SHORTSTRING("vpshrdq"),
+    ZYDIS_MAKE_SHORTSTRING("vpshrdvd"),
+    ZYDIS_MAKE_SHORTSTRING("vpshrdvq"),
+    ZYDIS_MAKE_SHORTSTRING("vpshrdvw"),
+    ZYDIS_MAKE_SHORTSTRING("vpshrdw"),
+    ZYDIS_MAKE_SHORTSTRING("vpshufb"),
+    ZYDIS_MAKE_SHORTSTRING("vpshufbitqmb"),
+    ZYDIS_MAKE_SHORTSTRING("vpshufd"),
+    ZYDIS_MAKE_SHORTSTRING("vpshufhw"),
+    ZYDIS_MAKE_SHORTSTRING("vpshuflw"),
+    ZYDIS_MAKE_SHORTSTRING("vpsignb"),
+    ZYDIS_MAKE_SHORTSTRING("vpsignd"),
+    ZYDIS_MAKE_SHORTSTRING("vpsignw"),
+    ZYDIS_MAKE_SHORTSTRING("vpslld"),
+    ZYDIS_MAKE_SHORTSTRING("vpslldq"),
+    ZYDIS_MAKE_SHORTSTRING("vpsllq"),
+    ZYDIS_MAKE_SHORTSTRING("vpsllvd"),
+    ZYDIS_MAKE_SHORTSTRING("vpsllvq"),
+    ZYDIS_MAKE_SHORTSTRING("vpsllvw"),
+    ZYDIS_MAKE_SHORTSTRING("vpsllw"),
+    ZYDIS_MAKE_SHORTSTRING("vpsrad"),
+    ZYDIS_MAKE_SHORTSTRING("vpsraq"),
+    ZYDIS_MAKE_SHORTSTRING("vpsravd"),
+    ZYDIS_MAKE_SHORTSTRING("vpsravq"),
+    ZYDIS_MAKE_SHORTSTRING("vpsravw"),
+    ZYDIS_MAKE_SHORTSTRING("vpsraw"),
+    ZYDIS_MAKE_SHORTSTRING("vpsrld"),
+    ZYDIS_MAKE_SHORTSTRING("vpsrldq"),
+    ZYDIS_MAKE_SHORTSTRING("vpsrlq"),
+    ZYDIS_MAKE_SHORTSTRING("vpsrlvd"),
+    ZYDIS_MAKE_SHORTSTRING("vpsrlvq"),
+    ZYDIS_MAKE_SHORTSTRING("vpsrlvw"),
+    ZYDIS_MAKE_SHORTSTRING("vpsrlw"),
+    ZYDIS_MAKE_SHORTSTRING("vpsubb"),
+    ZYDIS_MAKE_SHORTSTRING("vpsubd"),
+    ZYDIS_MAKE_SHORTSTRING("vpsubq"),
+    ZYDIS_MAKE_SHORTSTRING("vpsubrd"),
+    ZYDIS_MAKE_SHORTSTRING("vpsubrsetbd"),
+    ZYDIS_MAKE_SHORTSTRING("vpsubsb"),
+    ZYDIS_MAKE_SHORTSTRING("vpsubsetbd"),
+    ZYDIS_MAKE_SHORTSTRING("vpsubsw"),
+    ZYDIS_MAKE_SHORTSTRING("vpsubusb"),
+    ZYDIS_MAKE_SHORTSTRING("vpsubusw"),
+    ZYDIS_MAKE_SHORTSTRING("vpsubw"),
+    ZYDIS_MAKE_SHORTSTRING("vpternlogd"),
+    ZYDIS_MAKE_SHORTSTRING("vpternlogq"),
+    ZYDIS_MAKE_SHORTSTRING("vptest"),
+    ZYDIS_MAKE_SHORTSTRING("vptestmb"),
+    ZYDIS_MAKE_SHORTSTRING("vptestmd"),
+    ZYDIS_MAKE_SHORTSTRING("vptestmq"),
+    ZYDIS_MAKE_SHORTSTRING("vptestmw"),
+    ZYDIS_MAKE_SHORTSTRING("vptestnmb"),
+    ZYDIS_MAKE_SHORTSTRING("vptestnmd"),
+    ZYDIS_MAKE_SHORTSTRING("vptestnmq"),
+    ZYDIS_MAKE_SHORTSTRING("vptestnmw"),
+    ZYDIS_MAKE_SHORTSTRING("vpunpckhbw"),
+    ZYDIS_MAKE_SHORTSTRING("vpunpckhdq"),
+    ZYDIS_MAKE_SHORTSTRING("vpunpckhqdq"),
+    ZYDIS_MAKE_SHORTSTRING("vpunpckhwd"),
+    ZYDIS_MAKE_SHORTSTRING("vpunpcklbw"),
+    ZYDIS_MAKE_SHORTSTRING("vpunpckldq"),
+    ZYDIS_MAKE_SHORTSTRING("vpunpcklqdq"),
+    ZYDIS_MAKE_SHORTSTRING("vpunpcklwd"),
+    ZYDIS_MAKE_SHORTSTRING("vpxor"),
+    ZYDIS_MAKE_SHORTSTRING("vpxord"),
+    ZYDIS_MAKE_SHORTSTRING("vpxorq"),
+    ZYDIS_MAKE_SHORTSTRING("vrangepd"),
+    ZYDIS_MAKE_SHORTSTRING("vrangeps"),
+    ZYDIS_MAKE_SHORTSTRING("vrangesd"),
+    ZYDIS_MAKE_SHORTSTRING("vrangess"),
+    ZYDIS_MAKE_SHORTSTRING("vrcp14pd"),
+    ZYDIS_MAKE_SHORTSTRING("vrcp14ps"),
+    ZYDIS_MAKE_SHORTSTRING("vrcp14sd"),
+    ZYDIS_MAKE_SHORTSTRING("vrcp14ss"),
+    ZYDIS_MAKE_SHORTSTRING("vrcp23ps"),
+    ZYDIS_MAKE_SHORTSTRING("vrcp28pd"),
+    ZYDIS_MAKE_SHORTSTRING("vrcp28ps"),
+    ZYDIS_MAKE_SHORTSTRING("vrcp28sd"),
+    ZYDIS_MAKE_SHORTSTRING("vrcp28ss"),
+    ZYDIS_MAKE_SHORTSTRING("vrcpps"),
+    ZYDIS_MAKE_SHORTSTRING("vrcpss"),
+    ZYDIS_MAKE_SHORTSTRING("vreducepd"),
+    ZYDIS_MAKE_SHORTSTRING("vreduceps"),
+    ZYDIS_MAKE_SHORTSTRING("vreducesd"),
+    ZYDIS_MAKE_SHORTSTRING("vreducess"),
+    ZYDIS_MAKE_SHORTSTRING("vrndfxpntpd"),
+    ZYDIS_MAKE_SHORTSTRING("vrndfxpntps"),
+    ZYDIS_MAKE_SHORTSTRING("vrndscalepd"),
+    ZYDIS_MAKE_SHORTSTRING("vrndscaleps"),
+    ZYDIS_MAKE_SHORTSTRING("vrndscalesd"),
+    ZYDIS_MAKE_SHORTSTRING("vrndscaless"),
+    ZYDIS_MAKE_SHORTSTRING("vroundpd"),
+    ZYDIS_MAKE_SHORTSTRING("vroundps"),
+    ZYDIS_MAKE_SHORTSTRING("vroundsd"),
+    ZYDIS_MAKE_SHORTSTRING("vroundss"),
+    ZYDIS_MAKE_SHORTSTRING("vrsqrt14pd"),
+    ZYDIS_MAKE_SHORTSTRING("vrsqrt14ps"),
+    ZYDIS_MAKE_SHORTSTRING("vrsqrt14sd"),
+    ZYDIS_MAKE_SHORTSTRING("vrsqrt14ss"),
+    ZYDIS_MAKE_SHORTSTRING("vrsqrt23ps"),
+    ZYDIS_MAKE_SHORTSTRING("vrsqrt28pd"),
+    ZYDIS_MAKE_SHORTSTRING("vrsqrt28ps"),
+    ZYDIS_MAKE_SHORTSTRING("vrsqrt28sd"),
+    ZYDIS_MAKE_SHORTSTRING("vrsqrt28ss"),
+    ZYDIS_MAKE_SHORTSTRING("vrsqrtps"),
+    ZYDIS_MAKE_SHORTSTRING("vrsqrtss"),
+    ZYDIS_MAKE_SHORTSTRING("vscalefpd"),
+    ZYDIS_MAKE_SHORTSTRING("vscalefps"),
+    ZYDIS_MAKE_SHORTSTRING("vscalefsd"),
+    ZYDIS_MAKE_SHORTSTRING("vscalefss"),
+    ZYDIS_MAKE_SHORTSTRING("vscaleps"),
+    ZYDIS_MAKE_SHORTSTRING("vscatterdpd"),
+    ZYDIS_MAKE_SHORTSTRING("vscatterdps"),
+    ZYDIS_MAKE_SHORTSTRING("vscatterpf0dpd"),
+    ZYDIS_MAKE_SHORTSTRING("vscatterpf0dps"),
+    ZYDIS_MAKE_SHORTSTRING("vscatterpf0hintdpd"),
+    ZYDIS_MAKE_SHORTSTRING("vscatterpf0hintdps"),
+    ZYDIS_MAKE_SHORTSTRING("vscatterpf0qpd"),
+    ZYDIS_MAKE_SHORTSTRING("vscatterpf0qps"),
+    ZYDIS_MAKE_SHORTSTRING("vscatterpf1dpd"),
+    ZYDIS_MAKE_SHORTSTRING("vscatterpf1dps"),
+    ZYDIS_MAKE_SHORTSTRING("vscatterpf1qpd"),
+    ZYDIS_MAKE_SHORTSTRING("vscatterpf1qps"),
+    ZYDIS_MAKE_SHORTSTRING("vscatterqpd"),
+    ZYDIS_MAKE_SHORTSTRING("vscatterqps"),
+    ZYDIS_MAKE_SHORTSTRING("vshuff32x4"),
+    ZYDIS_MAKE_SHORTSTRING("vshuff64x2"),
+    ZYDIS_MAKE_SHORTSTRING("vshufi32x4"),
+    ZYDIS_MAKE_SHORTSTRING("vshufi64x2"),
+    ZYDIS_MAKE_SHORTSTRING("vshufpd"),
+    ZYDIS_MAKE_SHORTSTRING("vshufps"),
+    ZYDIS_MAKE_SHORTSTRING("vsqrtpd"),
+    ZYDIS_MAKE_SHORTSTRING("vsqrtps"),
+    ZYDIS_MAKE_SHORTSTRING("vsqrtsd"),
+    ZYDIS_MAKE_SHORTSTRING("vsqrtss"),
+    ZYDIS_MAKE_SHORTSTRING("vstmxcsr"),
+    ZYDIS_MAKE_SHORTSTRING("vsubpd"),
+    ZYDIS_MAKE_SHORTSTRING("vsubps"),
+    ZYDIS_MAKE_SHORTSTRING("vsubrpd"),
+    ZYDIS_MAKE_SHORTSTRING("vsubrps"),
+    ZYDIS_MAKE_SHORTSTRING("vsubsd"),
+    ZYDIS_MAKE_SHORTSTRING("vsubss"),
+    ZYDIS_MAKE_SHORTSTRING("vtestpd"),
+    ZYDIS_MAKE_SHORTSTRING("vtestps"),
+    ZYDIS_MAKE_SHORTSTRING("vucomisd"),
+    ZYDIS_MAKE_SHORTSTRING("vucomiss"),
+    ZYDIS_MAKE_SHORTSTRING("vunpckhpd"),
+    ZYDIS_MAKE_SHORTSTRING("vunpckhps"),
+    ZYDIS_MAKE_SHORTSTRING("vunpcklpd"),
+    ZYDIS_MAKE_SHORTSTRING("vunpcklps"),
+    ZYDIS_MAKE_SHORTSTRING("vxorpd"),
+    ZYDIS_MAKE_SHORTSTRING("vxorps"),
+    ZYDIS_MAKE_SHORTSTRING("vzeroall"),
+    ZYDIS_MAKE_SHORTSTRING("vzeroupper"),
+    ZYDIS_MAKE_SHORTSTRING("wbinvd"),
+    ZYDIS_MAKE_SHORTSTRING("wrfsbase"),
+    ZYDIS_MAKE_SHORTSTRING("wrgsbase"),
+    ZYDIS_MAKE_SHORTSTRING("wrmsr"),
+    ZYDIS_MAKE_SHORTSTRING("wrpkru"),
+    ZYDIS_MAKE_SHORTSTRING("wrssd"),
+    ZYDIS_MAKE_SHORTSTRING("wrssq"),
+    ZYDIS_MAKE_SHORTSTRING("wrussd"),
+    ZYDIS_MAKE_SHORTSTRING("wrussq"),
+    ZYDIS_MAKE_SHORTSTRING("xabort"),
+    ZYDIS_MAKE_SHORTSTRING("xadd"),
+    ZYDIS_MAKE_SHORTSTRING("xbegin"),
+    ZYDIS_MAKE_SHORTSTRING("xchg"),
+    ZYDIS_MAKE_SHORTSTRING("xcrypt_cbc"),
+    ZYDIS_MAKE_SHORTSTRING("xcrypt_cfb"),
+    ZYDIS_MAKE_SHORTSTRING("xcrypt_ctr"),
+    ZYDIS_MAKE_SHORTSTRING("xcrypt_ecb"),
+    ZYDIS_MAKE_SHORTSTRING("xcrypt_ofb"),
+    ZYDIS_MAKE_SHORTSTRING("xend"),
+    ZYDIS_MAKE_SHORTSTRING("xgetbv"),
+    ZYDIS_MAKE_SHORTSTRING("xlat"),
+    ZYDIS_MAKE_SHORTSTRING("xor"),
+    ZYDIS_MAKE_SHORTSTRING("xorpd"),
+    ZYDIS_MAKE_SHORTSTRING("xorps"),
+    ZYDIS_MAKE_SHORTSTRING("xrstor"),
+    ZYDIS_MAKE_SHORTSTRING("xrstor64"),
+    ZYDIS_MAKE_SHORTSTRING("xrstors"),
+    ZYDIS_MAKE_SHORTSTRING("xrstors64"),
+    ZYDIS_MAKE_SHORTSTRING("xsave"),
+    ZYDIS_MAKE_SHORTSTRING("xsave64"),
+    ZYDIS_MAKE_SHORTSTRING("xsavec"),
+    ZYDIS_MAKE_SHORTSTRING("xsavec64"),
+    ZYDIS_MAKE_SHORTSTRING("xsaveopt"),
+    ZYDIS_MAKE_SHORTSTRING("xsaveopt64"),
+    ZYDIS_MAKE_SHORTSTRING("xsaves"),
+    ZYDIS_MAKE_SHORTSTRING("xsaves64"),
+    ZYDIS_MAKE_SHORTSTRING("xsetbv"),
+    ZYDIS_MAKE_SHORTSTRING("xsha1"),
+    ZYDIS_MAKE_SHORTSTRING("xsha256"),
+    ZYDIS_MAKE_SHORTSTRING("xstore"),
+    ZYDIS_MAKE_SHORTSTRING("xtest")
+};
diff --git a/external/zydis/src/Generated/EnumRegister.inc b/external/zydis/src/Generated/EnumRegister.inc
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Generated/EnumRegister.inc
@@ -0,0 +1,280 @@
+static const ZydisShortString STR_REGISTER[] =
+{
+    ZYDIS_MAKE_SHORTSTRING("none"),
+
+    // General purpose registers  8-bit
+    ZYDIS_MAKE_SHORTSTRING("al"),
+    ZYDIS_MAKE_SHORTSTRING("cl"),
+    ZYDIS_MAKE_SHORTSTRING("dl"),
+    ZYDIS_MAKE_SHORTSTRING("bl"),
+    ZYDIS_MAKE_SHORTSTRING("ah"),
+    ZYDIS_MAKE_SHORTSTRING("ch"),
+    ZYDIS_MAKE_SHORTSTRING("dh"),
+    ZYDIS_MAKE_SHORTSTRING("bh"),
+    ZYDIS_MAKE_SHORTSTRING("spl"),
+    ZYDIS_MAKE_SHORTSTRING("bpl"),
+    ZYDIS_MAKE_SHORTSTRING("sil"),
+    ZYDIS_MAKE_SHORTSTRING("dil"),
+    ZYDIS_MAKE_SHORTSTRING("r8b"),
+    ZYDIS_MAKE_SHORTSTRING("r9b"),
+    ZYDIS_MAKE_SHORTSTRING("r10b"),
+    ZYDIS_MAKE_SHORTSTRING("r11b"),
+    ZYDIS_MAKE_SHORTSTRING("r12b"),
+    ZYDIS_MAKE_SHORTSTRING("r13b"),
+    ZYDIS_MAKE_SHORTSTRING("r14b"),
+    ZYDIS_MAKE_SHORTSTRING("r15b"),
+    // General purpose registers 16-bit
+    ZYDIS_MAKE_SHORTSTRING("ax"),
+    ZYDIS_MAKE_SHORTSTRING("cx"),
+    ZYDIS_MAKE_SHORTSTRING("dx"),
+    ZYDIS_MAKE_SHORTSTRING("bx"),
+    ZYDIS_MAKE_SHORTSTRING("sp"),
+    ZYDIS_MAKE_SHORTSTRING("bp"),
+    ZYDIS_MAKE_SHORTSTRING("si"),
+    ZYDIS_MAKE_SHORTSTRING("di"),
+    ZYDIS_MAKE_SHORTSTRING("r8w"),
+    ZYDIS_MAKE_SHORTSTRING("r9w"),
+    ZYDIS_MAKE_SHORTSTRING("r10w"),
+    ZYDIS_MAKE_SHORTSTRING("r11w"),
+    ZYDIS_MAKE_SHORTSTRING("r12w"),
+    ZYDIS_MAKE_SHORTSTRING("r13w"),
+    ZYDIS_MAKE_SHORTSTRING("r14w"),
+    ZYDIS_MAKE_SHORTSTRING("r15w"),
+    // General purpose registers 32-bit
+    ZYDIS_MAKE_SHORTSTRING("eax"),
+    ZYDIS_MAKE_SHORTSTRING("ecx"),
+    ZYDIS_MAKE_SHORTSTRING("edx"),
+    ZYDIS_MAKE_SHORTSTRING("ebx"),
+    ZYDIS_MAKE_SHORTSTRING("esp"),
+    ZYDIS_MAKE_SHORTSTRING("ebp"),
+    ZYDIS_MAKE_SHORTSTRING("esi"),
+    ZYDIS_MAKE_SHORTSTRING("edi"),
+    ZYDIS_MAKE_SHORTSTRING("r8d"),
+    ZYDIS_MAKE_SHORTSTRING("r9d"),
+    ZYDIS_MAKE_SHORTSTRING("r10d"),
+    ZYDIS_MAKE_SHORTSTRING("r11d"),
+    ZYDIS_MAKE_SHORTSTRING("r12d"),
+    ZYDIS_MAKE_SHORTSTRING("r13d"),
+    ZYDIS_MAKE_SHORTSTRING("r14d"),
+    ZYDIS_MAKE_SHORTSTRING("r15d"),
+    // General purpose registers 64-bit
+    ZYDIS_MAKE_SHORTSTRING("rax"),
+    ZYDIS_MAKE_SHORTSTRING("rcx"),
+    ZYDIS_MAKE_SHORTSTRING("rdx"),
+    ZYDIS_MAKE_SHORTSTRING("rbx"),
+    ZYDIS_MAKE_SHORTSTRING("rsp"),
+    ZYDIS_MAKE_SHORTSTRING("rbp"),
+    ZYDIS_MAKE_SHORTSTRING("rsi"),
+    ZYDIS_MAKE_SHORTSTRING("rdi"),
+    ZYDIS_MAKE_SHORTSTRING("r8"),
+    ZYDIS_MAKE_SHORTSTRING("r9"),
+    ZYDIS_MAKE_SHORTSTRING("r10"),
+    ZYDIS_MAKE_SHORTSTRING("r11"),
+    ZYDIS_MAKE_SHORTSTRING("r12"),
+    ZYDIS_MAKE_SHORTSTRING("r13"),
+    ZYDIS_MAKE_SHORTSTRING("r14"),
+    ZYDIS_MAKE_SHORTSTRING("r15"),
+    // Floating point legacy registers
+    ZYDIS_MAKE_SHORTSTRING("st0"),
+    ZYDIS_MAKE_SHORTSTRING("st1"),
+    ZYDIS_MAKE_SHORTSTRING("st2"),
+    ZYDIS_MAKE_SHORTSTRING("st3"),
+    ZYDIS_MAKE_SHORTSTRING("st4"),
+    ZYDIS_MAKE_SHORTSTRING("st5"),
+    ZYDIS_MAKE_SHORTSTRING("st6"),
+    ZYDIS_MAKE_SHORTSTRING("st7"),
+    ZYDIS_MAKE_SHORTSTRING("x87control"),
+    ZYDIS_MAKE_SHORTSTRING("x87status"),
+    ZYDIS_MAKE_SHORTSTRING("x87tag"),
+    // Floating point multimedia registers
+    ZYDIS_MAKE_SHORTSTRING("mm0"),
+    ZYDIS_MAKE_SHORTSTRING("mm1"),
+    ZYDIS_MAKE_SHORTSTRING("mm2"),
+    ZYDIS_MAKE_SHORTSTRING("mm3"),
+    ZYDIS_MAKE_SHORTSTRING("mm4"),
+    ZYDIS_MAKE_SHORTSTRING("mm5"),
+    ZYDIS_MAKE_SHORTSTRING("mm6"),
+    ZYDIS_MAKE_SHORTSTRING("mm7"),
+    // Floating point vector registers 128-bit
+    ZYDIS_MAKE_SHORTSTRING("xmm0"),
+    ZYDIS_MAKE_SHORTSTRING("xmm1"),
+    ZYDIS_MAKE_SHORTSTRING("xmm2"),
+    ZYDIS_MAKE_SHORTSTRING("xmm3"),
+    ZYDIS_MAKE_SHORTSTRING("xmm4"),
+    ZYDIS_MAKE_SHORTSTRING("xmm5"),
+    ZYDIS_MAKE_SHORTSTRING("xmm6"),
+    ZYDIS_MAKE_SHORTSTRING("xmm7"),
+    ZYDIS_MAKE_SHORTSTRING("xmm8"),
+    ZYDIS_MAKE_SHORTSTRING("xmm9"),
+    ZYDIS_MAKE_SHORTSTRING("xmm10"),
+    ZYDIS_MAKE_SHORTSTRING("xmm11"),
+    ZYDIS_MAKE_SHORTSTRING("xmm12"),
+    ZYDIS_MAKE_SHORTSTRING("xmm13"),
+    ZYDIS_MAKE_SHORTSTRING("xmm14"),
+    ZYDIS_MAKE_SHORTSTRING("xmm15"),
+    ZYDIS_MAKE_SHORTSTRING("xmm16"),
+    ZYDIS_MAKE_SHORTSTRING("xmm17"),
+    ZYDIS_MAKE_SHORTSTRING("xmm18"),
+    ZYDIS_MAKE_SHORTSTRING("xmm19"),
+    ZYDIS_MAKE_SHORTSTRING("xmm20"),
+    ZYDIS_MAKE_SHORTSTRING("xmm21"),
+    ZYDIS_MAKE_SHORTSTRING("xmm22"),
+    ZYDIS_MAKE_SHORTSTRING("xmm23"),
+    ZYDIS_MAKE_SHORTSTRING("xmm24"),
+    ZYDIS_MAKE_SHORTSTRING("xmm25"),
+    ZYDIS_MAKE_SHORTSTRING("xmm26"),
+    ZYDIS_MAKE_SHORTSTRING("xmm27"),
+    ZYDIS_MAKE_SHORTSTRING("xmm28"),
+    ZYDIS_MAKE_SHORTSTRING("xmm29"),
+    ZYDIS_MAKE_SHORTSTRING("xmm30"),
+    ZYDIS_MAKE_SHORTSTRING("xmm31"),
+    // Floating point vector registers 256-bit
+    ZYDIS_MAKE_SHORTSTRING("ymm0"),
+    ZYDIS_MAKE_SHORTSTRING("ymm1"),
+    ZYDIS_MAKE_SHORTSTRING("ymm2"),
+    ZYDIS_MAKE_SHORTSTRING("ymm3"),
+    ZYDIS_MAKE_SHORTSTRING("ymm4"),
+    ZYDIS_MAKE_SHORTSTRING("ymm5"),
+    ZYDIS_MAKE_SHORTSTRING("ymm6"),
+    ZYDIS_MAKE_SHORTSTRING("ymm7"),
+    ZYDIS_MAKE_SHORTSTRING("ymm8"),
+    ZYDIS_MAKE_SHORTSTRING("ymm9"),
+    ZYDIS_MAKE_SHORTSTRING("ymm10"),
+    ZYDIS_MAKE_SHORTSTRING("ymm11"),
+    ZYDIS_MAKE_SHORTSTRING("ymm12"),
+    ZYDIS_MAKE_SHORTSTRING("ymm13"),
+    ZYDIS_MAKE_SHORTSTRING("ymm14"),
+    ZYDIS_MAKE_SHORTSTRING("ymm15"),
+    ZYDIS_MAKE_SHORTSTRING("ymm16"),
+    ZYDIS_MAKE_SHORTSTRING("ymm17"),
+    ZYDIS_MAKE_SHORTSTRING("ymm18"),
+    ZYDIS_MAKE_SHORTSTRING("ymm19"),
+    ZYDIS_MAKE_SHORTSTRING("ymm20"),
+    ZYDIS_MAKE_SHORTSTRING("ymm21"),
+    ZYDIS_MAKE_SHORTSTRING("ymm22"),
+    ZYDIS_MAKE_SHORTSTRING("ymm23"),
+    ZYDIS_MAKE_SHORTSTRING("ymm24"),
+    ZYDIS_MAKE_SHORTSTRING("ymm25"),
+    ZYDIS_MAKE_SHORTSTRING("ymm26"),
+    ZYDIS_MAKE_SHORTSTRING("ymm27"),
+    ZYDIS_MAKE_SHORTSTRING("ymm28"),
+    ZYDIS_MAKE_SHORTSTRING("ymm29"),
+    ZYDIS_MAKE_SHORTSTRING("ymm30"),
+    ZYDIS_MAKE_SHORTSTRING("ymm31"),
+    // Floating point vector registers 512-bit
+    ZYDIS_MAKE_SHORTSTRING("zmm0"),
+    ZYDIS_MAKE_SHORTSTRING("zmm1"),
+    ZYDIS_MAKE_SHORTSTRING("zmm2"),
+    ZYDIS_MAKE_SHORTSTRING("zmm3"),
+    ZYDIS_MAKE_SHORTSTRING("zmm4"),
+    ZYDIS_MAKE_SHORTSTRING("zmm5"),
+    ZYDIS_MAKE_SHORTSTRING("zmm6"),
+    ZYDIS_MAKE_SHORTSTRING("zmm7"),
+    ZYDIS_MAKE_SHORTSTRING("zmm8"),
+    ZYDIS_MAKE_SHORTSTRING("zmm9"),
+    ZYDIS_MAKE_SHORTSTRING("zmm10"),
+    ZYDIS_MAKE_SHORTSTRING("zmm11"),
+    ZYDIS_MAKE_SHORTSTRING("zmm12"),
+    ZYDIS_MAKE_SHORTSTRING("zmm13"),
+    ZYDIS_MAKE_SHORTSTRING("zmm14"),
+    ZYDIS_MAKE_SHORTSTRING("zmm15"),
+    ZYDIS_MAKE_SHORTSTRING("zmm16"),
+    ZYDIS_MAKE_SHORTSTRING("zmm17"),
+    ZYDIS_MAKE_SHORTSTRING("zmm18"),
+    ZYDIS_MAKE_SHORTSTRING("zmm19"),
+    ZYDIS_MAKE_SHORTSTRING("zmm20"),
+    ZYDIS_MAKE_SHORTSTRING("zmm21"),
+    ZYDIS_MAKE_SHORTSTRING("zmm22"),
+    ZYDIS_MAKE_SHORTSTRING("zmm23"),
+    ZYDIS_MAKE_SHORTSTRING("zmm24"),
+    ZYDIS_MAKE_SHORTSTRING("zmm25"),
+    ZYDIS_MAKE_SHORTSTRING("zmm26"),
+    ZYDIS_MAKE_SHORTSTRING("zmm27"),
+    ZYDIS_MAKE_SHORTSTRING("zmm28"),
+    ZYDIS_MAKE_SHORTSTRING("zmm29"),
+    ZYDIS_MAKE_SHORTSTRING("zmm30"),
+    ZYDIS_MAKE_SHORTSTRING("zmm31"),
+    // Flags registers
+    ZYDIS_MAKE_SHORTSTRING("flags"),
+    ZYDIS_MAKE_SHORTSTRING("eflags"),
+    ZYDIS_MAKE_SHORTSTRING("rflags"),
+    // Instruction-pointer registers
+    ZYDIS_MAKE_SHORTSTRING("ip"),
+    ZYDIS_MAKE_SHORTSTRING("eip"),
+    ZYDIS_MAKE_SHORTSTRING("rip"),
+    // Segment registers
+    ZYDIS_MAKE_SHORTSTRING("es"),
+    ZYDIS_MAKE_SHORTSTRING("cs"),
+    ZYDIS_MAKE_SHORTSTRING("ss"),
+    ZYDIS_MAKE_SHORTSTRING("ds"),
+    ZYDIS_MAKE_SHORTSTRING("fs"),
+    ZYDIS_MAKE_SHORTSTRING("gs"),
+    // Table registers
+    ZYDIS_MAKE_SHORTSTRING("gdtr"),
+    ZYDIS_MAKE_SHORTSTRING("ldtr"),
+    ZYDIS_MAKE_SHORTSTRING("idtr"),
+    ZYDIS_MAKE_SHORTSTRING("tr"),
+    // Test registers
+    ZYDIS_MAKE_SHORTSTRING("tr0"),
+    ZYDIS_MAKE_SHORTSTRING("tr1"),
+    ZYDIS_MAKE_SHORTSTRING("tr2"),
+    ZYDIS_MAKE_SHORTSTRING("tr3"),
+    ZYDIS_MAKE_SHORTSTRING("tr4"),
+    ZYDIS_MAKE_SHORTSTRING("tr5"),
+    ZYDIS_MAKE_SHORTSTRING("tr6"),
+    ZYDIS_MAKE_SHORTSTRING("tr7"),
+    // Control registers
+    ZYDIS_MAKE_SHORTSTRING("cr0"),
+    ZYDIS_MAKE_SHORTSTRING("cr1"),
+    ZYDIS_MAKE_SHORTSTRING("cr2"),
+    ZYDIS_MAKE_SHORTSTRING("cr3"),
+    ZYDIS_MAKE_SHORTSTRING("cr4"),
+    ZYDIS_MAKE_SHORTSTRING("cr5"),
+    ZYDIS_MAKE_SHORTSTRING("cr6"),
+    ZYDIS_MAKE_SHORTSTRING("cr7"),
+    ZYDIS_MAKE_SHORTSTRING("cr8"),
+    ZYDIS_MAKE_SHORTSTRING("cr9"),
+    ZYDIS_MAKE_SHORTSTRING("cr10"),
+    ZYDIS_MAKE_SHORTSTRING("cr11"),
+    ZYDIS_MAKE_SHORTSTRING("cr12"),
+    ZYDIS_MAKE_SHORTSTRING("cr13"),
+    ZYDIS_MAKE_SHORTSTRING("cr14"),
+    ZYDIS_MAKE_SHORTSTRING("cr15"),
+    // Debug registers
+    ZYDIS_MAKE_SHORTSTRING("dr0"),
+    ZYDIS_MAKE_SHORTSTRING("dr1"),
+    ZYDIS_MAKE_SHORTSTRING("dr2"),
+    ZYDIS_MAKE_SHORTSTRING("dr3"),
+    ZYDIS_MAKE_SHORTSTRING("dr4"),
+    ZYDIS_MAKE_SHORTSTRING("dr5"),
+    ZYDIS_MAKE_SHORTSTRING("dr6"),
+    ZYDIS_MAKE_SHORTSTRING("dr7"),
+    ZYDIS_MAKE_SHORTSTRING("dr8"),
+    ZYDIS_MAKE_SHORTSTRING("dr9"),
+    ZYDIS_MAKE_SHORTSTRING("dr10"),
+    ZYDIS_MAKE_SHORTSTRING("dr11"),
+    ZYDIS_MAKE_SHORTSTRING("dr12"),
+    ZYDIS_MAKE_SHORTSTRING("dr13"),
+    ZYDIS_MAKE_SHORTSTRING("dr14"),
+    ZYDIS_MAKE_SHORTSTRING("dr15"),
+    // Mask registers
+    ZYDIS_MAKE_SHORTSTRING("k0"),
+    ZYDIS_MAKE_SHORTSTRING("k1"),
+    ZYDIS_MAKE_SHORTSTRING("k2"),
+    ZYDIS_MAKE_SHORTSTRING("k3"),
+    ZYDIS_MAKE_SHORTSTRING("k4"),
+    ZYDIS_MAKE_SHORTSTRING("k5"),
+    ZYDIS_MAKE_SHORTSTRING("k6"),
+    ZYDIS_MAKE_SHORTSTRING("k7"),
+    // Bound registers
+    ZYDIS_MAKE_SHORTSTRING("bnd0"),
+    ZYDIS_MAKE_SHORTSTRING("bnd1"),
+    ZYDIS_MAKE_SHORTSTRING("bnd2"),
+    ZYDIS_MAKE_SHORTSTRING("bnd3"),
+    ZYDIS_MAKE_SHORTSTRING("bndcfg"),
+    ZYDIS_MAKE_SHORTSTRING("bndstatus"),
+    // Uncategorized
+    ZYDIS_MAKE_SHORTSTRING("mxcsr"),
+    ZYDIS_MAKE_SHORTSTRING("pkru"),
+    ZYDIS_MAKE_SHORTSTRING("xcr0")
+};
diff --git a/external/zydis/src/Generated/FormatterStrings.inc b/external/zydis/src/Generated/FormatterStrings.inc
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Generated/FormatterStrings.inc
@@ -0,0 +1,694 @@
+#pragma pack(push, 1)
+static const ZydisShortString STR_ADD = ZYDIS_MAKE_SHORTSTRING("+");
+static const struct ZydisPredefinedTokenADD_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[4];
+} TOK_DATA_ADD = { 4, 2, { ZYDIS_TOKEN_DELIMITER, 0, '+', '\0' } };
+static const ZydisPredefinedToken* const TOK_ADD = (const ZydisPredefinedToken* const)&TOK_DATA_ADD;
+static const ZydisShortString STR_ADDR_RELATIVE = ZYDIS_MAKE_SHORTSTRING("$");
+static const struct ZydisPredefinedTokenADDR_RELATIVE_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[4];
+} TOK_DATA_ADDR_RELATIVE = { 4, 2, { ZYDIS_TOKEN_ADDRESS_REL, 0, '$', '\0' } };
+static const ZydisPredefinedToken* const TOK_ADDR_RELATIVE = (const ZydisPredefinedToken* const)&TOK_DATA_ADDR_RELATIVE;
+static const ZydisShortString STR_DECO_1TO2 = ZYDIS_MAKE_SHORTSTRING(" {1to2}");
+static const struct ZydisPredefinedTokenDECO_1TO2_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[19];
+} TOK_DATA_DECO_1TO2 = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, '1', 't', 'o', '2', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_1TO2 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_1TO2;
+static const ZydisShortString STR_DECO_1TO4 = ZYDIS_MAKE_SHORTSTRING(" {1to4}");
+static const struct ZydisPredefinedTokenDECO_1TO4_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[19];
+} TOK_DATA_DECO_1TO4 = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, '1', 't', 'o', '4', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_1TO4 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_1TO4;
+static const ZydisShortString STR_DECO_1TO8 = ZYDIS_MAKE_SHORTSTRING(" {1to8}");
+static const struct ZydisPredefinedTokenDECO_1TO8_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[19];
+} TOK_DATA_DECO_1TO8 = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, '1', 't', 'o', '8', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_1TO8 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_1TO8;
+static const ZydisShortString STR_DECO_1TO16 = ZYDIS_MAKE_SHORTSTRING(" {1to16}");
+static const struct ZydisPredefinedTokenDECO_1TO16_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[20];
+} TOK_DATA_DECO_1TO16 = { 20, 18, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 6, '1', 't', 'o', '1', '6', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_1TO16 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_1TO16;
+static const ZydisShortString STR_DECO_4TO8 = ZYDIS_MAKE_SHORTSTRING(" {4to8}");
+static const struct ZydisPredefinedTokenDECO_4TO8_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[19];
+} TOK_DATA_DECO_4TO8 = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, '4', 't', 'o', '8', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_4TO8 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_4TO8;
+static const ZydisShortString STR_DECO_4TO16 = ZYDIS_MAKE_SHORTSTRING(" {4to16}");
+static const struct ZydisPredefinedTokenDECO_4TO16_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[20];
+} TOK_DATA_DECO_4TO16 = { 20, 18, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 6, '4', 't', 'o', '1', '6', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_4TO16 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_4TO16;
+static const ZydisShortString STR_DECO_AAAA = ZYDIS_MAKE_SHORTSTRING(" {aaaa}");
+static const struct ZydisPredefinedTokenDECO_AAAA_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[19];
+} TOK_DATA_DECO_AAAA = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'a', 'a', 'a', 'a', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_AAAA = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_AAAA;
+static const ZydisShortString STR_DECO_BADC = ZYDIS_MAKE_SHORTSTRING(" {badc}");
+static const struct ZydisPredefinedTokenDECO_BADC_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[19];
+} TOK_DATA_DECO_BADC = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'b', 'a', 'd', 'c', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_BADC = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_BADC;
+static const ZydisShortString STR_DECO_BBBB = ZYDIS_MAKE_SHORTSTRING(" {bbbb}");
+static const struct ZydisPredefinedTokenDECO_BBBB_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[19];
+} TOK_DATA_DECO_BBBB = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'b', 'b', 'b', 'b', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_BBBB = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_BBBB;
+static const ZydisShortString STR_DECO_BEGIN = ZYDIS_MAKE_SHORTSTRING(" {");
+static const struct ZydisPredefinedTokenDECO_BEGIN_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[8];
+} TOK_DATA_DECO_BEGIN = { 8, 6, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 0, '{', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_BEGIN = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_BEGIN;
+static const ZydisShortString STR_DECO_CCCC = ZYDIS_MAKE_SHORTSTRING(" {cccc}");
+static const struct ZydisPredefinedTokenDECO_CCCC_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[19];
+} TOK_DATA_DECO_CCCC = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'c', 'c', 'c', 'c', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_CCCC = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_CCCC;
+static const ZydisShortString STR_DECO_CDAB = ZYDIS_MAKE_SHORTSTRING(" {cdab}");
+static const struct ZydisPredefinedTokenDECO_CDAB_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[19];
+} TOK_DATA_DECO_CDAB = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'c', 'd', 'a', 'b', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_CDAB = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_CDAB;
+static const ZydisShortString STR_DECO_DACB = ZYDIS_MAKE_SHORTSTRING(" {dacb}");
+static const struct ZydisPredefinedTokenDECO_DACB_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[19];
+} TOK_DATA_DECO_DACB = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'd', 'a', 'c', 'b', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_DACB = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_DACB;
+static const ZydisShortString STR_DECO_DDDD = ZYDIS_MAKE_SHORTSTRING(" {dddd}");
+static const struct ZydisPredefinedTokenDECO_DDDD_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[19];
+} TOK_DATA_DECO_DDDD = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'd', 'd', 'd', 'd', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_DDDD = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_DDDD;
+static const ZydisShortString STR_DECO_EH = ZYDIS_MAKE_SHORTSTRING(" {cdab}");
+static const struct ZydisPredefinedTokenDECO_EH_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[19];
+} TOK_DATA_DECO_EH = { 19, 17, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 5, 'c', 'd', 'a', 'b', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_EH = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_EH;
+static const ZydisShortString STR_DECO_END = ZYDIS_MAKE_SHORTSTRING("}");
+static const struct ZydisPredefinedTokenDECO_END_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[4];
+} TOK_DATA_DECO_END = { 4, 2, { ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_END = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_END;
+static const ZydisShortString STR_DECO_FLOAT16 = ZYDIS_MAKE_SHORTSTRING(" {float16}");
+static const struct ZydisPredefinedTokenDECO_FLOAT16_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[22];
+} TOK_DATA_DECO_FLOAT16 = { 22, 20, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 8, 'f', 'l', 'o', 'a', 't', '1', '6', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_FLOAT16 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_FLOAT16;
+static const ZydisShortString STR_DECO_RD = ZYDIS_MAKE_SHORTSTRING(" {rd}");
+static const struct ZydisPredefinedTokenDECO_RD_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[17];
+} TOK_DATA_DECO_RD = { 17, 15, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 3, 'r', 'd', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_RD = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RD;
+static const ZydisShortString STR_DECO_RD_SAE = ZYDIS_MAKE_SHORTSTRING(" {rd-sae}");
+static const struct ZydisPredefinedTokenDECO_RD_SAE_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[21];
+} TOK_DATA_DECO_RD_SAE = { 21, 19, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 7, 'r', 'd', '-', 's', 'a', 'e', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_RD_SAE = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RD_SAE;
+static const ZydisShortString STR_DECO_RN = ZYDIS_MAKE_SHORTSTRING(" {rn}");
+static const struct ZydisPredefinedTokenDECO_RN_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[17];
+} TOK_DATA_DECO_RN = { 17, 15, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 3, 'r', 'n', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_RN = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RN;
+static const ZydisShortString STR_DECO_RN_SAE = ZYDIS_MAKE_SHORTSTRING(" {rn-sae}");
+static const struct ZydisPredefinedTokenDECO_RN_SAE_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[21];
+} TOK_DATA_DECO_RN_SAE = { 21, 19, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 7, 'r', 'n', '-', 's', 'a', 'e', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_RN_SAE = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RN_SAE;
+static const ZydisShortString STR_DECO_RU = ZYDIS_MAKE_SHORTSTRING(" {ru}");
+static const struct ZydisPredefinedTokenDECO_RU_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[17];
+} TOK_DATA_DECO_RU = { 17, 15, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 3, 'r', 'u', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_RU = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RU;
+static const ZydisShortString STR_DECO_RU_SAE = ZYDIS_MAKE_SHORTSTRING(" {ru-sae}");
+static const struct ZydisPredefinedTokenDECO_RU_SAE_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[21];
+} TOK_DATA_DECO_RU_SAE = { 21, 19, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 7, 'r', 'u', '-', 's', 'a', 'e', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_RU_SAE = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RU_SAE;
+static const ZydisShortString STR_DECO_RZ = ZYDIS_MAKE_SHORTSTRING(" {rz}");
+static const struct ZydisPredefinedTokenDECO_RZ_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[17];
+} TOK_DATA_DECO_RZ = { 17, 15, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 3, 'r', 'z', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_RZ = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RZ;
+static const ZydisShortString STR_DECO_RZ_SAE = ZYDIS_MAKE_SHORTSTRING(" {rz-sae}");
+static const struct ZydisPredefinedTokenDECO_RZ_SAE_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[21];
+} TOK_DATA_DECO_RZ_SAE = { 21, 19, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 7, 'r', 'z', '-', 's', 'a', 'e', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_RZ_SAE = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_RZ_SAE;
+static const ZydisShortString STR_DECO_SAE = ZYDIS_MAKE_SHORTSTRING(" {sae}");
+static const struct ZydisPredefinedTokenDECO_SAE_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[18];
+} TOK_DATA_DECO_SAE = { 18, 16, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 4, 's', 'a', 'e', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_SAE = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_SAE;
+static const ZydisShortString STR_DECO_SINT8 = ZYDIS_MAKE_SHORTSTRING(" {sint8}");
+static const struct ZydisPredefinedTokenDECO_SINT8_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[20];
+} TOK_DATA_DECO_SINT8 = { 20, 18, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 6, 's', 'i', 'n', 't', '8', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_SINT8 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_SINT8;
+static const ZydisShortString STR_DECO_SINT16 = ZYDIS_MAKE_SHORTSTRING(" {sint16}");
+static const struct ZydisPredefinedTokenDECO_SINT16_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[21];
+} TOK_DATA_DECO_SINT16 = { 21, 19, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 7, 's', 'i', 'n', 't', '1', '6', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_SINT16 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_SINT16;
+static const ZydisShortString STR_DECO_UINT8 = ZYDIS_MAKE_SHORTSTRING(" {uint8}");
+static const struct ZydisPredefinedTokenDECO_UINT8_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[20];
+} TOK_DATA_DECO_UINT8 = { 20, 18, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 6, 'u', 'i', 'n', 't', '8', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_UINT8 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_UINT8;
+static const ZydisShortString STR_DECO_UINT16 = ZYDIS_MAKE_SHORTSTRING(" {uint16}");
+static const struct ZydisPredefinedTokenDECO_UINT16_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[21];
+} TOK_DATA_DECO_UINT16 = { 21, 19, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 7, 'u', 'i', 'n', 't', '1', '6', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_UINT16 = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_UINT16;
+static const ZydisShortString STR_DECO_ZERO = ZYDIS_MAKE_SHORTSTRING(" {z}");
+static const struct ZydisPredefinedTokenDECO_ZERO_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[16];
+} TOK_DATA_DECO_ZERO = { 16, 14, { ZYDIS_TOKEN_WHITESPACE, 2, ' ', '\0', ZYDIS_TOKEN_PARENTHESIS_OPEN, 2, '{', '\0', ZYDIS_TOKEN_DECORATOR, 2, 'z', '\0', ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, '}', '\0' } };
+static const ZydisPredefinedToken* const TOK_DECO_ZERO = (const ZydisPredefinedToken* const)&TOK_DATA_DECO_ZERO;
+static const ZydisShortString STR_DELIM_MEMORY = ZYDIS_MAKE_SHORTSTRING(",");
+static const struct ZydisPredefinedTokenDELIM_MEMORY_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[4];
+} TOK_DATA_DELIM_MEMORY = { 4, 2, { ZYDIS_TOKEN_DELIMITER, 0, ',', '\0' } };
+static const ZydisPredefinedToken* const TOK_DELIM_MEMORY = (const ZydisPredefinedToken* const)&TOK_DATA_DELIM_MEMORY;
+static const ZydisShortString STR_DELIM_MNEMONIC = ZYDIS_MAKE_SHORTSTRING(" ");
+static const struct ZydisPredefinedTokenDELIM_MNEMONIC_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[4];
+} TOK_DATA_DELIM_MNEMONIC = { 4, 2, { ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_DELIM_MNEMONIC = (const ZydisPredefinedToken* const)&TOK_DATA_DELIM_MNEMONIC;
+static const ZydisShortString STR_DELIM_OPERAND = ZYDIS_MAKE_SHORTSTRING(", ");
+static const struct ZydisPredefinedTokenDELIM_OPERAND_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[8];
+} TOK_DATA_DELIM_OPERAND = { 8, 6, { ZYDIS_TOKEN_DELIMITER, 2, ',', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_DELIM_OPERAND = (const ZydisPredefinedToken* const)&TOK_DATA_DELIM_OPERAND;
+static const ZydisShortString STR_DELIM_SEGMENT = ZYDIS_MAKE_SHORTSTRING(":");
+static const struct ZydisPredefinedTokenDELIM_SEGMENT_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[4];
+} TOK_DATA_DELIM_SEGMENT = { 4, 2, { ZYDIS_TOKEN_DELIMITER, 0, ':', '\0' } };
+static const ZydisPredefinedToken* const TOK_DELIM_SEGMENT = (const ZydisPredefinedToken* const)&TOK_DATA_DELIM_SEGMENT;
+static const ZydisShortString STR_FAR = ZYDIS_MAKE_SHORTSTRING(" far");
+static const ZydisShortString STR_FAR_ATT = ZYDIS_MAKE_SHORTSTRING("l");
+static const ZydisShortString STR_IMMEDIATE = ZYDIS_MAKE_SHORTSTRING("$");
+static const struct ZydisPredefinedTokenIMMEDIATE_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[4];
+} TOK_DATA_IMMEDIATE = { 4, 2, { ZYDIS_TOKEN_IMMEDIATE, 0, '$', '\0' } };
+static const ZydisPredefinedToken* const TOK_IMMEDIATE = (const ZydisPredefinedToken* const)&TOK_DATA_IMMEDIATE;
+static const ZydisShortString STR_INVALID_MNEMONIC = ZYDIS_MAKE_SHORTSTRING("invalid");
+static const struct ZydisPredefinedTokenINVALID_MNEMONIC_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[10];
+} TOK_DATA_INVALID_MNEMONIC = { 10, 2, { ZYDIS_TOKEN_MNEMONIC, 0, 'i', 'n', 'v', 'a', 'l', 'i', 'd', '\0' } };
+static const ZydisPredefinedToken* const TOK_INVALID_MNEMONIC = (const ZydisPredefinedToken* const)&TOK_DATA_INVALID_MNEMONIC;
+static const ZydisShortString STR_INVALID_REG = ZYDIS_MAKE_SHORTSTRING("invalid");
+static const struct ZydisPredefinedTokenINVALID_REG_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[10];
+} TOK_DATA_INVALID_REG = { 10, 2, { ZYDIS_TOKEN_REGISTER, 0, 'i', 'n', 'v', 'a', 'l', 'i', 'd', '\0' } };
+static const ZydisPredefinedToken* const TOK_INVALID_REG = (const ZydisPredefinedToken* const)&TOK_DATA_INVALID_REG;
+static const ZydisShortString STR_MEMORY_BEGIN_ATT = ZYDIS_MAKE_SHORTSTRING("(");
+static const struct ZydisPredefinedTokenMEMORY_BEGIN_ATT_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[4];
+} TOK_DATA_MEMORY_BEGIN_ATT = { 4, 2, { ZYDIS_TOKEN_PARENTHESIS_OPEN, 0, '(', '\0' } };
+static const ZydisPredefinedToken* const TOK_MEMORY_BEGIN_ATT = (const ZydisPredefinedToken* const)&TOK_DATA_MEMORY_BEGIN_ATT;
+static const ZydisShortString STR_MEMORY_BEGIN_INTEL = ZYDIS_MAKE_SHORTSTRING("[");
+static const struct ZydisPredefinedTokenMEMORY_BEGIN_INTEL_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[4];
+} TOK_DATA_MEMORY_BEGIN_INTEL = { 4, 2, { ZYDIS_TOKEN_PARENTHESIS_OPEN, 0, '[', '\0' } };
+static const ZydisPredefinedToken* const TOK_MEMORY_BEGIN_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_MEMORY_BEGIN_INTEL;
+static const ZydisShortString STR_MEMORY_END_ATT = ZYDIS_MAKE_SHORTSTRING(")");
+static const struct ZydisPredefinedTokenMEMORY_END_ATT_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[4];
+} TOK_DATA_MEMORY_END_ATT = { 4, 2, { ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, ')', '\0' } };
+static const ZydisPredefinedToken* const TOK_MEMORY_END_ATT = (const ZydisPredefinedToken* const)&TOK_DATA_MEMORY_END_ATT;
+static const ZydisShortString STR_MEMORY_END_INTEL = ZYDIS_MAKE_SHORTSTRING("]");
+static const struct ZydisPredefinedTokenMEMORY_END_INTEL_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[4];
+} TOK_DATA_MEMORY_END_INTEL = { 4, 2, { ZYDIS_TOKEN_PARENTHESIS_CLOSE, 0, ']', '\0' } };
+static const ZydisPredefinedToken* const TOK_MEMORY_END_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_MEMORY_END_INTEL;
+static const ZydisShortString STR_MUL = ZYDIS_MAKE_SHORTSTRING("*");
+static const struct ZydisPredefinedTokenMUL_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[4];
+} TOK_DATA_MUL = { 4, 2, { ZYDIS_TOKEN_DELIMITER, 0, '*', '\0' } };
+static const ZydisPredefinedToken* const TOK_MUL = (const ZydisPredefinedToken* const)&TOK_DATA_MUL;
+static const ZydisShortString STR_NEAR = ZYDIS_MAKE_SHORTSTRING(" near");
+static const ZydisShortString STR_PREF_BND = ZYDIS_MAKE_SHORTSTRING("bnd ");
+static const struct ZydisPredefinedTokenPREF_BND_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[10];
+} TOK_DATA_PREF_BND = { 10, 8, { ZYDIS_TOKEN_PREFIX, 4, 'b', 'n', 'd', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_BND = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_BND;
+static const ZydisShortString STR_PREF_LOCK = ZYDIS_MAKE_SHORTSTRING("lock ");
+static const struct ZydisPredefinedTokenPREF_LOCK_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[11];
+} TOK_DATA_PREF_LOCK = { 11, 9, { ZYDIS_TOKEN_PREFIX, 5, 'l', 'o', 'c', 'k', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_LOCK = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_LOCK;
+static const ZydisShortString STR_PREF_REP = ZYDIS_MAKE_SHORTSTRING("rep ");
+static const struct ZydisPredefinedTokenPREF_REP_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[10];
+} TOK_DATA_PREF_REP = { 10, 8, { ZYDIS_TOKEN_PREFIX, 4, 'r', 'e', 'p', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REP = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REP;
+static const ZydisShortString STR_PREF_REPE = ZYDIS_MAKE_SHORTSTRING("repe ");
+static const struct ZydisPredefinedTokenPREF_REPE_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[11];
+} TOK_DATA_PREF_REPE = { 11, 9, { ZYDIS_TOKEN_PREFIX, 5, 'r', 'e', 'p', 'e', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REPE = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REPE;
+static const ZydisShortString STR_PREF_REPNE = ZYDIS_MAKE_SHORTSTRING("repne ");
+static const struct ZydisPredefinedTokenPREF_REPNE_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[12];
+} TOK_DATA_PREF_REPNE = { 12, 10, { ZYDIS_TOKEN_PREFIX, 6, 'r', 'e', 'p', 'n', 'e', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REPNE = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REPNE;
+static const ZydisShortString STR_PREF_REX_4A = ZYDIS_MAKE_SHORTSTRING("rex.wx ");
+static const struct ZydisPredefinedTokenPREF_REX_4A_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[13];
+} TOK_DATA_PREF_REX_4A = { 13, 11, { ZYDIS_TOKEN_PREFIX, 7, 'r', 'e', 'x', '.', 'w', 'x', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_4A = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4A;
+static const ZydisShortString STR_PREF_REX_4B = ZYDIS_MAKE_SHORTSTRING("rex.wxb ");
+static const struct ZydisPredefinedTokenPREF_REX_4B_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[14];
+} TOK_DATA_PREF_REX_4B = { 14, 12, { ZYDIS_TOKEN_PREFIX, 8, 'r', 'e', 'x', '.', 'w', 'x', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_4B = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4B;
+static const ZydisShortString STR_PREF_REX_4C = ZYDIS_MAKE_SHORTSTRING("rex.wr ");
+static const struct ZydisPredefinedTokenPREF_REX_4C_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[13];
+} TOK_DATA_PREF_REX_4C = { 13, 11, { ZYDIS_TOKEN_PREFIX, 7, 'r', 'e', 'x', '.', 'w', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_4C = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4C;
+static const ZydisShortString STR_PREF_REX_4D = ZYDIS_MAKE_SHORTSTRING("rex.wrb ");
+static const struct ZydisPredefinedTokenPREF_REX_4D_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[14];
+} TOK_DATA_PREF_REX_4D = { 14, 12, { ZYDIS_TOKEN_PREFIX, 8, 'r', 'e', 'x', '.', 'w', 'r', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_4D = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4D;
+static const ZydisShortString STR_PREF_REX_4E = ZYDIS_MAKE_SHORTSTRING("rex.wrx ");
+static const struct ZydisPredefinedTokenPREF_REX_4E_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[14];
+} TOK_DATA_PREF_REX_4E = { 14, 12, { ZYDIS_TOKEN_PREFIX, 8, 'r', 'e', 'x', '.', 'w', 'r', 'x', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_4E = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4E;
+static const ZydisShortString STR_PREF_REX_4F = ZYDIS_MAKE_SHORTSTRING("rex.wrxb ");
+static const struct ZydisPredefinedTokenPREF_REX_4F_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[15];
+} TOK_DATA_PREF_REX_4F = { 15, 13, { ZYDIS_TOKEN_PREFIX, 9, 'r', 'e', 'x', '.', 'w', 'r', 'x', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_4F = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_4F;
+static const ZydisShortString STR_PREF_REX_40 = ZYDIS_MAKE_SHORTSTRING("rex ");
+static const struct ZydisPredefinedTokenPREF_REX_40_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[10];
+} TOK_DATA_PREF_REX_40 = { 10, 8, { ZYDIS_TOKEN_PREFIX, 4, 'r', 'e', 'x', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_40 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_40;
+static const ZydisShortString STR_PREF_REX_41 = ZYDIS_MAKE_SHORTSTRING("rex.b ");
+static const struct ZydisPredefinedTokenPREF_REX_41_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[12];
+} TOK_DATA_PREF_REX_41 = { 12, 10, { ZYDIS_TOKEN_PREFIX, 6, 'r', 'e', 'x', '.', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_41 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_41;
+static const ZydisShortString STR_PREF_REX_42 = ZYDIS_MAKE_SHORTSTRING("rex.x ");
+static const struct ZydisPredefinedTokenPREF_REX_42_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[12];
+} TOK_DATA_PREF_REX_42 = { 12, 10, { ZYDIS_TOKEN_PREFIX, 6, 'r', 'e', 'x', '.', 'x', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_42 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_42;
+static const ZydisShortString STR_PREF_REX_43 = ZYDIS_MAKE_SHORTSTRING("rex.xb ");
+static const struct ZydisPredefinedTokenPREF_REX_43_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[13];
+} TOK_DATA_PREF_REX_43 = { 13, 11, { ZYDIS_TOKEN_PREFIX, 7, 'r', 'e', 'x', '.', 'x', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_43 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_43;
+static const ZydisShortString STR_PREF_REX_44 = ZYDIS_MAKE_SHORTSTRING("rex.r ");
+static const struct ZydisPredefinedTokenPREF_REX_44_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[12];
+} TOK_DATA_PREF_REX_44 = { 12, 10, { ZYDIS_TOKEN_PREFIX, 6, 'r', 'e', 'x', '.', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_44 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_44;
+static const ZydisShortString STR_PREF_REX_45 = ZYDIS_MAKE_SHORTSTRING("rex.rb ");
+static const struct ZydisPredefinedTokenPREF_REX_45_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[13];
+} TOK_DATA_PREF_REX_45 = { 13, 11, { ZYDIS_TOKEN_PREFIX, 7, 'r', 'e', 'x', '.', 'r', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_45 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_45;
+static const ZydisShortString STR_PREF_REX_46 = ZYDIS_MAKE_SHORTSTRING("rex.rx ");
+static const struct ZydisPredefinedTokenPREF_REX_46_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[13];
+} TOK_DATA_PREF_REX_46 = { 13, 11, { ZYDIS_TOKEN_PREFIX, 7, 'r', 'e', 'x', '.', 'r', 'x', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_46 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_46;
+static const ZydisShortString STR_PREF_REX_47 = ZYDIS_MAKE_SHORTSTRING("rex.rxb ");
+static const struct ZydisPredefinedTokenPREF_REX_47_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[14];
+} TOK_DATA_PREF_REX_47 = { 14, 12, { ZYDIS_TOKEN_PREFIX, 8, 'r', 'e', 'x', '.', 'r', 'x', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_47 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_47;
+static const ZydisShortString STR_PREF_REX_48 = ZYDIS_MAKE_SHORTSTRING("rex.w ");
+static const struct ZydisPredefinedTokenPREF_REX_48_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[12];
+} TOK_DATA_PREF_REX_48 = { 12, 10, { ZYDIS_TOKEN_PREFIX, 6, 'r', 'e', 'x', '.', 'w', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_48 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_48;
+static const ZydisShortString STR_PREF_REX_49 = ZYDIS_MAKE_SHORTSTRING("rex.wb ");
+static const struct ZydisPredefinedTokenPREF_REX_49_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[13];
+} TOK_DATA_PREF_REX_49 = { 13, 11, { ZYDIS_TOKEN_PREFIX, 7, 'r', 'e', 'x', '.', 'w', 'b', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_REX_49 = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_REX_49;
+static const ZydisShortString STR_PREF_SEG_CS = ZYDIS_MAKE_SHORTSTRING("cs ");
+static const struct ZydisPredefinedTokenPREF_SEG_CS_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[9];
+} TOK_DATA_PREF_SEG_CS = { 9, 7, { ZYDIS_TOKEN_PREFIX, 3, 'c', 's', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_SEG_CS = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_SEG_CS;
+static const ZydisShortString STR_PREF_SEG_DS = ZYDIS_MAKE_SHORTSTRING("ds ");
+static const struct ZydisPredefinedTokenPREF_SEG_DS_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[9];
+} TOK_DATA_PREF_SEG_DS = { 9, 7, { ZYDIS_TOKEN_PREFIX, 3, 'd', 's', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_SEG_DS = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_SEG_DS;
+static const ZydisShortString STR_PREF_SEG_ES = ZYDIS_MAKE_SHORTSTRING("es ");
+static const struct ZydisPredefinedTokenPREF_SEG_ES_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[9];
+} TOK_DATA_PREF_SEG_ES = { 9, 7, { ZYDIS_TOKEN_PREFIX, 3, 'e', 's', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_SEG_ES = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_SEG_ES;
+static const ZydisShortString STR_PREF_SEG_FS = ZYDIS_MAKE_SHORTSTRING("fs ");
+static const struct ZydisPredefinedTokenPREF_SEG_FS_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[9];
+} TOK_DATA_PREF_SEG_FS = { 9, 7, { ZYDIS_TOKEN_PREFIX, 3, 'f', 's', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_SEG_FS = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_SEG_FS;
+static const ZydisShortString STR_PREF_SEG_GS = ZYDIS_MAKE_SHORTSTRING("gs ");
+static const struct ZydisPredefinedTokenPREF_SEG_GS_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[9];
+} TOK_DATA_PREF_SEG_GS = { 9, 7, { ZYDIS_TOKEN_PREFIX, 3, 'g', 's', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_SEG_GS = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_SEG_GS;
+static const ZydisShortString STR_PREF_SEG_SS = ZYDIS_MAKE_SHORTSTRING("ss ");
+static const struct ZydisPredefinedTokenPREF_SEG_SS_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[9];
+} TOK_DATA_PREF_SEG_SS = { 9, 7, { ZYDIS_TOKEN_PREFIX, 3, 's', 's', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_SEG_SS = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_SEG_SS;
+static const ZydisShortString STR_PREF_XACQUIRE = ZYDIS_MAKE_SHORTSTRING("xacquire ");
+static const struct ZydisPredefinedTokenPREF_XACQUIRE_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[15];
+} TOK_DATA_PREF_XACQUIRE = { 15, 13, { ZYDIS_TOKEN_PREFIX, 9, 'x', 'a', 'c', 'q', 'u', 'i', 'r', 'e', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_XACQUIRE = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_XACQUIRE;
+static const ZydisShortString STR_PREF_XRELEASE = ZYDIS_MAKE_SHORTSTRING("xrelease ");
+static const struct ZydisPredefinedTokenPREF_XRELEASE_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[15];
+} TOK_DATA_PREF_XRELEASE = { 15, 13, { ZYDIS_TOKEN_PREFIX, 9, 'x', 'r', 'e', 'l', 'e', 'a', 's', 'e', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_PREF_XRELEASE = (const ZydisPredefinedToken* const)&TOK_DATA_PREF_XRELEASE;
+static const ZydisShortString STR_REGISTER = ZYDIS_MAKE_SHORTSTRING("%");
+static const struct ZydisPredefinedTokenREGISTER_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[4];
+} TOK_DATA_REGISTER = { 4, 2, { ZYDIS_TOKEN_REGISTER, 0, '%', '\0' } };
+static const ZydisPredefinedToken* const TOK_REGISTER = (const ZydisPredefinedToken* const)&TOK_DATA_REGISTER;
+static const ZydisShortString STR_SHORT = ZYDIS_MAKE_SHORTSTRING(" short");
+static const ZydisShortString STR_SIZE_8_ATT = ZYDIS_MAKE_SHORTSTRING("b");
+static const ZydisShortString STR_SIZE_8_INTEL = ZYDIS_MAKE_SHORTSTRING("byte ptr ");
+static const struct ZydisPredefinedTokenSIZE_8_INTEL_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[15];
+} TOK_DATA_SIZE_8_INTEL = { 15, 13, { ZYDIS_TOKEN_TYPECAST, 9, 'b', 'y', 't', 'e', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_SIZE_8_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_8_INTEL;
+static const ZydisShortString STR_SIZE_16_ATT = ZYDIS_MAKE_SHORTSTRING("w");
+static const ZydisShortString STR_SIZE_16_INTEL = ZYDIS_MAKE_SHORTSTRING("word ptr ");
+static const struct ZydisPredefinedTokenSIZE_16_INTEL_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[15];
+} TOK_DATA_SIZE_16_INTEL = { 15, 13, { ZYDIS_TOKEN_TYPECAST, 9, 'w', 'o', 'r', 'd', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_SIZE_16_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_16_INTEL;
+static const ZydisShortString STR_SIZE_32_ATT = ZYDIS_MAKE_SHORTSTRING("l");
+static const ZydisShortString STR_SIZE_32_INTEL = ZYDIS_MAKE_SHORTSTRING("dword ptr ");
+static const struct ZydisPredefinedTokenSIZE_32_INTEL_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[16];
+} TOK_DATA_SIZE_32_INTEL = { 16, 14, { ZYDIS_TOKEN_TYPECAST, 10, 'd', 'w', 'o', 'r', 'd', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_SIZE_32_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_32_INTEL;
+static const ZydisShortString STR_SIZE_48 = ZYDIS_MAKE_SHORTSTRING("fword ptr ");
+static const struct ZydisPredefinedTokenSIZE_48_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[16];
+} TOK_DATA_SIZE_48 = { 16, 14, { ZYDIS_TOKEN_TYPECAST, 10, 'f', 'w', 'o', 'r', 'd', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_SIZE_48 = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_48;
+static const ZydisShortString STR_SIZE_64_ATT = ZYDIS_MAKE_SHORTSTRING("q");
+static const ZydisShortString STR_SIZE_64_INTEL = ZYDIS_MAKE_SHORTSTRING("qword ptr ");
+static const struct ZydisPredefinedTokenSIZE_64_INTEL_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[16];
+} TOK_DATA_SIZE_64_INTEL = { 16, 14, { ZYDIS_TOKEN_TYPECAST, 10, 'q', 'w', 'o', 'r', 'd', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_SIZE_64_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_64_INTEL;
+static const ZydisShortString STR_SIZE_80 = ZYDIS_MAKE_SHORTSTRING("tbyte ptr ");
+static const struct ZydisPredefinedTokenSIZE_80_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[16];
+} TOK_DATA_SIZE_80 = { 16, 14, { ZYDIS_TOKEN_TYPECAST, 10, 't', 'b', 'y', 't', 'e', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_SIZE_80 = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_80;
+static const ZydisShortString STR_SIZE_128_ATT = ZYDIS_MAKE_SHORTSTRING("x");
+static const ZydisShortString STR_SIZE_128_INTEL = ZYDIS_MAKE_SHORTSTRING("xmmword ptr ");
+static const struct ZydisPredefinedTokenSIZE_128_INTEL_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[18];
+} TOK_DATA_SIZE_128_INTEL = { 18, 16, { ZYDIS_TOKEN_TYPECAST, 12, 'x', 'm', 'm', 'w', 'o', 'r', 'd', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_SIZE_128_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_128_INTEL;
+static const ZydisShortString STR_SIZE_256_ATT = ZYDIS_MAKE_SHORTSTRING("y");
+static const ZydisShortString STR_SIZE_256_INTEL = ZYDIS_MAKE_SHORTSTRING("ymmword ptr ");
+static const struct ZydisPredefinedTokenSIZE_256_INTEL_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[18];
+} TOK_DATA_SIZE_256_INTEL = { 18, 16, { ZYDIS_TOKEN_TYPECAST, 12, 'y', 'm', 'm', 'w', 'o', 'r', 'd', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_SIZE_256_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_256_INTEL;
+static const ZydisShortString STR_SIZE_512_ATT = ZYDIS_MAKE_SHORTSTRING("z");
+static const ZydisShortString STR_SIZE_512_INTEL = ZYDIS_MAKE_SHORTSTRING("zmmword ptr ");
+static const struct ZydisPredefinedTokenSIZE_512_INTEL_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[18];
+} TOK_DATA_SIZE_512_INTEL = { 18, 16, { ZYDIS_TOKEN_TYPECAST, 12, 'z', 'm', 'm', 'w', 'o', 'r', 'd', ' ', 'p', 't', 'r', '\0', ZYDIS_TOKEN_WHITESPACE, 0, ' ', '\0' } };
+static const ZydisPredefinedToken* const TOK_SIZE_512_INTEL = (const ZydisPredefinedToken* const)&TOK_DATA_SIZE_512_INTEL;
+static const ZydisShortString STR_SUB = ZYDIS_MAKE_SHORTSTRING("-");
+static const struct ZydisPredefinedTokenSUB_
+{
+  ZyanU8 size;
+  ZyanU8 next;
+  ZyanU8 data[4];
+} TOK_DATA_SUB = { 4, 2, { ZYDIS_TOKEN_DELIMITER, 0, '-', '\0' } };
+static const ZydisPredefinedToken* const TOK_SUB = (const ZydisPredefinedToken* const)&TOK_DATA_SUB;
+static const ZydisShortString STR_WHITESPACE = ZYDIS_MAKE_SHORTSTRING(" ");
+#pragma pack(pop)
diff --git a/external/zydis/src/Generated/InstructionDefinitions.inc b/external/zydis/src/Generated/InstructionDefinitions.inc
new file mode 100644
# file too large to diff: external/zydis/src/Generated/InstructionDefinitions.inc
diff --git a/external/zydis/src/Generated/InstructionEncodings.inc b/external/zydis/src/Generated/InstructionEncodings.inc
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Generated/InstructionEncodings.inc
@@ -0,0 +1,23 @@
+static const ZydisInstructionEncodingInfo INSTR_ENCODINGS[] =
+{
+    { 0, { { 0, 0, 0 } }, { { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM, { { 0, 0, 0 } }, { { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_DISP, { { 16, 32, 64 } }, { { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 8, 8, 8 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 16, 16 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 32, 64 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 8, 8, 8 }, ZYAN_TRUE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 32, 32 }, ZYAN_TRUE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 8, 8, 8 }, ZYAN_TRUE, ZYAN_TRUE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 32, 32 }, ZYAN_TRUE, ZYAN_TRUE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 32, 32, 32 }, ZYAN_TRUE, ZYAN_TRUE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM | ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 8, 8, 8 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM | ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 32, 32, 32 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM | ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 8, 8, 8 }, ZYAN_TRUE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM | ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 32, 32 }, ZYAN_TRUE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM | ZYDIS_INSTR_ENC_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 32, 32 }, ZYAN_TRUE, ZYAN_TRUE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM | ZYDIS_INSTR_ENC_FLAG_FORCE_REG_FORM, { { 0, 0, 0 } }, { { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE }, { { 0, 0, 0 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0 | ZYDIS_INSTR_ENC_FLAG_HAS_IMM1, { { 0, 0, 0 } }, { { { 16, 16, 16 }, ZYAN_FALSE, ZYAN_FALSE }, { { 8, 8, 8 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_IMM0 | ZYDIS_INSTR_ENC_FLAG_HAS_IMM1, { { 0, 0, 0 } }, { { { 16, 32, 32 }, ZYAN_TRUE, ZYAN_TRUE }, { { 16, 16, 16 }, ZYAN_FALSE, ZYAN_FALSE } } }, 
+    { ZYDIS_INSTR_ENC_FLAG_HAS_MODRM | ZYDIS_INSTR_ENC_FLAG_HAS_IMM0 | ZYDIS_INSTR_ENC_FLAG_HAS_IMM1, { { 0, 0, 0 } }, { { { 8, 8, 8 }, ZYAN_FALSE, ZYAN_FALSE }, { { 8, 8, 8 }, ZYAN_FALSE, ZYAN_FALSE } } }
+};
diff --git a/external/zydis/src/Generated/OperandDefinitions.inc b/external/zydis/src/Generated/OperandDefinitions.inc
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Generated/OperandDefinitions.inc
@@ -0,0 +1,6800 @@
+#ifndef ZYDIS_MINIMAL_MODE
+const ZydisOperandDefinition OPERAND_DEFINITIONS[] =
+{
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_BX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_BP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SI } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DI } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 32, 0 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ESP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ESI } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDI } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 32, 0 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_BX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_BP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SI } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DI } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 32, 0 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ESI } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDI } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 32, 0 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_AAX } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADX } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ABX } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_AAX } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADX } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ABX } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADX } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ABX } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RBX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_R11 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_R11 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_R11 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_R11 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_R11 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM16 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x5 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x6 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AH } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AH } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_PTR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 6, 6 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_NONE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 8, 16 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 8, 16 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x2 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x2 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RBX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RBX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_CONDWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x2 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x2 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 10, 20, 40 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 10, 20, 40 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_PKRU } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM16 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM16 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 8, 16 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDREAD, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RSP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ESP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_PKRU } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XCR0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 576, 576, 576 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XCR0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 576, 576, 576 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XCR0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 576, 576, 576 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XCR0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XCR0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x7 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC5, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_IS4 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AH } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_CC3, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR_ASZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_BCD80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_BCD80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST1 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_FPR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_IP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 6, 6 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 2, ZYDIS_IMPLMEM_BASE_ABP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x5 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 6, 6 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ES } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_FS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_GS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_ASZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR_ASZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 0, ZYDIS_IMPLMEM_BASE_AGPR_REG } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR_ASZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_AGPR_REG } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ASI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ES } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_OPCODE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_FS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_GS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ES } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_SS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_OPCODE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_FS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_GS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_SSZ, { .id = 0x4 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .mem = { 0, ZYDIS_IMPLMEM_BASE_ASP } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_IMM1, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NONE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_XMM0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .mem = { 1, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RSP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ESP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ADI } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT256, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT256, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT256, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT256, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT256, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT256, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_CONDREAD_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_AGEN, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MIB, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 24, 24, 24 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MIB, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 12, 12, 12 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_AGEN, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MIB, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 24, 24, 24 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MIB, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 12, 12, 12 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_BND, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RDX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_DX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_OPCODE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_FLOAT80, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ST0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 14, 14, 14 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 28, 28, 28 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 94, 94, 94 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 108, 108, 108 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 14, 14, 14 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 28, 28, 28 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 94, 94, 94 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 108, 108, 108 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_X87STATUS } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EBX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EIP } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_ECX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AH } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_MXCSR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_AGEN, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_GDTR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 6, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_GDTR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_IDTR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 6, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_IDTR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_LDTR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_LDTR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CR0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CR0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_TR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_TR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_SREG, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_SREG, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_SREG, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_SREG, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MOFFS, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_DISP16_32_64 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MOFFS, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_DISP16_32_64 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MOFFS, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_DISP16_32_64 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MOFFS, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_DISP16_32_64 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_OPCODE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_OPCODE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM16_32_64 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_SIMM16_32_32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_CR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_CR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_DR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_DR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_CR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_CR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_DR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_DR, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_RCX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MMX, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_IP_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AH } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR8, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_GDTR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 6, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_GDTR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 10, 10, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_IDTR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 6, 6, 10 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_IDTR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_LDTR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_LDTR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CR0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_CR0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_MXCSR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_TR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_TR } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INT1, { .reg = { ZYDIS_IMPLREG_TYPE_FLAGS_SSZ, { .id = 0x3F } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_UIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ_CONDWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_EAX } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR16_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_OPCODE } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_IMPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_GPR_OSZ, { .id = 0x0 } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_MEM, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .mem = { 4, ZYDIS_IMPLMEM_BASE_ABX } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_IMPLICIT_REG, ZYDIS_OPERAND_VISIBILITY_HIDDEN, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .reg = { ZYDIS_IMPLREG_TYPE_STATIC, { .reg = ZYDIS_REGISTER_AL } } } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM8 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_NDSNDD } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_REL, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_JIMM32 } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT128, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBY, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 4, 4, 4 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_FLOAT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT32, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_XMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 16, 16, 16 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_YMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 32, 32, 32 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_REG } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_ZMM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_UINT16, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM_VSIBZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_VARIABLE, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MASK, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 2, 2, 2 }, ZYDIS_IELEMENT_TYPE_INT1, { .encoding = ZYDIS_OPERAND_ENCODING_MASK } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 64, 64, 64 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READWRITE, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 512, 512, 512 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 512, 512, 512 }, ZYDIS_IELEMENT_TYPE_STRUCT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 8, 8, 8 }, ZYDIS_IELEMENT_TYPE_UINT8, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_MEM, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 1, 1, 1 }, ZYDIS_IELEMENT_TYPE_INT64, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR_ASZ, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_READ, { 0, 0, 0 }, ZYDIS_IELEMENT_TYPE_INVALID, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }, 
+    { ZYDIS_SEMANTIC_OPTYPE_GPR32_32_64, ZYDIS_OPERAND_VISIBILITY_EXPLICIT, ZYDIS_OPERAND_ACTION_WRITE, { 4, 4, 8 }, ZYDIS_IELEMENT_TYPE_INT, { .encoding = ZYDIS_OPERAND_ENCODING_MODRM_RM } }
+};
+#endif
diff --git a/external/zydis/src/MetaInfo.c b/external/zydis/src/MetaInfo.c
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/MetaInfo.c
@@ -0,0 +1,68 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#include <Zydis/MetaInfo.h>
+
+/* ============================================================================================== */
+/* Enum strings                                                                                   */
+/* ============================================================================================== */
+
+#include <Generated/EnumInstructionCategory.inc>
+#include <Generated/EnumISASet.inc>
+#include <Generated/EnumISAExt.inc>
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+const char* ZydisCategoryGetString(ZydisInstructionCategory category)
+{
+    if ((ZyanUSize)category >= ZYAN_ARRAY_LENGTH(STR_INSTRUCTIONCATEGORY))
+    {
+        return ZYAN_NULL;
+    }
+    return STR_INSTRUCTIONCATEGORY[category];
+}
+
+const char* ZydisISASetGetString(ZydisISASet isa_set)
+{
+    if ((ZyanUSize)isa_set >= ZYAN_ARRAY_LENGTH(STR_ISASET))
+    {
+        return ZYAN_NULL;
+    }
+    return STR_ISASET[isa_set];
+}
+
+const char* ZydisISAExtGetString(ZydisISAExt isa_ext)
+{
+    if ((ZyanUSize)isa_ext >= ZYAN_ARRAY_LENGTH(STR_ISAEXT))
+    {
+        return ZYAN_NULL;
+    }
+    return STR_ISAEXT[isa_ext];
+}
+
+/* ============================================================================================== */
diff --git a/external/zydis/src/Mnemonic.c b/external/zydis/src/Mnemonic.c
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Mnemonic.c
@@ -0,0 +1,52 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#include <Zydis/Mnemonic.h>
+#include <Generated/EnumMnemonic.inc>
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+const char* ZydisMnemonicGetString(ZydisMnemonic mnemonic)
+{
+    if ((ZyanUSize)mnemonic >= ZYAN_ARRAY_LENGTH(STR_MNEMONIC))
+    {
+        return ZYAN_NULL;
+    }
+    return (const char*)STR_MNEMONIC[mnemonic].data;
+}
+
+const ZydisShortString* ZydisMnemonicGetStringWrapped(ZydisMnemonic mnemonic)
+{
+    if ((ZyanUSize)mnemonic >= ZYAN_ARRAY_LENGTH(STR_MNEMONIC))
+    {
+        return ZYAN_NULL;
+    }
+    return &STR_MNEMONIC[mnemonic];
+}
+
+/* ============================================================================================== */
diff --git a/external/zydis/src/Register.c b/external/zydis/src/Register.c
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Register.c
@@ -0,0 +1,303 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#include <Zydis/Register.h>
+
+/* ============================================================================================== */
+/* Register strings                                                                               */
+/* ============================================================================================== */
+
+#include <Generated/EnumRegister.inc>
+
+/* ============================================================================================== */
+/* Register-class mapping                                                                         */
+/* ============================================================================================== */
+
+/**
+ * Defines the `ZydisRegisterMapItem` struct.
+ */
+typedef struct ZydisRegisterMapItem_
+{
+    /**
+     * The register class.
+     */
+    ZydisRegisterClass class;
+    /**
+     * The lowest register of the current class.
+     */
+    ZydisRegister lo;
+    /**
+     * The highest register of the current class.
+     */
+    ZydisRegister hi;
+    /**
+     * The width of registers of the current class in 16- and 32-bit mode.
+     */
+    ZydisRegisterWidth width;
+    /**
+     * The width of registers of the current class in 64-bit mode.
+     */
+    ZydisRegisterWidth width64;
+} ZydisRegisterMapItem;
+
+/**
+ * Provides register to register-class and register-class + id to register mappings.
+ */
+static const ZydisRegisterMapItem REGISTER_MAP[] =
+{
+    { ZYDIS_REGCLASS_INVALID  , ZYDIS_REGISTER_NONE   , ZYDIS_REGISTER_NONE   ,   0   ,   0 },
+    { ZYDIS_REGCLASS_GPR8     , ZYDIS_REGISTER_AL     , ZYDIS_REGISTER_R15B   ,   8   ,   8 },
+    { ZYDIS_REGCLASS_GPR16    , ZYDIS_REGISTER_AX     , ZYDIS_REGISTER_R15W   ,  16   ,  16 },
+    { ZYDIS_REGCLASS_GPR32    , ZYDIS_REGISTER_EAX    , ZYDIS_REGISTER_R15D   ,  32   ,  32 },
+    { ZYDIS_REGCLASS_GPR64    , ZYDIS_REGISTER_RAX    , ZYDIS_REGISTER_R15    ,   0   ,  64 },
+    { ZYDIS_REGCLASS_X87      , ZYDIS_REGISTER_ST0    , ZYDIS_REGISTER_ST7    ,  80   ,  80 },
+    { ZYDIS_REGCLASS_MMX      , ZYDIS_REGISTER_MM0    , ZYDIS_REGISTER_MM7    ,  64   ,  64 },
+    { ZYDIS_REGCLASS_XMM      , ZYDIS_REGISTER_XMM0   , ZYDIS_REGISTER_XMM31  , 128   , 128 },
+    { ZYDIS_REGCLASS_YMM      , ZYDIS_REGISTER_YMM0   , ZYDIS_REGISTER_YMM31  , 256   , 256 },
+    { ZYDIS_REGCLASS_ZMM      , ZYDIS_REGISTER_ZMM0   , ZYDIS_REGISTER_ZMM31  , 512   , 512 },
+    { ZYDIS_REGCLASS_FLAGS    , ZYDIS_REGISTER_FLAGS  , ZYDIS_REGISTER_RFLAGS ,   0   ,   0 },
+    { ZYDIS_REGCLASS_IP       , ZYDIS_REGISTER_IP     , ZYDIS_REGISTER_RIP    ,   0   ,   0 },
+    { ZYDIS_REGCLASS_SEGMENT  , ZYDIS_REGISTER_ES     , ZYDIS_REGISTER_GS     ,  16   ,  16 },
+    { ZYDIS_REGCLASS_TEST     , ZYDIS_REGISTER_TR0    , ZYDIS_REGISTER_TR7    ,  32   ,  32 },
+    { ZYDIS_REGCLASS_CONTROL  , ZYDIS_REGISTER_CR0    , ZYDIS_REGISTER_CR15   ,  32   ,  64 },
+    { ZYDIS_REGCLASS_DEBUG    , ZYDIS_REGISTER_DR0    , ZYDIS_REGISTER_DR15   ,  32   ,  64 },
+    { ZYDIS_REGCLASS_MASK     , ZYDIS_REGISTER_K0     , ZYDIS_REGISTER_K7     ,   0   ,   0 },
+    { ZYDIS_REGCLASS_BOUND    , ZYDIS_REGISTER_BND0   , ZYDIS_REGISTER_BND3   , 128   , 128 }
+};
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Register                                                                                       */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZydisRegister ZydisRegisterEncode(ZydisRegisterClass register_class, ZyanU8 id)
+{
+    switch (register_class)
+    {
+    case ZYDIS_REGCLASS_INVALID:
+    case ZYDIS_REGCLASS_FLAGS:
+    case ZYDIS_REGCLASS_IP:
+        break;
+    default:
+        if (((ZyanUSize)register_class < ZYAN_ARRAY_LENGTH(REGISTER_MAP)) &&
+            (id <= (REGISTER_MAP[register_class].hi - REGISTER_MAP[register_class].lo)))
+        {
+            return REGISTER_MAP[register_class].lo + id;
+        }
+    }
+    return ZYDIS_REGISTER_NONE;
+}
+
+ZyanI8 ZydisRegisterGetId(ZydisRegister reg)
+{
+    for (ZyanUSize i = 0; i < ZYAN_ARRAY_LENGTH(REGISTER_MAP); ++i)
+    {
+        switch (REGISTER_MAP[i].class)
+        {
+        case ZYDIS_REGCLASS_INVALID:
+        case ZYDIS_REGCLASS_FLAGS:
+        case ZYDIS_REGCLASS_IP:
+            break;
+        default:
+            if ((reg >= REGISTER_MAP[i].lo) && (reg <= REGISTER_MAP[i].hi))
+            {
+                return (ZyanU8)(reg - REGISTER_MAP[i].lo);
+            }
+        }
+    }
+    return -1;
+}
+
+ZydisRegisterClass ZydisRegisterGetClass(ZydisRegister reg)
+{
+    for (ZyanUSize i = 0; i < ZYAN_ARRAY_LENGTH(REGISTER_MAP); ++i)
+    {
+        if ((reg >= REGISTER_MAP[i].lo) && (reg <= REGISTER_MAP[i].hi))
+        {
+            return REGISTER_MAP[i].class;
+        }
+    }
+    return ZYDIS_REGCLASS_INVALID;
+}
+
+ZydisRegisterWidth ZydisRegisterGetWidth(ZydisMachineMode mode, ZydisRegister reg)
+{
+    // Special cases
+    switch (reg)
+    {
+    case ZYDIS_REGISTER_X87CONTROL:
+    case ZYDIS_REGISTER_X87STATUS:
+    case ZYDIS_REGISTER_X87TAG:
+        return 16;
+    case ZYDIS_REGISTER_IP:
+    case ZYDIS_REGISTER_FLAGS:
+        return 16;
+    case ZYDIS_REGISTER_EIP:
+    case ZYDIS_REGISTER_EFLAGS:
+        return 32;
+    case ZYDIS_REGISTER_RIP:
+    case ZYDIS_REGISTER_RFLAGS:
+        return (mode == ZYDIS_MACHINE_MODE_LONG_64) ? 64 : 0;
+    case ZYDIS_REGISTER_BNDCFG:
+    case ZYDIS_REGISTER_BNDSTATUS:
+        return 64;
+    case ZYDIS_REGISTER_XCR0:
+        return 64;
+    case ZYDIS_REGISTER_PKRU:
+    case ZYDIS_REGISTER_MXCSR:
+        return 32;
+    default:
+        break;
+    }
+
+    // Register classes
+    for (ZyanUSize i = 0; i < ZYAN_ARRAY_LENGTH(REGISTER_MAP); ++i)
+    {
+        if ((reg >= REGISTER_MAP[i].lo) && (reg <= REGISTER_MAP[i].hi))
+        {
+            return (mode == ZYDIS_MACHINE_MODE_LONG_64) ?
+                REGISTER_MAP[i].width64 : REGISTER_MAP[i].width;
+        }
+    }
+    return 0;
+}
+
+ZydisRegister ZydisRegisterGetLargestEnclosing(ZydisMachineMode mode,
+    ZydisRegister reg)
+{
+    static const ZyanU8 GPR8_MAPPING[20] =
+    {
+        /* AL   */  0,
+        /* CL   */  1,
+        /* DL   */  2,
+        /* BL   */  3,
+        /* AH   */  0,
+        /* CH   */  1,
+        /* DH   */  2,
+        /* BH   */  3,
+        /* SPL  */  4,
+        /* BPL  */  5,
+        /* SIL  */  6,
+        /* DIL  */  7,
+        /* R8B  */  8,
+        /* R9B  */  9,
+        /* R10B */ 10,
+        /* R11B */ 11,
+        /* R12B */ 12,
+        /* R13B */ 13,
+        /* R14B */ 14,
+        /* R15B */ 15,
+    };
+
+    for (ZyanUSize i = 0; i < ZYAN_ARRAY_LENGTH(REGISTER_MAP); ++i)
+    {
+        if ((reg >= REGISTER_MAP[i].lo) && (reg <= REGISTER_MAP[i].hi))
+        {
+            const ZydisRegisterClass reg_class = REGISTER_MAP[i].class;
+            if ((reg_class == ZYDIS_REGCLASS_GPR64) && (mode != ZYDIS_MACHINE_MODE_LONG_64))
+            {
+                return ZYDIS_REGISTER_NONE;
+            }
+
+            ZyanU8 reg_id = (ZyanU8)(reg - REGISTER_MAP[reg_class].lo);
+            switch (reg_class)
+            {
+            case ZYDIS_REGCLASS_GPR8:
+                reg_id = GPR8_MAPPING[reg_id];
+                ZYAN_FALLTHROUGH;
+            case ZYDIS_REGCLASS_GPR16:
+            case ZYDIS_REGCLASS_GPR32:
+            case ZYDIS_REGCLASS_GPR64:
+                switch (mode)
+                {
+                case ZYDIS_MACHINE_MODE_LONG_64:
+                    return REGISTER_MAP[ZYDIS_REGCLASS_GPR64].lo + reg_id;
+                case ZYDIS_MACHINE_MODE_LONG_COMPAT_32:
+                case ZYDIS_MACHINE_MODE_LEGACY_32:
+                    return REGISTER_MAP[ZYDIS_REGCLASS_GPR32].lo + reg_id;
+                case ZYDIS_MACHINE_MODE_LONG_COMPAT_16:
+                case ZYDIS_MACHINE_MODE_LEGACY_16:
+                case ZYDIS_MACHINE_MODE_REAL_16:
+                    return REGISTER_MAP[ZYDIS_REGCLASS_GPR16].lo + reg_id;
+                default:
+                    return ZYDIS_REGISTER_NONE;
+                }
+            case ZYDIS_REGCLASS_XMM:
+            case ZYDIS_REGCLASS_YMM:
+            case ZYDIS_REGCLASS_ZMM:
+#if defined(ZYDIS_DISABLE_AVX512) && defined(ZYDIS_DISABLE_KNC)
+                return REGISTER_MAP[ZYDIS_REGCLASS_YMM].lo + reg_id;
+#else
+                return REGISTER_MAP[ZYDIS_REGCLASS_ZMM].lo + reg_id;
+#endif
+            default:
+                return ZYDIS_REGISTER_NONE;
+            }
+        }
+    }
+
+    return ZYDIS_REGISTER_NONE;
+}
+
+const char* ZydisRegisterGetString(ZydisRegister reg)
+{
+    if ((ZyanUSize)reg >= ZYAN_ARRAY_LENGTH(STR_REGISTER))
+    {
+        return ZYAN_NULL;
+    }
+    return STR_REGISTER[reg].data;
+}
+
+const ZydisShortString* ZydisRegisterGetStringWrapped(ZydisRegister reg)
+{
+    if ((ZyanUSize)reg >= ZYAN_ARRAY_LENGTH(STR_REGISTER))
+    {
+        return ZYAN_NULL;
+    }
+    return &STR_REGISTER[reg];
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Register class                                                                                 */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZydisRegisterWidth ZydisRegisterClassGetWidth(ZydisMachineMode mode,
+    ZydisRegisterClass register_class)
+{
+    if ((ZyanUSize)register_class < ZYAN_ARRAY_LENGTH(REGISTER_MAP))
+    {
+        return (mode == ZYDIS_MACHINE_MODE_LONG_64) ?
+            REGISTER_MAP[register_class].width64 : REGISTER_MAP[register_class].width;
+    }
+    return 0;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
diff --git a/external/zydis/src/SharedData.c b/external/zydis/src/SharedData.c
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/SharedData.c
@@ -0,0 +1,187 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#include <Zydis/Internal/SharedData.h>
+
+/* ============================================================================================== */
+/* Data tables                                                                                    */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Instruction definitions                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifdef ZYDIS_MINIMAL_MODE
+#   define ZYDIS_NOTMIN(x)
+#else
+#   define ZYDIS_NOTMIN(x) , x
+#endif
+
+#include <Generated/InstructionDefinitions.inc>
+
+#undef ZYDIS_NOTMIN
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Operand definitions                                                                            */
+/* ---------------------------------------------------------------------------------------------- */
+
+#define ZYDIS_OPERAND_DEFINITION(type, encoding, access) \
+    { type, encoding, access }
+
+#include <Generated/OperandDefinitions.inc>
+
+#undef ZYDIS_OPERAND_DEFINITION
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Accessed CPU flags                                                                             */
+/* ---------------------------------------------------------------------------------------------- */
+
+#include <Generated/AccessedFlags.inc>
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Functions                                                                                      */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Instruction definition                                                                         */
+/* ---------------------------------------------------------------------------------------------- */
+
+void ZydisGetInstructionDefinition(ZydisInstructionEncoding encoding, ZyanU16 id,
+    const ZydisInstructionDefinition** definition)
+{
+    switch (encoding)
+    {
+    case ZYDIS_INSTRUCTION_ENCODING_LEGACY:
+        *definition = (ZydisInstructionDefinition*)&ISTR_DEFINITIONS_LEGACY[id];
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_3DNOW:
+        *definition = (ZydisInstructionDefinition*)&ISTR_DEFINITIONS_3DNOW[id];
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_XOP:
+        *definition = (ZydisInstructionDefinition*)&ISTR_DEFINITIONS_XOP[id];
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_VEX:
+        *definition = (ZydisInstructionDefinition*)&ISTR_DEFINITIONS_VEX[id];
+        break;
+#ifndef ZYDIS_DISABLE_AVX512
+    case ZYDIS_INSTRUCTION_ENCODING_EVEX:
+        *definition = (ZydisInstructionDefinition*)&ISTR_DEFINITIONS_EVEX[id];
+        break;
+#endif
+#ifndef ZYDIS_DISABLE_KNC
+    case ZYDIS_INSTRUCTION_ENCODING_MVEX:
+        *definition = (ZydisInstructionDefinition*)&ISTR_DEFINITIONS_MVEX[id];
+        break;
+#endif
+    default:
+        ZYAN_UNREACHABLE;
+    }
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Operand definition                                                                             */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYDIS_MINIMAL_MODE
+ZyanU8 ZydisGetOperandDefinitions(const ZydisInstructionDefinition* definition,
+    const ZydisOperandDefinition** operand)
+{
+    if (definition->operand_count == 0)
+    {
+        *operand = ZYAN_NULL;
+        return 0;
+    }
+    ZYAN_ASSERT(definition->operand_reference != 0xFFFF);
+    *operand = &OPERAND_DEFINITIONS[definition->operand_reference];
+    return definition->operand_count;
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Element info                                                                                   */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYDIS_MINIMAL_MODE
+void ZydisGetElementInfo(ZydisInternalElementType element, ZydisElementType* type,
+    ZydisElementSize* size)
+{
+    static const struct
+    {
+        ZydisElementType type;
+        ZydisElementSize size;
+    } lookup[ZYDIS_IELEMENT_TYPE_MAX_VALUE + 1] =
+    {
+        { ZYDIS_ELEMENT_TYPE_INVALID  ,   0 },
+        { ZYDIS_ELEMENT_TYPE_INVALID  ,   0 },
+        { ZYDIS_ELEMENT_TYPE_STRUCT   ,   0 },
+        { ZYDIS_ELEMENT_TYPE_INT      ,   0 },
+        { ZYDIS_ELEMENT_TYPE_UINT     ,   0 },
+        { ZYDIS_ELEMENT_TYPE_INT      ,   1 },
+        { ZYDIS_ELEMENT_TYPE_INT      ,   8 },
+        { ZYDIS_ELEMENT_TYPE_INT      ,  16 },
+        { ZYDIS_ELEMENT_TYPE_INT      ,  32 },
+        { ZYDIS_ELEMENT_TYPE_INT      ,  64 },
+        { ZYDIS_ELEMENT_TYPE_UINT     ,   8 },
+        { ZYDIS_ELEMENT_TYPE_UINT     ,  16 },
+        { ZYDIS_ELEMENT_TYPE_UINT     ,  32 },
+        { ZYDIS_ELEMENT_TYPE_UINT     ,  64 },
+        { ZYDIS_ELEMENT_TYPE_UINT     , 128 },
+        { ZYDIS_ELEMENT_TYPE_UINT     , 256 },
+        { ZYDIS_ELEMENT_TYPE_FLOAT16  ,  16 },
+        { ZYDIS_ELEMENT_TYPE_FLOAT32  ,  32 },
+        { ZYDIS_ELEMENT_TYPE_FLOAT64  ,  64 },
+        { ZYDIS_ELEMENT_TYPE_FLOAT80  ,  80 },
+        { ZYDIS_ELEMENT_TYPE_LONGBCD  ,  80 },
+        { ZYDIS_ELEMENT_TYPE_CC       ,   3 },
+        { ZYDIS_ELEMENT_TYPE_CC       ,   5 }
+    };
+
+    ZYAN_ASSERT(element < ZYAN_ARRAY_LENGTH(lookup));
+
+    *type = lookup[element].type;
+    *size = lookup[element].size;
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Accessed CPU flags                                                                             */
+/* ---------------------------------------------------------------------------------------------- */
+
+#ifndef ZYDIS_MINIMAL_MODE
+ZyanBool ZydisGetAccessedFlags(const ZydisInstructionDefinition* definition,
+    const ZydisAccessedFlags** flags)
+{
+    ZYAN_ASSERT(definition->flags_reference < ZYAN_ARRAY_LENGTH(ACCESSED_FLAGS));
+    *flags = &ACCESSED_FLAGS[definition->flags_reference];
+    return (definition->flags_reference != 0);
+}
+#endif
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
diff --git a/external/zydis/src/String.c b/external/zydis/src/String.c
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/String.c
@@ -0,0 +1,362 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd, Joel Hoener
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#include <Zydis/Internal/String.h>
+
+/* ============================================================================================== */
+/* Constants                                                                                      */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Defines                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+#define ZYDIS_MAXCHARS_DEC_32 10
+#define ZYDIS_MAXCHARS_DEC_64 20
+#define ZYDIS_MAXCHARS_HEX_32  8
+#define ZYDIS_MAXCHARS_HEX_64 16
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Lookup Tables                                                                                  */
+/* ---------------------------------------------------------------------------------------------- */
+
+static const char* const DECIMAL_LOOKUP =
+    "00010203040506070809"
+    "10111213141516171819"
+    "20212223242526272829"
+    "30313233343536373839"
+    "40414243444546474849"
+    "50515253545556575859"
+    "60616263646566676869"
+    "70717273747576777879"
+    "80818283848586878889"
+    "90919293949596979899";
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Internal Functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Decimal                                                                                        */
+/* ---------------------------------------------------------------------------------------------- */
+
+#if defined(ZYAN_X86) || defined(ZYAN_ARM) || defined(ZYAN_EMSCRIPTEN)
+ZyanStatus ZydisStringAppendDecU32(ZyanString* string, ZyanU32 value, ZyanU8 padding_length)
+{
+    ZYAN_ASSERT(string);
+    ZYAN_ASSERT(!string->vector.allocator);
+
+    char buffer[ZYDIS_MAXCHARS_DEC_32];
+    char *buffer_end = &buffer[ZYDIS_MAXCHARS_DEC_32];
+    char *buffer_write_pointer = buffer_end;
+    while (value >= 100)
+    {
+        const ZyanU32 value_old = value;
+        buffer_write_pointer -= 2;
+        value /= 100;
+        ZYAN_MEMCPY(buffer_write_pointer, &DECIMAL_LOOKUP[(value_old - (value * 100)) * 2], 2);
+    }
+    buffer_write_pointer -= 2;
+    ZYAN_MEMCPY(buffer_write_pointer, &DECIMAL_LOOKUP[value * 2], 2);
+
+    const ZyanUSize offset_odd    = (ZyanUSize)(value < 10);
+    const ZyanUSize length_number = buffer_end - buffer_write_pointer - offset_odd;
+    const ZyanUSize length_total  = ZYAN_MAX(length_number, padding_length);
+    const ZyanUSize length_target = string->vector.size;
+
+    if (string->vector.size + length_total > string->vector.capacity)
+    {
+        return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE;
+    }
+
+    ZyanUSize offset_write = 0;
+    if (padding_length > length_number)
+    {
+        offset_write = padding_length - length_number;
+        ZYAN_MEMSET((char*)string->vector.data + length_target - 1, '0', offset_write);
+    }
+
+    ZYAN_MEMCPY((char*)string->vector.data + length_target + offset_write - 1,
+        buffer_write_pointer + offset_odd, length_number);
+    string->vector.size = length_target + length_total;
+    ZYDIS_STRING_NULLTERMINATE(string);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+#endif
+
+ZyanStatus ZydisStringAppendDecU64(ZyanString* string, ZyanU64 value, ZyanU8 padding_length)
+{
+    ZYAN_ASSERT(string);
+    ZYAN_ASSERT(!string->vector.allocator);
+
+    char buffer[ZYDIS_MAXCHARS_DEC_64];
+    char *buffer_end = &buffer[ZYDIS_MAXCHARS_DEC_64];
+    char *buffer_write_pointer = buffer_end;
+    while (value >= 100)
+    {
+        const ZyanU64 value_old = value;
+        buffer_write_pointer -= 2;
+        value /= 100;
+        ZYAN_MEMCPY(buffer_write_pointer, &DECIMAL_LOOKUP[(value_old - (value * 100)) * 2], 2);
+    }
+    buffer_write_pointer -= 2;
+    ZYAN_MEMCPY(buffer_write_pointer, &DECIMAL_LOOKUP[value * 2], 2);
+
+    const ZyanUSize offset_odd    = (ZyanUSize)(value < 10);
+    const ZyanUSize length_number = buffer_end - buffer_write_pointer - offset_odd;
+    const ZyanUSize length_total  = ZYAN_MAX(length_number, padding_length);
+    const ZyanUSize length_target = string->vector.size;
+
+    if (string->vector.size + length_total > string->vector.capacity)
+    {
+        return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE;
+    }
+
+    ZyanUSize offset_write = 0;
+    if (padding_length > length_number)
+    {
+        offset_write = padding_length - length_number;
+        ZYAN_MEMSET((char*)string->vector.data + length_target - 1, '0', offset_write);
+    }
+
+    ZYAN_MEMCPY((char*)string->vector.data + length_target + offset_write - 1,
+        buffer_write_pointer + offset_odd, length_number);
+    string->vector.size = length_target + length_total;
+    ZYDIS_STRING_NULLTERMINATE(string);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Hexadecimal                                                                                    */
+/* ---------------------------------------------------------------------------------------------- */
+
+#if defined(ZYAN_X86) || defined(ZYAN_ARM) || defined(ZYAN_EMSCRIPTEN)
+ZyanStatus ZydisStringAppendHexU32(ZyanString* string, ZyanU32 value, ZyanU8 padding_length,
+    ZyanBool uppercase)
+{
+    ZYAN_ASSERT(string);
+    ZYAN_ASSERT(!string->vector.allocator);
+
+    const ZyanUSize len = string->vector.size;
+    const ZyanUSize remaining = string->vector.capacity - string->vector.size;
+
+    if (remaining < (ZyanUSize)padding_length)
+    {
+        return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE;
+    }
+
+    if (!value)
+    {
+        const ZyanU8 n = (padding_length ? padding_length : 1);
+
+        if (remaining < (ZyanUSize)n)
+        {
+            return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE;
+        }
+
+        ZYAN_MEMSET((char*)string->vector.data + len - 1, '0', n);
+        string->vector.size = len + n;
+        ZYDIS_STRING_NULLTERMINATE(string);
+
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    ZyanU8 n = 0;
+    char* buffer = ZYAN_NULL;
+    for (ZyanI8 i = ZYDIS_MAXCHARS_HEX_32 - 1; i >= 0; --i)
+    {
+        const ZyanU8 v = (value >> i * 4) & 0x0F;
+        if (!n)
+        {
+            if (!v)
+            {
+                continue;
+            }
+            if (remaining <= (ZyanU8)i)
+            {
+                return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE;
+            }
+            buffer = (char*)string->vector.data + len - 1;
+            if (padding_length > i)
+            {
+                n = padding_length - i - 1;
+                ZYAN_MEMSET(buffer, '0', n);
+            }
+        }
+        ZYAN_ASSERT(buffer);
+        if (uppercase)
+        {
+            buffer[n++] = "0123456789ABCDEF"[v];
+        } else
+        {
+            buffer[n++] = "0123456789abcdef"[v];
+        }
+    }
+    string->vector.size = len + n;
+    ZYDIS_STRING_NULLTERMINATE(string);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+#endif
+
+ZyanStatus ZydisStringAppendHexU64(ZyanString* string, ZyanU64 value, ZyanU8 padding_length,
+    ZyanBool uppercase)
+{
+    ZYAN_ASSERT(string);
+    ZYAN_ASSERT(!string->vector.allocator);
+
+    const ZyanUSize len = string->vector.size;
+    const ZyanUSize remaining = string->vector.capacity - string->vector.size;
+
+    if (remaining < (ZyanUSize)padding_length)
+    {
+        return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE;
+    }
+
+    if (!value)
+    {
+        const ZyanU8 n = (padding_length ? padding_length : 1);
+
+        if (remaining < (ZyanUSize)n)
+        {
+            return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE;
+        }
+
+        ZYAN_MEMSET((char*)string->vector.data + len - 1, '0', n);
+        string->vector.size = len + n;
+        ZYDIS_STRING_NULLTERMINATE(string);
+
+        return ZYAN_STATUS_SUCCESS;
+    }
+
+    ZyanU8 n = 0;
+    char* buffer = ZYAN_NULL;
+    for (ZyanI8 i = ((value & 0xFFFFFFFF00000000) ?
+        ZYDIS_MAXCHARS_HEX_64 : ZYDIS_MAXCHARS_HEX_32) - 1; i >= 0; --i)
+    {
+        const ZyanU8 v = (value >> i * 4) & 0x0F;
+        if (!n)
+        {
+            if (!v)
+            {
+                continue;
+            }
+            if (remaining <= (ZyanU8)i)
+            {
+                return ZYAN_STATUS_INSUFFICIENT_BUFFER_SIZE;
+            }
+            buffer = (char*)string->vector.data + len - 1;
+            if (padding_length > i)
+            {
+                n = padding_length - i - 1;
+                ZYAN_MEMSET(buffer, '0', n);
+            }
+        }
+        ZYAN_ASSERT(buffer);
+        if (uppercase)
+        {
+            buffer[n++] = "0123456789ABCDEF"[v];
+        } else
+        {
+            buffer[n++] = "0123456789abcdef"[v];
+        }
+    }
+    string->vector.size = len + n;
+    ZYDIS_STRING_NULLTERMINATE(string);
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
+/* Public Functions                                                                               */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Formatting                                                                                     */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisStringAppendDecU(ZyanString* string, ZyanU64 value, ZyanU8 padding_length,
+    const ZyanStringView* prefix, const ZyanStringView* suffix)
+{
+    if (prefix)
+    {
+        ZYAN_CHECK(ZydisStringAppend(string, prefix));
+    }
+
+#if defined(ZYAN_X64) || defined(ZYAN_AARCH64)
+    ZYAN_CHECK(ZydisStringAppendDecU64(string, value, padding_length));
+#else
+    if (value & 0xFFFFFFFF00000000)
+    {
+        ZYAN_CHECK(ZydisStringAppendDecU64(string, value, padding_length));
+    }
+    ZYAN_CHECK(ZydisStringAppendDecU32(string, (ZyanU32)value, padding_length));
+#endif
+
+    if (suffix)
+    {
+        return ZydisStringAppend(string, suffix);
+    }
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisStringAppendHexU(ZyanString* string, ZyanU64 value, ZyanU8 padding_length,
+    ZyanBool uppercase, const ZyanStringView* prefix, const ZyanStringView* suffix)
+{
+    if (prefix)
+    {
+        ZYAN_CHECK(ZydisStringAppend(string, prefix));
+    }
+
+#if defined(ZYAN_X64) || defined(ZYAN_AARCH64)
+    ZYAN_CHECK(ZydisStringAppendHexU64(string, value, padding_length, uppercase));
+#else
+    if (value & 0xFFFFFFFF00000000)
+    {
+        ZYAN_CHECK(ZydisStringAppendHexU64(string, value, padding_length, uppercase));
+    }
+    else
+    {
+        ZYAN_CHECK(ZydisStringAppendHexU32(string, (ZyanU32)value, padding_length, uppercase));
+    }
+#endif
+
+    if (suffix)
+    {
+        return ZydisStringAppend(string, suffix);
+    }
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
diff --git a/external/zydis/src/Utils.c b/external/zydis/src/Utils.c
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Utils.c
@@ -0,0 +1,369 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#include <Zycore/LibC.h>
+#include <Zydis/Utils.h>
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Address calculation                                                                            */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisCalcAbsoluteAddress(const ZydisDecodedInstruction* instruction,
+    const ZydisDecodedOperand* operand, ZyanU64 runtime_address, ZyanU64* result_address)
+{
+    if (!instruction || !operand || !result_address)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    switch (operand->type)
+    {
+    case ZYDIS_OPERAND_TYPE_MEMORY:
+        if (!operand->mem.disp.has_displacement)
+        {
+            return ZYAN_STATUS_INVALID_ARGUMENT;
+        }
+        if (operand->mem.base == ZYDIS_REGISTER_EIP)
+        {
+            *result_address = ((ZyanU32)runtime_address + instruction->length +
+                (ZyanU32)operand->mem.disp.value);
+            return ZYAN_STATUS_SUCCESS;
+        }
+        if (operand->mem.base == ZYDIS_REGISTER_RIP)
+        {
+            *result_address = (ZyanU64)(runtime_address + instruction->length +
+                operand->mem.disp.value);
+            return ZYAN_STATUS_SUCCESS;
+        }
+        if ((operand->mem.base == ZYDIS_REGISTER_NONE) &&
+            (operand->mem.index == ZYDIS_REGISTER_NONE))
+        {
+            switch (instruction->address_width)
+            {
+            case 16:
+                *result_address = (ZyanU64)operand->mem.disp.value & 0x000000000000FFFF;
+                return ZYAN_STATUS_SUCCESS;
+            case 32:
+                *result_address = (ZyanU64)operand->mem.disp.value & 0x00000000FFFFFFFF;
+                return ZYAN_STATUS_SUCCESS;
+            case 64:
+                *result_address = (ZyanU64)operand->mem.disp.value;
+                return ZYAN_STATUS_SUCCESS;
+            default:
+                return ZYAN_STATUS_INVALID_ARGUMENT;
+            }
+        }
+        break;
+    case ZYDIS_OPERAND_TYPE_IMMEDIATE:
+        if (operand->imm.is_signed && operand->imm.is_relative)
+        {
+            *result_address = (ZyanU64)((ZyanI64)runtime_address + instruction->length +
+                operand->imm.value.s);
+            switch (instruction->machine_mode)
+            {
+            case ZYDIS_MACHINE_MODE_LONG_COMPAT_16:
+            case ZYDIS_MACHINE_MODE_LEGACY_16:
+            case ZYDIS_MACHINE_MODE_REAL_16:
+            case ZYDIS_MACHINE_MODE_LONG_COMPAT_32:
+            case ZYDIS_MACHINE_MODE_LEGACY_32:
+                if (operand->size == 16)
+                {
+                    *result_address &= 0xFFFF;
+                }
+                break;
+            case ZYDIS_MACHINE_MODE_LONG_64:
+                break;
+            default:
+                return ZYAN_STATUS_INVALID_ARGUMENT;
+            }
+            return ZYAN_STATUS_SUCCESS;
+        }
+        break;
+    default:
+        break;
+    }
+
+    return ZYAN_STATUS_INVALID_ARGUMENT;
+}
+
+ZyanStatus ZydisCalcAbsoluteAddressEx(const ZydisDecodedInstruction* instruction,
+    const ZydisDecodedOperand* operand, ZyanU64 runtime_address,
+    const ZydisRegisterContext* register_context, ZyanU64* result_address)
+{
+    // TODO: Test this with AGEN/MIB operands
+    // TODO: Add support for Gather/Scatter instructions
+
+    if (!instruction || !operand || !register_context || !result_address)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    if ((operand->type != ZYDIS_OPERAND_TYPE_MEMORY) ||
+        ((operand->mem.base == ZYDIS_REGISTER_NONE) &&
+         (operand->mem.index == ZYDIS_REGISTER_NONE)) ||
+        (operand->mem.base == ZYDIS_REGISTER_EIP) ||
+        (operand->mem.base == ZYDIS_REGISTER_RIP))
+    {
+        return ZydisCalcAbsoluteAddress(instruction, operand, runtime_address, result_address);
+    }
+
+    ZyanU64 value = operand->mem.disp.value;
+    if (operand->mem.base)
+    {
+        value += register_context->values[operand->mem.base];
+    }
+    if (operand->mem.index)
+    {
+        value += register_context->values[operand->mem.index] * operand->mem.scale;
+    }
+
+    switch (instruction->address_width)
+    {
+    case 16:
+        *result_address = value & 0x000000000000FFFF;
+        return ZYAN_STATUS_SUCCESS;
+    case 32:
+        *result_address = value & 0x00000000FFFFFFFF;
+        return ZYAN_STATUS_SUCCESS;
+    case 64:
+        *result_address = value;
+        return ZYAN_STATUS_SUCCESS;
+    default:
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Accessed CPU flags                                                                             */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisGetAccessedFlagsByAction(const ZydisDecodedInstruction* instruction,
+    ZydisCPUFlagAction action, ZydisCPUFlags* flags)
+{
+    if (!instruction || !flags)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    *flags = 0;
+    for (ZyanUSize i = 0; i < ZYAN_ARRAY_LENGTH(instruction->accessed_flags); ++i)
+    {
+        if (instruction->accessed_flags[i].action == action)
+        {
+            *flags |= (1 << i);
+        }
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisGetAccessedFlagsRead(const ZydisDecodedInstruction* instruction,
+    ZydisCPUFlags* flags)
+{
+    ZYAN_CHECK(ZydisGetAccessedFlagsByAction(instruction, ZYDIS_CPUFLAG_ACTION_TESTED, flags));
+    ZydisCPUFlags temp;
+    ZYAN_CHECK(ZydisGetAccessedFlagsByAction(instruction, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED,
+        &temp));
+    *flags |= temp;
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+ZyanStatus ZydisGetAccessedFlagsWritten(const ZydisDecodedInstruction* instruction,
+    ZydisCPUFlags* flags)
+{
+    ZYAN_CHECK(ZydisGetAccessedFlagsByAction(instruction, ZYDIS_CPUFLAG_ACTION_TESTED_MODIFIED,
+        flags));
+    ZydisCPUFlags temp;
+    ZYAN_CHECK(ZydisGetAccessedFlagsByAction(instruction, ZYDIS_CPUFLAG_ACTION_MODIFIED, &temp));
+    *flags |= temp;
+    ZYAN_CHECK(ZydisGetAccessedFlagsByAction(instruction, ZYDIS_CPUFLAG_ACTION_SET_0, &temp));
+    *flags |= temp;
+    ZYAN_CHECK(ZydisGetAccessedFlagsByAction(instruction, ZYDIS_CPUFLAG_ACTION_SET_1, &temp));
+    *flags |= temp;
+    ZYAN_CHECK(ZydisGetAccessedFlagsByAction(instruction, ZYDIS_CPUFLAG_ACTION_UNDEFINED, &temp));
+    *flags |= temp;
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+/* Instruction segments                                                                           */
+/* ---------------------------------------------------------------------------------------------- */
+
+ZyanStatus ZydisGetInstructionSegments(const ZydisDecodedInstruction* instruction,
+    ZydisInstructionSegments* segments)
+{
+    if (!instruction || !segments)
+    {
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+
+    ZYAN_MEMSET(segments, 0, sizeof(*segments));
+
+    // Legacy prefixes and `REX`
+    if (instruction->raw.prefix_count)
+    {
+        const ZyanU8 rex_offset = (instruction->attributes & ZYDIS_ATTRIB_HAS_REX) ? 1 : 0;
+        if (!rex_offset || (instruction->raw.prefix_count > 1))
+        {
+            segments->segments[segments->count  ].type   = ZYDIS_INSTR_SEGMENT_PREFIXES;
+            segments->segments[segments->count  ].offset = 0;
+            segments->segments[segments->count++].size   =
+                instruction->raw.prefix_count - rex_offset;
+        }
+        if (rex_offset)
+        {
+            segments->segments[segments->count  ].type   = ZYDIS_INSTR_SEGMENT_REX;
+            segments->segments[segments->count  ].offset =
+                instruction->raw.prefix_count - rex_offset;
+            segments->segments[segments->count++].size   = 1;
+        }
+    }
+
+    // Encoding prefixes
+    ZydisInstructionSegment segment_type = ZYDIS_INSTR_SEGMENT_NONE;
+    ZyanU8 segment_offset = 0;
+    ZyanU8 segment_size = 0;
+    switch (instruction->encoding)
+    {
+    case ZYDIS_INSTRUCTION_ENCODING_XOP:
+        segment_type = ZYDIS_INSTR_SEGMENT_XOP;
+        segment_offset = instruction->raw.xop.offset;
+        segment_size = 3;
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_VEX:
+        segment_type = ZYDIS_INSTR_SEGMENT_VEX;
+        segment_offset = instruction->raw.vex.offset;
+        segment_size = instruction->raw.vex.size;
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_EVEX:
+        segment_type = ZYDIS_INSTR_SEGMENT_EVEX;
+        segment_offset = instruction->raw.evex.offset;
+        segment_size = 4;
+        break;
+    case ZYDIS_INSTRUCTION_ENCODING_MVEX:
+        segment_type = ZYDIS_INSTR_SEGMENT_MVEX;
+        segment_offset = instruction->raw.mvex.offset;
+        segment_size = 4;
+        break;
+    default:
+        break;
+    }
+    if (segment_type)
+    {
+        segments->segments[segments->count  ].type   = segment_type;
+        segments->segments[segments->count  ].offset = segment_offset;
+        segments->segments[segments->count++].size   = segment_size;
+    }
+
+    // Opcode
+    segment_size = 1;
+    if ((instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_LEGACY) ||
+        (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_3DNOW))
+    {
+        switch (instruction->opcode_map)
+        {
+        case ZYDIS_OPCODE_MAP_DEFAULT:
+            break;
+        case ZYDIS_OPCODE_MAP_0F:
+            ZYAN_FALLTHROUGH;
+        case ZYDIS_OPCODE_MAP_0F0F:
+            segment_size = 2;
+            break;
+        case ZYDIS_OPCODE_MAP_0F38:
+            ZYAN_FALLTHROUGH;
+        case ZYDIS_OPCODE_MAP_0F3A:
+            segment_size = 3;
+            break;
+        default:
+            ZYAN_UNREACHABLE;
+        }
+    }
+    segments->segments[segments->count  ].type = ZYDIS_INSTR_SEGMENT_OPCODE;
+    if (segments->count)
+    {
+        segments->segments[segments->count].offset =
+            segments->segments[segments->count - 1].offset +
+            segments->segments[segments->count - 1].size;
+    } else
+    {
+        segments->segments[segments->count].offset = 0;
+    }
+    segments->segments[segments->count++].size = segment_size;
+
+    // ModRM
+    if (instruction->attributes & ZYDIS_ATTRIB_HAS_MODRM)
+    {
+        segments->segments[segments->count  ].type = ZYDIS_INSTR_SEGMENT_MODRM;
+        segments->segments[segments->count  ].offset = instruction->raw.modrm.offset;
+        segments->segments[segments->count++].size = 1;
+    }
+
+    // SIB
+    if (instruction->attributes & ZYDIS_ATTRIB_HAS_SIB)
+    {
+        segments->segments[segments->count  ].type = ZYDIS_INSTR_SEGMENT_SIB;
+        segments->segments[segments->count  ].offset = instruction->raw.sib.offset;
+        segments->segments[segments->count++].size = 1;
+    }
+
+    // Displacement
+    if (instruction->raw.disp.size)
+    {
+        segments->segments[segments->count  ].type = ZYDIS_INSTR_SEGMENT_DISPLACEMENT;
+        segments->segments[segments->count  ].offset = instruction->raw.disp.offset;
+        segments->segments[segments->count++].size = instruction->raw.disp.size / 8;
+    }
+
+    // Immediates
+    for (ZyanU8 i = 0; i < 2; ++i)
+    {
+        if (instruction->raw.imm[i].size)
+        {
+            segments->segments[segments->count  ].type = ZYDIS_INSTR_SEGMENT_IMMEDIATE;
+            segments->segments[segments->count  ].offset = instruction->raw.imm[i].offset;
+            segments->segments[segments->count++].size = instruction->raw.imm[i].size / 8;
+        }
+    }
+
+    if (instruction->encoding == ZYDIS_INSTRUCTION_ENCODING_3DNOW)
+    {
+        segments->segments[segments->count].type = ZYDIS_INSTR_SEGMENT_OPCODE;
+        segments->segments[segments->count].offset = instruction->length -1;
+        segments->segments[segments->count++].size = 1;
+    }
+
+    return ZYAN_STATUS_SUCCESS;
+}
+
+/* ---------------------------------------------------------------------------------------------- */
+
+/* ============================================================================================== */
diff --git a/external/zydis/src/Zydis.c b/external/zydis/src/Zydis.c
new file mode 100644
--- /dev/null
+++ b/external/zydis/src/Zydis.c
@@ -0,0 +1,73 @@
+/***************************************************************************************************
+
+  Zyan Disassembler Library (Zydis)
+
+  Original Author : Florian Bernd
+
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in all
+ * copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+
+***************************************************************************************************/
+
+#include <Zydis/Zydis.h>
+
+/* ============================================================================================== */
+/* Exported functions                                                                             */
+/* ============================================================================================== */
+
+ZyanU64 ZydisGetVersion(void)
+{
+    return ZYDIS_VERSION;
+}
+
+ZyanStatus ZydisIsFeatureEnabled(ZydisFeature feature)
+{
+    switch (feature)
+    {
+    case ZYDIS_FEATURE_DECODER:
+#ifndef ZYDIS_DISABLE_DECODER
+        return ZYAN_STATUS_TRUE;
+#else
+        return ZYAN_STATUS_FALSE;
+#endif
+    case ZYDIS_FEATURE_FORMATTER:
+#ifndef ZYDIS_DISABLE_FORMATTER
+        return ZYAN_STATUS_TRUE;
+#else
+        return ZYAN_STATUS_FALSE;
+#endif
+    case ZYDIS_FEATURE_AVX512:
+#ifndef ZYDIS_DISABLE_AVX512
+        return ZYAN_STATUS_TRUE;
+#else
+        return ZYAN_STATUS_FALSE;
+#endif
+
+    case ZYDIS_FEATURE_KNC:
+#ifndef ZYDIS_DISABLE_KNC
+        return ZYAN_STATUS_TRUE;
+#else
+        return ZYAN_STATUS_FALSE;
+#endif
+
+    default:
+        return ZYAN_STATUS_INVALID_ARGUMENT;
+    }
+}
+
+/* ============================================================================================== */
diff --git a/src/Zydis.hs b/src/Zydis.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis.hs
@@ -0,0 +1,26 @@
+-- Zydis.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+module Zydis
+  ( module M
+  )
+where
+
+import           Zydis.Decoder                 as M
+import           Zydis.Types                   as M
diff --git a/src/Zydis/AddressWidth.hs b/src/Zydis/AddressWidth.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/AddressWidth.hs
@@ -0,0 +1,34 @@
+-- AddressWidth.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.AddressWidth
+  ( AddressWidth(..)
+  )
+where
+
+import           Zydis.Util
+
+data AddressWidth
+  = AddressWidth16
+  | AddressWidth32
+  | AddressWidth64
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt AddressWidth
diff --git a/src/Zydis/BranchType.hs b/src/Zydis/BranchType.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/BranchType.hs
@@ -0,0 +1,35 @@
+-- BranchType.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.BranchType
+  ( BranchType(..)
+  )
+where
+
+import           Zydis.Util
+
+data BranchType
+  = BranchTypeNone
+  | BranchTypeShort
+  | BranchTypeNear
+  | BranchTypeFar
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt BranchType
diff --git a/src/Zydis/BroadcastMode.hs b/src/Zydis/BroadcastMode.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/BroadcastMode.hs
@@ -0,0 +1,44 @@
+-- BroadcastMode.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.BroadcastMode
+  ( BroadcastMode(..)
+  )
+where
+
+import           Zydis.Util
+
+data BroadcastMode
+  = BroadcastModeInvalid
+  | BroadcastMode1To2
+  | BroadcastMode1To4
+  | BroadcastMode1To8
+  | BroadcastMode1To16
+  | BroadcastMode1To32
+  | BroadcastMode1To64
+  | BroadcastMode2To4
+  | BroadcastMode2To8
+  | BroadcastMode2To16
+  | BroadcastMode4To8
+  | BroadcastMode4To16
+  | BroadcastMode8To16
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt BroadcastMode
diff --git a/src/Zydis/CPUFlagAction.hs b/src/Zydis/CPUFlagAction.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/CPUFlagAction.hs
@@ -0,0 +1,38 @@
+-- CPUFlagAction.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia      #-}
+
+module Zydis.CPUFlagAction
+  ( CPUFlagAction(..)
+  )
+where
+
+import           Zydis.Util
+
+data CPUFlagAction
+  = CPUFlagActionNone
+  | CPUFlagActionTested
+  | CPUFlagActionTestedModified
+  | CPUFlagActionModified
+  | CPUFlagActionSet0
+  | CPUFlagActionSet1
+  | CPUFlagActionUndefined
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt CPUFlagAction
diff --git a/src/Zydis/Constants.hs b/src/Zydis/Constants.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/Constants.hs
@@ -0,0 +1,33 @@
+-- Constants.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DataKinds #-}
+
+module Zydis.Constants
+  ( ZydisMaxInstructionLength
+  , ZydisMaxOperandCount
+  , ZydisCpuFlagMaxValue
+  , ZydisRawImmediateCount
+  )
+where
+
+type ZydisCpuFlagMaxValue = 21
+type ZydisMaxInstructionLength = 15
+type ZydisMaxOperandCount = 10
+type ZydisRawImmediateCount = 2
diff --git a/src/Zydis/ConversionMode.hs b/src/Zydis/ConversionMode.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/ConversionMode.hs
@@ -0,0 +1,37 @@
+-- ConversionMode.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.ConversionMode
+  ( ConversionMode(..)
+  )
+where
+
+import           Zydis.Util
+
+data ConversionMode
+  = ConversionModeInvalid
+  | ConversionModeFloat16
+  | ConversionModeSint8
+  | ConversionModeUint8
+  | ConversionModeSint16
+  | ConversionModeUint16
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt ConversionMode
diff --git a/src/Zydis/Decoder.hs b/src/Zydis/Decoder.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/Decoder.hs
@@ -0,0 +1,147 @@
+-- Decoder.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE BangPatterns             #-}
+{-# LANGUAGE ForeignFunctionInterface #-}
+{-# LANGUAGE TypeApplications         #-}
+
+module Zydis.Decoder
+  ( ZyanStatus
+  , ZyanUSize
+  , Offset
+  , Length
+  , initialize
+  , decodeBuffer
+  , decodeFullBuffer
+  )
+where
+
+import           Data.Bits
+import           Data.ByteString               as BS
+import           Data.ByteString.Internal
+import           Data.Vector
+import           Data.Word
+import           Foreign.ForeignPtr
+import           Foreign.Marshal
+import           Foreign.Ptr
+import           Foreign.Storable
+import           Zydis.Types
+
+-- * FFI types
+
+type MachineModeC = Word32
+
+type AddressWidthC = Word32
+
+type ZyanStatus = Word32
+
+type ZyanUSize = Word64
+
+type Offset = ZyanUSize
+
+type Length = ZyanUSize
+
+-- * FFI declarations
+
+foreign import ccall unsafe "ZydisDecoderInit" c_ZydisDecoderInit
+  :: Ptr Decoder -> MachineModeC -> AddressWidthC -> IO ZyanStatus
+
+foreign import ccall unsafe "ZydisDecoderDecodeBuffer" c_ZydisDecoderDecodeBuffer
+  :: Ptr Decoder -> Ptr Word8 -> ZyanUSize -> Ptr DecodedInstruction -> IO ZyanStatus
+
+-- * FFI bridges
+
+-- | Directly stolen from https://github.com/zyantific/zycore-c/blob/71440fa634d1313db735d3262d453be641bb404f/include/Zycore/Status.h#L81
+zyanSuccess :: Word32 -> Bool
+zyanSuccess x = (x .&. 0x80000000) == 0
+{-# INLINE zyanSuccess #-}
+
+-- | Initialize a Zydis decoder, required to decode instructions.
+initialize :: MachineMode -> AddressWidth -> IO (Either ZyanStatus Decoder)
+initialize mm aw = alloca go
+ where
+  go decoder = do
+    r <- c_ZydisDecoderInit decoder
+                            (fromIntegral $ fromEnum mm)
+                            (fromIntegral $ fromEnum aw)
+    if zyanSuccess r then Right <$> peek decoder else pure $ Left r
+{-# INLINE initialize #-}
+
+-- | Decode a single intruction.
+decodeBuffer
+  :: Decoder
+  -> ByteString
+  -> Offset
+  -> Length
+  -> IO (Either ZyanStatus DecodedInstruction)
+decodeBuffer d bs o l = alloca @Decoder go
+ where
+  (bufferForeignPtr, _, _) = toForeignPtr bs
+
+  go decoderPtr = alloca @DecodedInstruction $ go' decoderPtr
+
+  go' decoderPtr decodedInstructionPtr =
+    withForeignPtr bufferForeignPtr $ go'' decoderPtr decodedInstructionPtr
+
+  go'' decoderPtr decodedInstructionPtr bufferPtr = do
+    poke decoderPtr d
+    doDecodeInstruction decoderPtr decodedInstructionPtr bufferPtr o l
+{-# INLINE decodeBuffer #-}
+
+-- | Efficiently decode an entire buffer of instructions.
+decodeFullBuffer
+  :: Decoder -> ByteString -> IO (Either ZyanStatus (Vector DecodedInstruction))
+decodeFullBuffer d bs = alloca @Decoder go
+ where
+  (bufferForeignPtr, _, bufferLength) = toForeignPtr bs
+
+  go decoderPtr = alloca @DecodedInstruction $ go' decoderPtr
+
+  go' decoderPtr decodedInstructionPtr =
+    withForeignPtr bufferForeignPtr $ go'' decoderPtr decodedInstructionPtr
+
+  go'' decoderPtr decodedInstructionPtr bufferPtr = do
+    poke decoderPtr d
+    loop (mempty @(Vector DecodedInstruction), 0, fromIntegral bufferLength)
+   where
+    loop (!v, !o, !l)
+      | l > 0 = do
+        x <- doDecodeInstruction decoderPtr decodedInstructionPtr bufferPtr o l
+        case x of
+          Right i -> do
+            let il = fromIntegral $ decodedInstructionLength i
+            loop (v <> pure i, o + il, l - il)
+          Left s -> pure $ Left s
+      | otherwise = pure $ Right v
+{-# INLINE decodeFullBuffer #-}
+
+doDecodeInstruction
+  :: Ptr Decoder
+  -> Ptr DecodedInstruction
+  -> Ptr Word8
+  -> Offset
+  -> Length
+  -> IO (Either ZyanStatus DecodedInstruction)
+doDecodeInstruction decoderPtr decodedInstructionPtr bufferPtr o l = do
+  r <- c_ZydisDecoderDecodeBuffer decoderPtr
+                                  (plusPtr bufferPtr (fromIntegral o))
+                                  l
+                                  decodedInstructionPtr
+  if zyanSuccess r then Right <$> peek decodedInstructionPtr else pure $ Left r
+{-# INLINE doDecodeInstruction #-}
diff --git a/src/Zydis/ElementType.hs b/src/Zydis/ElementType.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/ElementType.hs
@@ -0,0 +1,41 @@
+-- ElementType.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.ElementType
+  ( ElementType(..)
+  )
+where
+
+import           Zydis.Util
+
+data ElementType
+  = ElementTypeInvalid
+  | ElementTypeStruct
+  | ElementTypeUint
+  | ElementTypeInt
+  | ElementTypeFloat16
+  | ElementTypeFloat32
+  | ElementTypeFloat64
+  | ElementTypeFloat80
+  | ElementTypeLongbcd
+  | ElementTypeCc
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt ElementType
diff --git a/src/Zydis/ExceptionClass.hs b/src/Zydis/ExceptionClass.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/ExceptionClass.hs
@@ -0,0 +1,72 @@
+-- ExceptionClass.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.ExceptionClass
+  ( ExceptionClass(..)
+  )
+where
+
+import           Zydis.Util
+
+data ExceptionClass
+  = ExceptionClassNone
+  | ExceptionClassSse1
+  | ExceptionClassSse2
+  | ExceptionClassSse3
+  | ExceptionClassSse4
+  | ExceptionClassSse5
+  | ExceptionClassSse7
+  | ExceptionClassAvx1
+  | ExceptionClassAvx2
+  | ExceptionClassAvx3
+  | ExceptionClassAvx4
+  | ExceptionClassAvx5
+  | ExceptionClassAvx6
+  | ExceptionClassAvx7
+  | ExceptionClassAvx8
+  | ExceptionClassAvx11
+  | ExceptionClassAvx12
+  | ExceptionClassE1
+  | ExceptionClassE1Nf
+  | ExceptionClassE2
+  | ExceptionClassE2Nf
+  | ExceptionClassE3
+  | ExceptionClassE3Nf
+  | ExceptionClassE4
+  | ExceptionClassE4Nf
+  | ExceptionClassE5
+  | ExceptionClassE5Nf
+  | ExceptionClassE6
+  | ExceptionClassE6Nf
+  | ExceptionClassE7Nm
+  | ExceptionClassE7Nm128
+  | ExceptionClassE9Nf
+  | ExceptionClassE10
+  | ExceptionClassE10Nf
+  | ExceptionClassE11
+  | ExceptionClassE11Nf
+  | ExceptionClassE12
+  | ExceptionClassE12Np
+  | ExceptionClassK20
+  | ExceptionClassK21
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt ExceptionClass
+
diff --git a/src/Zydis/ISAExt.hs b/src/Zydis/ISAExt.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/ISAExt.hs
@@ -0,0 +1,105 @@
+-- ISAExt.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.ISAExt
+  ( ISAExt(..)
+  )
+where
+
+import           Zydis.Util
+
+data ISAExt
+  = ISAExtInvalid
+  | ISAExtAdoxAdcx
+  | ISAExtAes
+  | ISAExtAmd3Dnow
+  | ISAExtAvx
+  | ISAExtAvx2
+  | ISAExtAvx2Gather
+  | ISAExtAvx512Evex
+  | ISAExtAvx512Vex
+  | ISAExtAvxaes
+  | ISAExtBase
+  | ISAExtBmi1
+  | ISAExtBmi2
+  | ISAExtCet
+  | ISAExtCldemote
+  | ISAExtClflushopt
+  | ISAExtClfsh
+  | ISAExtClwb
+  | ISAExtClzero
+  | ISAExtEnqcmd
+  | ISAExtF16C
+  | ISAExtFma
+  | ISAExtFma4
+  | ISAExtGfni
+  | ISAExtInvpcid
+  | ISAExtKnc
+  | ISAExtKnce
+  | ISAExtKncv
+  | ISAExtLongmode
+  | ISAExtLzcnt
+  | ISAExtMmx
+  | ISAExtMonitor
+  | ISAExtMonitorx
+  | ISAExtMovbe
+  | ISAExtMovdir
+  | ISAExtMpx
+  | ISAExtPadlock
+  | ISAExtPause
+  | ISAExtPclmulqdq
+  | ISAExtPconfig
+  | ISAExtPku
+  | ISAExtPrefetchwt1
+  | ISAExtPt
+  | ISAExtRdpid
+  | ISAExtRdpru
+  | ISAExtRdrand
+  | ISAExtRdseed
+  | ISAExtRdtscp
+  | ISAExtRdwrfsgs
+  | ISAExtRtm
+  | ISAExtSgx
+  | ISAExtSgxEnclv
+  | ISAExtSha
+  | ISAExtSmap
+  | ISAExtSmx
+  | ISAExtSse
+  | ISAExtSse2
+  | ISAExtSse3
+  | ISAExtSse4
+  | ISAExtSse4A
+  | ISAExtSsse3
+  | ISAExtSvm
+  | ISAExtTbm
+  | ISAExtVaes
+  | ISAExtVmfunc
+  | ISAExtVpclmulqdq
+  | ISAExtVtx
+  | ISAExtWaitpkg
+  | ISAExtX87
+  | ISAExtXop
+  | ISAExtXsave
+  | ISAExtXsavec
+  | ISAExtXsaveopt
+  | ISAExtXsaves
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt ISAExt
diff --git a/src/Zydis/ISASet.hs b/src/Zydis/ISASet.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/ISASet.hs
@@ -0,0 +1,194 @@
+-- ISASet.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.ISASet
+  ( ISASet(..)
+  )
+where
+
+import           Zydis.Util
+
+data ISASet
+  = ISASetInvalid
+  | ISASetAdoxAdcx
+  | ISASetAes
+  | ISASetAmd
+  | ISASetAmd3Dnow
+  | ISASetAvx
+  | ISASetAvx2
+  | ISASetAvx2Gather
+  | ISASetAvx512Bw128
+  | ISASetAvx512Bw128N
+  | ISASetAvx512Bw256
+  | ISASetAvx512Bw512
+  | ISASetAvx512BwKop
+  | ISASetAvx512Cd128
+  | ISASetAvx512Cd256
+  | ISASetAvx512Cd512
+  | ISASetAvx512Dq128
+  | ISASetAvx512Dq128N
+  | ISASetAvx512Dq256
+  | ISASetAvx512Dq512
+  | ISASetAvx512DqKop
+  | ISASetAvx512DqScalar
+  | ISASetAvx512Er512
+  | ISASetAvx512ErScalar
+  | ISASetAvx512F128
+  | ISASetAvx512F128N
+  | ISASetAvx512F256
+  | ISASetAvx512F512
+  | ISASetAvx512FKop
+  | ISASetAvx512FScalar
+  | ISASetAvx512Pf512
+  | ISASetAvx5124Fmaps512
+  | ISASetAvx5124FmapsScalar
+  | ISASetAvx5124Vnniw512
+  | ISASetAvx512Bf16128
+  | ISASetAvx512Bf16256
+  | ISASetAvx512Bf16512
+  | ISASetAvx512Bitalg128
+  | ISASetAvx512Bitalg256
+  | ISASetAvx512Bitalg512
+  | ISASetAvx512Gfni128
+  | ISASetAvx512Gfni256
+  | ISASetAvx512Gfni512
+  | ISASetAvx512Ifma128
+  | ISASetAvx512Ifma256
+  | ISASetAvx512Ifma512
+  | ISASetAvx512Vaes128
+  | ISASetAvx512Vaes256
+  | ISASetAvx512Vaes512
+  | ISASetAvx512Vbmi2128
+  | ISASetAvx512Vbmi2256
+  | ISASetAvx512Vbmi2512
+  | ISASetAvx512Vbmi128
+  | ISASetAvx512Vbmi256
+  | ISASetAvx512Vbmi512
+  | ISASetAvx512Vnni128
+  | ISASetAvx512Vnni256
+  | ISASetAvx512Vnni512
+  | ISASetAvx512Vp2Intersect128
+  | ISASetAvx512Vp2Intersect256
+  | ISASetAvx512Vp2Intersect512
+  | ISASetAvx512Vpclmulqdq128
+  | ISASetAvx512Vpclmulqdq256
+  | ISASetAvx512Vpclmulqdq512
+  | ISASetAvx512Vpopcntdq128
+  | ISASetAvx512Vpopcntdq256
+  | ISASetAvx512Vpopcntdq512
+  | ISASetAvxaes
+  | ISASetAvxGfni
+  | ISASetBmi1
+  | ISASetBmi2
+  | ISASetCet
+  | ISASetCldemote
+  | ISASetClflushopt
+  | ISASetClfsh
+  | ISASetClwb
+  | ISASetClzero
+  | ISASetCmov
+  | ISASetCmpxchg16B
+  | ISASetEnqcmd
+  | ISASetF16C
+  | ISASetFatNop
+  | ISASetFcmov
+  | ISASetFma
+  | ISASetFma4
+  | ISASetFxsave
+  | ISASetFxsave64
+  | ISASetGfni
+  | ISASetI186
+  | ISASetI286Protected
+  | ISASetI286Real
+  | ISASetI386
+  | ISASetI486
+  | ISASetI486Real
+  | ISASetI86
+  | ISASetInvpcid
+  | ISASetKnce
+  | ISASetKncjkbr
+  | ISASetKncstream
+  | ISASetKncv
+  | ISASetKncMisc
+  | ISASetKncPfHint
+  | ISASetLahf
+  | ISASetLongmode
+  | ISASetLzcnt
+  | ISASetMonitor
+  | ISASetMonitorx
+  | ISASetMovbe
+  | ISASetMovdir
+  | ISASetMpx
+  | ISASetPadlockAce
+  | ISASetPadlockPhe
+  | ISASetPadlockPmm
+  | ISASetPadlockRng
+  | ISASetPause
+  | ISASetPclmulqdq
+  | ISASetPconfig
+  | ISASetPentiummmx
+  | ISASetPentiumreal
+  | ISASetPku
+  | ISASetPopcnt
+  | ISASetPpro
+  | ISASetPrefetchwt1
+  | ISASetPrefetchNop
+  | ISASetPt
+  | ISASetRdpid
+  | ISASetRdpmc
+  | ISASetRdpru
+  | ISASetRdrand
+  | ISASetRdseed
+  | ISASetRdtscp
+  | ISASetRdwrfsgs
+  | ISASetRtm
+  | ISASetSgx
+  | ISASetSgxEnclv
+  | ISASetSha
+  | ISASetSmap
+  | ISASetSmx
+  | ISASetSse
+  | ISASetSse2
+  | ISASetSse2Mmx
+  | ISASetSse3
+  | ISASetSse3X87
+  | ISASetSse4
+  | ISASetSse42
+  | ISASetSse4A
+  | ISASetSsemxcsr
+  | ISASetSsePrefetch
+  | ISASetSsse3
+  | ISASetSsse3Mmx
+  | ISASetSvm
+  | ISASetTbm
+  | ISASetVaes
+  | ISASetVmfunc
+  | ISASetVpclmulqdq
+  | ISASetVtx
+  | ISASetWaitpkg
+  | ISASetX87
+  | ISASetXop
+  | ISASetXsave
+  | ISASetXsavec
+  | ISASetXsaveopt
+  | ISASetXsaves
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt ISASet
diff --git a/src/Zydis/InstructionCategory.hs b/src/Zydis/InstructionCategory.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/InstructionCategory.hs
@@ -0,0 +1,130 @@
+-- InstructionCategory.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.InstructionCategory
+  ( InstructionCategory(..)
+  )
+where
+
+import           Zydis.Util
+
+data InstructionCategory
+  = InstructionCategoryInvalid
+  | InstructionCategoryAdoxAdcx
+  | InstructionCategoryAes
+  | InstructionCategoryAmd3Dnow
+  | InstructionCategoryAvx
+  | InstructionCategoryAvx2
+  | InstructionCategoryAvx2Gather
+  | InstructionCategoryAvx512
+  | InstructionCategoryAvx5124Fmaps
+  | InstructionCategoryAvx5124Vnniw
+  | InstructionCategoryAvx512Bitalg
+  | InstructionCategoryAvx512Vbmi
+  | InstructionCategoryAvx512Vp2Intersect
+  | InstructionCategoryBinary
+  | InstructionCategoryBitbyte
+  | InstructionCategoryBlend
+  | InstructionCategoryBmi1
+  | InstructionCategoryBmi2
+  | InstructionCategoryBroadcast
+  | InstructionCategoryCall
+  | InstructionCategoryCet
+  | InstructionCategoryCldemote
+  | InstructionCategoryClflushopt
+  | InstructionCategoryClwb
+  | InstructionCategoryClzero
+  | InstructionCategoryCmov
+  | InstructionCategoryCompress
+  | InstructionCategoryCondBr
+  | InstructionCategoryConflict
+  | InstructionCategoryConvert
+  | InstructionCategoryDataxfer
+  | InstructionCategoryDecimal
+  | InstructionCategoryEnqcmd
+  | InstructionCategoryExpand
+  | InstructionCategoryFcmov
+  | InstructionCategoryFlagop
+  | InstructionCategoryFma4
+  | InstructionCategoryGather
+  | InstructionCategoryGfni
+  | InstructionCategoryIfma
+  | InstructionCategoryInterrupt
+  | InstructionCategoryIo
+  | InstructionCategoryIostringop
+  | InstructionCategoryKmask
+  | InstructionCategoryKnc
+  | InstructionCategoryKncmask
+  | InstructionCategoryKncscalar
+  | InstructionCategoryLogical
+  | InstructionCategoryLogicalFp
+  | InstructionCategoryLzcnt
+  | InstructionCategoryMisc
+  | InstructionCategoryMmx
+  | InstructionCategoryMovdir
+  | InstructionCategoryMpx
+  | InstructionCategoryNop
+  | InstructionCategoryPadlock
+  | InstructionCategoryPclmulqdq
+  | InstructionCategoryPconfig
+  | InstructionCategoryPku
+  | InstructionCategoryPop
+  | InstructionCategoryPrefetch
+  | InstructionCategoryPrefetchwt1
+  | InstructionCategoryPt
+  | InstructionCategoryPush
+  | InstructionCategoryRdpid
+  | InstructionCategoryRdpru
+  | InstructionCategoryRdrand
+  | InstructionCategoryRdseed
+  | InstructionCategoryRdwrfsgs
+  | InstructionCategoryRet
+  | InstructionCategoryRotate
+  | InstructionCategoryScatter
+  | InstructionCategorySegop
+  | InstructionCategorySemaphore
+  | InstructionCategorySetcc
+  | InstructionCategorySgx
+  | InstructionCategorySha
+  | InstructionCategoryShift
+  | InstructionCategorySmap
+  | InstructionCategorySse
+  | InstructionCategoryStringop
+  | InstructionCategorySttni
+  | InstructionCategorySyscall
+  | InstructionCategorySysret
+  | InstructionCategorySystem
+  | InstructionCategoryTbm
+  | InstructionCategoryUfma
+  | InstructionCategoryUncondBr
+  | InstructionCategoryVaes
+  | InstructionCategoryVbmi2
+  | InstructionCategoryVfma
+  | InstructionCategoryVpclmulqdq
+  | InstructionCategoryVtx
+  | InstructionCategoryWaitpkg
+  | InstructionCategoryWidenop
+  | InstructionCategoryX87Alu
+  | InstructionCategoryXop
+  | InstructionCategoryXsave
+  | InstructionCategoryXsaveopt
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt InstructionCategory
diff --git a/src/Zydis/InstructionEncoding.hs b/src/Zydis/InstructionEncoding.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/InstructionEncoding.hs
@@ -0,0 +1,37 @@
+-- InstructionEncoding.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.InstructionEncoding
+  ( InstructionEncoding
+  )
+where
+
+import           Zydis.Util
+
+data InstructionEncoding
+  = InstructionEncodingLegacy
+  | InstructionEncoding3Dnow
+  | InstructionEncodingXop
+  | InstructionEncodingVex
+  | InstructionEncodingEvex
+  | InstructionEncodingMvex
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt InstructionEncoding
diff --git a/src/Zydis/MachineMode.hs b/src/Zydis/MachineMode.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/MachineMode.hs
@@ -0,0 +1,37 @@
+-- MachineMode.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia              #-}
+
+module Zydis.MachineMode
+  ( MachineMode(..)
+  )
+where
+
+import           Zydis.Util
+
+data MachineMode
+  = MachineModeLong64
+  | MachineModeLongCompat32
+  | MachineModeLongCompat16
+  | MachineModeLegacy32
+  | MachineModeLegacy16
+  | MachineModeReal16
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt MachineMode
diff --git a/src/Zydis/MaskMode.hs b/src/Zydis/MaskMode.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/MaskMode.hs
@@ -0,0 +1,37 @@
+-- MaskMode.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.MaskMode
+  ( MaskMode(..)
+  )
+where
+
+import           Zydis.Util
+
+data MaskMode
+  = MaskModeInvalid
+  | MaskModeDisabled
+  | MaskModeMerging
+  | MaskModeZeroing
+  | MaskModeControl
+  | MaskModeControlZeroing
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt MaskMode
diff --git a/src/Zydis/Mnemonic.hs b/src/Zydis/Mnemonic.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/Mnemonic.hs
@@ -0,0 +1,1637 @@
+-- Mnemonic.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.Mnemonic
+  ( Mnemonic(..)
+  )
+where
+
+import           Zydis.Util
+
+data Mnemonic
+  = MnemonicInvalid
+  | MnemonicAaa
+  | MnemonicAad
+  | MnemonicAam
+  | MnemonicAas
+  | MnemonicAdc
+  | MnemonicAdcx
+  | MnemonicAdd
+  | MnemonicAddpd
+  | MnemonicAddps
+  | MnemonicAddsd
+  | MnemonicAddss
+  | MnemonicAddsubpd
+  | MnemonicAddsubps
+  | MnemonicAdox
+  | MnemonicAesdec
+  | MnemonicAesdeclast
+  | MnemonicAesenc
+  | MnemonicAesenclast
+  | MnemonicAesimc
+  | MnemonicAeskeygenassist
+  | MnemonicAnd
+  | MnemonicAndn
+  | MnemonicAndnpd
+  | MnemonicAndnps
+  | MnemonicAndpd
+  | MnemonicAndps
+  | MnemonicArpl
+  | MnemonicBextr
+  | MnemonicBlcfill
+  | MnemonicBlci
+  | MnemonicBlcic
+  | MnemonicBlcmsk
+  | MnemonicBlcs
+  | MnemonicBlendpd
+  | MnemonicBlendps
+  | MnemonicBlendvpd
+  | MnemonicBlendvps
+  | MnemonicBlsfill
+  | MnemonicBlsi
+  | MnemonicBlsic
+  | MnemonicBlsmsk
+  | MnemonicBlsr
+  | MnemonicBndcl
+  | MnemonicBndcn
+  | MnemonicBndcu
+  | MnemonicBndldx
+  | MnemonicBndmk
+  | MnemonicBndmov
+  | MnemonicBndstx
+  | MnemonicBound
+  | MnemonicBsf
+  | MnemonicBsr
+  | MnemonicBswap
+  | MnemonicBt
+  | MnemonicBtc
+  | MnemonicBtr
+  | MnemonicBts
+  | MnemonicBzhi
+  | MnemonicCall
+  | MnemonicCbw
+  | MnemonicCdq
+  | MnemonicCdqe
+  | MnemonicClac
+  | MnemonicClc
+  | MnemonicCld
+  | MnemonicCldemote
+  | MnemonicClevict0
+  | MnemonicClevict1
+  | MnemonicClflush
+  | MnemonicClflushopt
+  | MnemonicClgi
+  | MnemonicCli
+  | MnemonicClrssbsy
+  | MnemonicClts
+  | MnemonicClwb
+  | MnemonicClzero
+  | MnemonicCmc
+  | MnemonicCmovb
+  | MnemonicCmovbe
+  | MnemonicCmovl
+  | MnemonicCmovle
+  | MnemonicCmovnb
+  | MnemonicCmovnbe
+  | MnemonicCmovnl
+  | MnemonicCmovnle
+  | MnemonicCmovno
+  | MnemonicCmovnp
+  | MnemonicCmovns
+  | MnemonicCmovnz
+  | MnemonicCmovo
+  | MnemonicCmovp
+  | MnemonicCmovs
+  | MnemonicCmovz
+  | MnemonicCmp
+  | MnemonicCmppd
+  | MnemonicCmpps
+  | MnemonicCmpsb
+  | MnemonicCmpsd
+  | MnemonicCmpsq
+  | MnemonicCmpss
+  | MnemonicCmpsw
+  | MnemonicCmpxchg
+  | MnemonicCmpxchg16B
+  | MnemonicCmpxchg8B
+  | MnemonicComisd
+  | MnemonicComiss
+  | MnemonicCpuid
+  | MnemonicCqo
+  | MnemonicCrc32
+  | MnemonicCvtdq2Pd
+  | MnemonicCvtdq2Ps
+  | MnemonicCvtpd2Dq
+  | MnemonicCvtpd2Pi
+  | MnemonicCvtpd2Ps
+  | MnemonicCvtpi2Pd
+  | MnemonicCvtpi2Ps
+  | MnemonicCvtps2Dq
+  | MnemonicCvtps2Pd
+  | MnemonicCvtps2Pi
+  | MnemonicCvtsd2Si
+  | MnemonicCvtsd2Ss
+  | MnemonicCvtsi2Sd
+  | MnemonicCvtsi2Ss
+  | MnemonicCvtss2Sd
+  | MnemonicCvtss2Si
+  | MnemonicCvttpd2Dq
+  | MnemonicCvttpd2Pi
+  | MnemonicCvttps2Dq
+  | MnemonicCvttps2Pi
+  | MnemonicCvttsd2Si
+  | MnemonicCvttss2Si
+  | MnemonicCwd
+  | MnemonicCwde
+  | MnemonicDaa
+  | MnemonicDas
+  | MnemonicDec
+  | MnemonicDelay
+  | MnemonicDiv
+  | MnemonicDivpd
+  | MnemonicDivps
+  | MnemonicDivsd
+  | MnemonicDivss
+  | MnemonicDppd
+  | MnemonicDpps
+  | MnemonicEmms
+  | MnemonicEncls
+  | MnemonicEnclu
+  | MnemonicEnclv
+  | MnemonicEndbr32
+  | MnemonicEndbr64
+  | MnemonicEnqcmd
+  | MnemonicEnqcmds
+  | MnemonicEnter
+  | MnemonicExtractps
+  | MnemonicExtrq
+  | MnemonicF2Xm1
+  | MnemonicFabs
+  | MnemonicFadd
+  | MnemonicFaddp
+  | MnemonicFbld
+  | MnemonicFbstp
+  | MnemonicFchs
+  | MnemonicFcmovb
+  | MnemonicFcmovbe
+  | MnemonicFcmove
+  | MnemonicFcmovnb
+  | MnemonicFcmovnbe
+  | MnemonicFcmovne
+  | MnemonicFcmovnu
+  | MnemonicFcmovu
+  | MnemonicFcom
+  | MnemonicFcomi
+  | MnemonicFcomip
+  | MnemonicFcomp
+  | MnemonicFcompp
+  | MnemonicFcos
+  | MnemonicFdecstp
+  | MnemonicFdisi8087Nop
+  | MnemonicFdiv
+  | MnemonicFdivp
+  | MnemonicFdivr
+  | MnemonicFdivrp
+  | MnemonicFemms
+  | MnemonicFeni8087Nop
+  | MnemonicFfree
+  | MnemonicFfreep
+  | MnemonicFiadd
+  | MnemonicFicom
+  | MnemonicFicomp
+  | MnemonicFidiv
+  | MnemonicFidivr
+  | MnemonicFild
+  | MnemonicFimul
+  | MnemonicFincstp
+  | MnemonicFist
+  | MnemonicFistp
+  | MnemonicFisttp
+  | MnemonicFisub
+  | MnemonicFisubr
+  | MnemonicFld
+  | MnemonicFld1
+  | MnemonicFldcw
+  | MnemonicFldenv
+  | MnemonicFldl2E
+  | MnemonicFldl2T
+  | MnemonicFldlg2
+  | MnemonicFldln2
+  | MnemonicFldpi
+  | MnemonicFldz
+  | MnemonicFmul
+  | MnemonicFmulp
+  | MnemonicFnclex
+  | MnemonicFninit
+  | MnemonicFnop
+  | MnemonicFnsave
+  | MnemonicFnstcw
+  | MnemonicFnstenv
+  | MnemonicFnstsw
+  | MnemonicFpatan
+  | MnemonicFprem
+  | MnemonicFprem1
+  | MnemonicFptan
+  | MnemonicFrndint
+  | MnemonicFrstor
+  | MnemonicFscale
+  | MnemonicFsetpm287Nop
+  | MnemonicFsin
+  | MnemonicFsincos
+  | MnemonicFsqrt
+  | MnemonicFst
+  | MnemonicFstp
+  | MnemonicFstpnce
+  | MnemonicFsub
+  | MnemonicFsubp
+  | MnemonicFsubr
+  | MnemonicFsubrp
+  | MnemonicFtst
+  | MnemonicFucom
+  | MnemonicFucomi
+  | MnemonicFucomip
+  | MnemonicFucomp
+  | MnemonicFucompp
+  | MnemonicFwait
+  | MnemonicFxam
+  | MnemonicFxch
+  | MnemonicFxrstor
+  | MnemonicFxrstor64
+  | MnemonicFxsave
+  | MnemonicFxsave64
+  | MnemonicFxtract
+  | MnemonicFyl2X
+  | MnemonicFyl2Xp1
+  | MnemonicGetsec
+  | MnemonicGf2P8Affineinvqb
+  | MnemonicGf2P8Affineqb
+  | MnemonicGf2P8Mulb
+  | MnemonicHaddpd
+  | MnemonicHaddps
+  | MnemonicHlt
+  | MnemonicHsubpd
+  | MnemonicHsubps
+  | MnemonicIdiv
+  | MnemonicImul
+  | MnemonicIn
+  | MnemonicInc
+  | MnemonicIncsspd
+  | MnemonicIncsspq
+  | MnemonicInsb
+  | MnemonicInsd
+  | MnemonicInsertps
+  | MnemonicInsertq
+  | MnemonicInsw
+  | MnemonicInt
+  | MnemonicInt1
+  | MnemonicInt3
+  | MnemonicInto
+  | MnemonicInvd
+  | MnemonicInvept
+  | MnemonicInvlpg
+  | MnemonicInvlpga
+  | MnemonicInvpcid
+  | MnemonicInvvpid
+  | MnemonicIret
+  | MnemonicIretd
+  | MnemonicIretq
+  | MnemonicJb
+  | MnemonicJbe
+  | MnemonicJcxz
+  | MnemonicJecxz
+  | MnemonicJknzd
+  | MnemonicJkzd
+  | MnemonicJl
+  | MnemonicJle
+  | MnemonicJmp
+  | MnemonicJnb
+  | MnemonicJnbe
+  | MnemonicJnl
+  | MnemonicJnle
+  | MnemonicJno
+  | MnemonicJnp
+  | MnemonicJns
+  | MnemonicJnz
+  | MnemonicJo
+  | MnemonicJp
+  | MnemonicJrcxz
+  | MnemonicJs
+  | MnemonicJz
+  | MnemonicKaddb
+  | MnemonicKaddd
+  | MnemonicKaddq
+  | MnemonicKaddw
+  | MnemonicKand
+  | MnemonicKandb
+  | MnemonicKandd
+  | MnemonicKandn
+  | MnemonicKandnb
+  | MnemonicKandnd
+  | MnemonicKandnq
+  | MnemonicKandnr
+  | MnemonicKandnw
+  | MnemonicKandq
+  | MnemonicKandw
+  | MnemonicKconcath
+  | MnemonicKconcatl
+  | MnemonicKextract
+  | MnemonicKmerge2L1H
+  | MnemonicKmerge2L1L
+  | MnemonicKmov
+  | MnemonicKmovb
+  | MnemonicKmovd
+  | MnemonicKmovq
+  | MnemonicKmovw
+  | MnemonicKnot
+  | MnemonicKnotb
+  | MnemonicKnotd
+  | MnemonicKnotq
+  | MnemonicKnotw
+  | MnemonicKor
+  | MnemonicKorb
+  | MnemonicKord
+  | MnemonicKorq
+  | MnemonicKortest
+  | MnemonicKortestb
+  | MnemonicKortestd
+  | MnemonicKortestq
+  | MnemonicKortestw
+  | MnemonicKorw
+  | MnemonicKshiftlb
+  | MnemonicKshiftld
+  | MnemonicKshiftlq
+  | MnemonicKshiftlw
+  | MnemonicKshiftrb
+  | MnemonicKshiftrd
+  | MnemonicKshiftrq
+  | MnemonicKshiftrw
+  | MnemonicKtestb
+  | MnemonicKtestd
+  | MnemonicKtestq
+  | MnemonicKtestw
+  | MnemonicKunpckbw
+  | MnemonicKunpckdq
+  | MnemonicKunpckwd
+  | MnemonicKxnor
+  | MnemonicKxnorb
+  | MnemonicKxnord
+  | MnemonicKxnorq
+  | MnemonicKxnorw
+  | MnemonicKxor
+  | MnemonicKxorb
+  | MnemonicKxord
+  | MnemonicKxorq
+  | MnemonicKxorw
+  | MnemonicLahf
+  | MnemonicLar
+  | MnemonicLddqu
+  | MnemonicLdmxcsr
+  | MnemonicLds
+  | MnemonicLea
+  | MnemonicLeave
+  | MnemonicLes
+  | MnemonicLfence
+  | MnemonicLfs
+  | MnemonicLgdt
+  | MnemonicLgs
+  | MnemonicLidt
+  | MnemonicLldt
+  | MnemonicLlwpcb
+  | MnemonicLmsw
+  | MnemonicLodsb
+  | MnemonicLodsd
+  | MnemonicLodsq
+  | MnemonicLodsw
+  | MnemonicLoop
+  | MnemonicLoope
+  | MnemonicLoopne
+  | MnemonicLsl
+  | MnemonicLss
+  | MnemonicLtr
+  | MnemonicLwpins
+  | MnemonicLwpval
+  | MnemonicLzcnt
+  | MnemonicMaskmovdqu
+  | MnemonicMaskmovq
+  | MnemonicMaxpd
+  | MnemonicMaxps
+  | MnemonicMaxsd
+  | MnemonicMaxss
+  | MnemonicMfence
+  | MnemonicMinpd
+  | MnemonicMinps
+  | MnemonicMinsd
+  | MnemonicMinss
+  | MnemonicMonitor
+  | MnemonicMonitorx
+  | MnemonicMontmul
+  | MnemonicMov
+  | MnemonicMovapd
+  | MnemonicMovaps
+  | MnemonicMovbe
+  | MnemonicMovd
+  | MnemonicMovddup
+  | MnemonicMovdir64B
+  | MnemonicMovdiri
+  | MnemonicMovdq2Q
+  | MnemonicMovdqa
+  | MnemonicMovdqu
+  | MnemonicMovhlps
+  | MnemonicMovhpd
+  | MnemonicMovhps
+  | MnemonicMovlhps
+  | MnemonicMovlpd
+  | MnemonicMovlps
+  | MnemonicMovmskpd
+  | MnemonicMovmskps
+  | MnemonicMovntdq
+  | MnemonicMovntdqa
+  | MnemonicMovnti
+  | MnemonicMovntpd
+  | MnemonicMovntps
+  | MnemonicMovntq
+  | MnemonicMovntsd
+  | MnemonicMovntss
+  | MnemonicMovq
+  | MnemonicMovq2Dq
+  | MnemonicMovsb
+  | MnemonicMovsd
+  | MnemonicMovshdup
+  | MnemonicMovsldup
+  | MnemonicMovsq
+  | MnemonicMovss
+  | MnemonicMovsw
+  | MnemonicMovsx
+  | MnemonicMovsxd
+  | MnemonicMovupd
+  | MnemonicMovups
+  | MnemonicMovzx
+  | MnemonicMpsadbw
+  | MnemonicMul
+  | MnemonicMulpd
+  | MnemonicMulps
+  | MnemonicMulsd
+  | MnemonicMulss
+  | MnemonicMulx
+  | MnemonicMwait
+  | MnemonicMwaitx
+  | MnemonicNeg
+  | MnemonicNop
+  | MnemonicNot
+  | MnemonicOr
+  | MnemonicOrpd
+  | MnemonicOrps
+  | MnemonicOut
+  | MnemonicOutsb
+  | MnemonicOutsd
+  | MnemonicOutsw
+  | MnemonicPabsb
+  | MnemonicPabsd
+  | MnemonicPabsw
+  | MnemonicPackssdw
+  | MnemonicPacksswb
+  | MnemonicPackusdw
+  | MnemonicPackuswb
+  | MnemonicPaddb
+  | MnemonicPaddd
+  | MnemonicPaddq
+  | MnemonicPaddsb
+  | MnemonicPaddsw
+  | MnemonicPaddusb
+  | MnemonicPaddusw
+  | MnemonicPaddw
+  | MnemonicPalignr
+  | MnemonicPand
+  | MnemonicPandn
+  | MnemonicPause
+  | MnemonicPavgb
+  | MnemonicPavgusb
+  | MnemonicPavgw
+  | MnemonicPblendvb
+  | MnemonicPblendw
+  | MnemonicPclmulqdq
+  | MnemonicPcmpeqb
+  | MnemonicPcmpeqd
+  | MnemonicPcmpeqq
+  | MnemonicPcmpeqw
+  | MnemonicPcmpestri
+  | MnemonicPcmpestrm
+  | MnemonicPcmpgtb
+  | MnemonicPcmpgtd
+  | MnemonicPcmpgtq
+  | MnemonicPcmpgtw
+  | MnemonicPcmpistri
+  | MnemonicPcmpistrm
+  | MnemonicPconfig
+  | MnemonicPdep
+  | MnemonicPext
+  | MnemonicPextrb
+  | MnemonicPextrd
+  | MnemonicPextrq
+  | MnemonicPextrw
+  | MnemonicPf2Id
+  | MnemonicPf2Iw
+  | MnemonicPfacc
+  | MnemonicPfadd
+  | MnemonicPfcmpeq
+  | MnemonicPfcmpge
+  | MnemonicPfcmpgt
+  | MnemonicPfcpit1
+  | MnemonicPfmax
+  | MnemonicPfmin
+  | MnemonicPfmul
+  | MnemonicPfnacc
+  | MnemonicPfpnacc
+  | MnemonicPfrcp
+  | MnemonicPfrcpit2
+  | MnemonicPfrsqit1
+  | MnemonicPfsqrt
+  | MnemonicPfsub
+  | MnemonicPfsubr
+  | MnemonicPhaddd
+  | MnemonicPhaddsw
+  | MnemonicPhaddw
+  | MnemonicPhminposuw
+  | MnemonicPhsubd
+  | MnemonicPhsubsw
+  | MnemonicPhsubw
+  | MnemonicPi2Fd
+  | MnemonicPi2Fw
+  | MnemonicPinsrb
+  | MnemonicPinsrd
+  | MnemonicPinsrq
+  | MnemonicPinsrw
+  | MnemonicPmaddubsw
+  | MnemonicPmaddwd
+  | MnemonicPmaxsb
+  | MnemonicPmaxsd
+  | MnemonicPmaxsw
+  | MnemonicPmaxub
+  | MnemonicPmaxud
+  | MnemonicPmaxuw
+  | MnemonicPminsb
+  | MnemonicPminsd
+  | MnemonicPminsw
+  | MnemonicPminub
+  | MnemonicPminud
+  | MnemonicPminuw
+  | MnemonicPmovmskb
+  | MnemonicPmovsxbd
+  | MnemonicPmovsxbq
+  | MnemonicPmovsxbw
+  | MnemonicPmovsxdq
+  | MnemonicPmovsxwd
+  | MnemonicPmovsxwq
+  | MnemonicPmovzxbd
+  | MnemonicPmovzxbq
+  | MnemonicPmovzxbw
+  | MnemonicPmovzxdq
+  | MnemonicPmovzxwd
+  | MnemonicPmovzxwq
+  | MnemonicPmuldq
+  | MnemonicPmulhrsw
+  | MnemonicPmulhrw
+  | MnemonicPmulhuw
+  | MnemonicPmulhw
+  | MnemonicPmulld
+  | MnemonicPmullw
+  | MnemonicPmuludq
+  | MnemonicPop
+  | MnemonicPopa
+  | MnemonicPopad
+  | MnemonicPopcnt
+  | MnemonicPopf
+  | MnemonicPopfd
+  | MnemonicPopfq
+  | MnemonicPor
+  | MnemonicPrefetch
+  | MnemonicPrefetchnta
+  | MnemonicPrefetcht0
+  | MnemonicPrefetcht1
+  | MnemonicPrefetcht2
+  | MnemonicPrefetchw
+  | MnemonicPrefetchwt1
+  | MnemonicPsadbw
+  | MnemonicPshufb
+  | MnemonicPshufd
+  | MnemonicPshufhw
+  | MnemonicPshuflw
+  | MnemonicPshufw
+  | MnemonicPsignb
+  | MnemonicPsignd
+  | MnemonicPsignw
+  | MnemonicPslld
+  | MnemonicPslldq
+  | MnemonicPsllq
+  | MnemonicPsllw
+  | MnemonicPsrad
+  | MnemonicPsraw
+  | MnemonicPsrld
+  | MnemonicPsrldq
+  | MnemonicPsrlq
+  | MnemonicPsrlw
+  | MnemonicPsubb
+  | MnemonicPsubd
+  | MnemonicPsubq
+  | MnemonicPsubsb
+  | MnemonicPsubsw
+  | MnemonicPsubusb
+  | MnemonicPsubusw
+  | MnemonicPsubw
+  | MnemonicPswapd
+  | MnemonicPtest
+  | MnemonicPtwrite
+  | MnemonicPunpckhbw
+  | MnemonicPunpckhdq
+  | MnemonicPunpckhqdq
+  | MnemonicPunpckhwd
+  | MnemonicPunpcklbw
+  | MnemonicPunpckldq
+  | MnemonicPunpcklqdq
+  | MnemonicPunpcklwd
+  | MnemonicPush
+  | MnemonicPusha
+  | MnemonicPushad
+  | MnemonicPushf
+  | MnemonicPushfd
+  | MnemonicPushfq
+  | MnemonicPxor
+  | MnemonicRcl
+  | MnemonicRcpps
+  | MnemonicRcpss
+  | MnemonicRcr
+  | MnemonicRdfsbase
+  | MnemonicRdgsbase
+  | MnemonicRdmsr
+  | MnemonicRdpid
+  | MnemonicRdpkru
+  | MnemonicRdpmc
+  | MnemonicRdpru
+  | MnemonicRdrand
+  | MnemonicRdseed
+  | MnemonicRdsspd
+  | MnemonicRdsspq
+  | MnemonicRdtsc
+  | MnemonicRdtscp
+  | MnemonicRet
+  | MnemonicRol
+  | MnemonicRor
+  | MnemonicRorx
+  | MnemonicRoundpd
+  | MnemonicRoundps
+  | MnemonicRoundsd
+  | MnemonicRoundss
+  | MnemonicRsm
+  | MnemonicRsqrtps
+  | MnemonicRsqrtss
+  | MnemonicRstorssp
+  | MnemonicSahf
+  | MnemonicSalc
+  | MnemonicSar
+  | MnemonicSarx
+  | MnemonicSaveprevssp
+  | MnemonicSbb
+  | MnemonicScasb
+  | MnemonicScasd
+  | MnemonicScasq
+  | MnemonicScasw
+  | MnemonicSetb
+  | MnemonicSetbe
+  | MnemonicSetl
+  | MnemonicSetle
+  | MnemonicSetnb
+  | MnemonicSetnbe
+  | MnemonicSetnl
+  | MnemonicSetnle
+  | MnemonicSetno
+  | MnemonicSetnp
+  | MnemonicSetns
+  | MnemonicSetnz
+  | MnemonicSeto
+  | MnemonicSetp
+  | MnemonicSets
+  | MnemonicSetssbsy
+  | MnemonicSetz
+  | MnemonicSfence
+  | MnemonicSgdt
+  | MnemonicSha1Msg1
+  | MnemonicSha1Msg2
+  | MnemonicSha1Nexte
+  | MnemonicSha1Rnds4
+  | MnemonicSha256Msg1
+  | MnemonicSha256Msg2
+  | MnemonicSha256Rnds2
+  | MnemonicShl
+  | MnemonicShld
+  | MnemonicShlx
+  | MnemonicShr
+  | MnemonicShrd
+  | MnemonicShrx
+  | MnemonicShufpd
+  | MnemonicShufps
+  | MnemonicSidt
+  | MnemonicSkinit
+  | MnemonicSldt
+  | MnemonicSlwpcb
+  | MnemonicSmsw
+  | MnemonicSpflt
+  | MnemonicSqrtpd
+  | MnemonicSqrtps
+  | MnemonicSqrtsd
+  | MnemonicSqrtss
+  | MnemonicStac
+  | MnemonicStc
+  | MnemonicStd
+  | MnemonicStgi
+  | MnemonicSti
+  | MnemonicStmxcsr
+  | MnemonicStosb
+  | MnemonicStosd
+  | MnemonicStosq
+  | MnemonicStosw
+  | MnemonicStr
+  | MnemonicSub
+  | MnemonicSubpd
+  | MnemonicSubps
+  | MnemonicSubsd
+  | MnemonicSubss
+  | MnemonicSwapgs
+  | MnemonicSyscall
+  | MnemonicSysenter
+  | MnemonicSysexit
+  | MnemonicSysret
+  | MnemonicT1Mskc
+  | MnemonicTest
+  | MnemonicTpause
+  | MnemonicTzcnt
+  | MnemonicTzcnti
+  | MnemonicTzmsk
+  | MnemonicUcomisd
+  | MnemonicUcomiss
+  | MnemonicUd0
+  | MnemonicUd1
+  | MnemonicUd2
+  | MnemonicUmonitor
+  | MnemonicUmwait
+  | MnemonicUnpckhpd
+  | MnemonicUnpckhps
+  | MnemonicUnpcklpd
+  | MnemonicUnpcklps
+  | MnemonicV4Fmaddps
+  | MnemonicV4Fmaddss
+  | MnemonicV4Fnmaddps
+  | MnemonicV4Fnmaddss
+  | MnemonicVaddnpd
+  | MnemonicVaddnps
+  | MnemonicVaddpd
+  | MnemonicVaddps
+  | MnemonicVaddsd
+  | MnemonicVaddsetsps
+  | MnemonicVaddss
+  | MnemonicVaddsubpd
+  | MnemonicVaddsubps
+  | MnemonicVaesdec
+  | MnemonicVaesdeclast
+  | MnemonicVaesenc
+  | MnemonicVaesenclast
+  | MnemonicVaesimc
+  | MnemonicVaeskeygenassist
+  | MnemonicValignd
+  | MnemonicValignq
+  | MnemonicVandnpd
+  | MnemonicVandnps
+  | MnemonicVandpd
+  | MnemonicVandps
+  | MnemonicVblendmpd
+  | MnemonicVblendmps
+  | MnemonicVblendpd
+  | MnemonicVblendps
+  | MnemonicVblendvpd
+  | MnemonicVblendvps
+  | MnemonicVbroadcastf128
+  | MnemonicVbroadcastf32X2
+  | MnemonicVbroadcastf32X4
+  | MnemonicVbroadcastf32X8
+  | MnemonicVbroadcastf64X2
+  | MnemonicVbroadcastf64X4
+  | MnemonicVbroadcasti128
+  | MnemonicVbroadcasti32X2
+  | MnemonicVbroadcasti32X4
+  | MnemonicVbroadcasti32X8
+  | MnemonicVbroadcasti64X2
+  | MnemonicVbroadcasti64X4
+  | MnemonicVbroadcastsd
+  | MnemonicVbroadcastss
+  | MnemonicVcmppd
+  | MnemonicVcmpps
+  | MnemonicVcmpsd
+  | MnemonicVcmpss
+  | MnemonicVcomisd
+  | MnemonicVcomiss
+  | MnemonicVcompresspd
+  | MnemonicVcompressps
+  | MnemonicVcvtdq2Pd
+  | MnemonicVcvtdq2Ps
+  | MnemonicVcvtfxpntdq2Ps
+  | MnemonicVcvtfxpntpd2Dq
+  | MnemonicVcvtfxpntpd2Udq
+  | MnemonicVcvtfxpntps2Dq
+  | MnemonicVcvtfxpntps2Udq
+  | MnemonicVcvtfxpntudq2Ps
+  | MnemonicVcvtne2Ps2Bf16
+  | MnemonicVcvtneps2Bf16
+  | MnemonicVcvtpd2Dq
+  | MnemonicVcvtpd2Ps
+  | MnemonicVcvtpd2Qq
+  | MnemonicVcvtpd2Udq
+  | MnemonicVcvtpd2Uqq
+  | MnemonicVcvtph2Ps
+  | MnemonicVcvtps2Dq
+  | MnemonicVcvtps2Pd
+  | MnemonicVcvtps2Ph
+  | MnemonicVcvtps2Qq
+  | MnemonicVcvtps2Udq
+  | MnemonicVcvtps2Uqq
+  | MnemonicVcvtqq2Pd
+  | MnemonicVcvtqq2Ps
+  | MnemonicVcvtsd2Si
+  | MnemonicVcvtsd2Ss
+  | MnemonicVcvtsd2Usi
+  | MnemonicVcvtsi2Sd
+  | MnemonicVcvtsi2Ss
+  | MnemonicVcvtss2Sd
+  | MnemonicVcvtss2Si
+  | MnemonicVcvtss2Usi
+  | MnemonicVcvttpd2Dq
+  | MnemonicVcvttpd2Qq
+  | MnemonicVcvttpd2Udq
+  | MnemonicVcvttpd2Uqq
+  | MnemonicVcvttps2Dq
+  | MnemonicVcvttps2Qq
+  | MnemonicVcvttps2Udq
+  | MnemonicVcvttps2Uqq
+  | MnemonicVcvttsd2Si
+  | MnemonicVcvttsd2Usi
+  | MnemonicVcvttss2Si
+  | MnemonicVcvttss2Usi
+  | MnemonicVcvtudq2Pd
+  | MnemonicVcvtudq2Ps
+  | MnemonicVcvtuqq2Pd
+  | MnemonicVcvtuqq2Ps
+  | MnemonicVcvtusi2Sd
+  | MnemonicVcvtusi2Ss
+  | MnemonicVdbpsadbw
+  | MnemonicVdivpd
+  | MnemonicVdivps
+  | MnemonicVdivsd
+  | MnemonicVdivss
+  | MnemonicVdpbf16Ps
+  | MnemonicVdppd
+  | MnemonicVdpps
+  | MnemonicVerr
+  | MnemonicVerw
+  | MnemonicVexp223Ps
+  | MnemonicVexp2Pd
+  | MnemonicVexp2Ps
+  | MnemonicVexpandpd
+  | MnemonicVexpandps
+  | MnemonicVextractf128
+  | MnemonicVextractf32X4
+  | MnemonicVextractf32X8
+  | MnemonicVextractf64X2
+  | MnemonicVextractf64X4
+  | MnemonicVextracti128
+  | MnemonicVextracti32X4
+  | MnemonicVextracti32X8
+  | MnemonicVextracti64X2
+  | MnemonicVextracti64X4
+  | MnemonicVextractps
+  | MnemonicVfixupimmpd
+  | MnemonicVfixupimmps
+  | MnemonicVfixupimmsd
+  | MnemonicVfixupimmss
+  | MnemonicVfixupnanpd
+  | MnemonicVfixupnanps
+  | MnemonicVfmadd132Pd
+  | MnemonicVfmadd132Ps
+  | MnemonicVfmadd132Sd
+  | MnemonicVfmadd132Ss
+  | MnemonicVfmadd213Pd
+  | MnemonicVfmadd213Ps
+  | MnemonicVfmadd213Sd
+  | MnemonicVfmadd213Ss
+  | MnemonicVfmadd231Pd
+  | MnemonicVfmadd231Ps
+  | MnemonicVfmadd231Sd
+  | MnemonicVfmadd231Ss
+  | MnemonicVfmadd233Ps
+  | MnemonicVfmaddpd
+  | MnemonicVfmaddps
+  | MnemonicVfmaddsd
+  | MnemonicVfmaddss
+  | MnemonicVfmaddsub132Pd
+  | MnemonicVfmaddsub132Ps
+  | MnemonicVfmaddsub213Pd
+  | MnemonicVfmaddsub213Ps
+  | MnemonicVfmaddsub231Pd
+  | MnemonicVfmaddsub231Ps
+  | MnemonicVfmaddsubpd
+  | MnemonicVfmaddsubps
+  | MnemonicVfmsub132Pd
+  | MnemonicVfmsub132Ps
+  | MnemonicVfmsub132Sd
+  | MnemonicVfmsub132Ss
+  | MnemonicVfmsub213Pd
+  | MnemonicVfmsub213Ps
+  | MnemonicVfmsub213Sd
+  | MnemonicVfmsub213Ss
+  | MnemonicVfmsub231Pd
+  | MnemonicVfmsub231Ps
+  | MnemonicVfmsub231Sd
+  | MnemonicVfmsub231Ss
+  | MnemonicVfmsubadd132Pd
+  | MnemonicVfmsubadd132Ps
+  | MnemonicVfmsubadd213Pd
+  | MnemonicVfmsubadd213Ps
+  | MnemonicVfmsubadd231Pd
+  | MnemonicVfmsubadd231Ps
+  | MnemonicVfmsubaddpd
+  | MnemonicVfmsubaddps
+  | MnemonicVfmsubpd
+  | MnemonicVfmsubps
+  | MnemonicVfmsubsd
+  | MnemonicVfmsubss
+  | MnemonicVfnmadd132Pd
+  | MnemonicVfnmadd132Ps
+  | MnemonicVfnmadd132Sd
+  | MnemonicVfnmadd132Ss
+  | MnemonicVfnmadd213Pd
+  | MnemonicVfnmadd213Ps
+  | MnemonicVfnmadd213Sd
+  | MnemonicVfnmadd213Ss
+  | MnemonicVfnmadd231Pd
+  | MnemonicVfnmadd231Ps
+  | MnemonicVfnmadd231Sd
+  | MnemonicVfnmadd231Ss
+  | MnemonicVfnmaddpd
+  | MnemonicVfnmaddps
+  | MnemonicVfnmaddsd
+  | MnemonicVfnmaddss
+  | MnemonicVfnmsub132Pd
+  | MnemonicVfnmsub132Ps
+  | MnemonicVfnmsub132Sd
+  | MnemonicVfnmsub132Ss
+  | MnemonicVfnmsub213Pd
+  | MnemonicVfnmsub213Ps
+  | MnemonicVfnmsub213Sd
+  | MnemonicVfnmsub213Ss
+  | MnemonicVfnmsub231Pd
+  | MnemonicVfnmsub231Ps
+  | MnemonicVfnmsub231Sd
+  | MnemonicVfnmsub231Ss
+  | MnemonicVfnmsubpd
+  | MnemonicVfnmsubps
+  | MnemonicVfnmsubsd
+  | MnemonicVfnmsubss
+  | MnemonicVfpclasspd
+  | MnemonicVfpclassps
+  | MnemonicVfpclasssd
+  | MnemonicVfpclassss
+  | MnemonicVfrczpd
+  | MnemonicVfrczps
+  | MnemonicVfrczsd
+  | MnemonicVfrczss
+  | MnemonicVgatherdpd
+  | MnemonicVgatherdps
+  | MnemonicVgatherpf0Dpd
+  | MnemonicVgatherpf0Dps
+  | MnemonicVgatherpf0Hintdpd
+  | MnemonicVgatherpf0Hintdps
+  | MnemonicVgatherpf0Qpd
+  | MnemonicVgatherpf0Qps
+  | MnemonicVgatherpf1Dpd
+  | MnemonicVgatherpf1Dps
+  | MnemonicVgatherpf1Qpd
+  | MnemonicVgatherpf1Qps
+  | MnemonicVgatherqpd
+  | MnemonicVgatherqps
+  | MnemonicVgetexppd
+  | MnemonicVgetexpps
+  | MnemonicVgetexpsd
+  | MnemonicVgetexpss
+  | MnemonicVgetmantpd
+  | MnemonicVgetmantps
+  | MnemonicVgetmantsd
+  | MnemonicVgetmantss
+  | MnemonicVgf2P8Affineinvqb
+  | MnemonicVgf2P8Affineqb
+  | MnemonicVgf2P8Mulb
+  | MnemonicVgmaxabsps
+  | MnemonicVgmaxpd
+  | MnemonicVgmaxps
+  | MnemonicVgminpd
+  | MnemonicVgminps
+  | MnemonicVhaddpd
+  | MnemonicVhaddps
+  | MnemonicVhsubpd
+  | MnemonicVhsubps
+  | MnemonicVinsertf128
+  | MnemonicVinsertf32X4
+  | MnemonicVinsertf32X8
+  | MnemonicVinsertf64X2
+  | MnemonicVinsertf64X4
+  | MnemonicVinserti128
+  | MnemonicVinserti32X4
+  | MnemonicVinserti32X8
+  | MnemonicVinserti64X2
+  | MnemonicVinserti64X4
+  | MnemonicVinsertps
+  | MnemonicVlddqu
+  | MnemonicVldmxcsr
+  | MnemonicVloadunpackhd
+  | MnemonicVloadunpackhpd
+  | MnemonicVloadunpackhps
+  | MnemonicVloadunpackhq
+  | MnemonicVloadunpackld
+  | MnemonicVloadunpacklpd
+  | MnemonicVloadunpacklps
+  | MnemonicVloadunpacklq
+  | MnemonicVlog2Ps
+  | MnemonicVmaskmovdqu
+  | MnemonicVmaskmovpd
+  | MnemonicVmaskmovps
+  | MnemonicVmaxpd
+  | MnemonicVmaxps
+  | MnemonicVmaxsd
+  | MnemonicVmaxss
+  | MnemonicVmcall
+  | MnemonicVmclear
+  | MnemonicVmfunc
+  | MnemonicVminpd
+  | MnemonicVminps
+  | MnemonicVminsd
+  | MnemonicVminss
+  | MnemonicVmlaunch
+  | MnemonicVmload
+  | MnemonicVmmcall
+  | MnemonicVmovapd
+  | MnemonicVmovaps
+  | MnemonicVmovd
+  | MnemonicVmovddup
+  | MnemonicVmovdqa
+  | MnemonicVmovdqa32
+  | MnemonicVmovdqa64
+  | MnemonicVmovdqu
+  | MnemonicVmovdqu16
+  | MnemonicVmovdqu32
+  | MnemonicVmovdqu64
+  | MnemonicVmovdqu8
+  | MnemonicVmovhlps
+  | MnemonicVmovhpd
+  | MnemonicVmovhps
+  | MnemonicVmovlhps
+  | MnemonicVmovlpd
+  | MnemonicVmovlps
+  | MnemonicVmovmskpd
+  | MnemonicVmovmskps
+  | MnemonicVmovnrapd
+  | MnemonicVmovnraps
+  | MnemonicVmovnrngoapd
+  | MnemonicVmovnrngoaps
+  | MnemonicVmovntdq
+  | MnemonicVmovntdqa
+  | MnemonicVmovntpd
+  | MnemonicVmovntps
+  | MnemonicVmovq
+  | MnemonicVmovsd
+  | MnemonicVmovshdup
+  | MnemonicVmovsldup
+  | MnemonicVmovss
+  | MnemonicVmovupd
+  | MnemonicVmovups
+  | MnemonicVmpsadbw
+  | MnemonicVmptrld
+  | MnemonicVmptrst
+  | MnemonicVmread
+  | MnemonicVmresume
+  | MnemonicVmrun
+  | MnemonicVmsave
+  | MnemonicVmulpd
+  | MnemonicVmulps
+  | MnemonicVmulsd
+  | MnemonicVmulss
+  | MnemonicVmwrite
+  | MnemonicVmxoff
+  | MnemonicVmxon
+  | MnemonicVorpd
+  | MnemonicVorps
+  | MnemonicVp2Intersectd
+  | MnemonicVp2Intersectq
+  | MnemonicVp4Dpwssd
+  | MnemonicVp4Dpwssds
+  | MnemonicVpabsb
+  | MnemonicVpabsd
+  | MnemonicVpabsq
+  | MnemonicVpabsw
+  | MnemonicVpackssdw
+  | MnemonicVpacksswb
+  | MnemonicVpackstorehd
+  | MnemonicVpackstorehpd
+  | MnemonicVpackstorehps
+  | MnemonicVpackstorehq
+  | MnemonicVpackstoreld
+  | MnemonicVpackstorelpd
+  | MnemonicVpackstorelps
+  | MnemonicVpackstorelq
+  | MnemonicVpackusdw
+  | MnemonicVpackuswb
+  | MnemonicVpadcd
+  | MnemonicVpaddb
+  | MnemonicVpaddd
+  | MnemonicVpaddq
+  | MnemonicVpaddsb
+  | MnemonicVpaddsetcd
+  | MnemonicVpaddsetsd
+  | MnemonicVpaddsw
+  | MnemonicVpaddusb
+  | MnemonicVpaddusw
+  | MnemonicVpaddw
+  | MnemonicVpalignr
+  | MnemonicVpand
+  | MnemonicVpandd
+  | MnemonicVpandn
+  | MnemonicVpandnd
+  | MnemonicVpandnq
+  | MnemonicVpandq
+  | MnemonicVpavgb
+  | MnemonicVpavgw
+  | MnemonicVpblendd
+  | MnemonicVpblendmb
+  | MnemonicVpblendmd
+  | MnemonicVpblendmq
+  | MnemonicVpblendmw
+  | MnemonicVpblendvb
+  | MnemonicVpblendw
+  | MnemonicVpbroadcastb
+  | MnemonicVpbroadcastd
+  | MnemonicVpbroadcastmb2Q
+  | MnemonicVpbroadcastmw2D
+  | MnemonicVpbroadcastq
+  | MnemonicVpbroadcastw
+  | MnemonicVpclmulqdq
+  | MnemonicVpcmov
+  | MnemonicVpcmpb
+  | MnemonicVpcmpd
+  | MnemonicVpcmpeqb
+  | MnemonicVpcmpeqd
+  | MnemonicVpcmpeqq
+  | MnemonicVpcmpeqw
+  | MnemonicVpcmpestri
+  | MnemonicVpcmpestrm
+  | MnemonicVpcmpgtb
+  | MnemonicVpcmpgtd
+  | MnemonicVpcmpgtq
+  | MnemonicVpcmpgtw
+  | MnemonicVpcmpistri
+  | MnemonicVpcmpistrm
+  | MnemonicVpcmpltd
+  | MnemonicVpcmpq
+  | MnemonicVpcmpub
+  | MnemonicVpcmpud
+  | MnemonicVpcmpuq
+  | MnemonicVpcmpuw
+  | MnemonicVpcmpw
+  | MnemonicVpcomb
+  | MnemonicVpcomd
+  | MnemonicVpcompressb
+  | MnemonicVpcompressd
+  | MnemonicVpcompressq
+  | MnemonicVpcompressw
+  | MnemonicVpcomq
+  | MnemonicVpcomub
+  | MnemonicVpcomud
+  | MnemonicVpcomuq
+  | MnemonicVpcomuw
+  | MnemonicVpcomw
+  | MnemonicVpconflictd
+  | MnemonicVpconflictq
+  | MnemonicVpdpbusd
+  | MnemonicVpdpbusds
+  | MnemonicVpdpwssd
+  | MnemonicVpdpwssds
+  | MnemonicVperm2F128
+  | MnemonicVperm2I128
+  | MnemonicVpermb
+  | MnemonicVpermd
+  | MnemonicVpermf32X4
+  | MnemonicVpermi2B
+  | MnemonicVpermi2D
+  | MnemonicVpermi2Pd
+  | MnemonicVpermi2Ps
+  | MnemonicVpermi2Q
+  | MnemonicVpermi2W
+  | MnemonicVpermil2Pd
+  | MnemonicVpermil2Ps
+  | MnemonicVpermilpd
+  | MnemonicVpermilps
+  | MnemonicVpermpd
+  | MnemonicVpermps
+  | MnemonicVpermq
+  | MnemonicVpermt2B
+  | MnemonicVpermt2D
+  | MnemonicVpermt2Pd
+  | MnemonicVpermt2Ps
+  | MnemonicVpermt2Q
+  | MnemonicVpermt2W
+  | MnemonicVpermw
+  | MnemonicVpexpandb
+  | MnemonicVpexpandd
+  | MnemonicVpexpandq
+  | MnemonicVpexpandw
+  | MnemonicVpextrb
+  | MnemonicVpextrd
+  | MnemonicVpextrq
+  | MnemonicVpextrw
+  | MnemonicVpgatherdd
+  | MnemonicVpgatherdq
+  | MnemonicVpgatherqd
+  | MnemonicVpgatherqq
+  | MnemonicVphaddbd
+  | MnemonicVphaddbq
+  | MnemonicVphaddbw
+  | MnemonicVphaddd
+  | MnemonicVphadddq
+  | MnemonicVphaddsw
+  | MnemonicVphaddubd
+  | MnemonicVphaddubq
+  | MnemonicVphaddubw
+  | MnemonicVphaddudq
+  | MnemonicVphadduwd
+  | MnemonicVphadduwq
+  | MnemonicVphaddw
+  | MnemonicVphaddwd
+  | MnemonicVphaddwq
+  | MnemonicVphminposuw
+  | MnemonicVphsubbw
+  | MnemonicVphsubd
+  | MnemonicVphsubdq
+  | MnemonicVphsubsw
+  | MnemonicVphsubw
+  | MnemonicVphsubwd
+  | MnemonicVpinsrb
+  | MnemonicVpinsrd
+  | MnemonicVpinsrq
+  | MnemonicVpinsrw
+  | MnemonicVplzcntd
+  | MnemonicVplzcntq
+  | MnemonicVpmacsdd
+  | MnemonicVpmacsdqh
+  | MnemonicVpmacsdql
+  | MnemonicVpmacssdd
+  | MnemonicVpmacssdqh
+  | MnemonicVpmacssdql
+  | MnemonicVpmacsswd
+  | MnemonicVpmacssww
+  | MnemonicVpmacswd
+  | MnemonicVpmacsww
+  | MnemonicVpmadcsswd
+  | MnemonicVpmadcswd
+  | MnemonicVpmadd231D
+  | MnemonicVpmadd233D
+  | MnemonicVpmadd52Huq
+  | MnemonicVpmadd52Luq
+  | MnemonicVpmaddubsw
+  | MnemonicVpmaddwd
+  | MnemonicVpmaskmovd
+  | MnemonicVpmaskmovq
+  | MnemonicVpmaxsb
+  | MnemonicVpmaxsd
+  | MnemonicVpmaxsq
+  | MnemonicVpmaxsw
+  | MnemonicVpmaxub
+  | MnemonicVpmaxud
+  | MnemonicVpmaxuq
+  | MnemonicVpmaxuw
+  | MnemonicVpminsb
+  | MnemonicVpminsd
+  | MnemonicVpminsq
+  | MnemonicVpminsw
+  | MnemonicVpminub
+  | MnemonicVpminud
+  | MnemonicVpminuq
+  | MnemonicVpminuw
+  | MnemonicVpmovb2M
+  | MnemonicVpmovd2M
+  | MnemonicVpmovdb
+  | MnemonicVpmovdw
+  | MnemonicVpmovm2B
+  | MnemonicVpmovm2D
+  | MnemonicVpmovm2Q
+  | MnemonicVpmovm2W
+  | MnemonicVpmovmskb
+  | MnemonicVpmovq2M
+  | MnemonicVpmovqb
+  | MnemonicVpmovqd
+  | MnemonicVpmovqw
+  | MnemonicVpmovsdb
+  | MnemonicVpmovsdw
+  | MnemonicVpmovsqb
+  | MnemonicVpmovsqd
+  | MnemonicVpmovsqw
+  | MnemonicVpmovswb
+  | MnemonicVpmovsxbd
+  | MnemonicVpmovsxbq
+  | MnemonicVpmovsxbw
+  | MnemonicVpmovsxdq
+  | MnemonicVpmovsxwd
+  | MnemonicVpmovsxwq
+  | MnemonicVpmovusdb
+  | MnemonicVpmovusdw
+  | MnemonicVpmovusqb
+  | MnemonicVpmovusqd
+  | MnemonicVpmovusqw
+  | MnemonicVpmovuswb
+  | MnemonicVpmovw2M
+  | MnemonicVpmovwb
+  | MnemonicVpmovzxbd
+  | MnemonicVpmovzxbq
+  | MnemonicVpmovzxbw
+  | MnemonicVpmovzxdq
+  | MnemonicVpmovzxwd
+  | MnemonicVpmovzxwq
+  | MnemonicVpmuldq
+  | MnemonicVpmulhd
+  | MnemonicVpmulhrsw
+  | MnemonicVpmulhud
+  | MnemonicVpmulhuw
+  | MnemonicVpmulhw
+  | MnemonicVpmulld
+  | MnemonicVpmullq
+  | MnemonicVpmullw
+  | MnemonicVpmultishiftqb
+  | MnemonicVpmuludq
+  | MnemonicVpopcntb
+  | MnemonicVpopcntd
+  | MnemonicVpopcntq
+  | MnemonicVpopcntw
+  | MnemonicVpor
+  | MnemonicVpord
+  | MnemonicVporq
+  | MnemonicVpperm
+  | MnemonicVprefetch0
+  | MnemonicVprefetch1
+  | MnemonicVprefetch2
+  | MnemonicVprefetche0
+  | MnemonicVprefetche1
+  | MnemonicVprefetche2
+  | MnemonicVprefetchenta
+  | MnemonicVprefetchnta
+  | MnemonicVprold
+  | MnemonicVprolq
+  | MnemonicVprolvd
+  | MnemonicVprolvq
+  | MnemonicVprord
+  | MnemonicVprorq
+  | MnemonicVprorvd
+  | MnemonicVprorvq
+  | MnemonicVprotb
+  | MnemonicVprotd
+  | MnemonicVprotq
+  | MnemonicVprotw
+  | MnemonicVpsadbw
+  | MnemonicVpsbbd
+  | MnemonicVpsbbrd
+  | MnemonicVpscatterdd
+  | MnemonicVpscatterdq
+  | MnemonicVpscatterqd
+  | MnemonicVpscatterqq
+  | MnemonicVpshab
+  | MnemonicVpshad
+  | MnemonicVpshaq
+  | MnemonicVpshaw
+  | MnemonicVpshlb
+  | MnemonicVpshld
+  | MnemonicVpshldd
+  | MnemonicVpshldq
+  | MnemonicVpshldvd
+  | MnemonicVpshldvq
+  | MnemonicVpshldvw
+  | MnemonicVpshldw
+  | MnemonicVpshlq
+  | MnemonicVpshlw
+  | MnemonicVpshrdd
+  | MnemonicVpshrdq
+  | MnemonicVpshrdvd
+  | MnemonicVpshrdvq
+  | MnemonicVpshrdvw
+  | MnemonicVpshrdw
+  | MnemonicVpshufb
+  | MnemonicVpshufbitqmb
+  | MnemonicVpshufd
+  | MnemonicVpshufhw
+  | MnemonicVpshuflw
+  | MnemonicVpsignb
+  | MnemonicVpsignd
+  | MnemonicVpsignw
+  | MnemonicVpslld
+  | MnemonicVpslldq
+  | MnemonicVpsllq
+  | MnemonicVpsllvd
+  | MnemonicVpsllvq
+  | MnemonicVpsllvw
+  | MnemonicVpsllw
+  | MnemonicVpsrad
+  | MnemonicVpsraq
+  | MnemonicVpsravd
+  | MnemonicVpsravq
+  | MnemonicVpsravw
+  | MnemonicVpsraw
+  | MnemonicVpsrld
+  | MnemonicVpsrldq
+  | MnemonicVpsrlq
+  | MnemonicVpsrlvd
+  | MnemonicVpsrlvq
+  | MnemonicVpsrlvw
+  | MnemonicVpsrlw
+  | MnemonicVpsubb
+  | MnemonicVpsubd
+  | MnemonicVpsubq
+  | MnemonicVpsubrd
+  | MnemonicVpsubrsetbd
+  | MnemonicVpsubsb
+  | MnemonicVpsubsetbd
+  | MnemonicVpsubsw
+  | MnemonicVpsubusb
+  | MnemonicVpsubusw
+  | MnemonicVpsubw
+  | MnemonicVpternlogd
+  | MnemonicVpternlogq
+  | MnemonicVptest
+  | MnemonicVptestmb
+  | MnemonicVptestmd
+  | MnemonicVptestmq
+  | MnemonicVptestmw
+  | MnemonicVptestnmb
+  | MnemonicVptestnmd
+  | MnemonicVptestnmq
+  | MnemonicVptestnmw
+  | MnemonicVpunpckhbw
+  | MnemonicVpunpckhdq
+  | MnemonicVpunpckhqdq
+  | MnemonicVpunpckhwd
+  | MnemonicVpunpcklbw
+  | MnemonicVpunpckldq
+  | MnemonicVpunpcklqdq
+  | MnemonicVpunpcklwd
+  | MnemonicVpxor
+  | MnemonicVpxord
+  | MnemonicVpxorq
+  | MnemonicVrangepd
+  | MnemonicVrangeps
+  | MnemonicVrangesd
+  | MnemonicVrangess
+  | MnemonicVrcp14Pd
+  | MnemonicVrcp14Ps
+  | MnemonicVrcp14Sd
+  | MnemonicVrcp14Ss
+  | MnemonicVrcp23Ps
+  | MnemonicVrcp28Pd
+  | MnemonicVrcp28Ps
+  | MnemonicVrcp28Sd
+  | MnemonicVrcp28Ss
+  | MnemonicVrcpps
+  | MnemonicVrcpss
+  | MnemonicVreducepd
+  | MnemonicVreduceps
+  | MnemonicVreducesd
+  | MnemonicVreducess
+  | MnemonicVrndfxpntpd
+  | MnemonicVrndfxpntps
+  | MnemonicVrndscalepd
+  | MnemonicVrndscaleps
+  | MnemonicVrndscalesd
+  | MnemonicVrndscaless
+  | MnemonicVroundpd
+  | MnemonicVroundps
+  | MnemonicVroundsd
+  | MnemonicVroundss
+  | MnemonicVrsqrt14Pd
+  | MnemonicVrsqrt14Ps
+  | MnemonicVrsqrt14Sd
+  | MnemonicVrsqrt14Ss
+  | MnemonicVrsqrt23Ps
+  | MnemonicVrsqrt28Pd
+  | MnemonicVrsqrt28Ps
+  | MnemonicVrsqrt28Sd
+  | MnemonicVrsqrt28Ss
+  | MnemonicVrsqrtps
+  | MnemonicVrsqrtss
+  | MnemonicVscalefpd
+  | MnemonicVscalefps
+  | MnemonicVscalefsd
+  | MnemonicVscalefss
+  | MnemonicVscaleps
+  | MnemonicVscatterdpd
+  | MnemonicVscatterdps
+  | MnemonicVscatterpf0Dpd
+  | MnemonicVscatterpf0Dps
+  | MnemonicVscatterpf0Hintdpd
+  | MnemonicVscatterpf0Hintdps
+  | MnemonicVscatterpf0Qpd
+  | MnemonicVscatterpf0Qps
+  | MnemonicVscatterpf1Dpd
+  | MnemonicVscatterpf1Dps
+  | MnemonicVscatterpf1Qpd
+  | MnemonicVscatterpf1Qps
+  | MnemonicVscatterqpd
+  | MnemonicVscatterqps
+  | MnemonicVshuff32X4
+  | MnemonicVshuff64X2
+  | MnemonicVshufi32X4
+  | MnemonicVshufi64X2
+  | MnemonicVshufpd
+  | MnemonicVshufps
+  | MnemonicVsqrtpd
+  | MnemonicVsqrtps
+  | MnemonicVsqrtsd
+  | MnemonicVsqrtss
+  | MnemonicVstmxcsr
+  | MnemonicVsubpd
+  | MnemonicVsubps
+  | MnemonicVsubrpd
+  | MnemonicVsubrps
+  | MnemonicVsubsd
+  | MnemonicVsubss
+  | MnemonicVtestpd
+  | MnemonicVtestps
+  | MnemonicVucomisd
+  | MnemonicVucomiss
+  | MnemonicVunpckhpd
+  | MnemonicVunpckhps
+  | MnemonicVunpcklpd
+  | MnemonicVunpcklps
+  | MnemonicVxorpd
+  | MnemonicVxorps
+  | MnemonicVzeroall
+  | MnemonicVzeroupper
+  | MnemonicWbinvd
+  | MnemonicWrfsbase
+  | MnemonicWrgsbase
+  | MnemonicWrmsr
+  | MnemonicWrpkru
+  | MnemonicWrssd
+  | MnemonicWrssq
+  | MnemonicWrussd
+  | MnemonicWrussq
+  | MnemonicXabort
+  | MnemonicXadd
+  | MnemonicXbegin
+  | MnemonicXchg
+  | MnemonicXcryptCbc
+  | MnemonicXcryptCfb
+  | MnemonicXcryptCtr
+  | MnemonicXcryptEcb
+  | MnemonicXcryptOfb
+  | MnemonicXend
+  | MnemonicXgetbv
+  | MnemonicXlat
+  | MnemonicXor
+  | MnemonicXorpd
+  | MnemonicXorps
+  | MnemonicXrstor
+  | MnemonicXrstor64
+  | MnemonicXrstors
+  | MnemonicXrstors64
+  | MnemonicXsave
+  | MnemonicXsave64
+  | MnemonicXsavec
+  | MnemonicXsavec64
+  | MnemonicXsaveopt
+  | MnemonicXsaveopt64
+  | MnemonicXsaves
+  | MnemonicXsaves64
+  | MnemonicXsetbv
+  | MnemonicXsha1
+  | MnemonicXsha256
+  | MnemonicXstore
+  | MnemonicXtest
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt Mnemonic
diff --git a/src/Zydis/OpcodeMap.hs b/src/Zydis/OpcodeMap.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/OpcodeMap.hs
@@ -0,0 +1,39 @@
+-- OpcodeMap.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.OpcodeMap
+  ( OpcodeMap(..)
+  )
+where
+
+import           Zydis.Util
+
+data OpcodeMap
+  = OpcodeMapDefault
+  | OpcodeMap0F
+  | OpcodeMap0F38
+  | OpcodeMap0F3A
+  | OpcodeMap0F0F
+  | OpcodeMapXop8
+  | OpcodeMapXop9
+  | OpcodeMapXopa
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt OpcodeMap
diff --git a/src/Zydis/Operand.hs b/src/Zydis/Operand.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/Operand.hs
@@ -0,0 +1,171 @@
+-- Operand.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingStrategies #-}
+
+module Zydis.Operand
+  ( Operand(..)
+  )
+where
+
+import           Data.Int
+import           Data.Word
+import           Foreign.Storable
+import qualified Foreign.Storable.Record       as Store
+
+import           Zydis.ElementType
+import           Zydis.OperandEncoding
+import           Zydis.OperandMemoryType
+import           Zydis.OperandType
+import           Zydis.OperandVisibility
+import           Zydis.Register
+
+
+data OperandImmediate =
+  OperandImmediate
+  { operandImmediateIsSigned   :: !Word8
+  , operandImmediateIsRelative :: !Word8
+  , operandImmediateValue      :: {-# UNPACK #-}!Word64
+  }
+  deriving stock (Show, Eq)
+
+decoderOperandImmediateStore :: Store.Dictionary OperandImmediate
+decoderOperandImmediateStore =
+  Store.run
+    $   OperandImmediate
+    <$> Store.element operandImmediateIsSigned
+    <*> Store.element operandImmediateIsRelative
+    <*> Store.element operandImmediateValue
+
+instance Storable OperandImmediate where
+  alignment = Store.alignment decoderOperandImmediateStore
+  sizeOf    = Store.sizeOf decoderOperandImmediateStore
+  peek      = Store.peek decoderOperandImmediateStore
+  poke      = Store.poke decoderOperandImmediateStore
+
+data OperandPointer =
+  OperandPointer
+  { operandPointerSegment :: {-# UNPACK #-}!Word16
+  , operandPointerOffset  :: {-# UNPACK #-}!Word32
+  }
+  deriving stock (Show, Eq)
+
+decoderOperandPointerStore :: Store.Dictionary OperandPointer
+decoderOperandPointerStore =
+  Store.run
+    $   OperandPointer
+    <$> Store.element operandPointerSegment
+    <*> Store.element operandPointerOffset
+
+instance Storable OperandPointer where
+  alignment = Store.alignment decoderOperandPointerStore
+  sizeOf    = Store.sizeOf decoderOperandPointerStore
+  peek      = Store.peek decoderOperandPointerStore
+  poke      = Store.poke decoderOperandPointerStore
+
+data OperandMemoryDisplacement =
+  OperandMemoryDisplacement
+    { operandMemoryDisplacementHasDisplacement :: !Word8
+    , operandMemoryDisplacementValue           :: {-# UNPACK #-}!Int64
+    }
+  deriving stock (Show, Eq)
+
+decoderOperandMemoryDisplacementStore
+  :: Store.Dictionary OperandMemoryDisplacement
+decoderOperandMemoryDisplacementStore =
+  Store.run
+    $   OperandMemoryDisplacement
+    <$> Store.element operandMemoryDisplacementHasDisplacement
+    <*> Store.element operandMemoryDisplacementValue
+
+instance Storable OperandMemoryDisplacement where
+  alignment = Store.alignment decoderOperandMemoryDisplacementStore
+  sizeOf    = Store.sizeOf decoderOperandMemoryDisplacementStore
+  peek      = Store.peek decoderOperandMemoryDisplacementStore
+  poke      = Store.poke decoderOperandMemoryDisplacementStore
+
+data OperandMemory =
+  OperandMemory
+    { operandMemoryType         :: !OperandMemoryType
+    , operandMemorySegment      :: !Register
+    , operandMemoryBase         :: !Register
+    , operandMemoryIndex        :: !Register
+    , operandMemoryScale        :: {-# UNPACK #-}!Word8
+    , operandMemoryDisplacement :: !OperandMemoryDisplacement
+    }
+  deriving stock (Show, Eq)
+
+decoderOperandMemoryStore :: Store.Dictionary OperandMemory
+decoderOperandMemoryStore =
+  Store.run
+    $   OperandMemory
+    <$> Store.element operandMemoryType
+    <*> Store.element operandMemorySegment
+    <*> Store.element operandMemoryBase
+    <*> Store.element operandMemoryIndex
+    <*> Store.element operandMemoryScale
+    <*> Store.element operandMemoryDisplacement
+
+instance Storable OperandMemory where
+  alignment = Store.alignment decoderOperandMemoryStore
+  sizeOf    = Store.sizeOf decoderOperandMemoryStore
+  peek      = Store.peek decoderOperandMemoryStore
+  poke      = Store.poke decoderOperandMemoryStore
+
+data Operand =
+  Operand
+    { operandId           :: {-# UNPACK #-}!Word8
+    , operandType         :: !OperandType
+    , operandVisibility   :: !OperandVisibility
+    , operandActions      :: {-# UNPACK #-}!Word8
+    , operandEncoding     :: !OperandEncoding
+    , operandSize         :: {-# UNPACK #-}!Word16
+    , operandElementType  :: !ElementType
+    , operandElementSize  :: {-# UNPACK #-}!Word16
+    , operandElementCount :: {-# UNPACK #-}!Word16
+    , operandRegister     :: !Register
+    , operandMemory       :: !OperandMemory
+    , operandPointer      :: !OperandPointer
+    , operandImmediate    :: !OperandImmediate
+    }
+  deriving stock (Show, Eq)
+
+decoderOperandStore :: Store.Dictionary Operand
+decoderOperandStore =
+  Store.run
+    $   Operand
+    <$> Store.element operandId
+    <*> Store.element operandType
+    <*> Store.element operandVisibility
+    <*> Store.element operandActions
+    <*> Store.element operandEncoding
+    <*> Store.element operandSize
+    <*> Store.element operandElementType
+    <*> Store.element operandElementSize
+    <*> Store.element operandElementCount
+    <*> Store.element operandRegister
+    <*> Store.element operandMemory
+    <*> Store.element operandPointer
+    <*> Store.element operandImmediate
+
+instance Storable Operand where
+  alignment = Store.alignment decoderOperandStore
+  sizeOf    = Store.sizeOf decoderOperandStore
+  peek      = Store.peek decoderOperandStore
+  poke      = Store.poke decoderOperandStore
diff --git a/src/Zydis/OperandEncoding.hs b/src/Zydis/OperandEncoding.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/OperandEncoding.hs
@@ -0,0 +1,66 @@
+-- OperandEncoding.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.OperandEncoding
+  ( OperandEncoding(..)
+  )
+where
+
+import           Zydis.Util
+
+data OperandEncoding
+  = OperandEncodingNone
+  | OperandEncodingModrmReg
+  | OperandEncodingModrmRm
+  | OperandEncodingOpcode
+  | OperandEncodingNdsndd
+  | OperandEncodingIs4
+  | OperandEncodingMask
+  | OperandEncodingDisp8
+  | OperandEncodingDisp16
+  | OperandEncodingDisp32
+  | OperandEncodingDisp64
+  | OperandEncodingDisp163264
+  | OperandEncodingDisp323264
+  | OperandEncodingDisp163232
+  | OperandEncodingUimm8
+  | OperandEncodingUimm16
+  | OperandEncodingUimm32
+  | OperandEncodingUimm64
+  | OperandEncodingUimm163264
+  | OperandEncodingUimm323264
+  | OperandEncodingUimm163232
+  | OperandEncodingSimm8
+  | OperandEncodingSimm16
+  | OperandEncodingSimm32
+  | OperandEncodingSimm64
+  | OperandEncodingSimm163264
+  | OperandEncodingSimm323264
+  | OperandEncodingSimm163232
+  | OperandEncodingJimm8
+  | OperandEncodingJimm16
+  | OperandEncodingJimm32
+  | OperandEncodingJimm64
+  | OperandEncodingJimm163264
+  | OperandEncodingJimm323264
+  | OperandEncodingJimm163232
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt OperandEncoding
diff --git a/src/Zydis/OperandMemoryType.hs b/src/Zydis/OperandMemoryType.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/OperandMemoryType.hs
@@ -0,0 +1,35 @@
+-- OperandMemoryType.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.OperandMemoryType
+  ( OperandMemoryType(..)
+  )
+where
+
+import           Zydis.Util
+
+data OperandMemoryType
+  = OperandMemopTypeInvalid
+  | OperandMemopTypeMem
+  | OperandMemopTypeAgen
+  | OperandMemopTypeMib
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt OperandMemoryType
diff --git a/src/Zydis/OperandType.hs b/src/Zydis/OperandType.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/OperandType.hs
@@ -0,0 +1,37 @@
+-- OperandType.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.OperandType
+  ( OperandType(..)
+  )
+where
+
+import           Zydis.Util
+
+data OperandType
+  = OperandTypeUnused
+  | OperandTypeRegister
+  | OperandTypeMemory
+  | OperandTypePointer
+  | OperandTypeImmediate
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt OperandType
+
diff --git a/src/Zydis/OperandVisibility.hs b/src/Zydis/OperandVisibility.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/OperandVisibility.hs
@@ -0,0 +1,35 @@
+-- OperandVisibility.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.OperandVisibility
+  ( OperandVisibility(..)
+  )
+where
+
+import           Zydis.Util
+
+data OperandVisibility
+  = OperandVisibilityInvalid
+  | OperandVisibilityExplicit
+  | OperandVisibilityImplicit
+  | OperandVisibilityHidden
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt OperandVisibility
diff --git a/src/Zydis/PrefixType.hs b/src/Zydis/PrefixType.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/PrefixType.hs
@@ -0,0 +1,34 @@
+-- PrefixType.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.PrefixType
+  ( PrefixType(..)
+  )
+where
+
+import           Zydis.Util
+
+data PrefixType
+  = PrefixTypeIgnored
+  | PrefixTypeEffective
+  | PrefixTypeMandatory
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt PrefixType
diff --git a/src/Zydis/Register.hs b/src/Zydis/Register.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/Register.hs
@@ -0,0 +1,287 @@
+-- Register.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.Register
+  ( Register(..)
+  )
+where
+
+import           Zydis.Util
+
+data Register
+  = RegisterNone
+  | RegisterAl
+  | RegisterCl
+  | RegisterDl
+  | RegisterBl
+  | RegisterAh
+  | RegisterCh
+  | RegisterDh
+  | RegisterBh
+  | RegisterSpl
+  | RegisterBpl
+  | RegisterSil
+  | RegisterDil
+  | RegisterR8B
+  | RegisterR9B
+  | RegisterR10B
+  | RegisterR11B
+  | RegisterR12B
+  | RegisterR13B
+  | RegisterR14B
+  | RegisterR15B
+  | RegisterAx
+  | RegisterCx
+  | RegisterDx
+  | RegisterBx
+  | RegisterSp
+  | RegisterBp
+  | RegisterSi
+  | RegisterDi
+  | RegisterR8W
+  | RegisterR9W
+  | RegisterR10W
+  | RegisterR11W
+  | RegisterR12W
+  | RegisterR13W
+  | RegisterR14W
+  | RegisterR15W
+  | RegisterEax
+  | RegisterEcx
+  | RegisterEdx
+  | RegisterEbx
+  | RegisterEsp
+  | RegisterEbp
+  | RegisterEsi
+  | RegisterEdi
+  | RegisterR8D
+  | RegisterR9D
+  | RegisterR10D
+  | RegisterR11D
+  | RegisterR12D
+  | RegisterR13D
+  | RegisterR14D
+  | RegisterR15D
+  | RegisterRax
+  | RegisterRcx
+  | RegisterRdx
+  | RegisterRbx
+  | RegisterRsp
+  | RegisterRbp
+  | RegisterRsi
+  | RegisterRdi
+  | RegisterR8
+  | RegisterR9
+  | RegisterR10
+  | RegisterR11
+  | RegisterR12
+  | RegisterR13
+  | RegisterR14
+  | RegisterR15
+  | RegisterSt0
+  | RegisterSt1
+  | RegisterSt2
+  | RegisterSt3
+  | RegisterSt4
+  | RegisterSt5
+  | RegisterSt6
+  | RegisterSt7
+  | RegisterX87Control
+  | RegisterX87Status
+  | RegisterX87Tag
+  | RegisterMm0
+  | RegisterMm1
+  | RegisterMm2
+  | RegisterMm3
+  | RegisterMm4
+  | RegisterMm5
+  | RegisterMm6
+  | RegisterMm7
+  | RegisterXmm0
+  | RegisterXmm1
+  | RegisterXmm2
+  | RegisterXmm3
+  | RegisterXmm4
+  | RegisterXmm5
+  | RegisterXmm6
+  | RegisterXmm7
+  | RegisterXmm8
+  | RegisterXmm9
+  | RegisterXmm10
+  | RegisterXmm11
+  | RegisterXmm12
+  | RegisterXmm13
+  | RegisterXmm14
+  | RegisterXmm15
+  | RegisterXmm16
+  | RegisterXmm17
+  | RegisterXmm18
+  | RegisterXmm19
+  | RegisterXmm20
+  | RegisterXmm21
+  | RegisterXmm22
+  | RegisterXmm23
+  | RegisterXmm24
+  | RegisterXmm25
+  | RegisterXmm26
+  | RegisterXmm27
+  | RegisterXmm28
+  | RegisterXmm29
+  | RegisterXmm30
+  | RegisterXmm31
+  | RegisterYmm0
+  | RegisterYmm1
+  | RegisterYmm2
+  | RegisterYmm3
+  | RegisterYmm4
+  | RegisterYmm5
+  | RegisterYmm6
+  | RegisterYmm7
+  | RegisterYmm8
+  | RegisterYmm9
+  | RegisterYmm10
+  | RegisterYmm11
+  | RegisterYmm12
+  | RegisterYmm13
+  | RegisterYmm14
+  | RegisterYmm15
+  | RegisterYmm16
+  | RegisterYmm17
+  | RegisterYmm18
+  | RegisterYmm19
+  | RegisterYmm20
+  | RegisterYmm21
+  | RegisterYmm22
+  | RegisterYmm23
+  | RegisterYmm24
+  | RegisterYmm25
+  | RegisterYmm26
+  | RegisterYmm27
+  | RegisterYmm28
+  | RegisterYmm29
+  | RegisterYmm30
+  | RegisterYmm31
+  | RegisterZmm0
+  | RegisterZmm1
+  | RegisterZmm2
+  | RegisterZmm3
+  | RegisterZmm4
+  | RegisterZmm5
+  | RegisterZmm6
+  | RegisterZmm7
+  | RegisterZmm8
+  | RegisterZmm9
+  | RegisterZmm10
+  | RegisterZmm11
+  | RegisterZmm12
+  | RegisterZmm13
+  | RegisterZmm14
+  | RegisterZmm15
+  | RegisterZmm16
+  | RegisterZmm17
+  | RegisterZmm18
+  | RegisterZmm19
+  | RegisterZmm20
+  | RegisterZmm21
+  | RegisterZmm22
+  | RegisterZmm23
+  | RegisterZmm24
+  | RegisterZmm25
+  | RegisterZmm26
+  | RegisterZmm27
+  | RegisterZmm28
+  | RegisterZmm29
+  | RegisterZmm30
+  | RegisterZmm31
+  | RegisterFlags
+  | RegisterEflags
+  | RegisterRflags
+  | RegisterIp
+  | RegisterEip
+  | RegisterRip
+  | RegisterEs
+  | RegisterCs
+  | RegisterSs
+  | RegisterDs
+  | RegisterFs
+  | RegisterGs
+  | RegisterGdtr
+  | RegisterLdtr
+  | RegisterIdtr
+  | RegisterTr
+  | RegisterTr0
+  | RegisterTr1
+  | RegisterTr2
+  | RegisterTr3
+  | RegisterTr4
+  | RegisterTr5
+  | RegisterTr6
+  | RegisterTr7
+  | RegisterCr0
+  | RegisterCr1
+  | RegisterCr2
+  | RegisterCr3
+  | RegisterCr4
+  | RegisterCr5
+  | RegisterCr6
+  | RegisterCr7
+  | RegisterCr8
+  | RegisterCr9
+  | RegisterCr10
+  | RegisterCr11
+  | RegisterCr12
+  | RegisterCr13
+  | RegisterCr14
+  | RegisterCr15
+  | RegisterDr0
+  | RegisterDr1
+  | RegisterDr2
+  | RegisterDr3
+  | RegisterDr4
+  | RegisterDr5
+  | RegisterDr6
+  | RegisterDr7
+  | RegisterDr8
+  | RegisterDr9
+  | RegisterDr10
+  | RegisterDr11
+  | RegisterDr12
+  | RegisterDr13
+  | RegisterDr14
+  | RegisterDr15
+  | RegisterK0
+  | RegisterK1
+  | RegisterK2
+  | RegisterK3
+  | RegisterK4
+  | RegisterK5
+  | RegisterK6
+  | RegisterK7
+  | RegisterBnd0
+  | RegisterBnd1
+  | RegisterBnd2
+  | RegisterBnd3
+  | RegisterBndcfg
+  | RegisterBndstatus
+  | RegisterMxcsr
+  | RegisterPkru
+  | RegisterXcr0
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt Register
diff --git a/src/Zydis/RoundingMode.hs b/src/Zydis/RoundingMode.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/RoundingMode.hs
@@ -0,0 +1,37 @@
+-- RoundingMode.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.RoundingMode
+  ( RoundingMode(..)
+  )
+where
+
+import           Zydis.Util
+
+data RoundingMode
+  = RoundingModeInvalid
+  | RoundingModeRn
+  | RoundingModeRd
+  | RoundingModeRu
+  | RoundingModeRz
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt RoundingMode
+
diff --git a/src/Zydis/SwizzleMode.hs b/src/Zydis/SwizzleMode.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/SwizzleMode.hs
@@ -0,0 +1,40 @@
+-- SwizzleMode.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingVia #-}
+
+module Zydis.SwizzleMode
+  ( SwizzleMode(..)
+  )
+where
+
+import           Zydis.Util
+
+data SwizzleMode
+  = SwizzleModeInvalid
+  | SwizzleModeDcba
+  | SwizzleModeCdab
+  | SwizzleModeBadc
+  | SwizzleModeDacb
+  | SwizzleModeAaaa
+  | SwizzleModeBbbb
+  | SwizzleModeCccc
+  | SwizzleModeDddd
+  deriving stock (Show, Eq, Bounded, Enum)
+  deriving Storable via StorableExt SwizzleMode
diff --git a/src/Zydis/Types.hs b/src/Zydis/Types.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/Types.hs
@@ -0,0 +1,585 @@
+-- Types.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded @gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DataKinds           #-}
+{-# LANGUAGE DerivingVia         #-}
+{-# LANGUAGE RankNTypes          #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE TypeOperators       #-}
+
+module Zydis.Types
+  ( MachineMode(..)
+  , AddressWidth(..)
+  , Decoder(..)
+  , DecodedInstruction(..)
+  , DecodedInstructionRawImmediate(..)
+  , DecodedInstructionRawDisp(..)
+  , DecodedInstructionRawSib(..)
+  , DecodedInstructionModRm(..)
+  , DecodedInstructionRawMvex(..)
+  , DecodedInstructionRawEvex(..)
+  , DecodedInstructionRawVex(..)
+  , DecodedInstructionRawXop(..)
+  , DecodedInstructionRawRex(..)
+  , DecodedInstructionRawPrefix(..)
+  , DecodedInstructionRaw(..)
+  , DecodedInstructionMeta(..)
+  , DecodedInstructionAvxBroadcast(..)
+  , DecodedInstructionAvxMask(..)
+  , DecodedInstructionAvx(..)
+  , module Z
+  )
+where
+
+import           Data.Int
+import           Data.Word
+import           Foreign.Storable
+import qualified Foreign.Storable.Record       as Store
+import           GHC.TypeLits
+
+import           Zydis.AddressWidth            as Z
+import           Zydis.BranchType              as Z
+import           Zydis.BroadcastMode           as Z
+import           Zydis.Constants               as Z
+import           Zydis.ConversionMode          as Z
+import           Zydis.CPUFlagAction           as Z
+import           Zydis.ExceptionClass          as Z
+import           Zydis.InstructionCategory     as Z
+import           Zydis.InstructionEncoding     as Z
+import           Zydis.ISAExt                  as Z
+import           Zydis.ISASet                  as Z
+import           Zydis.MachineMode             as Z
+import           Zydis.MaskMode                as Z
+import           Zydis.Mnemonic                as Z
+import           Zydis.OpcodeMap               as Z
+import           Zydis.Operand                 as Z
+import           Zydis.PrefixType              as Z
+import           Zydis.Register                as Z
+import           Zydis.RoundingMode            as Z
+import           Zydis.SwizzleMode             as Z
+import           Zydis.Util
+
+data DecodedInstructionRawImmediate =
+  DecodedInstructionRawImmediate
+  { decodedInstructionRawImmediateIsSigned   :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawImmediateIsRelative :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawImmediateValue      :: {-# UNPACK #-}!Word64
+  , decodedInstructionRawImmediateSize       :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawImmediateOffset     :: {-# UNPACK #-}!Word8
+  }
+  deriving stock (Show, Eq)
+
+decoderInstructionRawImmediateStore
+  :: Store.Dictionary DecodedInstructionRawImmediate
+decoderInstructionRawImmediateStore =
+  Store.run
+    $   DecodedInstructionRawImmediate
+    <$> Store.element decodedInstructionRawImmediateIsSigned
+    <*> Store.element decodedInstructionRawImmediateIsRelative
+    <*> Store.element decodedInstructionRawImmediateValue
+    <*> Store.element decodedInstructionRawImmediateSize
+    <*> Store.element decodedInstructionRawImmediateOffset
+
+instance Storable DecodedInstructionRawImmediate where
+  alignment = Store.alignment decoderInstructionRawImmediateStore
+  sizeOf    = Store.sizeOf decoderInstructionRawImmediateStore
+  peek      = Store.peek decoderInstructionRawImmediateStore
+  poke      = Store.poke decoderInstructionRawImmediateStore
+
+data DecodedInstructionRawDisp =
+  DecodedInstructionRawDisp
+  { decodedInstructionRawDispValue  :: {-# UNPACK #-}!Int64
+  , decodedInstructionRawDispSize   :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawDispOffset :: {-# UNPACK #-}!Word8
+  }
+  deriving stock (Show, Eq)
+
+decoderInstructionRawDispStore :: Store.Dictionary DecodedInstructionRawDisp
+decoderInstructionRawDispStore =
+  Store.run
+    $   DecodedInstructionRawDisp
+    <$> Store.element decodedInstructionRawDispValue
+    <*> Store.element decodedInstructionRawDispSize
+    <*> Store.element decodedInstructionRawDispOffset
+
+instance Storable DecodedInstructionRawDisp where
+  alignment = Store.alignment decoderInstructionRawDispStore
+  sizeOf    = Store.sizeOf decoderInstructionRawDispStore
+  peek      = Store.peek decoderInstructionRawDispStore
+  poke      = Store.poke decoderInstructionRawDispStore
+
+data DecodedInstructionRawSib =
+  DecodedInstructionRawSib
+  { decodedInstructionRawSibScale  :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawSibIndex  :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawSibBase   :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawSibOffset :: {-# UNPACK #-}!Word8
+  }
+  deriving stock (Show, Eq)
+
+decodedInstructionRawSibStore :: Store.Dictionary DecodedInstructionRawSib
+decodedInstructionRawSibStore =
+  Store.run
+    $   DecodedInstructionRawSib
+    <$> Store.element decodedInstructionRawSibScale
+    <*> Store.element decodedInstructionRawSibIndex
+    <*> Store.element decodedInstructionRawSibBase
+    <*> Store.element decodedInstructionRawSibOffset
+
+instance Storable DecodedInstructionRawSib where
+  alignment = Store.alignment decodedInstructionRawSibStore
+  sizeOf    = Store.sizeOf decodedInstructionRawSibStore
+  peek      = Store.peek decodedInstructionRawSibStore
+  poke      = Store.poke decodedInstructionRawSibStore
+
+data DecodedInstructionModRm =
+  DecodedInstructionModRm
+  { decodedInstructionModRmAddressingMode :: {-# UNPACK #-}!Word8
+  , decodedInstructionModRmRegister       :: {-# UNPACK #-}!Word8
+  , decodedInstructionModRmRM             :: {-# UNPACK #-}!Word8
+  , decodedInstructionModRmOffset         :: {-# UNPACK #-}!Word8
+  }
+  deriving stock (Show, Eq)
+
+decodedInstructionModRmStore :: Store.Dictionary DecodedInstructionModRm
+decodedInstructionModRmStore =
+  Store.run
+    $   DecodedInstructionModRm
+    <$> Store.element decodedInstructionModRmAddressingMode
+    <*> Store.element decodedInstructionModRmRegister
+    <*> Store.element decodedInstructionModRmRM
+    <*> Store.element decodedInstructionModRmOffset
+
+instance Storable DecodedInstructionModRm where
+  alignment = Store.alignment decodedInstructionModRmStore
+  sizeOf    = Store.sizeOf decodedInstructionModRmStore
+  peek      = Store.peek decodedInstructionModRmStore
+  poke      = Store.poke decodedInstructionModRmStore
+
+data DecodedInstructionRawMvex =
+  DecodedInstructionRawMvex
+  { decodedInstructionRawMvexR      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawMvexX      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawMvexB      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawMvexR2     :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawMvexMMMM   :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawMvexW      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawMvexVVVV   :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawMvexPP     :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawMvexE      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawMvexSSS    :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawMvexV2     :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawMvexKKK    :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawMvexOffset :: {-# UNPACK #-}!Word8
+  }
+  deriving stock (Show, Eq)
+
+decodedInstructionRawMvexStore :: Store.Dictionary DecodedInstructionRawMvex
+decodedInstructionRawMvexStore =
+  Store.run
+    $   DecodedInstructionRawMvex
+    <$> Store.element decodedInstructionRawMvexR
+    <*> Store.element decodedInstructionRawMvexX
+    <*> Store.element decodedInstructionRawMvexB
+    <*> Store.element decodedInstructionRawMvexR2
+    <*> Store.element decodedInstructionRawMvexMMMM
+    <*> Store.element decodedInstructionRawMvexW
+    <*> Store.element decodedInstructionRawMvexVVVV
+    <*> Store.element decodedInstructionRawMvexPP
+    <*> Store.element decodedInstructionRawMvexE
+    <*> Store.element decodedInstructionRawMvexSSS
+    <*> Store.element decodedInstructionRawMvexV2
+    <*> Store.element decodedInstructionRawMvexKKK
+    <*> Store.element decodedInstructionRawMvexOffset
+
+instance Storable DecodedInstructionRawMvex where
+  alignment = Store.alignment decodedInstructionRawMvexStore
+  sizeOf    = Store.sizeOf decodedInstructionRawMvexStore
+  peek      = Store.peek decodedInstructionRawMvexStore
+  poke      = Store.poke decodedInstructionRawMvexStore
+
+data DecodedInstructionRawEvex =
+  DecodedInstructionRawEvex
+  { decodedInstructionRawEvexR      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawEvexX      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawEvexB      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawEvexR2     :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawEvexMM     :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawEvexW      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawEvexVVVV   :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawEvexPP     :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawEvexZ      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawEvexL2     :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawEvexL      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawEvexB'     :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawEvexV2     :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawEvexAAA    :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawEvexOffset :: {-# UNPACK #-}!Word8
+  }
+  deriving stock (Show, Eq)
+
+decodedInstructionRawEvexStore :: Store.Dictionary DecodedInstructionRawEvex
+decodedInstructionRawEvexStore =
+  Store.run
+    $   DecodedInstructionRawEvex
+    <$> Store.element decodedInstructionRawEvexR
+    <*> Store.element decodedInstructionRawEvexX
+    <*> Store.element decodedInstructionRawEvexB
+    <*> Store.element decodedInstructionRawEvexR2
+    <*> Store.element decodedInstructionRawEvexMM
+    <*> Store.element decodedInstructionRawEvexW
+    <*> Store.element decodedInstructionRawEvexVVVV
+    <*> Store.element decodedInstructionRawEvexPP
+    <*> Store.element decodedInstructionRawEvexZ
+    <*> Store.element decodedInstructionRawEvexL2
+    <*> Store.element decodedInstructionRawEvexL
+    <*> Store.element decodedInstructionRawEvexB'
+    <*> Store.element decodedInstructionRawEvexV2
+    <*> Store.element decodedInstructionRawEvexAAA
+    <*> Store.element decodedInstructionRawEvexOffset
+
+instance Storable DecodedInstructionRawEvex where
+  alignment = Store.alignment decodedInstructionRawEvexStore
+  sizeOf    = Store.sizeOf decodedInstructionRawEvexStore
+  peek      = Store.peek decodedInstructionRawEvexStore
+  poke      = Store.poke decodedInstructionRawEvexStore
+
+data DecodedInstructionRawVex =
+  DecodedInstructionRawVex
+  { decodedInstructionRawVexR      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawVexX      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawVexB      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawVexMMMMM  :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawVexW      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawVexVVVV   :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawVexL      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawVexPP     :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawVexOffset :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawVexSize   :: {-# UNPACK #-}!Word8
+  }
+  deriving stock (Show, Eq)
+
+decodedInstructionRawVexStore :: Store.Dictionary DecodedInstructionRawVex
+decodedInstructionRawVexStore =
+  Store.run
+    $   DecodedInstructionRawVex
+    <$> Store.element decodedInstructionRawVexR
+    <*> Store.element decodedInstructionRawVexX
+    <*> Store.element decodedInstructionRawVexB
+    <*> Store.element decodedInstructionRawVexMMMMM
+    <*> Store.element decodedInstructionRawVexW
+    <*> Store.element decodedInstructionRawVexVVVV
+    <*> Store.element decodedInstructionRawVexL
+    <*> Store.element decodedInstructionRawVexPP
+    <*> Store.element decodedInstructionRawVexOffset
+    <*> Store.element decodedInstructionRawVexSize
+
+instance Storable DecodedInstructionRawVex where
+  alignment = Store.alignment decodedInstructionRawVexStore
+  sizeOf    = Store.sizeOf decodedInstructionRawVexStore
+  peek      = Store.peek decodedInstructionRawVexStore
+  poke      = Store.poke decodedInstructionRawVexStore
+
+data DecodedInstructionRawXop =
+  DecodedInstructionRawXop
+  { decodedInstructionRawXopR      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawXopX      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawXopB      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawXopMMMMM  :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawXopW      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawXopVVVV   :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawXopL      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawXopPP     :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawXopOffset :: {-# UNPACK #-}!Word8
+  }
+  deriving stock (Show, Eq)
+
+
+decodedInstructionRawXopStore :: Store.Dictionary DecodedInstructionRawXop
+decodedInstructionRawXopStore =
+  Store.run
+    $   DecodedInstructionRawXop
+    <$> Store.element decodedInstructionRawXopR
+    <*> Store.element decodedInstructionRawXopX
+    <*> Store.element decodedInstructionRawXopB
+    <*> Store.element decodedInstructionRawXopMMMMM
+    <*> Store.element decodedInstructionRawXopW
+    <*> Store.element decodedInstructionRawXopVVVV
+    <*> Store.element decodedInstructionRawXopL
+    <*> Store.element decodedInstructionRawXopPP
+    <*> Store.element decodedInstructionRawXopOffset
+
+instance Storable DecodedInstructionRawXop where
+  alignment = Store.alignment decodedInstructionRawXopStore
+  sizeOf    = Store.sizeOf decodedInstructionRawXopStore
+  peek      = Store.peek decodedInstructionRawXopStore
+  poke      = Store.poke decodedInstructionRawXopStore
+
+data DecodedInstructionRawRex =
+  DecodedInstructionRawRex
+  { decodedInstructionRawRexW      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawRexR      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawRexX      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawRexB      :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawRexOffset :: {-# UNPACK #-}!Word8
+  }
+  deriving stock (Show, Eq)
+
+decodedInstructionRawRexStore :: Store.Dictionary DecodedInstructionRawRex
+decodedInstructionRawRexStore =
+  Store.run
+    $   DecodedInstructionRawRex
+    <$> Store.element decodedInstructionRawRexW
+    <*> Store.element decodedInstructionRawRexR
+    <*> Store.element decodedInstructionRawRexX
+    <*> Store.element decodedInstructionRawRexB
+    <*> Store.element decodedInstructionRawRexOffset
+
+instance Storable DecodedInstructionRawRex where
+  alignment = Store.alignment decodedInstructionRawRexStore
+  sizeOf    = Store.sizeOf decodedInstructionRawRexStore
+  peek      = Store.peek decodedInstructionRawRexStore
+  poke      = Store.poke decodedInstructionRawRexStore
+
+data DecodedInstructionRawPrefix =
+  DecodedInstructionRawPrefix
+  { decodedInstructionRawPrefixType  :: !PrefixType
+  , decodedInstructionRawPrefixValue :: {-# UNPACK #-}!Word8
+  }
+  deriving stock (Show, Eq)
+
+decodedInstructionRawPrefixStore :: Store.Dictionary DecodedInstructionRawPrefix
+decodedInstructionRawPrefixStore =
+  Store.run
+    $   DecodedInstructionRawPrefix
+    <$> Store.element decodedInstructionRawPrefixType
+    <*> Store.element decodedInstructionRawPrefixValue
+
+instance Storable DecodedInstructionRawPrefix where
+  alignment = Store.alignment decodedInstructionRawPrefixStore
+  sizeOf    = Store.sizeOf decodedInstructionRawPrefixStore
+  peek      = Store.peek decodedInstructionRawPrefixStore
+  poke      = Store.poke decodedInstructionRawPrefixStore
+
+data DecodedInstructionRaw =
+  DecodedInstructionRaw
+  { decodedInstructionRawPrefixCount :: {-# UNPACK #-}!Word8
+  , decodedInstructionRawPrefixes    :: !(StorableFixedArray DecodedInstructionRawPrefix ZydisMaxInstructionLength)
+  , decodedInstructionRawRex         :: !DecodedInstructionRawRex
+  , decodedInstructionRawXop         :: !DecodedInstructionRawXop
+  , decodedInstructionRawVex         :: !DecodedInstructionRawVex
+  , decodedInstructionRawEvex        :: !DecodedInstructionRawEvex
+  , decodedInstructionRawMvex        :: !DecodedInstructionRawMvex
+  , decodedInstructionRawModRm       :: !DecodedInstructionModRm
+  , decodedInstructionRawSib         :: !DecodedInstructionRawSib
+  , decodedInstructionRawDisp        :: !DecodedInstructionRawDisp
+  , decodedInstructionRawImmediates  :: !(StorableFixedArray DecodedInstructionRawImmediate ZydisRawImmediateCount)
+  }
+  deriving stock (Show, Eq)
+
+decodedInstructionRawStore :: Store.Dictionary DecodedInstructionRaw
+decodedInstructionRawStore =
+  Store.run
+    $   DecodedInstructionRaw
+    <$> Store.element decodedInstructionRawPrefixCount
+    <*> Store.element decodedInstructionRawPrefixes
+    <*> Store.element decodedInstructionRawRex
+    <*> Store.element decodedInstructionRawXop
+    <*> Store.element decodedInstructionRawVex
+    <*> Store.element decodedInstructionRawEvex
+    <*> Store.element decodedInstructionRawMvex
+    <*> Store.element decodedInstructionRawModRm
+    <*> Store.element decodedInstructionRawSib
+    <*> Store.element decodedInstructionRawDisp
+    <*> Store.element decodedInstructionRawImmediates
+
+instance Storable DecodedInstructionRaw where
+  alignment = Store.alignment decodedInstructionRawStore
+  sizeOf    = Store.sizeOf decodedInstructionRawStore
+  peek      = Store.peek decodedInstructionRawStore
+  poke      = Store.poke decodedInstructionRawStore
+
+data DecodedInstructionMeta =
+  DecodedInstructionMeta
+    { decodedInstructionMetaCategory   :: !InstructionCategory
+    , decodedInstructionMetaISASet     :: !ISASet
+    , decodedInstructionMetaISAExt     :: !ISAExt
+    , decodedInstructionBranchType     :: !BranchType
+    , decodedInstructionExceptionClass :: !ExceptionClass
+    }
+  deriving stock (Show, Eq)
+
+decodedInstructionMetaStore :: Store.Dictionary DecodedInstructionMeta
+decodedInstructionMetaStore =
+  Store.run
+    $   DecodedInstructionMeta
+    <$> Store.element decodedInstructionMetaCategory
+    <*> Store.element decodedInstructionMetaISASet
+    <*> Store.element decodedInstructionMetaISAExt
+    <*> Store.element decodedInstructionBranchType
+    <*> Store.element decodedInstructionExceptionClass
+
+instance Storable DecodedInstructionMeta where
+  alignment = Store.alignment decodedInstructionMetaStore
+  sizeOf    = Store.sizeOf decodedInstructionMetaStore
+  peek      = Store.peek decodedInstructionMetaStore
+  poke      = Store.poke decodedInstructionMetaStore
+
+data DecodedInstructionAvxBroadcast =
+  DecodedInstructionAvxBroadcast
+    { decodedInstructionAvxBroadcastIsStatic :: {-# UNPACK #-}!Word8
+    , decodedInstructionAvxBroadcastMode     :: !BroadcastMode
+    }
+  deriving stock (Show, Eq)
+
+decodedInstructionAvxBroadcastStore
+  :: Store.Dictionary DecodedInstructionAvxBroadcast
+decodedInstructionAvxBroadcastStore =
+  Store.run
+    $   DecodedInstructionAvxBroadcast
+    <$> Store.element decodedInstructionAvxBroadcastIsStatic
+    <*> Store.element decodedInstructionAvxBroadcastMode
+
+instance Storable DecodedInstructionAvxBroadcast where
+  alignment = Store.alignment decodedInstructionAvxBroadcastStore
+  sizeOf    = Store.sizeOf decodedInstructionAvxBroadcastStore
+  peek      = Store.peek decodedInstructionAvxBroadcastStore
+  poke      = Store.poke decodedInstructionAvxBroadcastStore
+
+data DecodedInstructionAvxMask =
+  DecodedInstructionAvxMask
+    { decodedInstructionAvxMaskMode :: !MaskMode
+    , decodedInstructionAvxRegister :: !Register
+    }
+  deriving stock (Show, Eq)
+
+decodedInstructionAvxMaskStore :: Store.Dictionary DecodedInstructionAvxMask
+decodedInstructionAvxMaskStore =
+  Store.run
+    $   DecodedInstructionAvxMask
+    <$> Store.element decodedInstructionAvxMaskMode
+    <*> Store.element decodedInstructionAvxRegister
+
+instance Storable DecodedInstructionAvxMask where
+  alignment = Store.alignment decodedInstructionAvxMaskStore
+  sizeOf    = Store.sizeOf decodedInstructionAvxMaskStore
+  peek      = Store.peek decodedInstructionAvxMaskStore
+  poke      = Store.poke decodedInstructionAvxMaskStore
+
+data DecodedInstructionAvx =
+  DecodedInstructionAvx
+    { decodedInstructionAvxVectorLength    :: {-# UNPACK #-}!Word16
+    , decodedInstructionAvxMask            :: !DecodedInstructionAvxMask
+    , decodedInstructionAvxBroadcast       :: !DecodedInstructionAvxBroadcast
+    , decodedInstructionAvxRoundingMode    :: !RoundingMode
+    , decodedInstructionAvxSwizzleMode     :: !SwizzleMode
+    , decodedInstructionAvxConversionMode  :: !ConversionMode
+    , decodedInstructionAvxHasSAE          :: {-# UNPACK #-}!Word8
+    , decodedInstructionAvxHasEvictionHint :: {-# UNPACK #-}!Word8
+    }
+  deriving stock (Show, Eq)
+
+decodedInstructionAvxStore :: Store.Dictionary DecodedInstructionAvx
+decodedInstructionAvxStore =
+  Store.run
+    $   DecodedInstructionAvx
+    <$> Store.element decodedInstructionAvxVectorLength
+    <*> Store.element decodedInstructionAvxMask
+    <*> Store.element decodedInstructionAvxBroadcast
+    <*> Store.element decodedInstructionAvxRoundingMode
+    <*> Store.element decodedInstructionAvxSwizzleMode
+    <*> Store.element decodedInstructionAvxConversionMode
+    <*> Store.element decodedInstructionAvxHasSAE
+    <*> Store.element decodedInstructionAvxHasEvictionHint
+
+instance Storable DecodedInstructionAvx where
+  alignment = Store.alignment decodedInstructionAvxStore
+  sizeOf    = Store.sizeOf decodedInstructionAvxStore
+  peek      = Store.peek decodedInstructionAvxStore
+  poke      = Store.poke decodedInstructionAvxStore
+
+data DecodedInstruction =
+  DecodedInstruction
+    { decodedInstructionMachineMode   :: !MachineMode
+    , decodedInstructionMnemonic      :: !Mnemonic
+    , decodedInstructionLength        :: {-# UNPACK #-}!Word8
+    , decodedInstructionEncoding      :: !InstructionEncoding
+    , decodedInstructionOpcodeMap     :: !OpcodeMap
+    , decodedInstructionOpcode        :: {-# UNPACK #-}!Word8
+    , decodedInstructionStackWidth    :: {-# UNPACK #-}!Word8
+    , decodedInstructionOperandWidth  :: {-# UNPACK #-}!Word8
+    , decodedInstructionAddressWidth  :: {-# UNPACK #-}!Word8
+    , decodedInstructionOperandCount  :: {-# UNPACK #-}!Word8
+    , decodedInstructionOperands      :: !(StorableFixedArray Operand ZydisMaxOperandCount)
+    , decodedInstructionAttributes    :: {-# UNPACK #-}!Word64
+    , decodedInstructionAccessedFlags :: !(StorableFixedArray CPUFlagAction (ZydisCpuFlagMaxValue + 1))
+    , decodedInstructionAvx           :: !DecodedInstructionAvx
+    , decodedInstructionMeta          :: !DecodedInstructionMeta
+    , decodedInstructionRaw           :: !DecodedInstructionRaw
+    }
+  deriving stock (Show, Eq)
+
+decodedInstructionStore :: Store.Dictionary DecodedInstruction
+decodedInstructionStore =
+  Store.run
+    $   DecodedInstruction
+    <$> Store.element decodedInstructionMachineMode
+    <*> Store.element decodedInstructionMnemonic
+    <*> Store.element decodedInstructionLength
+    <*> Store.element decodedInstructionEncoding
+    <*> Store.element decodedInstructionOpcodeMap
+    <*> Store.element decodedInstructionOpcode
+    <*> Store.element decodedInstructionStackWidth
+    <*> Store.element decodedInstructionOperandWidth
+    <*> Store.element decodedInstructionAddressWidth
+    <*> Store.element decodedInstructionOperandCount
+    <*> Store.element decodedInstructionOperands
+    <*> Store.element decodedInstructionAttributes
+    <*> Store.element decodedInstructionAccessedFlags
+    <*> Store.element decodedInstructionAvx
+    <*> Store.element decodedInstructionMeta
+    <*> Store.element decodedInstructionRaw
+
+instance Storable DecodedInstruction where
+  alignment = Store.alignment decodedInstructionStore
+  sizeOf    = Store.sizeOf decodedInstructionStore
+  peek      = Store.peek decodedInstructionStore
+  poke      = Store.poke decodedInstructionStore
+
+data Decoder =
+  Decoder
+    { decoderMachineMode  :: !MachineMode
+    , decoderAddressWidth :: !AddressWidth
+    , decoderDecoderMode  :: {-# UNPACK #-}!Word8
+    }
+  deriving stock (Show, Eq)
+
+decoderStore :: Store.Dictionary Decoder
+decoderStore =
+  Store.run
+    $   Decoder
+    <$> Store.element decoderMachineMode
+    <*> Store.element decoderAddressWidth
+    <*> Store.element decoderDecoderMode
+
+instance Storable Decoder where
+  alignment = Store.alignment decoderStore
+  sizeOf    = Store.sizeOf decoderStore
+  peek      = Store.peek decoderStore
+  poke      = Store.poke decoderStore
diff --git a/src/Zydis/Util.hs b/src/Zydis/Util.hs
new file mode 100644
--- /dev/null
+++ b/src/Zydis/Util.hs
@@ -0,0 +1,99 @@
+-- Util.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE DerivingStrategies  #-}
+{-# LANGUAGE FlexibleInstances   #-}
+{-# LANGUAGE PolyKinds           #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE TypeApplications    #-}
+
+-- |
+-- = This handy module extend Storable typeclasse with default instances for C-like enums/fixed arrays (FFI).
+--
+-- Using 'StorableExt', we are now able to use deriving via clause on sum types.
+--
+-- @
+-- data X
+--   = A
+--   | B
+--   | C
+--   deriving stock Enum
+--   deriving Storable via StorableExt X
+-- @
+--
+-- This type will be stored as a word32 (C enum FFI).
+--
+-- Using the 'StorableFixedArray', we are now able to encode fixed sizes in the type (in conjunction with storable-record "Foreign.Storable.FixedArray").
+--
+-- @
+-- data X = X (StorableFixedArray Word32 10)
+-- @
+--
+-- This type will be stored as 10 contiguous word32 (C fixed array).
+--
+module Zydis.Util
+  ( StorableExt(..)
+  , StorableFixedArray(..)
+  , Storable
+  )
+where
+
+import           Data.Foldable
+import           Data.Proxy
+import           Data.Vector
+import           Data.Word
+import           Foreign.Ptr
+import           Foreign.Storable
+import qualified Foreign.Storable.FixedArray   as Fixed
+import           GHC.TypeLits
+
+
+-- | Wrapper to extend storable default instances.
+newtype StorableExt a =
+  StorableExt
+    { unStorableExt :: a
+    }
+  deriving stock (Show, Eq)
+
+instance forall a. Enum a => Storable (StorableExt a) where
+  alignment = const $ alignment @Word32 undefined
+  sizeOf = const $ sizeOf @Word32 undefined
+  peek = fmap (StorableExt . toEnum . fromIntegral) . peek . castPtr @_ @Word32
+  poke ptr v =
+    poke (castPtr @_ @Word32 ptr) (fromIntegral $ fromEnum $ unStorableExt v)
+
+-- | Wrapper to extend storable default instances.
+newtype StorableFixedArray a b =
+  StorableFixedArray
+    { unStorableFixedArray :: Vector a
+    }
+  deriving stock (Show, Eq)
+
+instance forall a b. (Storable a, KnownNat b) => Storable (StorableFixedArray a b) where
+  alignment = const $ alignment @a undefined
+  sizeOf =
+    const $ Fixed.sizeOfArray @a (fromIntegral $ natVal (Proxy @b)) undefined
+  peek ptr = StorableFixedArray <$> Fixed.run ptr' loop
+   where
+    ptr' = castPtr ptr
+    loop = replicateM (fromIntegral $ natVal (Proxy @b)) Fixed.peekNext
+  poke ptr x = Fixed.run ptr' $ loop $ unStorableFixedArray x
+   where
+    ptr' = castPtr ptr
+    loop = traverse_ Fixed.pokeNext
diff --git a/src_c/ZycoreExportConfig.h b/src_c/ZycoreExportConfig.h
new file mode 100644
--- /dev/null
+++ b/src_c/ZycoreExportConfig.h
@@ -0,0 +1,41 @@
+#ifndef ZYCORE_EXPORT_H
+#define ZYCORE_EXPORT_H
+
+#ifdef ZYCORE_STATIC_DEFINE
+#  define ZYCORE_EXPORT
+#  define ZYCORE_NO_EXPORT
+#else
+#  ifndef ZYCORE_EXPORT
+#    ifdef Zycore_EXPORTS
+/* We are building this library */
+#      define ZYCORE_EXPORT
+#    else
+/* We are using this library */
+#      define ZYCORE_EXPORT
+#    endif
+#  endif
+
+#  ifndef ZYCORE_NO_EXPORT
+#    define ZYCORE_NO_EXPORT
+#  endif
+#endif
+
+#ifndef ZYCORE_DEPRECATED
+#  define ZYCORE_DEPRECATED __attribute__ ((__deprecated__))
+#endif
+
+#ifndef ZYCORE_DEPRECATED_EXPORT
+#  define ZYCORE_DEPRECATED_EXPORT ZYCORE_EXPORT ZYCORE_DEPRECATED
+#endif
+
+#ifndef ZYCORE_DEPRECATED_NO_EXPORT
+#  define ZYCORE_DEPRECATED_NO_EXPORT ZYCORE_NO_EXPORT ZYCORE_DEPRECATED
+#endif
+
+#if 0 /* DEFINE_NO_DEPRECATED */
+#  ifndef ZYCORE_NO_DEPRECATED
+#    define ZYCORE_NO_DEPRECATED
+#  endif
+#endif
+
+#endif /* ZYCORE_EXPORT_H */
diff --git a/src_c/ZydisExportConfig.h b/src_c/ZydisExportConfig.h
new file mode 100644
--- /dev/null
+++ b/src_c/ZydisExportConfig.h
@@ -0,0 +1,41 @@
+#ifndef ZYDIS_EXPORT_H
+#define ZYDIS_EXPORT_H
+
+#ifdef ZYDIS_STATIC_DEFINE
+#  define ZYDIS_EXPORT
+#  define ZYDIS_NO_EXPORT
+#else
+#  ifndef ZYDIS_EXPORT
+#    ifdef Zydis_EXPORTS
+/* We are building this library */
+#      define ZYDIS_EXPORT __attribute__((visibility("default")))
+#    else
+/* We are using this library */
+#      define ZYDIS_EXPORT __attribute__((visibility("default")))
+#    endif
+#  endif
+
+#  ifndef ZYDIS_NO_EXPORT
+#    define ZYDIS_NO_EXPORT __attribute__((visibility("hidden")))
+#  endif
+#endif
+
+#ifndef ZYDIS_DEPRECATED
+#  define ZYDIS_DEPRECATED __attribute__ ((__deprecated__))
+#endif
+
+#ifndef ZYDIS_DEPRECATED_EXPORT
+#  define ZYDIS_DEPRECATED_EXPORT ZYDIS_EXPORT ZYDIS_DEPRECATED
+#endif
+
+#ifndef ZYDIS_DEPRECATED_NO_EXPORT
+#  define ZYDIS_DEPRECATED_NO_EXPORT ZYDIS_NO_EXPORT ZYDIS_DEPRECATED
+#endif
+
+#if 0 /* DEFINE_NO_DEPRECATED */
+#  ifndef ZYDIS_NO_DEPRECATED
+#    define ZYDIS_NO_DEPRECATED
+#  endif
+#endif
+
+#endif /* ZYDIS_EXPORT_H */
diff --git a/test/Main.hs b/test/Main.hs
new file mode 100644
--- /dev/null
+++ b/test/Main.hs
@@ -0,0 +1,56 @@
+-- Main.hs ---
+
+-- Copyright (C) 2020 Nerd Ed
+
+-- Author: Nerd Ed <nerded.nerded@gmail.com>
+
+-- This program is free software; you can redistribute it and/or
+-- modify it under the terms of the GNU General Public License
+-- as published by the Free Software Foundation; either version 3
+-- of the License, or (at your option) any later version.
+
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+
+-- You should have received a copy of the GNU General Public License
+-- along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+{-# LANGUAGE OverloadedStrings #-}
+
+module Main where
+
+import           Data.Bitraversable
+import           Data.Bifoldable
+import qualified Zydis                         as Z
+
+main :: IO ()
+main = test
+
+test :: IO ()
+test = bitraverse_ initFailure decode =<< initZydis
+ where
+  zyanError s = putStrLn . ((s <> ". ZyanStatus: ") <>) . show
+
+  initFailure     = zyanError "Failed to initialize decoder"
+
+  initZydis       = Z.initialize Z.MachineModeLong64 Z.AddressWidth64
+
+  {-
+     mov rax, 0xCAFEBABECAFEBABE
+     push rax
+     ret
+  -}
+  buffer          = "\x48\xB8\xBE\xBA\xFE\xCA\xBE\xBA\xFE\xCA\x50\xC3"
+
+  decodingFailure = zyanError "Failed to decode buffer"
+
+  {-
+      Given the decoded buffer, should output: [MnemonicMov,MnemonicPush,MnemonicRet]
+  -}
+  printMnemonics  = print . fmap Z.decodedInstructionMnemonic
+
+  decode decoder =
+    bitraverse decodingFailure printMnemonics
+      =<< Z.decodeFullBuffer decoder buffer
diff --git a/zydiskell.cabal b/zydiskell.cabal
new file mode 100644
--- /dev/null
+++ b/zydiskell.cabal
@@ -0,0 +1,161 @@
+cabal-version: 1.12
+
+-- This file has been generated from package.yaml by hpack version 0.34.2.
+--
+-- see: https://github.com/sol/hpack
+
+name:           zydiskell
+version:        0.1.0.0
+synopsis:       Haskell language binding for the Zydis library, a x86/x86-64 disassembler.
+description:    Please see the README on GitHub at <https://github.com/nerded1337/zydiskell#readme>
+category:       System, Parsing, Disassembler
+homepage:       https://github.com/nerded1337/zydiskell#readme
+bug-reports:    https://github.com/nerded1337/zydiskell/issues
+author:         nerded
+maintainer:     nerded.nerded@gmail.com
+copyright:      2020 nerded
+license:        GPL-3
+license-file:   LICENSE
+build-type:     Simple
+extra-source-files:
+    README.md
+    ChangeLog.md
+
+source-repository head
+  type: git
+  location: https://github.com/nerded1337/zydiskell
+
+library
+  exposed-modules:
+      Zydis
+      Zydis.AddressWidth
+      Zydis.BranchType
+      Zydis.BroadcastMode
+      Zydis.Constants
+      Zydis.ConversionMode
+      Zydis.CPUFlagAction
+      Zydis.Decoder
+      Zydis.ElementType
+      Zydis.ExceptionClass
+      Zydis.InstructionCategory
+      Zydis.InstructionEncoding
+      Zydis.ISAExt
+      Zydis.ISASet
+      Zydis.MachineMode
+      Zydis.MaskMode
+      Zydis.Mnemonic
+      Zydis.OpcodeMap
+      Zydis.Operand
+      Zydis.OperandEncoding
+      Zydis.OperandMemoryType
+      Zydis.OperandType
+      Zydis.OperandVisibility
+      Zydis.PrefixType
+      Zydis.Register
+      Zydis.RoundingMode
+      Zydis.SwizzleMode
+      Zydis.Types
+      Zydis.Util
+  other-modules:
+      Paths_zydiskell
+  hs-source-dirs:
+      src
+  ghc-options: -Wall
+  include-dirs:
+      ./src_c
+      ./external/zydis/src
+      ./external/zydis/include
+      ./external/zydis/dependencies/zycore/include
+  install-includes:
+      ./src_c/ZydisExportConfig.h
+      ./src_c/ZycoreExportConfig.h
+      ./external/zydis/src/Generated/AccessedFlags.inc
+      ./external/zydis/src/Generated/DecoderTables.inc
+      ./external/zydis/src/Generated/EncodableInstructions.inc
+      ./external/zydis/src/Generated/EnumISAExt.inc
+      ./external/zydis/src/Generated/EnumISASet.inc
+      ./external/zydis/src/Generated/EnumInstructionCategory.inc
+      ./external/zydis/src/Generated/EnumMnemonic.inc
+      ./external/zydis/src/Generated/EnumRegister.inc
+      ./external/zydis/src/Generated/FormatterStrings.inc
+      ./external/zydis/src/Generated/InstructionDefinitions.inc
+      ./external/zydis/src/Generated/InstructionEncodings.inc
+      ./external/zydis/src/Generated/OperandDefinitions.inc
+      ./external/zydis/include/Zydis/Decoder.h
+      ./external/zydis/include/Zydis/DecoderTypes.h
+      ./external/zydis/include/Zydis/Formatter.h
+      ./external/zydis/include/Zydis/FormatterBuffer.h
+      ./external/zydis/include/Zydis/MetaInfo.h
+      ./external/zydis/include/Zydis/Mnemonic.h
+      ./external/zydis/include/Zydis/Register.h
+      ./external/zydis/include/Zydis/SharedTypes.h
+      ./external/zydis/include/Zydis/ShortString.h
+      ./external/zydis/include/Zydis/Status.h
+      ./external/zydis/include/Zydis/Utils.h
+      ./external/zydis/include/Zydis/Zydis.h
+      ./external/zydis/include/Zydis/Generated/EnumInstructionCategory.h
+      ./external/zydis/include/Zydis/Generated/EnumISAExt.h
+      ./external/zydis/include/Zydis/Generated/EnumISASet.h
+      ./external/zydis/include/Zydis/Generated/EnumMnemonic.h
+      ./external/zydis/include/Zydis/Generated/EnumRegister.h
+      ./external/zydis/include/Zydis/Internal/DecoderData.h
+      ./external/zydis/include/Zydis/Internal/FormatterATT.h
+      ./external/zydis/include/Zydis/Internal/FormatterBase.h
+      ./external/zydis/include/Zydis/Internal/FormatterIntel.h
+      ./external/zydis/include/Zydis/Internal/SharedData.h
+      ./external/zydis/include/Zydis/Internal/String.h
+      ./external/zydis/dependencies/zycore/include/Zycore/Allocator.h
+      ./external/zydis/dependencies/zycore/include/Zycore/ArgParse.h
+      ./external/zydis/dependencies/zycore/include/Zycore/Bitset.h
+      ./external/zydis/dependencies/zycore/include/Zycore/Comparison.h
+      ./external/zydis/dependencies/zycore/include/Zycore/Defines.h
+      ./external/zydis/dependencies/zycore/include/Zycore/Format.h
+      ./external/zydis/dependencies/zycore/include/Zycore/LibC.h
+      ./external/zydis/dependencies/zycore/include/Zycore/List.h
+      ./external/zydis/dependencies/zycore/include/Zycore/Object.h
+      ./external/zydis/dependencies/zycore/include/Zycore/Status.h
+      ./external/zydis/dependencies/zycore/include/Zycore/String.h
+      ./external/zydis/dependencies/zycore/include/Zycore/Types.h
+      ./external/zydis/dependencies/zycore/include/Zycore/Vector.h
+      ./external/zydis/dependencies/zycore/include/Zycore/Zycore.h
+      ./external/zydis/dependencies/zycore/include/Zycore/API/Memory.h
+      ./external/zydis/dependencies/zycore/include/Zycore/API/Synchronization.h
+      ./external/zydis/dependencies/zycore/include/Zycore/API/Terminal.h
+      ./external/zydis/dependencies/zycore/include/Zycore/API/Thread.h
+  c-sources:
+      ./external/zydis/src/Decoder.c
+      ./external/zydis/src/DecoderData.c
+      ./external/zydis/src/Formatter.c
+      ./external/zydis/src/FormatterATT.c
+      ./external/zydis/src/FormatterBase.c
+      ./external/zydis/src/FormatterBuffer.c
+      ./external/zydis/src/FormatterIntel.c
+      ./external/zydis/src/MetaInfo.c
+      ./external/zydis/src/Mnemonic.c
+      ./external/zydis/src/Register.c
+      ./external/zydis/src/SharedData.c
+      ./external/zydis/src/String.c
+      ./external/zydis/src/Utils.c
+      ./external/zydis/src/Zydis.c
+  build-depends:
+      base >=4.7 && <4.15
+    , bytestring >=0.10 && <0.11
+    , storable-record >=0.0.5 && <0.0.6
+    , vector >=0.12 && <0.13
+  default-language: Haskell2010
+
+test-suite zydiskell-tests
+  type: exitcode-stdio-1.0
+  main-is: Main.hs
+  other-modules:
+      Paths_zydiskell
+  hs-source-dirs:
+      test
+  ghc-options: -Wall
+  build-depends:
+      base >=4.7 && <4.15
+    , bytestring >=0.10 && <0.11
+    , storable-record >=0.0.5 && <0.0.6
+    , vector >=0.12 && <0.13
+    , zydiskell
+  default-language: Haskell2010
