contrast-agent 3.8.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.clang-format +5 -0
- data/.dockerignore +10 -0
- data/.gitignore +58 -0
- data/.gitmodules +6 -0
- data/.rspec +6 -0
- data/.simplecov +4 -0
- data/Gemfile +7 -0
- data/LICENSE.txt +12 -0
- data/Rakefile +15 -0
- data/exe/contrast_service +29 -0
- data/ext/build_funchook.rb +48 -0
- data/ext/cs__assess_active_record_named/cs__active_record_named.c +47 -0
- data/ext/cs__assess_active_record_named/cs__active_record_named.h +10 -0
- data/ext/cs__assess_active_record_named/extconf.rb +2 -0
- data/ext/cs__assess_array/cs__assess_array.c +38 -0
- data/ext/cs__assess_array/cs__assess_array.h +9 -0
- data/ext/cs__assess_array/extconf.rb +2 -0
- data/ext/cs__assess_basic_object/cs__assess_basic_object.c +50 -0
- data/ext/cs__assess_basic_object/cs__assess_basic_object.h +17 -0
- data/ext/cs__assess_basic_object/extconf.rb +2 -0
- data/ext/cs__assess_fiber_track/cs__assess_fiber_track.c +86 -0
- data/ext/cs__assess_fiber_track/cs__assess_fiber_track.h +34 -0
- data/ext/cs__assess_fiber_track/extconf.rb +2 -0
- data/ext/cs__assess_hash/cs__assess_hash.c +64 -0
- data/ext/cs__assess_hash/cs__assess_hash.h +24 -0
- data/ext/cs__assess_hash/extconf.rb +2 -0
- data/ext/cs__assess_kernel/cs__assess_kernel.c +36 -0
- data/ext/cs__assess_kernel/cs__assess_kernel.h +10 -0
- data/ext/cs__assess_kernel/extconf.rb +2 -0
- data/ext/cs__assess_marshal_module/cs__assess_marshal_module.c +47 -0
- data/ext/cs__assess_marshal_module/cs__assess_marshal_module.h +18 -0
- data/ext/cs__assess_marshal_module/extconf.rb +2 -0
- data/ext/cs__assess_module/cs__assess_module.c +78 -0
- data/ext/cs__assess_module/cs__assess_module.h +25 -0
- data/ext/cs__assess_module/extconf.rb +2 -0
- data/ext/cs__assess_regexp/cs__assess_regexp.c +48 -0
- data/ext/cs__assess_regexp/cs__assess_regexp.h +22 -0
- data/ext/cs__assess_regexp/extconf.rb +2 -0
- data/ext/cs__assess_regexp_track/cs__assess_regexp_track.c +63 -0
- data/ext/cs__assess_regexp_track/cs__assess_regexp_track.h +29 -0
- data/ext/cs__assess_regexp_track/extconf.rb +2 -0
- data/ext/cs__assess_string/cs__assess_string.c +38 -0
- data/ext/cs__assess_string/cs__assess_string.h +19 -0
- data/ext/cs__assess_string/extconf.rb +2 -0
- data/ext/cs__assess_string_interpolation26/cs__assess_string_interpolation26.c +31 -0
- data/ext/cs__assess_string_interpolation26/cs__assess_string_interpolation26.h +13 -0
- data/ext/cs__assess_string_interpolation26/extconf.rb +2 -0
- data/ext/cs__common/cs__common.c +60 -0
- data/ext/cs__common/cs__common.h +28 -0
- data/ext/cs__common/extconf.rb +20 -0
- data/ext/cs__contrast_patch/cs__contrast_patch.c +445 -0
- data/ext/cs__contrast_patch/cs__contrast_patch.h +196 -0
- data/ext/cs__contrast_patch/extconf.rb +2 -0
- data/ext/cs__protect_kernel/cs__protect_kernel.c +37 -0
- data/ext/cs__protect_kernel/cs__protect_kernel.h +11 -0
- data/ext/cs__protect_kernel/extconf.rb +2 -0
- data/ext/cs__scope/cs__scope.c +96 -0
- data/ext/cs__scope/cs__scope.h +33 -0
- data/ext/cs__scope/extconf.rb +2 -0
- data/ext/extconf_common.rb +49 -0
- data/funchook/LICENSE +360 -0
- data/funchook/Makefile +29 -0
- data/funchook/Makefile.in +29 -0
- data/funchook/README.md +121 -0
- data/funchook/appveyor.yml +42 -0
- data/funchook/autogen.sh +3 -0
- data/funchook/autom4te.cache/output.0 +4976 -0
- data/funchook/autom4te.cache/requests +78 -0
- data/funchook/autom4te.cache/traces.0 +364 -0
- data/funchook/config.guess +1530 -0
- data/funchook/config.log +490 -0
- data/funchook/config.status +1016 -0
- data/funchook/config.sub +1773 -0
- data/funchook/configure +4976 -0
- data/funchook/configure.ac +59 -0
- data/funchook/distorm/COPYING +26 -0
- data/funchook/distorm/MANIFEST +25 -0
- data/funchook/distorm/MANIFEST.in +4 -0
- data/funchook/distorm/README.md +12 -0
- data/funchook/distorm/disOps/disOps.py +795 -0
- data/funchook/distorm/disOps/x86db.py +404 -0
- data/funchook/distorm/disOps/x86header.py +247 -0
- data/funchook/distorm/disOps/x86sets.py +1664 -0
- data/funchook/distorm/examples/cs/TestdiStorm/Program.cs +79 -0
- data/funchook/distorm/examples/cs/TestdiStorm/Properties/AssemblyInfo.cs +36 -0
- data/funchook/distorm/examples/cs/TestdiStorm/TestdiStorm.csproj +69 -0
- data/funchook/distorm/examples/cs/distorm-net.sln +26 -0
- data/funchook/distorm/examples/cs/distorm-net/CodeInfo.cs +23 -0
- data/funchook/distorm/examples/cs/distorm-net/DecodedInst.cs +15 -0
- data/funchook/distorm/examples/cs/distorm-net/DecodedResult.cs +14 -0
- data/funchook/distorm/examples/cs/distorm-net/DecomposedInst.cs +36 -0
- data/funchook/distorm/examples/cs/distorm-net/DecomposedResult.cs +14 -0
- data/funchook/distorm/examples/cs/distorm-net/Opcodes.cs +1268 -0
- data/funchook/distorm/examples/cs/distorm-net/Opcodes.tt +37 -0
- data/funchook/distorm/examples/cs/distorm-net/Operand.cs +25 -0
- data/funchook/distorm/examples/cs/distorm-net/Properties/AssemblyInfo.cs +36 -0
- data/funchook/distorm/examples/cs/distorm-net/diStorm3.cs +411 -0
- data/funchook/distorm/examples/cs/distorm-net/distorm-net.csproj +80 -0
- data/funchook/distorm/examples/cs/readme +3 -0
- data/funchook/distorm/examples/ddk/README +48 -0
- data/funchook/distorm/examples/ddk/distorm.ini +11 -0
- data/funchook/distorm/examples/ddk/dummy.c +15 -0
- data/funchook/distorm/examples/ddk/main.c +91 -0
- data/funchook/distorm/examples/ddk/makefile +1 -0
- data/funchook/distorm/examples/ddk/sources +10 -0
- data/funchook/distorm/examples/java/Makefile +23 -0
- data/funchook/distorm/examples/java/distorm/src/Main.java +43 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/CodeInfo.java +27 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/DecodedInst.java +32 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/DecodedResult.java +11 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/DecomposedInst.java +89 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/DecomposedResult.java +11 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/OpcodeEnum.java +131 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/Opcodes.java +1123 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/Operand.java +24 -0
- data/funchook/distorm/examples/java/distorm/src/diStorm3/distorm3.java +41 -0
- data/funchook/distorm/examples/java/jdistorm.c +405 -0
- data/funchook/distorm/examples/java/jdistorm.h +40 -0
- data/funchook/distorm/examples/java/jdistorm.sln +20 -0
- data/funchook/distorm/examples/java/jdistorm.vcproj +208 -0
- data/funchook/distorm/examples/linux/Makefile +15 -0
- data/funchook/distorm/examples/linux/main.c +181 -0
- data/funchook/distorm/examples/tests/Makefile +15 -0
- data/funchook/distorm/examples/tests/main.cpp +42 -0
- data/funchook/distorm/examples/tests/main.py +66 -0
- data/funchook/distorm/examples/tests/test_distorm3.py +1672 -0
- data/funchook/distorm/examples/tests/tests.sln +20 -0
- data/funchook/distorm/examples/tests/tests.vcxproj +82 -0
- data/funchook/distorm/examples/tests/tests.vcxproj.filters +22 -0
- data/funchook/distorm/examples/win32/disasm.sln +25 -0
- data/funchook/distorm/examples/win32/disasm.vcxproj +201 -0
- data/funchook/distorm/examples/win32/disasm.vcxproj.filters +14 -0
- data/funchook/distorm/examples/win32/main.cpp +163 -0
- data/funchook/distorm/include/distorm.h +482 -0
- data/funchook/distorm/include/mnemonics.h +301 -0
- data/funchook/distorm/make/linux/Makefile +28 -0
- data/funchook/distorm/make/mac/Makefile +24 -0
- data/funchook/distorm/make/win32/cdistorm.vcxproj +239 -0
- data/funchook/distorm/make/win32/cdistorm.vcxproj.filters +80 -0
- data/funchook/distorm/make/win32/distorm.sln +25 -0
- data/funchook/distorm/make/win32/resource.h +14 -0
- data/funchook/distorm/make/win32/resource.rc +99 -0
- data/funchook/distorm/python/distorm3/__init__.py +957 -0
- data/funchook/distorm/python/distorm3/sample.py +51 -0
- data/funchook/distorm/setup.cfg +10 -0
- data/funchook/distorm/setup.py +266 -0
- data/funchook/distorm/src/config.h +169 -0
- data/funchook/distorm/src/decoder.c +641 -0
- data/funchook/distorm/src/decoder.h +33 -0
- data/funchook/distorm/src/distorm.c +413 -0
- data/funchook/distorm/src/instructions.c +597 -0
- data/funchook/distorm/src/instructions.h +463 -0
- data/funchook/distorm/src/insts.c +7939 -0
- data/funchook/distorm/src/insts.h +64 -0
- data/funchook/distorm/src/mnemonics.c +284 -0
- data/funchook/distorm/src/operands.c +1290 -0
- data/funchook/distorm/src/operands.h +28 -0
- data/funchook/distorm/src/prefix.c +368 -0
- data/funchook/distorm/src/prefix.h +64 -0
- data/funchook/distorm/src/textdefs.c +172 -0
- data/funchook/distorm/src/textdefs.h +57 -0
- data/funchook/distorm/src/wstring.c +47 -0
- data/funchook/distorm/src/wstring.h +35 -0
- data/funchook/distorm/src/x86defs.h +82 -0
- data/funchook/include/funchook.h +123 -0
- data/funchook/install-sh +527 -0
- data/funchook/src/Makefile +70 -0
- data/funchook/src/Makefile.in +70 -0
- data/funchook/src/__strerror.h +109 -0
- data/funchook/src/config.h +101 -0
- data/funchook/src/config.h.in +100 -0
- data/funchook/src/decoder.o +0 -0
- data/funchook/src/distorm.o +0 -0
- data/funchook/src/funchook.c +440 -0
- data/funchook/src/funchook.o +0 -0
- data/funchook/src/funchook_internal.h +155 -0
- data/funchook/src/funchook_io.c +182 -0
- data/funchook/src/funchook_io.h +64 -0
- data/funchook/src/funchook_io.o +0 -0
- data/funchook/src/funchook_syscall.S +134 -0
- data/funchook/src/funchook_syscall.o +0 -0
- data/funchook/src/funchook_unix.c +480 -0
- data/funchook/src/funchook_unix.o +0 -0
- data/funchook/src/funchook_windows.c +397 -0
- data/funchook/src/funchook_x86.c +622 -0
- data/funchook/src/funchook_x86.o +0 -0
- data/funchook/src/instructions.o +0 -0
- data/funchook/src/insts.o +0 -0
- data/funchook/src/libfunchook.so +0 -0
- data/funchook/src/mnemonics.o +0 -0
- data/funchook/src/operands.o +0 -0
- data/funchook/src/os_func.c +115 -0
- data/funchook/src/os_func.h +75 -0
- data/funchook/src/os_func.o +0 -0
- data/funchook/src/os_func_unix.c +94 -0
- data/funchook/src/os_func_unix.o +0 -0
- data/funchook/src/os_func_windows.c +32 -0
- data/funchook/src/prefix.o +0 -0
- data/funchook/src/printf_base.c +1688 -0
- data/funchook/src/printf_base.h +46 -0
- data/funchook/src/printf_base.o +0 -0
- data/funchook/src/textdefs.o +0 -0
- data/funchook/src/wstring.o +0 -0
- data/funchook/test/Makefile +43 -0
- data/funchook/test/Makefile.in +43 -0
- data/funchook/test/funchook_test +0 -0
- data/funchook/test/libfunchook_test.c +25 -0
- data/funchook/test/libfunchook_test.so +0 -0
- data/funchook/test/libfunchook_test2.c +18 -0
- data/funchook/test/suffix.list +600 -0
- data/funchook/test/test_main.c +430 -0
- data/funchook/test/test_main.o +0 -0
- data/funchook/test/x86_64_test.S +10 -0
- data/funchook/test/x86_64_test.o +0 -0
- data/funchook/test/x86_test.S +339 -0
- data/funchook/win32/config.h +1 -0
- data/funchook/win32/funchook.sln +52 -0
- data/funchook/win32/funchook.vcxproj +188 -0
- data/funchook/win32/funchook.vcxproj.filters +84 -0
- data/funchook/win32/funchook_test.vcxproj +170 -0
- data/funchook/win32/funchook_test.vcxproj.filters +22 -0
- data/funchook/win32/funchook_test_dll.vcxproj +184 -0
- data/funchook/win32/funchook_test_dll.vcxproj.filters +30 -0
- data/funchook/win32/funchook_test_exe.def +3 -0
- data/lib/contrast-agent.rb +8 -0
- data/lib/contrast.rb +57 -0
- data/lib/contrast/agent.rb +80 -0
- data/lib/contrast/agent/assess.rb +45 -0
- data/lib/contrast/agent/assess/adjusted_span.rb +25 -0
- data/lib/contrast/agent/assess/class_reverter.rb +82 -0
- data/lib/contrast/agent/assess/contrast_event.rb +398 -0
- data/lib/contrast/agent/assess/frozen_properties.rb +41 -0
- data/lib/contrast/agent/assess/insulator.rb +53 -0
- data/lib/contrast/agent/assess/policy/dynamic_source_factory.rb +78 -0
- data/lib/contrast/agent/assess/policy/patcher.rb +85 -0
- data/lib/contrast/agent/assess/policy/policy.rb +116 -0
- data/lib/contrast/agent/assess/policy/policy_node.rb +289 -0
- data/lib/contrast/agent/assess/policy/policy_scanner.rb +44 -0
- data/lib/contrast/agent/assess/policy/preshift.rb +94 -0
- data/lib/contrast/agent/assess/policy/propagation_method.rb +260 -0
- data/lib/contrast/agent/assess/policy/propagation_node.rb +127 -0
- data/lib/contrast/agent/assess/policy/propagator.rb +35 -0
- data/lib/contrast/agent/assess/policy/propagator/append.rb +54 -0
- data/lib/contrast/agent/assess/policy/propagator/base.rb +37 -0
- data/lib/contrast/agent/assess/policy/propagator/center.rb +73 -0
- data/lib/contrast/agent/assess/policy/propagator/custom.rb +36 -0
- data/lib/contrast/agent/assess/policy/propagator/database_write.rb +62 -0
- data/lib/contrast/agent/assess/policy/propagator/insert.rb +55 -0
- data/lib/contrast/agent/assess/policy/propagator/keep.rb +26 -0
- data/lib/contrast/agent/assess/policy/propagator/next.rb +42 -0
- data/lib/contrast/agent/assess/policy/propagator/prepend.rb +50 -0
- data/lib/contrast/agent/assess/policy/propagator/remove.rb +76 -0
- data/lib/contrast/agent/assess/policy/propagator/replace.rb +27 -0
- data/lib/contrast/agent/assess/policy/propagator/reverse.rb +38 -0
- data/lib/contrast/agent/assess/policy/propagator/select.rb +86 -0
- data/lib/contrast/agent/assess/policy/propagator/splat.rb +60 -0
- data/lib/contrast/agent/assess/policy/propagator/split.rb +49 -0
- data/lib/contrast/agent/assess/policy/propagator/substitution.rb +169 -0
- data/lib/contrast/agent/assess/policy/propagator/trim.rb +81 -0
- data/lib/contrast/agent/assess/policy/rewriter_patch.rb +79 -0
- data/lib/contrast/agent/assess/policy/source_method.rb +209 -0
- data/lib/contrast/agent/assess/policy/source_node.rb +62 -0
- data/lib/contrast/agent/assess/policy/trigger_method.rb +209 -0
- data/lib/contrast/agent/assess/policy/trigger_node.rb +198 -0
- data/lib/contrast/agent/assess/policy/trigger_validation/ssrf_validator.rb +77 -0
- data/lib/contrast/agent/assess/policy/trigger_validation/trigger_validation.rb +31 -0
- data/lib/contrast/agent/assess/policy/trigger_validation/xss_validator.rb +40 -0
- data/lib/contrast/agent/assess/properties.rb +392 -0
- data/lib/contrast/agent/assess/rule.rb +18 -0
- data/lib/contrast/agent/assess/rule/base.rb +72 -0
- data/lib/contrast/agent/assess/rule/csrf.rb +66 -0
- data/lib/contrast/agent/assess/rule/csrf/csrf_action.rb +28 -0
- data/lib/contrast/agent/assess/rule/csrf/csrf_applicator.rb +69 -0
- data/lib/contrast/agent/assess/rule/csrf/csrf_watcher.rb +132 -0
- data/lib/contrast/agent/assess/rule/provider.rb +21 -0
- data/lib/contrast/agent/assess/rule/provider/hardcoded_key.rb +62 -0
- data/lib/contrast/agent/assess/rule/provider/hardcoded_password.rb +73 -0
- data/lib/contrast/agent/assess/rule/provider/hardcoded_value_rule.rb +121 -0
- data/lib/contrast/agent/assess/rule/redos.rb +68 -0
- data/lib/contrast/agent/assess/rule/response_scanning_rule.rb +47 -0
- data/lib/contrast/agent/assess/rule/response_watcher.rb +36 -0
- data/lib/contrast/agent/assess/rule/watcher.rb +36 -0
- data/lib/contrast/agent/assess/tag.rb +151 -0
- data/lib/contrast/agent/at_exit_hook.rb +33 -0
- data/lib/contrast/agent/class_reopener.rb +195 -0
- data/lib/contrast/agent/deadzone/policy/deadzone_node.rb +26 -0
- data/lib/contrast/agent/deadzone/policy/policy.rb +57 -0
- data/lib/contrast/agent/disable_reaction.rb +24 -0
- data/lib/contrast/agent/exclusion_matcher.rb +190 -0
- data/lib/contrast/agent/feature_state.rb +379 -0
- data/lib/contrast/agent/inventory/policy/policy.rb +32 -0
- data/lib/contrast/agent/inventory/policy/trigger_node.rb +22 -0
- data/lib/contrast/agent/logger_manager.rb +116 -0
- data/lib/contrast/agent/middleware.rb +352 -0
- data/lib/contrast/agent/module_data.rb +16 -0
- data/lib/contrast/agent/patching/policy/after_load_patch.rb +37 -0
- data/lib/contrast/agent/patching/policy/after_load_patcher.rb +58 -0
- data/lib/contrast/agent/patching/policy/method_policy.rb +94 -0
- data/lib/contrast/agent/patching/policy/module_policy.rb +116 -0
- data/lib/contrast/agent/patching/policy/patch.rb +312 -0
- data/lib/contrast/agent/patching/policy/patch_status.rb +192 -0
- data/lib/contrast/agent/patching/policy/patcher.rb +310 -0
- data/lib/contrast/agent/patching/policy/policy.rb +138 -0
- data/lib/contrast/agent/patching/policy/policy_node.rb +80 -0
- data/lib/contrast/agent/patching/policy/policy_unpatcher.rb +28 -0
- data/lib/contrast/agent/patching/policy/trigger_node.rb +81 -0
- data/lib/contrast/agent/protect/policy/policy.rb +37 -0
- data/lib/contrast/agent/protect/policy/trigger_node.rb +23 -0
- data/lib/contrast/agent/protect/rule.rb +58 -0
- data/lib/contrast/agent/protect/rule/base.rb +300 -0
- data/lib/contrast/agent/protect/rule/base_service.rb +88 -0
- data/lib/contrast/agent/protect/rule/cmd_injection.rb +156 -0
- data/lib/contrast/agent/protect/rule/csrf.rb +118 -0
- data/lib/contrast/agent/protect/rule/csrf/csrf_evaluator.rb +103 -0
- data/lib/contrast/agent/protect/rule/csrf/csrf_token_injector.rb +85 -0
- data/lib/contrast/agent/protect/rule/default_scanner.rb +300 -0
- data/lib/contrast/agent/protect/rule/deserialization.rb +193 -0
- data/lib/contrast/agent/protect/rule/http_method_tampering.rb +80 -0
- data/lib/contrast/agent/protect/rule/no_sqli.rb +101 -0
- data/lib/contrast/agent/protect/rule/no_sqli/mongo_no_sql_scanner.rb +40 -0
- data/lib/contrast/agent/protect/rule/path_traversal.rb +143 -0
- data/lib/contrast/agent/protect/rule/sqli.rb +101 -0
- data/lib/contrast/agent/protect/rule/sqli/default_sql_scanner.rb +16 -0
- data/lib/contrast/agent/protect/rule/sqli/mysql_sql_scanner.rb +38 -0
- data/lib/contrast/agent/protect/rule/sqli/postgres_sql_scanner.rb +22 -0
- data/lib/contrast/agent/protect/rule/sqli/sqlite_sql_scanner.rb +19 -0
- data/lib/contrast/agent/protect/rule/unsafe_file_upload.rb +20 -0
- data/lib/contrast/agent/protect/rule/xss.rb +24 -0
- data/lib/contrast/agent/protect/rule/xxe.rb +120 -0
- data/lib/contrast/agent/protect/rule/xxe/entity_wrapper.rb +82 -0
- data/lib/contrast/agent/railtie.rb +30 -0
- data/lib/contrast/agent/reaction_processor.rb +47 -0
- data/lib/contrast/agent/request.rb +493 -0
- data/lib/contrast/agent/request_context.rb +225 -0
- data/lib/contrast/agent/require_state.rb +61 -0
- data/lib/contrast/agent/response.rb +215 -0
- data/lib/contrast/agent/rewriter.rb +244 -0
- data/lib/contrast/agent/scope.rb +28 -0
- data/lib/contrast/agent/service_heartbeat.rb +37 -0
- data/lib/contrast/agent/settings_state.rb +148 -0
- data/lib/contrast/agent/socket_client.rb +125 -0
- data/lib/contrast/agent/thread.rb +26 -0
- data/lib/contrast/agent/tracepoint_hook.rb +51 -0
- data/lib/contrast/agent/version.rb +8 -0
- data/lib/contrast/api.rb +17 -0
- data/lib/contrast/api/.gitkeep +0 -0
- data/lib/contrast/api/connection_status.rb +49 -0
- data/lib/contrast/api/socket.rb +43 -0
- data/lib/contrast/api/speedracer.rb +206 -0
- data/lib/contrast/api/tcp_socket.rb +31 -0
- data/lib/contrast/api/unix_socket.rb +25 -0
- data/lib/contrast/common_agent_configuration.rb +86 -0
- data/lib/contrast/components/agent.rb +85 -0
- data/lib/contrast/components/app_context.rb +188 -0
- data/lib/contrast/components/assess.rb +67 -0
- data/lib/contrast/components/config.rb +135 -0
- data/lib/contrast/components/contrast_service.rb +113 -0
- data/lib/contrast/components/heap_dump.rb +34 -0
- data/lib/contrast/components/interface.rb +178 -0
- data/lib/contrast/components/inventory.rb +23 -0
- data/lib/contrast/components/logger.rb +92 -0
- data/lib/contrast/components/protect.rb +38 -0
- data/lib/contrast/components/sampling.rb +41 -0
- data/lib/contrast/components/scope.rb +106 -0
- data/lib/contrast/components/settings.rb +140 -0
- data/lib/contrast/config.rb +33 -0
- data/lib/contrast/config/agent_configuration.rb +24 -0
- data/lib/contrast/config/application_configuration.rb +27 -0
- data/lib/contrast/config/assess_configuration.rb +22 -0
- data/lib/contrast/config/assess_rules_configuration.rb +18 -0
- data/lib/contrast/config/base_configuration.rb +105 -0
- data/lib/contrast/config/default_value.rb +16 -0
- data/lib/contrast/config/exception_configuration.rb +21 -0
- data/lib/contrast/config/heap_dump_configuration.rb +23 -0
- data/lib/contrast/config/inventory_configuration.rb +20 -0
- data/lib/contrast/config/logger_configuration.rb +20 -0
- data/lib/contrast/config/protect_configuration.rb +20 -0
- data/lib/contrast/config/protect_rule_configuration.rb +37 -0
- data/lib/contrast/config/protect_rules_configuration.rb +30 -0
- data/lib/contrast/config/root_configuration.rb +26 -0
- data/lib/contrast/config/ruby_configuration.rb +39 -0
- data/lib/contrast/config/sampling_configuration.rb +22 -0
- data/lib/contrast/config/server_configuration.rb +23 -0
- data/lib/contrast/config/service_configuration.rb +22 -0
- data/lib/contrast/configuration.rb +214 -0
- data/lib/contrast/core_extensions/assess.rb +51 -0
- data/lib/contrast/core_extensions/assess/array.rb +58 -0
- data/lib/contrast/core_extensions/assess/assess_extension.rb +145 -0
- data/lib/contrast/core_extensions/assess/basic_object.rb +15 -0
- data/lib/contrast/core_extensions/assess/erb.rb +42 -0
- data/lib/contrast/core_extensions/assess/exec_trigger.rb +48 -0
- data/lib/contrast/core_extensions/assess/fiber.rb +125 -0
- data/lib/contrast/core_extensions/assess/hash.rb +22 -0
- data/lib/contrast/core_extensions/assess/kernel.rb +95 -0
- data/lib/contrast/core_extensions/assess/module.rb +14 -0
- data/lib/contrast/core_extensions/assess/regexp.rb +206 -0
- data/lib/contrast/core_extensions/assess/string.rb +75 -0
- data/lib/contrast/core_extensions/assess/tilt_template_trigger.rb +73 -0
- data/lib/contrast/core_extensions/delegator.rb +14 -0
- data/lib/contrast/core_extensions/eval_trigger.rb +52 -0
- data/lib/contrast/core_extensions/inventory.rb +22 -0
- data/lib/contrast/core_extensions/inventory/datastores.rb +37 -0
- data/lib/contrast/core_extensions/module.rb +42 -0
- data/lib/contrast/core_extensions/object.rb +27 -0
- data/lib/contrast/core_extensions/protect.rb +20 -0
- data/lib/contrast/core_extensions/protect/applies_command_injection_rule.rb +70 -0
- data/lib/contrast/core_extensions/protect/applies_deserialization_rule.rb +58 -0
- data/lib/contrast/core_extensions/protect/applies_no_sqli_rule.rb +81 -0
- data/lib/contrast/core_extensions/protect/applies_path_traversal_rule.rb +119 -0
- data/lib/contrast/core_extensions/protect/applies_sqli_rule.rb +63 -0
- data/lib/contrast/core_extensions/protect/applies_xxe_rule.rb +141 -0
- data/lib/contrast/core_extensions/protect/kernel.rb +30 -0
- data/lib/contrast/core_extensions/protect/psych.rb +7 -0
- data/lib/contrast/core_extensions/thread.rb +31 -0
- data/lib/contrast/internal_exception.rb +8 -0
- data/lib/contrast/rails_extensions/assess/action_controller_inheritance.rb +48 -0
- data/lib/contrast/rails_extensions/assess/active_record.rb +32 -0
- data/lib/contrast/rails_extensions/assess/active_record_named.rb +61 -0
- data/lib/contrast/rails_extensions/assess/configuration.rb +26 -0
- data/lib/contrast/rails_extensions/buffer.rb +30 -0
- data/lib/contrast/rails_extensions/rack.rb +45 -0
- data/lib/contrast/security_exception.rb +14 -0
- data/lib/contrast/sinatra_extensions/assess/cookie.rb +26 -0
- data/lib/contrast/sinatra_extensions/inventory/sinatra_base.rb +59 -0
- data/lib/contrast/tasks/service.rb +95 -0
- data/lib/contrast/utils/assess/sampling_util.rb +96 -0
- data/lib/contrast/utils/assess/tracking_util.rb +39 -0
- data/lib/contrast/utils/boolean_util.rb +33 -0
- data/lib/contrast/utils/cache.rb +69 -0
- data/lib/contrast/utils/class_util.rb +58 -0
- data/lib/contrast/utils/comment_range.rb +19 -0
- data/lib/contrast/utils/data_store_util.rb +23 -0
- data/lib/contrast/utils/duck_utils.rb +58 -0
- data/lib/contrast/utils/env_configuration_item.rb +52 -0
- data/lib/contrast/utils/environment_util.rb +152 -0
- data/lib/contrast/utils/freeze_util.rb +36 -0
- data/lib/contrast/utils/gemfile_reader.rb +191 -0
- data/lib/contrast/utils/hash_digest.rb +148 -0
- data/lib/contrast/utils/heap_dump_util.rb +113 -0
- data/lib/contrast/utils/invalid_configuration_util.rb +88 -0
- data/lib/contrast/utils/inventory_util.rb +126 -0
- data/lib/contrast/utils/io_util.rb +61 -0
- data/lib/contrast/utils/object_share.rb +117 -0
- data/lib/contrast/utils/operating_environment.rb +38 -0
- data/lib/contrast/utils/os.rb +49 -0
- data/lib/contrast/utils/path_util.rb +151 -0
- data/lib/contrast/utils/performs_logging.rb +152 -0
- data/lib/contrast/utils/preflight_util.rb +13 -0
- data/lib/contrast/utils/prevent_serialization.rb +52 -0
- data/lib/contrast/utils/rack_assess_session_cookie.rb +104 -0
- data/lib/contrast/utils/rails_assess_configuration.rb +95 -0
- data/lib/contrast/utils/random_util.rb +22 -0
- data/lib/contrast/utils/resource_loader.rb +23 -0
- data/lib/contrast/utils/ruby_ast_rewriter.rb +74 -0
- data/lib/contrast/utils/scope_util.rb +99 -0
- data/lib/contrast/utils/service_response_util.rb +116 -0
- data/lib/contrast/utils/service_sender_util.rb +98 -0
- data/lib/contrast/utils/sha256_builder.rb +69 -0
- data/lib/contrast/utils/sinatra_helper.rb +49 -0
- data/lib/contrast/utils/stack_trace_utils.rb +209 -0
- data/lib/contrast/utils/string_utils.rb +72 -0
- data/lib/contrast/utils/tag_util.rb +139 -0
- data/lib/contrast/utils/thread_tracker.rb +54 -0
- data/lib/contrast/utils/timer.rb +78 -0
- data/resources/assess/policy.json +1673 -0
- data/resources/csrf/inject.js +44 -0
- data/resources/deadzone/policy.json +55 -0
- data/resources/factory-bot-spec/spec_helper.rb +30 -0
- data/resources/inventory/policy.json +110 -0
- data/resources/protect/policy.json +417 -0
- data/resources/rubocops/kernel/catch_cop.rb +37 -0
- data/resources/rubocops/kernel/require_cop.rb +37 -0
- data/resources/rubocops/kernel/require_relative_cop.rb +33 -0
- data/resources/rubocops/module/autoload_cop.rb +37 -0
- data/resources/rubocops/module/const_defined_cop.rb +37 -0
- data/resources/rubocops/module/const_get_cop.rb +37 -0
- data/resources/rubocops/module/const_set_cop.rb +37 -0
- data/resources/rubocops/module/constants_cop.rb +37 -0
- data/resources/rubocops/module/name_cop.rb +37 -0
- data/resources/rubocops/object/class_cop.rb +37 -0
- data/resources/rubocops/object/freeze_cop.rb +37 -0
- data/resources/rubocops/object/frozen_cop.rb +37 -0
- data/resources/rubocops/object/is_a_cop.rb +37 -0
- data/resources/rubocops/object/method_cop.rb +37 -0
- data/resources/rubocops/object/respond_to_cop.rb +37 -0
- data/resources/rubocops/object/singleton_class_cop.rb +37 -0
- data/resources/rubocops/regexp/spelling_cop.rb +44 -0
- data/resources/rubocops/thread/new_cop.rb +39 -0
- data/resources/ruby-spec/ancestors_spec.rb +70 -0
- data/resources/ruby-spec/modulo_spec.rb +831 -0
- data/resources/ruby-spec/parameters_spec.rb +261 -0
- data/resources/ruby-spec/ruby_spec_spec_helper.rb +35 -0
- data/resources/test_marker.txt +1 -0
- data/ruby-agent.gemspec +129 -0
- data/service_executables/.gitkeep +0 -0
- data/service_executables/VERSION +1 -0
- data/service_executables/linux/contrast-service +0 -0
- data/service_executables/mac/contrast-service +0 -0
- metadata +945 -0
@@ -0,0 +1,131 @@
|
|
1
|
+
package diStorm3;
|
2
|
+
|
3
|
+
public enum OpcodeEnum {
|
4
|
+
UNDEFINED, SLDT, POPA, UNPCKHPS, POPF, CMPLTSS, VMOVSD, PFPNACC, VMOVMSKPD,
|
5
|
+
INVLPGA, UNPCKHPD, SYSEXIT, PFSUB, CMPLTSD, VPMULHUW, VPHSUBSW, VCMPNGEPS,
|
6
|
+
VMOVSS, ARPL, FICOMP, RETF, FCHS, CMPLEPS, PUNPCKHDQ, VAESDEC, FUCOM, VCMPORDPS,
|
7
|
+
PSUBUSW, PXOR, VPABSB, WRMSR, VCMPEQ_UQPS, VFMADDSUB231PD, PFMAX, VCMPNEQ_OSSS,
|
8
|
+
VFNMADD213PD, MOVNTI, PFCMPGT, VFNMADD231SS, ROUNDPD, VCMPGTPS, VRCPSS, VFNMADD132SS,
|
9
|
+
VCMPNGEPD, VFMSUB213PD, VCMPNEQ_OSSD, VPSLLDQ, PFCMPGE, VCMPGTPD, CVTDQ2PD,
|
10
|
+
CMPLESD, JNS, VDIVSD, JNP, EXTRACTPS, PMOVZXBQ, JNZ, FCOMI, VPUNPCKHWD, PMOVZXBD,
|
11
|
+
VMOVNTDQ, PMOVSXWD, POPCNT, JNO, FNSAVE, LOOP, VMOVMSKPS, FLDL2T, CMPS, FSUB,
|
12
|
+
DIVPS, PHSUBD, CMPEQSS, CMC, CVTTPS2DQ, DIVPD, VMOVD, CALL_FAR, PMULHRSW, VPMULHRSW,
|
13
|
+
PHSUBW, CMPEQSD, XADD, CMOVBE, CMP, SBB, VHADDPS, FXRSTOR64, INVVPID, LSL,
|
14
|
+
VCMPNEQ_USSS, VHADDPD, LSS, VFMSUB132PD, LAHF, PFACC, PFRCPIT2, VPUNPCKLBW,
|
15
|
+
PFRCPIT1, PCMPGTQ, FYL2X, VCMPORD_SSD, PSRLD, SFENCE, CVTPS2DQ, PBLENDW, VFMSUBADD213PS,
|
16
|
+
PCMPGTB, PCMPGTD, VAESENC, VMOVSHDUP, MPSADBW, VCMPNLE_UQPD, VMMCALL, INSERTQ,
|
17
|
+
VFNMADD213SS, CVTPI2PD, INT, VPERMILPS, HLT, PHMINPOSUW, FCMOVNU, INVPCID,
|
18
|
+
INS, FCOMIP, CVTPI2PS, VFNMADD213SD, PACKUSWB, CBW, VMSAVE, PUSHF, NOT, FCMOVNB,
|
19
|
+
NOP, FSQRT, VPERMILPD, INC, UD2, VPCMPEQW, PCMPISTRM, VPCMPEQQ, CMPNLEPS, VCMPEQ_USSD,
|
20
|
+
VCMPUNORDPD, FADDP, RET, VPCMPEQD, VPMINSD, VPINSRB, VPCMPEQB, ADDSUBPD, VFMADDSUB231PS,
|
21
|
+
VCMPEQ_USSS, PSIGNW, VPMOVSXDQ, VPMAXSD, SETG, VPMAXSB, SETA, SETB, STMXCSR,
|
22
|
+
SETL, MOVNTQ, SETO, ANDNPD, BSR, VMOVDDUP, VPMAXSW, PSIGND, SETP, PSIGNB, LFS,
|
23
|
+
SETS, VCMPUNORDSS, ANDNPS, VMXON, VANDPS, XSETBV, OUT, LTR, VPINSRD, TZCNT,
|
24
|
+
VCVTTSS2SI, VPSRLDQ, FDECSTP, PSRLDQ, VCMPGE_OQSD, PSLLDQ, FCOS, FXTRACT, VCMPGE_OQSS,
|
25
|
+
VMOVNTDQA, VCMPNGT_UQPD, FMUL, VCMPGT_OQPS, FCOMPP, PF2ID, CWD, VCMPUNORD_SPS,
|
26
|
+
CMOVLE, VPSHUFHW, VCMPGT_OQPD, PHADDSW, PF2IW, VMOVNTPD, FCOMP, UNPCKLPS, MASKMOVDQU,
|
27
|
+
FCMOVBE, VCMPLT_OQPD, VMAXSD, VCMPNLTPD, PREFETCHT2, PREFETCHT1, PREFETCHT0,
|
28
|
+
UNPCKLPD, CVTTSS2SI, DIV, PMOVSXDQ, VCMPGESS, CDQE, VSTMXCSR, FISUBR, VPMINSB,
|
29
|
+
VFMSUB213PS, VCMPLT_OQPS, CMPLESS, VPMINSW, FSTENV, VCMPGESD, VPTEST, FISUB,
|
30
|
+
STD, VPACKSSDW, XOR, VMULPD, STC, STI, LDMXCSR, CMPLTPD, ORPS, VPACKUSDW, FSUBP,
|
31
|
+
STR, FSUBR, CMPLTPS, VFMADD231SD, PAUSE, CVTPD2DQ, RSM, VSQRTSD, VORPS, VFMADDSUB213PS,
|
32
|
+
AESENC, VCMPEQ_UQPD, VUNPCKHPS, PMADDUBSW, VCMPNLE_UQPS, VPSLLW, MASKMOVQ,
|
33
|
+
CALL, VSQRTSS, PADDUSB, VMREAD, XSAVEOPT64, VUNPCKHPD, VSUBPS, VCVTSS2SD, VAESDECLAST,
|
34
|
+
HSUBPS, VCVTSS2SI, VPBLENDVB, VCMPGTSD, FILD, VCOMISS, HSUBPD, VFNMSUB231SS,
|
35
|
+
VPSRAD, VCMPNLEPS, SAL, SYSCALL, VRSQRTSS, VPINSRQ, WRGSBASE, VPSHUFD, PMOVSXBW,
|
36
|
+
VPSRAW, VCMPNLEPD, FADD, SAR, XEND, AESKEYGENASSIST, PACKSSDW, VFMADD213SS,
|
37
|
+
VMOVDQA, VMOVSLDUP, FRNDINT, PMULLW, DIVSD, MOVMSKPS, VPMAXUW, VDIVPD, VPMOVSXBW,
|
38
|
+
PMOVSXWQ, PMULLD, VMOVDQU, VFNMSUB213SD, CMOVAE, VCMPEQ_OSPD, VDIVPS, JAE,
|
39
|
+
MOVMSKPD, DIVSS, FSAVE, PCMPEQQ, VPSHUFLW, PCMPEQW, VLDMXCSR, VFMSUB132SS,
|
40
|
+
CMPORDPD, RCPSS, VPSLLD, IDIV, VCMPORDPD, PCMPEQB, PCMPEQD, VPSLLQ, VPMOVZXBQ,
|
41
|
+
VFMSUBADD213PD, VBLENDVPD, CMPORDPS, PUNPCKLQDQ, VPAND, VCMPNEQ_OQPD, HADDPD,
|
42
|
+
VADDSUBPS, VSHUFPD, VSUBSD, VSQRTPS, MOVSHDUP, VFNMADD231SD, VMLAUNCH, VMASKMOVPD,
|
43
|
+
HADDPS, VCMPNEQ_OQPS, PUNPCKLWD, VCMPNGT_UQSS, VSQRTPD, VSUBSS, VSHUFPS, VCMPNEQSS,
|
44
|
+
VLDDQU, VCMPLT_OQSS, RDRAND, PADDSW, VCMPEQ_USPS, ORPD, PANDN, FPTAN, FIDIV,
|
45
|
+
VCMPLT_OQSD, VMPTRLD, VFMSUB231PS, VCMPNEQSD, VPMULDQ, LOOPNZ, VCMPUNORDPS,
|
46
|
+
SHR, SHRD, MONITOR, XABORT, AESENCLAST, MOVSD, VPINSRW, VMLOAD, MOVLHPS, VMOVLPD,
|
47
|
+
MOVQ2DQ, SQRTSS, VDPPS, SUBSS, MOVSX, VMOVLHPS, VMOVLPS, VPUNPCKHDQ, VCVTPD2DQ,
|
48
|
+
SHL, MOVSS, PINSRQ, PFNACC, MOVDQU, OUTS, PSUBB, BTS, BTR, VCMPNEQ_USSD, SGDT,
|
49
|
+
VFMADD231SS, FSCALE, PSUBW, CMPNLTPD, PACKUSDW, LAR, BTC, VFNMADD132SD, VCMPNGTPD,
|
50
|
+
VPMOVZXBW, VFMSUB132SD, AESIMC, FCOM, VPMOVZXBD, VADDSUBPD, FINIT, CMPORDSS,
|
51
|
+
WBINVD, PAND, VPALIGNR, CMPORDSD, VPXOR, JBE, FXAM, XSAVEOPT, MUL, VPMINUB,
|
52
|
+
VPADDSW, PMAXSW, VINSERTPS, VCMPEQPD, FFREE, VMASKMOVPS, CMPXCHG8B, PMAXSD,
|
53
|
+
VPADDSB, PUSH, VPCLMULQDQ, VCMPEQPS, PFRSQIT1, ROUNDPS, SETNO, XGETBV, PMINSD,
|
54
|
+
PADDB, FPREM1, CLD, FIMUL, XORPD, CLC, FSTP, BLENDPD, PADDUSW, FNINIT, SETNZ,
|
55
|
+
PADDQ, XORPS, VFNMSUB213SS, SETNS, FIADD, SETNP, VPUNPCKHQDQ, SUBPS, CMPNLTSD,
|
56
|
+
LLDT, VFMSUB213SD, PTEST, VFNMSUB132PD, GETSEC, VPSIGND, JCXZ, CMPNLTSS, SETGE,
|
57
|
+
CMPEQPS, PSADBW, MOVSXD, VFNMSUB132PS, AAD, VAESENCLAST, PUNPCKHQDQ, MOVLPD,
|
58
|
+
VPADDUSW, VCMPFALSEPS, AAM, VPUNPCKLQDQ, MINSS, PADDD, VCMPFALSEPD, VPUNPCKLWD,
|
59
|
+
MOVLPS, CLGI, AAS, LODS, CMOVNP, MINSD, CLI, CVTTSD2SI, FICOM, PMOVZXBW, ADDPD,
|
60
|
+
PREFETCHW, VCMPNEQ_USPS, VXORPD, POR, POP, VPERM2F128, LOOPZ, MOVNTDQ, INT1,
|
61
|
+
CMPXCHG, VBROADCASTF128, VCMPNGE_UQPD, PHADDW, VXORPS, VCMPNEQ_USPD, ADDPS,
|
62
|
+
PFMUL, LGDT, VERR, VERW, VHSUBPD, VPMULLW, VMOVUPS, INTO, FCLEX, VHSUBPS, CVTSD2SS,
|
63
|
+
FLDPI, PABSW, VMAXPD, JMP_FAR, VPACKUSWB, FUCOMPP, VMOVUPD, PSWAPD, PADDW,
|
64
|
+
PSLLD, SWAPGS, MOVSLDUP, CVTSI2SS, VCMPTRUESD, CMPUNORDSS, VCVTTPS2DQ, SQRTSD,
|
65
|
+
VBROADCASTSD, PSUBD, TEST, LGS, VCMPTRUESS, SYSENTER, CVTSI2SD, VCMPNLESD,
|
66
|
+
VTESTPD, JZ, VDIVSS, VORPD, JP, JS, JL, RSQRTSS, VTESTPS, JO, VMAXPS, PSUBUSB,
|
67
|
+
JG, VBROADCASTSS, JA, JB, CWDE, VCMPLEPD, VMWRITE, VCMPLEPS, PMOVMSKB, INSERTPS,
|
68
|
+
PCMPESTRI, WAIT, VCMPFALSE_OSPD, PCMPESTRM, PUNPCKLDQ, MULSS, VSUBPD, CMPEQPD,
|
69
|
+
VCMPNEQ_OQSD, VCOMISD, VMINSS, VPADDD, RDMSR, VPSIGNW, JECXZ, MULSD, ENTER,
|
70
|
+
MOVBE, VZEROALL, _3DNOW, VMINSD, VCMPNEQ_OQSS, PFSUBR, VCMPGEPS, VPSUBUSB,
|
71
|
+
VFMSUB231SD, PMAXUD, FXSAVE, FISTTP, VCMPGEPD, BLENDPS, VCMPLESD, FCMOVNBE,
|
72
|
+
VFMSUB231SS, VBLENDVPS, VMPSADBW, VPSUBUSW, VCMPLTSD, MOVNTDQA, SHUFPD, SUBPD,
|
73
|
+
SQRTPD, VMOVHPD, VMCALL, VFMADD132PD, LEAVE, SHUFPS, VCMPEQ_OSPS, VPCMPESTRI,
|
74
|
+
VCMPLTSS, VPCMPESTRM, VFMADD132PS, LIDT, F2XM1, VMOVHPS, PMOVZXDQ, VZEROUPPER,
|
75
|
+
SQRTPS, VANDNPS, VPADDQ, FPREM, VPADDW, PALIGNR, PMINSB, PCMPGTW, SHLD, LDS,
|
76
|
+
VPADDB, VMRUN, RDFSBASE, VANDNPD, XLAT, XCHG, FINCSTP, MOVDQ2Q, PMINSW, SMSW,
|
77
|
+
VPSIGNB, XRSTOR, VBLENDPD, JGE, VCMPNLT_UQPS, VCMPORDSD, VBLENDPS, FTST, CVTTPD2DQ,
|
78
|
+
VCMPORDSS, VCMPNLT_UQPD, VFNMSUB132SS, XRSTOR64, AND, VRSQRTPS, CLFLUSH, PSHUFB,
|
79
|
+
FLDENV, MOV, PSHUFD, JLE, FEDISI, VMFUNC, VPCMPGTW, PFCMPEQ, VCMPORD_SSS, PSHUFW,
|
80
|
+
VPEXTRB, VCVTDQ2PD, VMOVQ, FLDL2E, VPEXTRD, VPHSUBW, VFNMSUB213PS, VFMADD213PD,
|
81
|
+
STGI, FPATAN, VPEXTRQ, FST, INT_3, FIST, VMCLEAR, PMOVSXBQ, AAA, VPHSUBD, CVTTPS2PI,
|
82
|
+
CMPNEQPS, VCMPGE_OQPD, LDDQU, RSQRTPS, VADDPD, PFRCP, CVTSS2SD, VFNMSUB132SD,
|
83
|
+
FDIVRP, FBLD, CPUID, RDTSC, VPBLENDW, VCVTPS2DQ, VPOR, VADDPS, PI2FW, MINPS,
|
84
|
+
VCMPEQ_OSSD, VPMULUDQ, MAXSD, VPMULLD, FIDIVR, VUCOMISS, MOVDDUP, VPSHUFB,
|
85
|
+
PHSUBSW, VPCMPISTRI, MAXSS, VPAVGB, VCMPFALSE_OSSS, MINPD, FYL2XP1, VUCOMISD,
|
86
|
+
VFNMSUB231PD, VCMPNGE_UQSD, ADDSD, VMXOFF, PSRLQ, VCMPNEQPS, PSRLW, PSRAD,
|
87
|
+
SIDT, PACKSSWB, XSAVE, VCMPNEQPD, CDQ, ADDSS, VCMPNGE_UQSS, CRC32, VAESIMC,
|
88
|
+
PMAXSB, VEXTRACTPS, VCMPNLT_UQSD, VPSUBB, VPMOVZXWQ, VCMPNEQ_OSPS, MOVNTSS,
|
89
|
+
VEXTRACTF128, PADDSB, IMUL, RCR, VCMPUNORD_SPD, RCL, MOVNTSD, VCMPNEQ_OSPD,
|
90
|
+
VCMPNLT_UQSS, SUBSD, SCAS, PCLMULQDQ, PFRSQRT, PINSRD, FSUBRP, PUSHA, VPMAXUB,
|
91
|
+
CMPUNORDPS, VPMAXUD, FABS, VPMOVSXBQ, VCMPTRUEPD, FEMMS, VCMPEQ_OSSS, VFMADD213SD,
|
92
|
+
VPMOVSXBD, CMPUNORDPD, VMPTRST, CMPXCHG16B, VCMPTRUEPS, VCMPNGTPS, FNCLEX,
|
93
|
+
CMPNEQSD, VCMPEQ_UQSD, FCMOVU, EXTRQ, DPPD, CMOVGE, PINSRB, VCMPEQ_UQSS, VPMADDUBSW,
|
94
|
+
CMPNEQSS, VFMADD231PD, FSIN, IN, FCMOVE, FLDCW, DPPS, FCMOVB, VPSRLW, LFENCE,
|
95
|
+
CVTSD2SI, SETAE, CMOVNZ, VPSRLQ, FMULP, VMOVAPD, VCMPLE_OQSS, CMOVNS, FCMOVNE,
|
96
|
+
CMOVNO, VPMULHW, VPSRLD, CVTPS2PH, CVTPS2PI, PHADDD, CVTPS2PD, VPABSW, VCMPLE_OQSD,
|
97
|
+
VMOVAPS, VPSUBW, PMULHRW, MOVAPS, PFMIN, MOVD, MOVHPS, MULPS, VCMPLTPS, BT,
|
98
|
+
MOVAPD, VCMPNGE_UQPS, JRCXZ, MULPD, MOVS, INVLPG, MOVQ, VMINPD, PABSD, SAHF,
|
99
|
+
VCMPTRUE_USPS, PI2FD, PABSB, VROUNDSD, VPANDN, VPUNPCKLDQ, FDIVP, PSUBQ, FDIVR,
|
100
|
+
FDIV, VCMPTRUE_USPD, PREFETCH, EMMS, VMINPS, VFMADD231PS, VFNMSUB213PD, CVTSS2SI,
|
101
|
+
MOVHPD, CMOVZ, VPAVGW, CQO, VPSUBD, CMOVP, VCMPEQSS, CMOVS, PMOVSXBD, VROUNDSS,
|
102
|
+
VPSUBQ, CMOVL, ADDSUBPS, CMOVO, CMOVA, CMOVB, PUNPCKHBW, PCMPISTRI, CMOVG,
|
103
|
+
VPMOVMSKB, AESDECLAST, MOVUPD, VFMSUBADD132PD, VPSADBW, XBEGIN, VROUNDPD, LMSW,
|
104
|
+
INVEPT, MOVZX, ANDPS, VFMSUBADD132PS, MOVUPS, VCMPGTSS, PMULHUW, VDPPD, PEXTRD,
|
105
|
+
VCMPFALSESS, RDGSBASE, OR, VPEXTRW, VPSUBSB, FXRSTOR, CLTS, VCMPNGT_UQSD, VCMPNGTSS,
|
106
|
+
FRSTOR, VCMPFALSESD, FLDLN2, VINSERTF128, VPSUBSW, PMULUDQ, DEC, VCMPFALSE_OSPS,
|
107
|
+
FLD, VPMOVZXDQ, ROUNDSS, VCVTSI2SS, PEXTRW, FXSAVE64, ROL, VFMADD132SD, CMPLEPD,
|
108
|
+
VCVTSD2SS, FUCOMP, JMP, VCMPEQSD, CVTDQ2PS, VCMPGT_OQSS, FUCOMI, LZCNT, VRCPPS,
|
109
|
+
PMAXUB, VPHADDD, VCVTSI2SD, VCMPGT_OQSD, ROR, INVD, VCVTSD2SI, AESDEC, CMPNLESD,
|
110
|
+
SETLE, VFMSUBADD231PS, VFNMADD231PS, XSAVE64, PUNPCKHWD, VPMOVSXWD, CVTPD2PS,
|
111
|
+
VMOVHLPS, VFMSUBADD231PD, CVTPD2PI, CMPNLESS, PMULDQ, VPMOVSXWQ, VCMPNLTSD,
|
112
|
+
VFMSUB132PS, VFNMADD231PD, FSTSW, RDTSCP, MFENCE, VFMADD132SS, PMINUD, FENI,
|
113
|
+
BOUND, VROUNDPS, PSHUFLW, VMULSS, VCMPFALSE_OSSD, VCVTDQ2PS, VCMPLESS, FNOP,
|
114
|
+
CMPNLTPS, VCMPNLTPS, FLDLG2, SYSRET, FSTCW, VFMSUB213SS, SKINIT, VANDPD, FLDZ,
|
115
|
+
SUB, VPHADDW, NEG, PMINUW, MAXPD, VCMPORD_SPS, STOS, VFNMSUB231SD, VCMPUNORDSD,
|
116
|
+
PAVGUSB, VCMPORD_SPD, MAXPS, PMINUB, VMASKMOVDQU, FBSTP, PINSRW, VPMOVZXWD,
|
117
|
+
VPMINUW, VCMPNLE_UQSD, SALC, PEXTRB, VUNPCKLPS, VCMPNLE_UQSS, MOVDQA, VCMPNLTSS,
|
118
|
+
PSLLQ, VMOVNTPS, VPMINUD, PREFETCHNTA, VUNPCKLPD, CVTPH2PS, VAESKEYGENASSIST,
|
119
|
+
PSUBSW, VCMPNGESD, FNSTENV, FNSTSW, CMPNEQPD, PAVGW, MOVNTPD, VCMPEQ_USPD,
|
120
|
+
FSETPM, BLENDVPS, VFMADDSUB213PD, ADD, VCMPNGESS, ADC, PSUBSB, BLENDVPD, VPUNPCKHBW,
|
121
|
+
RDPMC, MOVNTPS, BSF, VCMPLTPD, PAVGB, LEA, VCVTTPD2DQ, VPCMPGTB, VPCMPGTD,
|
122
|
+
FLD1, VPMADDWD, VCMPUNORD_SSD, LES, SETZ, VPCMPGTQ, VMULSD, VFMADD213PS, VCMPNLESS,
|
123
|
+
MOVHLPS, VPHMINPOSUW, VPABSD, PSRAW, PFADD, VFMADDSUB132PD, COMISD, VCMPGE_OQPS,
|
124
|
+
VMAXSS, CMPUNORDSD, FSINCOS, COMISS, VFMADDSUB132PS, RCPPS, VFNMADD132PD, FXCH,
|
125
|
+
DAA, SETBE, VCVTPS2PD, PMADDWD, ANDPD, VCMPLE_OQPS, VCMPNGTSD, VFNMSUB231PS,
|
126
|
+
FUCOMIP, VMULPS, VFNMADD132PS, WRFSBASE, DAS, VCMPLE_OQPD, IRET, BSWAP, PUNPCKLBW,
|
127
|
+
PMAXUW, VPCMPISTRM, PSLLW, VCMPUNORD_SSS, VFNMADD213PS, VCVTTSD2SI, VFMSUB231PD,
|
128
|
+
VCMPNGT_UQPS, FNSTCW, ROUNDSD, CMPNLEPD, PEXTRQ, PMULHW, VPHADDSW, FISTP, PMOVZXWQ,
|
129
|
+
VCVTPD2PS, VCMPTRUE_USSS, VADDSD, PBLENDVB, VMRESUME, UCOMISD, PMOVZXWD, CVTTPD2PI,
|
130
|
+
UCOMISS, VPACKSSWB, VADDSS, PSHUFHW, VCMPTRUE_USSD, MWAIT
|
131
|
+
}
|
@@ -0,0 +1,1123 @@
|
|
1
|
+
package diStorm3;
|
2
|
+
|
3
|
+
import java.util.HashMap;
|
4
|
+
import java.util.Map;
|
5
|
+
|
6
|
+
public class Opcodes {
|
7
|
+
private static Map<Integer, OpcodeEnum> mOpcodes;
|
8
|
+
|
9
|
+
public static OpcodeEnum lookup(int op)
|
10
|
+
{
|
11
|
+
return mOpcodes.get(op);
|
12
|
+
}
|
13
|
+
|
14
|
+
static {
|
15
|
+
mOpcodes.put(0, OpcodeEnum.UNDEFINED);
|
16
|
+
mOpcodes.put(0x679, OpcodeEnum.SLDT);
|
17
|
+
mOpcodes.put(0x62, OpcodeEnum.POPA);
|
18
|
+
mOpcodes.put(0x904, OpcodeEnum.UNPCKHPS);
|
19
|
+
mOpcodes.put(0x115, OpcodeEnum.POPF);
|
20
|
+
mOpcodes.put(0x11cf, OpcodeEnum.CMPLTSS);
|
21
|
+
mOpcodes.put(0x875, OpcodeEnum.VMOVSD);
|
22
|
+
mOpcodes.put(0x79f, OpcodeEnum.PFPNACC);
|
23
|
+
mOpcodes.put(0xb2a, OpcodeEnum.VMOVMSKPD);
|
24
|
+
mOpcodes.put(0x74d, OpcodeEnum.INVLPGA);
|
25
|
+
mOpcodes.put(0x90e, OpcodeEnum.UNPCKHPD);
|
26
|
+
mOpcodes.put(0x270, OpcodeEnum.SYSEXIT);
|
27
|
+
mOpcodes.put(0x7c8, OpcodeEnum.PFSUB);
|
28
|
+
mOpcodes.put(0x121e, OpcodeEnum.CMPLTSD);
|
29
|
+
mOpcodes.put(0x1a73, OpcodeEnum.VPMULHUW);
|
30
|
+
mOpcodes.put(0x1d4b, OpcodeEnum.VPHSUBSW);
|
31
|
+
mOpcodes.put(0x12c8, OpcodeEnum.VCMPNGEPS);
|
32
|
+
mOpcodes.put(0x86d, OpcodeEnum.VMOVSS);
|
33
|
+
mOpcodes.put(0x6f, OpcodeEnum.ARPL);
|
34
|
+
mOpcodes.put(0x53a, OpcodeEnum.FICOMP);
|
35
|
+
mOpcodes.put(0x162, OpcodeEnum.RETF);
|
36
|
+
mOpcodes.put(0x45d, OpcodeEnum.FCHS);
|
37
|
+
mOpcodes.put(0x113a, OpcodeEnum.CMPLEPS);
|
38
|
+
mOpcodes.put(0xf08, OpcodeEnum.PUNPCKHDQ);
|
39
|
+
mOpcodes.put(0x2417, OpcodeEnum.VAESDEC);
|
40
|
+
mOpcodes.put(0x5fe, OpcodeEnum.FUCOM);
|
41
|
+
mOpcodes.put(0x12b0, OpcodeEnum.VCMPORDPS);
|
42
|
+
mOpcodes.put(0x19c1, OpcodeEnum.PSUBUSW);
|
43
|
+
mOpcodes.put(0x1b5b, OpcodeEnum.PXOR);
|
44
|
+
mOpcodes.put(0x1e25, OpcodeEnum.VPABSB);
|
45
|
+
mOpcodes.put(0x24a, OpcodeEnum.WRMSR);
|
46
|
+
mOpcodes.put(0x12bb, OpcodeEnum.VCMPEQ_UQPS);
|
47
|
+
mOpcodes.put(0x22cc, OpcodeEnum.VFMADDSUB231PD);
|
48
|
+
mOpcodes.put(0x7df, OpcodeEnum.PFMAX);
|
49
|
+
mOpcodes.put(0x16e3, OpcodeEnum.VCMPNEQ_OSSS);
|
50
|
+
mOpcodes.put(0x225a, OpcodeEnum.VFNMADD213PD);
|
51
|
+
mOpcodes.put(0x3b8, OpcodeEnum.MOVNTI);
|
52
|
+
mOpcodes.put(0x7d6, OpcodeEnum.PFCMPGT);
|
53
|
+
mOpcodes.put(0x2380, OpcodeEnum.VFNMADD231SS);
|
54
|
+
mOpcodes.put(0x2466, OpcodeEnum.ROUNDPD);
|
55
|
+
mOpcodes.put(0x1303, OpcodeEnum.VCMPGTPS);
|
56
|
+
mOpcodes.put(0xbb5, OpcodeEnum.VRCPSS);
|
57
|
+
mOpcodes.put(0x2150, OpcodeEnum.VFNMADD132SS);
|
58
|
+
mOpcodes.put(0x145a, OpcodeEnum.VCMPNGEPD);
|
59
|
+
mOpcodes.put(0x2225, OpcodeEnum.VFMSUB213PD);
|
60
|
+
mOpcodes.put(0x1875, OpcodeEnum.VCMPNEQ_OSSD);
|
61
|
+
mOpcodes.put(0x2695, OpcodeEnum.VPSLLDQ);
|
62
|
+
mOpcodes.put(0x7a8, OpcodeEnum.PFCMPGE);
|
63
|
+
mOpcodes.put(0x1495, OpcodeEnum.VCMPGTPD);
|
64
|
+
mOpcodes.put(0x1a99, OpcodeEnum.CVTDQ2PD);
|
65
|
+
mOpcodes.put(0x1227, OpcodeEnum.CMPLESD);
|
66
|
+
mOpcodes.put(0xae, OpcodeEnum.JNS);
|
67
|
+
mOpcodes.put(0xdee, OpcodeEnum.VDIVSD);
|
68
|
+
mOpcodes.put(0xb7, OpcodeEnum.JNP);
|
69
|
+
mOpcodes.put(0x251e, OpcodeEnum.EXTRACTPS);
|
70
|
+
mOpcodes.put(0x1f59, OpcodeEnum.PMOVZXBQ);
|
71
|
+
mOpcodes.put(0x9c, OpcodeEnum.JNZ);
|
72
|
+
mOpcodes.put(0x5e8, OpcodeEnum.FCOMI);
|
73
|
+
mOpcodes.put(0xefc, OpcodeEnum.VPUNPCKHWD);
|
74
|
+
mOpcodes.put(0x1f44, OpcodeEnum.PMOVZXBD);
|
75
|
+
mOpcodes.put(0x1ae0, OpcodeEnum.VMOVNTDQ);
|
76
|
+
mOpcodes.put(0x1e8a, OpcodeEnum.PMOVSXWD);
|
77
|
+
mOpcodes.put(0x1108, OpcodeEnum.POPCNT);
|
78
|
+
mOpcodes.put(0x8a, OpcodeEnum.JNO);
|
79
|
+
mOpcodes.put(0x1ca5, OpcodeEnum.FNSAVE);
|
80
|
+
mOpcodes.put(0x1a5, OpcodeEnum.LOOP);
|
81
|
+
mOpcodes.put(0xb1f, OpcodeEnum.VMOVMSKPS);
|
82
|
+
mOpcodes.put(0x47b, OpcodeEnum.FLDL2T);
|
83
|
+
mOpcodes.put(0x12d, OpcodeEnum.CMPS);
|
84
|
+
mOpcodes.put(0x418, OpcodeEnum.FSUB);
|
85
|
+
mOpcodes.put(0xdba, OpcodeEnum.DIVPS);
|
86
|
+
mOpcodes.put(0x1d31, OpcodeEnum.PHSUBD);
|
87
|
+
mOpcodes.put(0x11c6, OpcodeEnum.CMPEQSS);
|
88
|
+
mOpcodes.put(0x1e7, OpcodeEnum.CMC);
|
89
|
+
mOpcodes.put(0xd15, OpcodeEnum.CVTTPS2DQ);
|
90
|
+
mOpcodes.put(0xdc1, OpcodeEnum.DIVPD);
|
91
|
+
mOpcodes.put(0xf72, OpcodeEnum.VMOVD);
|
92
|
+
mOpcodes.put(0x104, OpcodeEnum.CALL_FAR);
|
93
|
+
mOpcodes.put(0x1d88, OpcodeEnum.PMULHRSW);
|
94
|
+
mOpcodes.put(0x1d92, OpcodeEnum.VPMULHRSW);
|
95
|
+
mOpcodes.put(0x1d20, OpcodeEnum.PHSUBW);
|
96
|
+
mOpcodes.put(0x1215, OpcodeEnum.CMPEQSD);
|
97
|
+
mOpcodes.put(0x3b2, OpcodeEnum.XADD);
|
98
|
+
mOpcodes.put(0x2ae, OpcodeEnum.CMOVBE);
|
99
|
+
mOpcodes.put(0x47, OpcodeEnum.CMP);
|
100
|
+
mOpcodes.put(0x24, OpcodeEnum.SBB);
|
101
|
+
mOpcodes.put(0x1084, OpcodeEnum.VHADDPS);
|
102
|
+
mOpcodes.put(0x26c3, OpcodeEnum.FXRSTOR64);
|
103
|
+
mOpcodes.put(0x207a, OpcodeEnum.INVVPID);
|
104
|
+
mOpcodes.put(0x20f, OpcodeEnum.LSL);
|
105
|
+
mOpcodes.put(0x1673, OpcodeEnum.VCMPNEQ_USSS);
|
106
|
+
mOpcodes.put(0x107b, OpcodeEnum.VHADDPD);
|
107
|
+
mOpcodes.put(0x38b, OpcodeEnum.LSS);
|
108
|
+
mOpcodes.put(0x210d, OpcodeEnum.VFMSUB132PD);
|
109
|
+
mOpcodes.put(0x121, OpcodeEnum.LAHF);
|
110
|
+
mOpcodes.put(0x802, OpcodeEnum.PFACC);
|
111
|
+
mOpcodes.put(0x819, OpcodeEnum.PFRCPIT2);
|
112
|
+
mOpcodes.put(0xe3d, OpcodeEnum.VPUNPCKLBW);
|
113
|
+
mOpcodes.put(0x7e6, OpcodeEnum.PFRCPIT1);
|
114
|
+
mOpcodes.put(0x1fad, OpcodeEnum.PCMPGTQ);
|
115
|
+
mOpcodes.put(0x4af, OpcodeEnum.FYL2X);
|
116
|
+
mOpcodes.put(0x182f, OpcodeEnum.VCMPORD_SSD);
|
117
|
+
mOpcodes.put(0x1949, OpcodeEnum.PSRLD);
|
118
|
+
mOpcodes.put(0x10f7, OpcodeEnum.SFENCE);
|
119
|
+
mOpcodes.put(0xd0b, OpcodeEnum.CVTPS2DQ);
|
120
|
+
mOpcodes.put(0x24c5, OpcodeEnum.PBLENDW);
|
121
|
+
mOpcodes.put(0x21c4, OpcodeEnum.VFMSUBADD213PS);
|
122
|
+
mOpcodes.put(0xe8c, OpcodeEnum.PCMPGTB);
|
123
|
+
mOpcodes.put(0xeb2, OpcodeEnum.PCMPGTD);
|
124
|
+
mOpcodes.put(0x23ed, OpcodeEnum.VAESENC);
|
125
|
+
mOpcodes.put(0x96d, OpcodeEnum.VMOVSHDUP);
|
126
|
+
mOpcodes.put(0x25b2, OpcodeEnum.MPSADBW);
|
127
|
+
mOpcodes.put(0x14fd, OpcodeEnum.VCMPNLE_UQPD);
|
128
|
+
mOpcodes.put(0x720, OpcodeEnum.VMMCALL);
|
129
|
+
mOpcodes.put(0x1045, OpcodeEnum.INSERTQ);
|
130
|
+
mOpcodes.put(0x2268, OpcodeEnum.VFNMADD213SS);
|
131
|
+
mOpcodes.put(0x9d5, OpcodeEnum.CVTPI2PD);
|
132
|
+
mOpcodes.put(0x16f, OpcodeEnum.INT);
|
133
|
+
mOpcodes.put(0x1d9d, OpcodeEnum.VPERMILPS);
|
134
|
+
mOpcodes.put(0x1e2, OpcodeEnum.HLT);
|
135
|
+
mOpcodes.put(0x2059, OpcodeEnum.PHMINPOSUW);
|
136
|
+
mOpcodes.put(0x5c1, OpcodeEnum.FCMOVNU);
|
137
|
+
mOpcodes.put(0x2083, OpcodeEnum.INVPCID);
|
138
|
+
mOpcodes.put(0x7b, OpcodeEnum.INS);
|
139
|
+
mOpcodes.put(0x657, OpcodeEnum.FCOMIP);
|
140
|
+
mOpcodes.put(0x9cb, OpcodeEnum.CVTPI2PS);
|
141
|
+
mOpcodes.put(0x2276, OpcodeEnum.VFNMADD213SD);
|
142
|
+
mOpcodes.put(0xec5, OpcodeEnum.PACKUSWB);
|
143
|
+
mOpcodes.put(0xe4, OpcodeEnum.CBW);
|
144
|
+
mOpcodes.put(0x731, OpcodeEnum.VMSAVE);
|
145
|
+
mOpcodes.put(0x10e, OpcodeEnum.PUSHF);
|
146
|
+
mOpcodes.put(0x65f, OpcodeEnum.NOT);
|
147
|
+
mOpcodes.put(0x5a5, OpcodeEnum.FCMOVNB);
|
148
|
+
mOpcodes.put(0x245, OpcodeEnum.NOP);
|
149
|
+
mOpcodes.put(0x4f8, OpcodeEnum.FSQRT);
|
150
|
+
mOpcodes.put(0x1da8, OpcodeEnum.VPERMILPD);
|
151
|
+
mOpcodes.put(0x51, OpcodeEnum.INC);
|
152
|
+
mOpcodes.put(0x239, OpcodeEnum.UD2);
|
153
|
+
mOpcodes.put(0xffd, OpcodeEnum.VPCMPEQW);
|
154
|
+
mOpcodes.put(0x262b, OpcodeEnum.PCMPISTRM);
|
155
|
+
mOpcodes.put(0x1ee3, OpcodeEnum.VPCMPEQQ);
|
156
|
+
mOpcodes.put(0x1163, OpcodeEnum.CMPNLEPS);
|
157
|
+
mOpcodes.put(0x183c, OpcodeEnum.VCMPEQ_USSD);
|
158
|
+
mOpcodes.put(0x1414, OpcodeEnum.VCMPUNORDPD);
|
159
|
+
mOpcodes.put(0x60d, OpcodeEnum.FADDP);
|
160
|
+
mOpcodes.put(0x145, OpcodeEnum.RET);
|
161
|
+
mOpcodes.put(0x1010, OpcodeEnum.VPCMPEQD);
|
162
|
+
mOpcodes.put(0x1fd9, OpcodeEnum.VPMINSD);
|
163
|
+
mOpcodes.put(0x2558, OpcodeEnum.VPINSRB);
|
164
|
+
mOpcodes.put(0xfea, OpcodeEnum.VPCMPEQB);
|
165
|
+
mOpcodes.put(0x1910, OpcodeEnum.ADDSUBPD);
|
166
|
+
mOpcodes.put(0x22bc, OpcodeEnum.VFMADDSUB231PS);
|
167
|
+
mOpcodes.put(0x16aa, OpcodeEnum.VCMPEQ_USSS);
|
168
|
+
mOpcodes.put(0x1d66, OpcodeEnum.PSIGNW);
|
169
|
+
mOpcodes.put(0x1ebe, OpcodeEnum.VPMOVSXDQ);
|
170
|
+
mOpcodes.put(0x201d, OpcodeEnum.VPMAXSD);
|
171
|
+
mOpcodes.put(0x35b, OpcodeEnum.SETG);
|
172
|
+
mOpcodes.put(0x200c, OpcodeEnum.VPMAXSB);
|
173
|
+
mOpcodes.put(0x327, OpcodeEnum.SETA);
|
174
|
+
mOpcodes.put(0x306, OpcodeEnum.SETB);
|
175
|
+
mOpcodes.put(0x26f5, OpcodeEnum.STMXCSR);
|
176
|
+
mOpcodes.put(0x347, OpcodeEnum.SETL);
|
177
|
+
mOpcodes.put(0x1acf, OpcodeEnum.MOVNTQ);
|
178
|
+
mOpcodes.put(0x2f9, OpcodeEnum.SETO);
|
179
|
+
mOpcodes.put(0xbe3, OpcodeEnum.ANDNPD);
|
180
|
+
mOpcodes.put(0x111c, OpcodeEnum.BSR);
|
181
|
+
mOpcodes.put(0x8d0, OpcodeEnum.VMOVDDUP);
|
182
|
+
mOpcodes.put(0x1b52, OpcodeEnum.VPMAXSW);
|
183
|
+
mOpcodes.put(0x1d77, OpcodeEnum.PSIGND);
|
184
|
+
mOpcodes.put(0x33a, OpcodeEnum.SETP);
|
185
|
+
mOpcodes.put(0x1d55, OpcodeEnum.PSIGNB);
|
186
|
+
mOpcodes.put(0x395, OpcodeEnum.LFS);
|
187
|
+
mOpcodes.put(0x32d, OpcodeEnum.SETS);
|
188
|
+
mOpcodes.put(0x15a6, OpcodeEnum.VCMPUNORDSS);
|
189
|
+
mOpcodes.put(0xbdb, OpcodeEnum.ANDNPS);
|
190
|
+
mOpcodes.put(0x2724, OpcodeEnum.VMXON);
|
191
|
+
mOpcodes.put(0xbcb, OpcodeEnum.VANDPS);
|
192
|
+
mOpcodes.put(0x703, OpcodeEnum.XSETBV);
|
193
|
+
mOpcodes.put(0x1c3, OpcodeEnum.OUT);
|
194
|
+
mOpcodes.put(0x68a, OpcodeEnum.LTR);
|
195
|
+
mOpcodes.put(0x2586, OpcodeEnum.VPINSRD);
|
196
|
+
mOpcodes.put(0x1115, OpcodeEnum.TZCNT);
|
197
|
+
mOpcodes.put(0xa6d, OpcodeEnum.VCVTTSS2SI);
|
198
|
+
mOpcodes.put(0x2684, OpcodeEnum.VPSRLDQ);
|
199
|
+
mOpcodes.put(0x4d6, OpcodeEnum.FDECSTP);
|
200
|
+
mOpcodes.put(0x267c, OpcodeEnum.PSRLDQ);
|
201
|
+
mOpcodes.put(0x1883, OpcodeEnum.VCMPGE_OQSD);
|
202
|
+
mOpcodes.put(0x268d, OpcodeEnum.PSLLDQ);
|
203
|
+
mOpcodes.put(0x51f, OpcodeEnum.FCOS);
|
204
|
+
mOpcodes.put(0x4c5, OpcodeEnum.FXTRACT);
|
205
|
+
mOpcodes.put(0x16f1, OpcodeEnum.VCMPGE_OQSS);
|
206
|
+
mOpcodes.put(0x1ef7, OpcodeEnum.VMOVNTDQA);
|
207
|
+
mOpcodes.put(0x1533, OpcodeEnum.VCMPNGT_UQPD);
|
208
|
+
mOpcodes.put(0x405, OpcodeEnum.FMUL);
|
209
|
+
mOpcodes.put(0x13da, OpcodeEnum.VCMPGT_OQPS);
|
210
|
+
mOpcodes.put(0x61b, OpcodeEnum.FCOMPP);
|
211
|
+
mOpcodes.put(0x790, OpcodeEnum.PF2ID);
|
212
|
+
mOpcodes.put(0xf5, OpcodeEnum.CWD);
|
213
|
+
mOpcodes.put(0x1340, OpcodeEnum.VCMPUNORD_SPS);
|
214
|
+
mOpcodes.put(0x2ea, OpcodeEnum.CMOVLE);
|
215
|
+
mOpcodes.put(0xfcd, OpcodeEnum.VPSHUFHW);
|
216
|
+
mOpcodes.put(0x156c, OpcodeEnum.VCMPGT_OQPD);
|
217
|
+
mOpcodes.put(0x1cf6, OpcodeEnum.PHADDSW);
|
218
|
+
mOpcodes.put(0x789, OpcodeEnum.PF2IW);
|
219
|
+
mOpcodes.put(0xa37, OpcodeEnum.VMOVNTPD);
|
220
|
+
mOpcodes.put(0x411, OpcodeEnum.FCOMP);
|
221
|
+
mOpcodes.put(0x8da, OpcodeEnum.UNPCKLPS);
|
222
|
+
mOpcodes.put(0x1be5, OpcodeEnum.MASKMOVDQU);
|
223
|
+
mOpcodes.put(0x570, OpcodeEnum.FCMOVBE);
|
224
|
+
mOpcodes.put(0x14b8, OpcodeEnum.VCMPLT_OQPD);
|
225
|
+
mOpcodes.put(0xe2a, OpcodeEnum.VMAXSD);
|
226
|
+
mOpcodes.put(0x142c, OpcodeEnum.VCMPNLTPD);
|
227
|
+
mOpcodes.put(0x99d, OpcodeEnum.PREFETCHT2);
|
228
|
+
mOpcodes.put(0x991, OpcodeEnum.PREFETCHT1);
|
229
|
+
mOpcodes.put(0x985, OpcodeEnum.PREFETCHT0);
|
230
|
+
mOpcodes.put(0x8e4, OpcodeEnum.UNPCKLPD);
|
231
|
+
mOpcodes.put(0xa57, OpcodeEnum.CVTTSS2SI);
|
232
|
+
mOpcodes.put(0x66e, OpcodeEnum.DIV);
|
233
|
+
mOpcodes.put(0x1eb4, OpcodeEnum.PMOVSXDQ);
|
234
|
+
mOpcodes.put(0x161d, OpcodeEnum.VCMPGESS);
|
235
|
+
mOpcodes.put(0xef, OpcodeEnum.CDQE);
|
236
|
+
mOpcodes.put(0x2708, OpcodeEnum.VSTMXCSR);
|
237
|
+
mOpcodes.put(0x549, OpcodeEnum.FISUBR);
|
238
|
+
mOpcodes.put(0x1fc8, OpcodeEnum.VPMINSB);
|
239
|
+
mOpcodes.put(0x2218, OpcodeEnum.VFMSUB213PS);
|
240
|
+
mOpcodes.put(0x1326, OpcodeEnum.VCMPLT_OQPS);
|
241
|
+
mOpcodes.put(0x11d8, OpcodeEnum.CMPLESS);
|
242
|
+
mOpcodes.put(0x1b14, OpcodeEnum.VPMINSW);
|
243
|
+
mOpcodes.put(0x1c70, OpcodeEnum.FSTENV);
|
244
|
+
mOpcodes.put(0x17af, OpcodeEnum.VCMPGESD);
|
245
|
+
mOpcodes.put(0x1dea, OpcodeEnum.VPTEST);
|
246
|
+
mOpcodes.put(0x542, OpcodeEnum.FISUB);
|
247
|
+
mOpcodes.put(0x205, OpcodeEnum.STD);
|
248
|
+
mOpcodes.put(0xf29, OpcodeEnum.VPACKSSDW);
|
249
|
+
mOpcodes.put(0x3d, OpcodeEnum.XOR);
|
250
|
+
mOpcodes.put(0xc95, OpcodeEnum.VMULPD);
|
251
|
+
mOpcodes.put(0x1f1, OpcodeEnum.STC);
|
252
|
+
mOpcodes.put(0x1fb, OpcodeEnum.STI);
|
253
|
+
mOpcodes.put(0x26d8, OpcodeEnum.LDMXCSR);
|
254
|
+
mOpcodes.put(0x1180, OpcodeEnum.CMPLTPD);
|
255
|
+
mOpcodes.put(0xbfd, OpcodeEnum.ORPS);
|
256
|
+
mOpcodes.put(0x1f0c, OpcodeEnum.VPACKUSDW);
|
257
|
+
mOpcodes.put(0x62b, OpcodeEnum.FSUBP);
|
258
|
+
mOpcodes.put(0x67f, OpcodeEnum.STR);
|
259
|
+
mOpcodes.put(0x41e, OpcodeEnum.FSUBR);
|
260
|
+
mOpcodes.put(0x1131, OpcodeEnum.CMPLTPS);
|
261
|
+
mOpcodes.put(0x2323, OpcodeEnum.VFMADD231SD);
|
262
|
+
mOpcodes.put(0x2733, OpcodeEnum.PAUSE);
|
263
|
+
mOpcodes.put(0x1aa3, OpcodeEnum.CVTPD2DQ);
|
264
|
+
mOpcodes.put(0x372, OpcodeEnum.RSM);
|
265
|
+
mOpcodes.put(0xb70, OpcodeEnum.VSQRTSD);
|
266
|
+
mOpcodes.put(0xc09, OpcodeEnum.VORPS);
|
267
|
+
mOpcodes.put(0x21a4, OpcodeEnum.VFMADDSUB213PS);
|
268
|
+
mOpcodes.put(0x23e5, OpcodeEnum.AESENC);
|
269
|
+
mOpcodes.put(0x144d, OpcodeEnum.VCMPEQ_UQPD);
|
270
|
+
mOpcodes.put(0x918, OpcodeEnum.VUNPCKHPS);
|
271
|
+
mOpcodes.put(0x1d09, OpcodeEnum.PMADDUBSW);
|
272
|
+
mOpcodes.put(0x136b, OpcodeEnum.VCMPNLE_UQPS);
|
273
|
+
mOpcodes.put(0x1b7e, OpcodeEnum.VPSLLW);
|
274
|
+
mOpcodes.put(0x1bdb, OpcodeEnum.MASKMOVQ);
|
275
|
+
mOpcodes.put(0x1c8, OpcodeEnum.CALL);
|
276
|
+
mOpcodes.put(0xb67, OpcodeEnum.VSQRTSS);
|
277
|
+
mOpcodes.put(0x19f2, OpcodeEnum.PADDUSB);
|
278
|
+
mOpcodes.put(0x1036, OpcodeEnum.VMREAD);
|
279
|
+
mOpcodes.put(0x10eb, OpcodeEnum.XSAVEOPT64);
|
280
|
+
mOpcodes.put(0x923, OpcodeEnum.VUNPCKHPD);
|
281
|
+
mOpcodes.put(0xd5e, OpcodeEnum.VSUBPS);
|
282
|
+
mOpcodes.put(0xceb, OpcodeEnum.VCVTSS2SD);
|
283
|
+
mOpcodes.put(0x242c, OpcodeEnum.VAESDECLAST);
|
284
|
+
mOpcodes.put(0x1095, OpcodeEnum.HSUBPS);
|
285
|
+
mOpcodes.put(0xaad, OpcodeEnum.VCVTSS2SI);
|
286
|
+
mOpcodes.put(0x25f2, OpcodeEnum.VPBLENDVB);
|
287
|
+
mOpcodes.put(0x17b9, OpcodeEnum.VCMPGTSD);
|
288
|
+
mOpcodes.put(0x58a, OpcodeEnum.FILD);
|
289
|
+
mOpcodes.put(0xaf9, OpcodeEnum.VCOMISS);
|
290
|
+
mOpcodes.put(0x108d, OpcodeEnum.HSUBPD);
|
291
|
+
mOpcodes.put(0x23b8, OpcodeEnum.VFNMSUB231SS);
|
292
|
+
mOpcodes.put(0x1a53, OpcodeEnum.VPSRAD);
|
293
|
+
mOpcodes.put(0x12a5, OpcodeEnum.VCMPNLEPS);
|
294
|
+
mOpcodes.put(0x3e5, OpcodeEnum.SAL);
|
295
|
+
mOpcodes.put(0x214, OpcodeEnum.SYSCALL);
|
296
|
+
mOpcodes.put(0xb95, OpcodeEnum.VRSQRTSS);
|
297
|
+
mOpcodes.put(0x258f, OpcodeEnum.VPINSRQ);
|
298
|
+
mOpcodes.put(0x26fe, OpcodeEnum.WRGSBASE);
|
299
|
+
mOpcodes.put(0xfc4, OpcodeEnum.VPSHUFD);
|
300
|
+
mOpcodes.put(0x1e4b, OpcodeEnum.PMOVSXBW);
|
301
|
+
mOpcodes.put(0x1a44, OpcodeEnum.VPSRAW);
|
302
|
+
mOpcodes.put(0x1437, OpcodeEnum.VCMPNLEPD);
|
303
|
+
mOpcodes.put(0x3ff, OpcodeEnum.FADD);
|
304
|
+
mOpcodes.put(0x3ea, OpcodeEnum.SAR);
|
305
|
+
mOpcodes.put(0x713, OpcodeEnum.XEND);
|
306
|
+
mOpcodes.put(0x2659, OpcodeEnum.AESKEYGENASSIST);
|
307
|
+
mOpcodes.put(0xf1f, OpcodeEnum.PACKSSDW);
|
308
|
+
mOpcodes.put(0x21fe, OpcodeEnum.VFMADD213SS);
|
309
|
+
mOpcodes.put(0xf90, OpcodeEnum.VMOVDQA);
|
310
|
+
mOpcodes.put(0x8c5, OpcodeEnum.VMOVSLDUP);
|
311
|
+
mOpcodes.put(0x508, OpcodeEnum.FRNDINT);
|
312
|
+
mOpcodes.put(0x1976, OpcodeEnum.PMULLW);
|
313
|
+
mOpcodes.put(0xdcf, OpcodeEnum.DIVSD);
|
314
|
+
mOpcodes.put(0xb0b, OpcodeEnum.MOVMSKPS);
|
315
|
+
mOpcodes.put(0x202e, OpcodeEnum.VPMAXUW);
|
316
|
+
mOpcodes.put(0xdde, OpcodeEnum.VDIVPD);
|
317
|
+
mOpcodes.put(0x1e55, OpcodeEnum.VPMOVSXBW);
|
318
|
+
mOpcodes.put(0x1e9f, OpcodeEnum.PMOVSXWQ);
|
319
|
+
mOpcodes.put(0x2048, OpcodeEnum.PMULLD);
|
320
|
+
mOpcodes.put(0xf99, OpcodeEnum.VMOVDQU);
|
321
|
+
mOpcodes.put(0x22ae, OpcodeEnum.VFNMSUB213SD);
|
322
|
+
mOpcodes.put(0x297, OpcodeEnum.CMOVAE);
|
323
|
+
mOpcodes.put(0x14ab, OpcodeEnum.VCMPEQ_OSPD);
|
324
|
+
mOpcodes.put(0xdd6, OpcodeEnum.VDIVPS);
|
325
|
+
mOpcodes.put(0x93, OpcodeEnum.JAE);
|
326
|
+
mOpcodes.put(0xb15, OpcodeEnum.MOVMSKPD);
|
327
|
+
mOpcodes.put(0xdc8, OpcodeEnum.DIVSS);
|
328
|
+
mOpcodes.put(0x1cad, OpcodeEnum.FSAVE);
|
329
|
+
mOpcodes.put(0x1eda, OpcodeEnum.PCMPEQQ);
|
330
|
+
mOpcodes.put(0xfd7, OpcodeEnum.VPSHUFLW);
|
331
|
+
mOpcodes.put(0xff4, OpcodeEnum.PCMPEQW);
|
332
|
+
mOpcodes.put(0x26eb, OpcodeEnum.VLDMXCSR);
|
333
|
+
mOpcodes.put(0x211a, OpcodeEnum.VFMSUB132SS);
|
334
|
+
mOpcodes.put(0x11bc, OpcodeEnum.CMPORDPD);
|
335
|
+
mOpcodes.put(0xba6, OpcodeEnum.RCPSS);
|
336
|
+
mOpcodes.put(0x1b8d, OpcodeEnum.VPSLLD);
|
337
|
+
mOpcodes.put(0x673, OpcodeEnum.IDIV);
|
338
|
+
mOpcodes.put(0x1442, OpcodeEnum.VCMPORDPD);
|
339
|
+
mOpcodes.put(0xfe1, OpcodeEnum.PCMPEQB);
|
340
|
+
mOpcodes.put(0x1007, OpcodeEnum.PCMPEQD);
|
341
|
+
mOpcodes.put(0x1b9c, OpcodeEnum.VPSLLQ);
|
342
|
+
mOpcodes.put(0x1f63, OpcodeEnum.VPMOVZXBQ);
|
343
|
+
mOpcodes.put(0x21d4, OpcodeEnum.VFMSUBADD213PD);
|
344
|
+
mOpcodes.put(0x25e7, OpcodeEnum.VBLENDVPD);
|
345
|
+
mOpcodes.put(0x116d, OpcodeEnum.CMPORDPS);
|
346
|
+
mOpcodes.put(0xf34, OpcodeEnum.PUNPCKLQDQ);
|
347
|
+
mOpcodes.put(0x19eb, OpcodeEnum.VPAND);
|
348
|
+
mOpcodes.put(0x147d, OpcodeEnum.VCMPNEQ_OQPD);
|
349
|
+
mOpcodes.put(0x106b, OpcodeEnum.HADDPD);
|
350
|
+
mOpcodes.put(0x192f, OpcodeEnum.VADDSUBPS);
|
351
|
+
mOpcodes.put(0x18e7, OpcodeEnum.VSHUFPD);
|
352
|
+
mOpcodes.put(0xd76, OpcodeEnum.VSUBSD);
|
353
|
+
mOpcodes.put(0xb55, OpcodeEnum.VSQRTPS);
|
354
|
+
mOpcodes.put(0x947, OpcodeEnum.MOVSHDUP);
|
355
|
+
mOpcodes.put(0x238e, OpcodeEnum.VFNMADD231SD);
|
356
|
+
mOpcodes.put(0x6cf, OpcodeEnum.VMLAUNCH);
|
357
|
+
mOpcodes.put(0x1f23, OpcodeEnum.VMASKMOVPD);
|
358
|
+
mOpcodes.put(0x1073, OpcodeEnum.HADDPS);
|
359
|
+
mOpcodes.put(0x12eb, OpcodeEnum.VCMPNEQ_OQPS);
|
360
|
+
mOpcodes.put(0xe49, OpcodeEnum.PUNPCKLWD);
|
361
|
+
mOpcodes.put(0x16c5, OpcodeEnum.VCMPNGT_UQSS);
|
362
|
+
mOpcodes.put(0xb5e, OpcodeEnum.VSQRTPD);
|
363
|
+
mOpcodes.put(0xd6e, OpcodeEnum.VSUBSS);
|
364
|
+
mOpcodes.put(0x18de, OpcodeEnum.VSHUFPS);
|
365
|
+
mOpcodes.put(0x15b3, OpcodeEnum.VCMPNEQSS);
|
366
|
+
mOpcodes.put(0x1b6f, OpcodeEnum.VLDDQU);
|
367
|
+
mOpcodes.put(0x164a, OpcodeEnum.VCMPLT_OQSS);
|
368
|
+
mOpcodes.put(0x2740, OpcodeEnum.RDRAND);
|
369
|
+
mOpcodes.put(0x1b39, OpcodeEnum.PADDSW);
|
370
|
+
mOpcodes.put(0x1386, OpcodeEnum.VCMPEQ_USPS);
|
371
|
+
mOpcodes.put(0xc03, OpcodeEnum.ORPD);
|
372
|
+
mOpcodes.put(0x1a1f, OpcodeEnum.PANDN);
|
373
|
+
mOpcodes.put(0x4b6, OpcodeEnum.FPTAN);
|
374
|
+
mOpcodes.put(0x551, OpcodeEnum.FIDIV);
|
375
|
+
mOpcodes.put(0x17dc, OpcodeEnum.VCMPLT_OQSD);
|
376
|
+
mOpcodes.put(0x2712, OpcodeEnum.VMPTRLD);
|
377
|
+
mOpcodes.put(0x2330, OpcodeEnum.VFMSUB231PS);
|
378
|
+
mOpcodes.put(0x1745, OpcodeEnum.VCMPNEQSD);
|
379
|
+
mOpcodes.put(0x1ed1, OpcodeEnum.VPMULDQ);
|
380
|
+
mOpcodes.put(0x196, OpcodeEnum.LOOPNZ);
|
381
|
+
mOpcodes.put(0x1282, OpcodeEnum.VCMPUNORDPS);
|
382
|
+
mOpcodes.put(0x3e0, OpcodeEnum.SHR);
|
383
|
+
mOpcodes.put(0x37c, OpcodeEnum.SHRD);
|
384
|
+
mOpcodes.put(0x6eb, OpcodeEnum.MONITOR);
|
385
|
+
mOpcodes.put(0x3ef, OpcodeEnum.XABORT);
|
386
|
+
mOpcodes.put(0x23f6, OpcodeEnum.AESENCLAST);
|
387
|
+
mOpcodes.put(0x854, OpcodeEnum.MOVSD);
|
388
|
+
mOpcodes.put(0x18b4, OpcodeEnum.VPINSRW);
|
389
|
+
mOpcodes.put(0x729, OpcodeEnum.VMLOAD);
|
390
|
+
mOpcodes.put(0x92e, OpcodeEnum.MOVLHPS);
|
391
|
+
mOpcodes.put(0x8bc, OpcodeEnum.VMOVLPD);
|
392
|
+
mOpcodes.put(0x1987, OpcodeEnum.MOVQ2DQ);
|
393
|
+
mOpcodes.put(0xb45, OpcodeEnum.SQRTSS);
|
394
|
+
mOpcodes.put(0x259e, OpcodeEnum.VDPPS);
|
395
|
+
mOpcodes.put(0xd50, OpcodeEnum.SUBSS);
|
396
|
+
mOpcodes.put(0x3ab, OpcodeEnum.MOVSX);
|
397
|
+
mOpcodes.put(0x951, OpcodeEnum.VMOVLHPS);
|
398
|
+
mOpcodes.put(0x8b3, OpcodeEnum.VMOVLPS);
|
399
|
+
mOpcodes.put(0xf13, OpcodeEnum.VPUNPCKHDQ);
|
400
|
+
mOpcodes.put(0x1ac4, OpcodeEnum.VCVTPD2DQ);
|
401
|
+
mOpcodes.put(0x3db, OpcodeEnum.SHL);
|
402
|
+
mOpcodes.put(0x84d, OpcodeEnum.MOVSS);
|
403
|
+
mOpcodes.put(0x257e, OpcodeEnum.PINSRQ);
|
404
|
+
mOpcodes.put(0x797, OpcodeEnum.PFNACC);
|
405
|
+
mOpcodes.put(0xf88, OpcodeEnum.MOVDQU);
|
406
|
+
mOpcodes.put(0x80, OpcodeEnum.OUTS);
|
407
|
+
mOpcodes.put(0x1bfe, OpcodeEnum.PSUBB);
|
408
|
+
mOpcodes.put(0x377, OpcodeEnum.BTS);
|
409
|
+
mOpcodes.put(0x390, OpcodeEnum.BTR);
|
410
|
+
mOpcodes.put(0x1805, OpcodeEnum.VCMPNEQ_USSD);
|
411
|
+
mOpcodes.put(0x69b, OpcodeEnum.SGDT);
|
412
|
+
mOpcodes.put(0x2316, OpcodeEnum.VFMADD231SS);
|
413
|
+
mOpcodes.put(0x511, OpcodeEnum.FSCALE);
|
414
|
+
mOpcodes.put(0x1c0d, OpcodeEnum.PSUBW);
|
415
|
+
mOpcodes.put(0x11a8, OpcodeEnum.CMPNLTPD);
|
416
|
+
mOpcodes.put(0x1f02, OpcodeEnum.PACKUSDW);
|
417
|
+
mOpcodes.put(0x20a, OpcodeEnum.LAR);
|
418
|
+
mOpcodes.put(0x3a6, OpcodeEnum.BTC);
|
419
|
+
mOpcodes.put(0x215e, OpcodeEnum.VFNMADD132SD);
|
420
|
+
mOpcodes.put(0x1465, OpcodeEnum.VCMPNGTPD);
|
421
|
+
mOpcodes.put(0x1f39, OpcodeEnum.VPMOVZXBW);
|
422
|
+
mOpcodes.put(0x2127, OpcodeEnum.VFMSUB132SD);
|
423
|
+
mOpcodes.put(0x23d4, OpcodeEnum.AESIMC);
|
424
|
+
mOpcodes.put(0x40b, OpcodeEnum.FCOM);
|
425
|
+
mOpcodes.put(0x1f4e, OpcodeEnum.VPMOVZXBD);
|
426
|
+
mOpcodes.put(0x1924, OpcodeEnum.VADDSUBPD);
|
427
|
+
mOpcodes.put(0x1c9e, OpcodeEnum.FINIT);
|
428
|
+
mOpcodes.put(0x120b, OpcodeEnum.CMPORDSS);
|
429
|
+
mOpcodes.put(0x231, OpcodeEnum.WBINVD);
|
430
|
+
mOpcodes.put(0x19e5, OpcodeEnum.PAND);
|
431
|
+
mOpcodes.put(0x24e1, OpcodeEnum.VPALIGNR);
|
432
|
+
mOpcodes.put(0x125a, OpcodeEnum.CMPORDSD);
|
433
|
+
mOpcodes.put(0x1b61, OpcodeEnum.VPXOR);
|
434
|
+
mOpcodes.put(0xa1, OpcodeEnum.JBE);
|
435
|
+
mOpcodes.put(0x46f, OpcodeEnum.FXAM);
|
436
|
+
mOpcodes.put(0x10e1, OpcodeEnum.XSAVEOPT);
|
437
|
+
mOpcodes.put(0x669, OpcodeEnum.MUL);
|
438
|
+
mOpcodes.put(0x19dc, OpcodeEnum.VPMINUB);
|
439
|
+
mOpcodes.put(0x1b41, OpcodeEnum.VPADDSW);
|
440
|
+
mOpcodes.put(0x1b4a, OpcodeEnum.PMAXSW);
|
441
|
+
mOpcodes.put(0x256b, OpcodeEnum.VINSERTPS);
|
442
|
+
mOpcodes.put(0x13f6, OpcodeEnum.VCMPEQPD);
|
443
|
+
mOpcodes.put(0x5f7, OpcodeEnum.FFREE);
|
444
|
+
mOpcodes.put(0x1f17, OpcodeEnum.VMASKMOVPS);
|
445
|
+
mOpcodes.put(0x18f0, OpcodeEnum.CMPXCHG8B);
|
446
|
+
mOpcodes.put(0x2015, OpcodeEnum.PMAXSD);
|
447
|
+
mOpcodes.put(0x1b30, OpcodeEnum.VPADDSB);
|
448
|
+
mOpcodes.put(0x10, OpcodeEnum.PUSH);
|
449
|
+
mOpcodes.put(0x25d0, OpcodeEnum.VPCLMULQDQ);
|
450
|
+
mOpcodes.put(0x1264, OpcodeEnum.VCMPEQPS);
|
451
|
+
mOpcodes.put(0x7f0, OpcodeEnum.PFRSQIT1);
|
452
|
+
mOpcodes.put(0x2453, OpcodeEnum.ROUNDPS);
|
453
|
+
mOpcodes.put(0x2ff, OpcodeEnum.SETNO);
|
454
|
+
mOpcodes.put(0x6fb, OpcodeEnum.XGETBV);
|
455
|
+
mOpcodes.put(0x1fd1, OpcodeEnum.PMINSD);
|
456
|
+
mOpcodes.put(0x1c3a, OpcodeEnum.PADDB);
|
457
|
+
mOpcodes.put(0x4ce, OpcodeEnum.FPREM1);
|
458
|
+
mOpcodes.put(0x200, OpcodeEnum.CLD);
|
459
|
+
mOpcodes.put(0x52c, OpcodeEnum.FIMUL);
|
460
|
+
mOpcodes.put(0xc1e, OpcodeEnum.XORPD);
|
461
|
+
mOpcodes.put(0x1ec, OpcodeEnum.CLC);
|
462
|
+
mOpcodes.put(0x43c, OpcodeEnum.FSTP);
|
463
|
+
mOpcodes.put(0x24b2, OpcodeEnum.BLENDPD);
|
464
|
+
mOpcodes.put(0x1a05, OpcodeEnum.PADDUSW);
|
465
|
+
mOpcodes.put(0x1c96, OpcodeEnum.FNINIT);
|
466
|
+
mOpcodes.put(0x319, OpcodeEnum.SETNZ);
|
467
|
+
mOpcodes.put(0x1967, OpcodeEnum.PADDQ);
|
468
|
+
mOpcodes.put(0xc17, OpcodeEnum.XORPS);
|
469
|
+
mOpcodes.put(0x22a0, OpcodeEnum.VFNMSUB213SS);
|
470
|
+
mOpcodes.put(0x333, OpcodeEnum.SETNS);
|
471
|
+
mOpcodes.put(0x525, OpcodeEnum.FIADD);
|
472
|
+
mOpcodes.put(0x340, OpcodeEnum.SETNP);
|
473
|
+
mOpcodes.put(0xf59, OpcodeEnum.VPUNPCKHQDQ);
|
474
|
+
mOpcodes.put(0xd42, OpcodeEnum.SUBPS);
|
475
|
+
mOpcodes.put(0x1246, OpcodeEnum.CMPNLTSD);
|
476
|
+
mOpcodes.put(0x684, OpcodeEnum.LLDT);
|
477
|
+
mOpcodes.put(0x223f, OpcodeEnum.VFMSUB213SD);
|
478
|
+
mOpcodes.put(0x1de3, OpcodeEnum.PTEST);
|
479
|
+
mOpcodes.put(0x217a, OpcodeEnum.VFNMSUB132PD);
|
480
|
+
mOpcodes.put(0x279, OpcodeEnum.GETSEC);
|
481
|
+
mOpcodes.put(0x1d7f, OpcodeEnum.VPSIGND);
|
482
|
+
mOpcodes.put(0x1ab, OpcodeEnum.JCXZ);
|
483
|
+
mOpcodes.put(0x11f7, OpcodeEnum.CMPNLTSS);
|
484
|
+
mOpcodes.put(0x34d, OpcodeEnum.SETGE);
|
485
|
+
mOpcodes.put(0x1128, OpcodeEnum.CMPEQPS);
|
486
|
+
mOpcodes.put(0x1bca, OpcodeEnum.PSADBW);
|
487
|
+
mOpcodes.put(0x272b, OpcodeEnum.MOVSXD);
|
488
|
+
mOpcodes.put(0x216c, OpcodeEnum.VFNMSUB132PS);
|
489
|
+
mOpcodes.put(0x185, OpcodeEnum.AAD);
|
490
|
+
mOpcodes.put(0x2402, OpcodeEnum.VAESENCLAST);
|
491
|
+
mOpcodes.put(0xf4d, OpcodeEnum.PUNPCKHQDQ);
|
492
|
+
mOpcodes.put(0x88e, OpcodeEnum.MOVLPD);
|
493
|
+
mOpcodes.put(0x19fb, OpcodeEnum.VPADDUSW);
|
494
|
+
mOpcodes.put(0x12de, OpcodeEnum.VCMPFALSEPS);
|
495
|
+
mOpcodes.put(0x180, OpcodeEnum.AAM);
|
496
|
+
mOpcodes.put(0xf40, OpcodeEnum.VPUNPCKLQDQ);
|
497
|
+
mOpcodes.put(0xd8c, OpcodeEnum.MINSS);
|
498
|
+
mOpcodes.put(0x1c58, OpcodeEnum.PADDD);
|
499
|
+
mOpcodes.put(0x1470, OpcodeEnum.VCMPFALSEPD);
|
500
|
+
mOpcodes.put(0xe54, OpcodeEnum.VPUNPCKLWD);
|
501
|
+
mOpcodes.put(0x886, OpcodeEnum.MOVLPS);
|
502
|
+
mOpcodes.put(0x73f, OpcodeEnum.CLGI);
|
503
|
+
mOpcodes.put(0x4c, OpcodeEnum.AAS);
|
504
|
+
mOpcodes.put(0x139, OpcodeEnum.LODS);
|
505
|
+
mOpcodes.put(0x2d3, OpcodeEnum.CMOVNP);
|
506
|
+
mOpcodes.put(0xd93, OpcodeEnum.MINSD);
|
507
|
+
mOpcodes.put(0x1f6, OpcodeEnum.CLI);
|
508
|
+
mOpcodes.put(0xa62, OpcodeEnum.CVTTSD2SI);
|
509
|
+
mOpcodes.put(0x533, OpcodeEnum.FICOM);
|
510
|
+
mOpcodes.put(0x1f2f, OpcodeEnum.PMOVZXBW);
|
511
|
+
mOpcodes.put(0xc3c, OpcodeEnum.ADDPD);
|
512
|
+
mOpcodes.put(0x770, OpcodeEnum.PREFETCHW);
|
513
|
+
mOpcodes.put(0x134f, OpcodeEnum.VCMPNEQ_USPS);
|
514
|
+
mOpcodes.put(0xc2d, OpcodeEnum.VXORPD);
|
515
|
+
mOpcodes.put(0x1b1d, OpcodeEnum.POR);
|
516
|
+
mOpcodes.put(0x16, OpcodeEnum.POP);
|
517
|
+
mOpcodes.put(0x2447, OpcodeEnum.VPERM2F128);
|
518
|
+
mOpcodes.put(0x19e, OpcodeEnum.LOOPZ);
|
519
|
+
mOpcodes.put(0x1ad7, OpcodeEnum.MOVNTDQ);
|
520
|
+
mOpcodes.put(0x1dc, OpcodeEnum.INT1);
|
521
|
+
mOpcodes.put(0x382, OpcodeEnum.CMPXCHG);
|
522
|
+
mOpcodes.put(0x1e0e, OpcodeEnum.VBROADCASTF128);
|
523
|
+
mOpcodes.put(0x1525, OpcodeEnum.VCMPNGE_UQPD);
|
524
|
+
mOpcodes.put(0x1cd4, OpcodeEnum.PHADDW);
|
525
|
+
mOpcodes.put(0xc25, OpcodeEnum.VXORPS);
|
526
|
+
mOpcodes.put(0x14e1, OpcodeEnum.VCMPNEQ_USPD);
|
527
|
+
mOpcodes.put(0xc35, OpcodeEnum.ADDPS);
|
528
|
+
mOpcodes.put(0x812, OpcodeEnum.PFMUL);
|
529
|
+
mOpcodes.put(0x6a7, OpcodeEnum.LGDT);
|
530
|
+
mOpcodes.put(0x68f, OpcodeEnum.VERR);
|
531
|
+
mOpcodes.put(0x695, OpcodeEnum.VERW);
|
532
|
+
mOpcodes.put(0x109d, OpcodeEnum.VHSUBPD);
|
533
|
+
mOpcodes.put(0x197e, OpcodeEnum.VPMULLW);
|
534
|
+
mOpcodes.put(0x85b, OpcodeEnum.VMOVUPS);
|
535
|
+
mOpcodes.put(0x174, OpcodeEnum.INTO);
|
536
|
+
mOpcodes.put(0x1c8f, OpcodeEnum.FCLEX);
|
537
|
+
mOpcodes.put(0x10a6, OpcodeEnum.VHSUBPS);
|
538
|
+
mOpcodes.put(0xccb, OpcodeEnum.CVTSD2SS);
|
539
|
+
mOpcodes.put(0x48b, OpcodeEnum.FLDPI);
|
540
|
+
mOpcodes.put(0x1e2d, OpcodeEnum.PABSW);
|
541
|
+
mOpcodes.put(0xe1a, OpcodeEnum.VMAXPD);
|
542
|
+
mOpcodes.put(0x1d3, OpcodeEnum.JMP_FAR);
|
543
|
+
mOpcodes.put(0xecf, OpcodeEnum.VPACKUSWB);
|
544
|
+
mOpcodes.put(0x581, OpcodeEnum.FUCOMPP);
|
545
|
+
mOpcodes.put(0x864, OpcodeEnum.VMOVUPD);
|
546
|
+
mOpcodes.put(0x82c, OpcodeEnum.PSWAPD);
|
547
|
+
mOpcodes.put(0x1c49, OpcodeEnum.PADDW);
|
548
|
+
mOpcodes.put(0x1b86, OpcodeEnum.PSLLD);
|
549
|
+
mOpcodes.put(0x756, OpcodeEnum.SWAPGS);
|
550
|
+
mOpcodes.put(0x896, OpcodeEnum.MOVSLDUP);
|
551
|
+
mOpcodes.put(0x9df, OpcodeEnum.CVTSI2SS);
|
552
|
+
mOpcodes.put(0x17c3, OpcodeEnum.VCMPTRUESD);
|
553
|
+
mOpcodes.put(0x11e1, OpcodeEnum.CMPUNORDSS);
|
554
|
+
mOpcodes.put(0xd36, OpcodeEnum.VCVTTPS2DQ);
|
555
|
+
mOpcodes.put(0xb4d, OpcodeEnum.SQRTSD);
|
556
|
+
mOpcodes.put(0x1e00, OpcodeEnum.VBROADCASTSD);
|
557
|
+
mOpcodes.put(0x1c1c, OpcodeEnum.PSUBD);
|
558
|
+
mOpcodes.put(0xce, OpcodeEnum.TEST);
|
559
|
+
mOpcodes.put(0x39a, OpcodeEnum.LGS);
|
560
|
+
mOpcodes.put(0x1631, OpcodeEnum.VCMPTRUESS);
|
561
|
+
mOpcodes.put(0x266, OpcodeEnum.SYSENTER);
|
562
|
+
mOpcodes.put(0x9e9, OpcodeEnum.CVTSI2SD);
|
563
|
+
mOpcodes.put(0x175b, OpcodeEnum.VCMPNLESD);
|
564
|
+
mOpcodes.put(0x1dbc, OpcodeEnum.VTESTPD);
|
565
|
+
mOpcodes.put(0x98, OpcodeEnum.JZ);
|
566
|
+
mOpcodes.put(0xde6, OpcodeEnum.VDIVSS);
|
567
|
+
mOpcodes.put(0xc10, OpcodeEnum.VORPD);
|
568
|
+
mOpcodes.put(0xb3, OpcodeEnum.JP);
|
569
|
+
mOpcodes.put(0xaa, OpcodeEnum.JS);
|
570
|
+
mOpcodes.put(0xbc, OpcodeEnum.JL);
|
571
|
+
mOpcodes.put(0xb82, OpcodeEnum.RSQRTSS);
|
572
|
+
mOpcodes.put(0x1db3, OpcodeEnum.VTESTPS);
|
573
|
+
mOpcodes.put(0x86, OpcodeEnum.JO);
|
574
|
+
mOpcodes.put(0xe12, OpcodeEnum.VMAXPS);
|
575
|
+
mOpcodes.put(0x19ae, OpcodeEnum.PSUBUSB);
|
576
|
+
mOpcodes.put(0xca, OpcodeEnum.JG);
|
577
|
+
mOpcodes.put(0x1df2, OpcodeEnum.VBROADCASTSS);
|
578
|
+
mOpcodes.put(0xa6, OpcodeEnum.JA);
|
579
|
+
mOpcodes.put(0x8f, OpcodeEnum.JB);
|
580
|
+
mOpcodes.put(0xe9, OpcodeEnum.CWDE);
|
581
|
+
mOpcodes.put(0x140a, OpcodeEnum.VCMPLEPD);
|
582
|
+
mOpcodes.put(0x104e, OpcodeEnum.VMWRITE);
|
583
|
+
mOpcodes.put(0x1278, OpcodeEnum.VCMPLEPS);
|
584
|
+
mOpcodes.put(0x1999, OpcodeEnum.PMOVMSKB);
|
585
|
+
mOpcodes.put(0x2561, OpcodeEnum.INSERTPS);
|
586
|
+
mOpcodes.put(0x2614, OpcodeEnum.PCMPESTRI);
|
587
|
+
mOpcodes.put(0x273a, OpcodeEnum.WAIT);
|
588
|
+
mOpcodes.put(0x1541, OpcodeEnum.VCMPFALSE_OSPD);
|
589
|
+
mOpcodes.put(0x25fd, OpcodeEnum.PCMPESTRM);
|
590
|
+
mOpcodes.put(0xe60, OpcodeEnum.PUNPCKLDQ);
|
591
|
+
mOpcodes.put(0xc7f, OpcodeEnum.MULSS);
|
592
|
+
mOpcodes.put(0xd66, OpcodeEnum.VSUBPD);
|
593
|
+
mOpcodes.put(0x1177, OpcodeEnum.CMPEQPD);
|
594
|
+
mOpcodes.put(0x17a1, OpcodeEnum.VCMPNEQ_OQSD);
|
595
|
+
mOpcodes.put(0xb02, OpcodeEnum.VCOMISD);
|
596
|
+
mOpcodes.put(0xdaa, OpcodeEnum.VMINSS);
|
597
|
+
mOpcodes.put(0x1c5f, OpcodeEnum.VPADDD);
|
598
|
+
mOpcodes.put(0x258, OpcodeEnum.RDMSR);
|
599
|
+
mOpcodes.put(0x1d6e, OpcodeEnum.VPSIGNW);
|
600
|
+
mOpcodes.put(0x1b1, OpcodeEnum.JECXZ);
|
601
|
+
mOpcodes.put(0xc86, OpcodeEnum.MULSD);
|
602
|
+
mOpcodes.put(0x154, OpcodeEnum.ENTER);
|
603
|
+
mOpcodes.put(0x2439, OpcodeEnum.MOVBE);
|
604
|
+
mOpcodes.put(0x102c, OpcodeEnum.VZEROALL);
|
605
|
+
mOpcodes.put(0x2748, OpcodeEnum._3DNOW);
|
606
|
+
mOpcodes.put(0xdb2, OpcodeEnum.VMINSD);
|
607
|
+
mOpcodes.put(0x160f, OpcodeEnum.VCMPNEQ_OQSS);
|
608
|
+
mOpcodes.put(0x7fa, OpcodeEnum.PFSUBR);
|
609
|
+
mOpcodes.put(0x12f9, OpcodeEnum.VCMPGEPS);
|
610
|
+
mOpcodes.put(0x19b7, OpcodeEnum.VPSUBUSB);
|
611
|
+
mOpcodes.put(0x2357, OpcodeEnum.VFMSUB231SD);
|
612
|
+
mOpcodes.put(0x2037, OpcodeEnum.PMAXUD);
|
613
|
+
mOpcodes.put(0x269e, OpcodeEnum.FXSAVE);
|
614
|
+
mOpcodes.put(0x590, OpcodeEnum.FISTTP);
|
615
|
+
mOpcodes.put(0x148b, OpcodeEnum.VCMPGEPD);
|
616
|
+
mOpcodes.put(0x249f, OpcodeEnum.BLENDPS);
|
617
|
+
mOpcodes.put(0x172e, OpcodeEnum.VCMPLESD);
|
618
|
+
mOpcodes.put(0x5b7, OpcodeEnum.FCMOVNBE);
|
619
|
+
mOpcodes.put(0x234a, OpcodeEnum.VFMSUB231SS);
|
620
|
+
mOpcodes.put(0x25dc, OpcodeEnum.VBLENDVPS);
|
621
|
+
mOpcodes.put(0x25bb, OpcodeEnum.VMPSADBW);
|
622
|
+
mOpcodes.put(0x19ca, OpcodeEnum.VPSUBUSW);
|
623
|
+
mOpcodes.put(0x1724, OpcodeEnum.VCMPLTSD);
|
624
|
+
mOpcodes.put(0x1eed, OpcodeEnum.MOVNTDQA);
|
625
|
+
mOpcodes.put(0x18d6, OpcodeEnum.SHUFPD);
|
626
|
+
mOpcodes.put(0xd49, OpcodeEnum.SUBPD);
|
627
|
+
mOpcodes.put(0xb3d, OpcodeEnum.SQRTPD);
|
628
|
+
mOpcodes.put(0x964, OpcodeEnum.VMOVHPD);
|
629
|
+
mOpcodes.put(0x6c7, OpcodeEnum.VMCALL);
|
630
|
+
mOpcodes.put(0x20d9, OpcodeEnum.VFMADD132PD);
|
631
|
+
mOpcodes.put(0x15b, OpcodeEnum.LEAVE);
|
632
|
+
mOpcodes.put(0x18ce, OpcodeEnum.SHUFPS);
|
633
|
+
mOpcodes.put(0x1319, OpcodeEnum.VCMPEQ_OSPS);
|
634
|
+
mOpcodes.put(0x261f, OpcodeEnum.VPCMPESTRI);
|
635
|
+
mOpcodes.put(0x1592, OpcodeEnum.VCMPLTSS);
|
636
|
+
mOpcodes.put(0x2608, OpcodeEnum.VPCMPESTRM);
|
637
|
+
mOpcodes.put(0x20cc, OpcodeEnum.VFMADD132PS);
|
638
|
+
mOpcodes.put(0x6ad, OpcodeEnum.LIDT);
|
639
|
+
mOpcodes.put(0x4a8, OpcodeEnum.F2XM1);
|
640
|
+
mOpcodes.put(0x95b, OpcodeEnum.VMOVHPS);
|
641
|
+
mOpcodes.put(0x1f98, OpcodeEnum.PMOVZXDQ);
|
642
|
+
mOpcodes.put(0x1020, OpcodeEnum.VZEROUPPER);
|
643
|
+
mOpcodes.put(0xb35, OpcodeEnum.SQRTPS);
|
644
|
+
mOpcodes.put(0xbeb, OpcodeEnum.VANDNPS);
|
645
|
+
mOpcodes.put(0x196e, OpcodeEnum.VPADDQ);
|
646
|
+
mOpcodes.put(0x4e8, OpcodeEnum.FPREM);
|
647
|
+
mOpcodes.put(0x1c50, OpcodeEnum.VPADDW);
|
648
|
+
mOpcodes.put(0x24d8, OpcodeEnum.PALIGNR);
|
649
|
+
mOpcodes.put(0x1fc0, OpcodeEnum.PMINSB);
|
650
|
+
mOpcodes.put(0xe9f, OpcodeEnum.PCMPGTW);
|
651
|
+
mOpcodes.put(0x36c, OpcodeEnum.SHLD);
|
652
|
+
mOpcodes.put(0x14f, OpcodeEnum.LDS);
|
653
|
+
mOpcodes.put(0x1c41, OpcodeEnum.VPADDB);
|
654
|
+
mOpcodes.put(0x719, OpcodeEnum.VMRUN);
|
655
|
+
mOpcodes.put(0x26b0, OpcodeEnum.RDFSBASE);
|
656
|
+
mOpcodes.put(0xbf4, OpcodeEnum.VANDNPD);
|
657
|
+
mOpcodes.put(0x190, OpcodeEnum.XLAT);
|
658
|
+
mOpcodes.put(0xd4, OpcodeEnum.XCHG);
|
659
|
+
mOpcodes.put(0x4df, OpcodeEnum.FINCSTP);
|
660
|
+
mOpcodes.put(0x1990, OpcodeEnum.MOVDQ2Q);
|
661
|
+
mOpcodes.put(0x1b0c, OpcodeEnum.PMINSW);
|
662
|
+
mOpcodes.put(0x6b3, OpcodeEnum.SMSW);
|
663
|
+
mOpcodes.put(0x1d5d, OpcodeEnum.VPSIGNB);
|
664
|
+
mOpcodes.put(0x10c7, OpcodeEnum.XRSTOR);
|
665
|
+
mOpcodes.put(0x24bb, OpcodeEnum.VBLENDPD);
|
666
|
+
mOpcodes.put(0xc0, OpcodeEnum.JGE);
|
667
|
+
mOpcodes.put(0x135d, OpcodeEnum.VCMPNLT_UQPS);
|
668
|
+
mOpcodes.put(0x1766, OpcodeEnum.VCMPORDSD);
|
669
|
+
mOpcodes.put(0x24a8, OpcodeEnum.VBLENDPS);
|
670
|
+
mOpcodes.put(0x469, OpcodeEnum.FTST);
|
671
|
+
mOpcodes.put(0x1a8e, OpcodeEnum.CVTTPD2DQ);
|
672
|
+
mOpcodes.put(0x15d4, OpcodeEnum.VCMPORDSS);
|
673
|
+
mOpcodes.put(0x14ef, OpcodeEnum.VCMPNLT_UQPD);
|
674
|
+
mOpcodes.put(0x2188, OpcodeEnum.VFNMSUB132SS);
|
675
|
+
mOpcodes.put(0x10cf, OpcodeEnum.XRSTOR64);
|
676
|
+
mOpcodes.put(0x29, OpcodeEnum.AND);
|
677
|
+
mOpcodes.put(0xb8b, OpcodeEnum.VRSQRTPS);
|
678
|
+
mOpcodes.put(0x10ff, OpcodeEnum.CLFLUSH);
|
679
|
+
mOpcodes.put(0x1cc3, OpcodeEnum.PSHUFB);
|
680
|
+
mOpcodes.put(0x442, OpcodeEnum.FLDENV);
|
681
|
+
mOpcodes.put(0xda, OpcodeEnum.MOV);
|
682
|
+
mOpcodes.put(0xfaa, OpcodeEnum.PSHUFD);
|
683
|
+
mOpcodes.put(0xc5, OpcodeEnum.JLE);
|
684
|
+
mOpcodes.put(0x5d0, OpcodeEnum.FEDISI);
|
685
|
+
mOpcodes.put(0x70b, OpcodeEnum.VMFUNC);
|
686
|
+
mOpcodes.put(0xea8, OpcodeEnum.VPCMPGTW);
|
687
|
+
mOpcodes.put(0x809, OpcodeEnum.PFCMPEQ);
|
688
|
+
mOpcodes.put(0x169d, OpcodeEnum.VCMPORD_SSS);
|
689
|
+
mOpcodes.put(0xfa2, OpcodeEnum.PSHUFW);
|
690
|
+
mOpcodes.put(0x24f3, OpcodeEnum.VPEXTRB);
|
691
|
+
mOpcodes.put(0x1ab9, OpcodeEnum.VCVTDQ2PD);
|
692
|
+
mOpcodes.put(0xf79, OpcodeEnum.VMOVQ);
|
693
|
+
mOpcodes.put(0x483, OpcodeEnum.FLDL2E);
|
694
|
+
mOpcodes.put(0x250c, OpcodeEnum.VPEXTRD);
|
695
|
+
mOpcodes.put(0x1d28, OpcodeEnum.VPHSUBW);
|
696
|
+
mOpcodes.put(0x2284, OpcodeEnum.VFNMSUB213PS);
|
697
|
+
mOpcodes.put(0x21f1, OpcodeEnum.VFMADD213PD);
|
698
|
+
mOpcodes.put(0x739, OpcodeEnum.STGI);
|
699
|
+
mOpcodes.put(0x4bd, OpcodeEnum.FPATAN);
|
700
|
+
mOpcodes.put(0x2515, OpcodeEnum.VPEXTRQ);
|
701
|
+
mOpcodes.put(0x437, OpcodeEnum.FST);
|
702
|
+
mOpcodes.put(0x168, OpcodeEnum.INT_3);
|
703
|
+
mOpcodes.put(0x598, OpcodeEnum.FIST);
|
704
|
+
mOpcodes.put(0x271b, OpcodeEnum.VMCLEAR);
|
705
|
+
mOpcodes.put(0x1e75, OpcodeEnum.PMOVSXBQ);
|
706
|
+
mOpcodes.put(0x42, OpcodeEnum.AAA);
|
707
|
+
mOpcodes.put(0x1d39, OpcodeEnum.VPHSUBD);
|
708
|
+
mOpcodes.put(0xa41, OpcodeEnum.CVTTPS2PI);
|
709
|
+
mOpcodes.put(0x114f, OpcodeEnum.CMPNEQPS);
|
710
|
+
mOpcodes.put(0x155f, OpcodeEnum.VCMPGE_OQPD);
|
711
|
+
mOpcodes.put(0x1b68, OpcodeEnum.LDDQU);
|
712
|
+
mOpcodes.put(0xb79, OpcodeEnum.RSQRTPS);
|
713
|
+
mOpcodes.put(0xc59, OpcodeEnum.VADDPD);
|
714
|
+
mOpcodes.put(0x7b8, OpcodeEnum.PFRCP);
|
715
|
+
mOpcodes.put(0xcc1, OpcodeEnum.CVTSS2SD);
|
716
|
+
mOpcodes.put(0x2196, OpcodeEnum.VFNMSUB132SD);
|
717
|
+
mOpcodes.put(0x632, OpcodeEnum.FDIVRP);
|
718
|
+
mOpcodes.put(0x641, OpcodeEnum.FBLD);
|
719
|
+
mOpcodes.put(0x361, OpcodeEnum.CPUID);
|
720
|
+
mOpcodes.put(0x251, OpcodeEnum.RDTSC);
|
721
|
+
mOpcodes.put(0x24ce, OpcodeEnum.VPBLENDW);
|
722
|
+
mOpcodes.put(0xd2b, OpcodeEnum.VCVTPS2DQ);
|
723
|
+
mOpcodes.put(0x1b22, OpcodeEnum.VPOR);
|
724
|
+
mOpcodes.put(0xc51, OpcodeEnum.VADDPS);
|
725
|
+
mOpcodes.put(0x77b, OpcodeEnum.PI2FW);
|
726
|
+
mOpcodes.put(0xd7e, OpcodeEnum.MINPS);
|
727
|
+
mOpcodes.put(0x17cf, OpcodeEnum.VCMPEQ_OSSD);
|
728
|
+
mOpcodes.put(0x1bad, OpcodeEnum.VPMULUDQ);
|
729
|
+
mOpcodes.put(0xe0b, OpcodeEnum.MAXSD);
|
730
|
+
mOpcodes.put(0x2050, OpcodeEnum.VPMULLD);
|
731
|
+
mOpcodes.put(0x558, OpcodeEnum.FIDIVR);
|
732
|
+
mOpcodes.put(0xad5, OpcodeEnum.VUCOMISS);
|
733
|
+
mOpcodes.put(0x8a0, OpcodeEnum.MOVDDUP);
|
734
|
+
mOpcodes.put(0x1ccb, OpcodeEnum.VPSHUFB);
|
735
|
+
mOpcodes.put(0x1d42, OpcodeEnum.PHSUBSW);
|
736
|
+
mOpcodes.put(0x264d, OpcodeEnum.VPCMPISTRI);
|
737
|
+
mOpcodes.put(0xe04, OpcodeEnum.MAXSS);
|
738
|
+
mOpcodes.put(0x1a35, OpcodeEnum.VPAVGB);
|
739
|
+
mOpcodes.put(0x16d3, OpcodeEnum.VCMPFALSE_OSSS);
|
740
|
+
mOpcodes.put(0xd85, OpcodeEnum.MINPD);
|
741
|
+
mOpcodes.put(0x4ef, OpcodeEnum.FYL2XP1);
|
742
|
+
mOpcodes.put(0xadf, OpcodeEnum.VUCOMISD);
|
743
|
+
mOpcodes.put(0x23aa, OpcodeEnum.VFNMSUB231PD);
|
744
|
+
mOpcodes.put(0x1849, OpcodeEnum.VCMPNGE_UQSD);
|
745
|
+
mOpcodes.put(0xc4a, OpcodeEnum.ADDSD);
|
746
|
+
mOpcodes.put(0x6e3, OpcodeEnum.VMXOFF);
|
747
|
+
mOpcodes.put(0x1958, OpcodeEnum.PSRLQ);
|
748
|
+
mOpcodes.put(0x128f, OpcodeEnum.VCMPNEQPS);
|
749
|
+
mOpcodes.put(0x193a, OpcodeEnum.PSRLW);
|
750
|
+
mOpcodes.put(0x1a4c, OpcodeEnum.PSRAD);
|
751
|
+
mOpcodes.put(0x6a1, OpcodeEnum.SIDT);
|
752
|
+
mOpcodes.put(0xe77, OpcodeEnum.PACKSSWB);
|
753
|
+
mOpcodes.put(0x10af, OpcodeEnum.XSAVE);
|
754
|
+
mOpcodes.put(0x1421, OpcodeEnum.VCMPNEQPD);
|
755
|
+
mOpcodes.put(0xfa, OpcodeEnum.CDQ);
|
756
|
+
mOpcodes.put(0xc43, OpcodeEnum.ADDSS);
|
757
|
+
mOpcodes.put(0x16b7, OpcodeEnum.VCMPNGE_UQSS);
|
758
|
+
mOpcodes.put(0x2440, OpcodeEnum.CRC32);
|
759
|
+
mOpcodes.put(0x23dc, OpcodeEnum.VAESIMC);
|
760
|
+
mOpcodes.put(0x2004, OpcodeEnum.PMAXSB);
|
761
|
+
mOpcodes.put(0x2529, OpcodeEnum.VEXTRACTPS);
|
762
|
+
mOpcodes.put(0x1813, OpcodeEnum.VCMPNLT_UQSD);
|
763
|
+
mOpcodes.put(0x1c05, OpcodeEnum.VPSUBB);
|
764
|
+
mOpcodes.put(0x1f8d, OpcodeEnum.VPMOVZXWQ);
|
765
|
+
mOpcodes.put(0x13bf, OpcodeEnum.VCMPNEQ_OSPS);
|
766
|
+
mOpcodes.put(0xa1b, OpcodeEnum.MOVNTSS);
|
767
|
+
mOpcodes.put(0x2542, OpcodeEnum.VEXTRACTF128);
|
768
|
+
mOpcodes.put(0x1b28, OpcodeEnum.PADDSB);
|
769
|
+
mOpcodes.put(0x75, OpcodeEnum.IMUL);
|
770
|
+
mOpcodes.put(0x3d6, OpcodeEnum.RCR);
|
771
|
+
mOpcodes.put(0x14d2, OpcodeEnum.VCMPUNORD_SPD);
|
772
|
+
mOpcodes.put(0x3d1, OpcodeEnum.RCL);
|
773
|
+
mOpcodes.put(0xa24, OpcodeEnum.MOVNTSD);
|
774
|
+
mOpcodes.put(0x1551, OpcodeEnum.VCMPNEQ_OSPD);
|
775
|
+
mOpcodes.put(0x1681, OpcodeEnum.VCMPNLT_UQSS);
|
776
|
+
mOpcodes.put(0xd57, OpcodeEnum.SUBSD);
|
777
|
+
mOpcodes.put(0x13f, OpcodeEnum.SCAS);
|
778
|
+
mOpcodes.put(0x25c5, OpcodeEnum.PCLMULQDQ);
|
779
|
+
mOpcodes.put(0x7bf, OpcodeEnum.PFRSQRT);
|
780
|
+
mOpcodes.put(0x2576, OpcodeEnum.PINSRD);
|
781
|
+
mOpcodes.put(0x623, OpcodeEnum.FSUBRP);
|
782
|
+
mOpcodes.put(0x5b, OpcodeEnum.PUSHA);
|
783
|
+
mOpcodes.put(0x1a16, OpcodeEnum.VPMAXUB);
|
784
|
+
mOpcodes.put(0x1143, OpcodeEnum.CMPUNORDPS);
|
785
|
+
mOpcodes.put(0x203f, OpcodeEnum.VPMAXUD);
|
786
|
+
mOpcodes.put(0x463, OpcodeEnum.FABS);
|
787
|
+
mOpcodes.put(0x1e7f, OpcodeEnum.VPMOVSXBQ);
|
788
|
+
mOpcodes.put(0x149f, OpcodeEnum.VCMPTRUEPD);
|
789
|
+
mOpcodes.put(0x23e, OpcodeEnum.FEMMS);
|
790
|
+
mOpcodes.put(0x163d, OpcodeEnum.VCMPEQ_OSSS);
|
791
|
+
mOpcodes.put(0x220b, OpcodeEnum.VFMADD213SD);
|
792
|
+
mOpcodes.put(0x1e6a, OpcodeEnum.VPMOVSXBD);
|
793
|
+
mOpcodes.put(0x1192, OpcodeEnum.CMPUNORDPD);
|
794
|
+
mOpcodes.put(0x1907, OpcodeEnum.VMPTRST);
|
795
|
+
mOpcodes.put(0x18fb, OpcodeEnum.CMPXCHG16B);
|
796
|
+
mOpcodes.put(0x130d, OpcodeEnum.VCMPTRUEPS);
|
797
|
+
mOpcodes.put(0x12d3, OpcodeEnum.VCMPNGTPS);
|
798
|
+
mOpcodes.put(0x1c87, OpcodeEnum.FNCLEX);
|
799
|
+
mOpcodes.put(0x123c, OpcodeEnum.CMPNEQSD);
|
800
|
+
mOpcodes.put(0x1771, OpcodeEnum.VCMPEQ_UQSD);
|
801
|
+
mOpcodes.put(0x579, OpcodeEnum.FCMOVU);
|
802
|
+
mOpcodes.put(0x103e, OpcodeEnum.EXTRQ);
|
803
|
+
mOpcodes.put(0x25a5, OpcodeEnum.DPPD);
|
804
|
+
mOpcodes.put(0x2e2, OpcodeEnum.CMOVGE);
|
805
|
+
mOpcodes.put(0x2550, OpcodeEnum.PINSRB);
|
806
|
+
mOpcodes.put(0x15df, OpcodeEnum.VCMPEQ_UQSS);
|
807
|
+
mOpcodes.put(0x1d14, OpcodeEnum.VPMADDUBSW);
|
808
|
+
mOpcodes.put(0x11ed, OpcodeEnum.CMPNEQSS);
|
809
|
+
mOpcodes.put(0x2309, OpcodeEnum.VFMADD231PD);
|
810
|
+
mOpcodes.put(0x519, OpcodeEnum.FSIN);
|
811
|
+
mOpcodes.put(0x1bf, OpcodeEnum.IN);
|
812
|
+
mOpcodes.put(0x568, OpcodeEnum.FCMOVE);
|
813
|
+
mOpcodes.put(0x44a, OpcodeEnum.FLDCW);
|
814
|
+
mOpcodes.put(0x2598, OpcodeEnum.DPPS);
|
815
|
+
mOpcodes.put(0x560, OpcodeEnum.FCMOVB);
|
816
|
+
mOpcodes.put(0x1941, OpcodeEnum.VPSRLW);
|
817
|
+
mOpcodes.put(0x10bf, OpcodeEnum.LFENCE);
|
818
|
+
mOpcodes.put(0xaa3, OpcodeEnum.CVTSD2SI);
|
819
|
+
mOpcodes.put(0x30c, OpcodeEnum.SETAE);
|
820
|
+
mOpcodes.put(0x2a6, OpcodeEnum.CMOVNZ);
|
821
|
+
mOpcodes.put(0x195f, OpcodeEnum.VPSRLQ);
|
822
|
+
mOpcodes.put(0x614, OpcodeEnum.FMULP);
|
823
|
+
mOpcodes.put(0x9c2, OpcodeEnum.VMOVAPD);
|
824
|
+
mOpcodes.put(0x1657, OpcodeEnum.VCMPLE_OQSS);
|
825
|
+
mOpcodes.put(0x2c4, OpcodeEnum.CMOVNS);
|
826
|
+
mOpcodes.put(0x5ae, OpcodeEnum.FCMOVNE);
|
827
|
+
mOpcodes.put(0x288, OpcodeEnum.CMOVNO);
|
828
|
+
mOpcodes.put(0x1a85, OpcodeEnum.VPMULHW);
|
829
|
+
mOpcodes.put(0x1950, OpcodeEnum.VPSRLD);
|
830
|
+
mOpcodes.put(0x1061, OpcodeEnum.CVTPS2PH);
|
831
|
+
mOpcodes.put(0xa85, OpcodeEnum.CVTPS2PI);
|
832
|
+
mOpcodes.put(0x1ce5, OpcodeEnum.PHADDD);
|
833
|
+
mOpcodes.put(0xcad, OpcodeEnum.CVTPS2PD);
|
834
|
+
mOpcodes.put(0x1e34, OpcodeEnum.VPABSW);
|
835
|
+
mOpcodes.put(0x17e9, OpcodeEnum.VCMPLE_OQSD);
|
836
|
+
mOpcodes.put(0x9b9, OpcodeEnum.VMOVAPS);
|
837
|
+
mOpcodes.put(0x1c14, OpcodeEnum.VPSUBW);
|
838
|
+
mOpcodes.put(0x823, OpcodeEnum.PMULHRW);
|
839
|
+
mOpcodes.put(0x9a9, OpcodeEnum.MOVAPS);
|
840
|
+
mOpcodes.put(0x7b1, OpcodeEnum.PFMIN);
|
841
|
+
mOpcodes.put(0xf66, OpcodeEnum.MOVD);
|
842
|
+
mOpcodes.put(0x937, OpcodeEnum.MOVHPS);
|
843
|
+
mOpcodes.put(0xc71, OpcodeEnum.MULPS);
|
844
|
+
mOpcodes.put(0x126e, OpcodeEnum.VCMPLTPS);
|
845
|
+
mOpcodes.put(0x368, OpcodeEnum.BT);
|
846
|
+
mOpcodes.put(0x9b1, OpcodeEnum.MOVAPD);
|
847
|
+
mOpcodes.put(0x1393, OpcodeEnum.VCMPNGE_UQPS);
|
848
|
+
mOpcodes.put(0x1b8, OpcodeEnum.JRCXZ);
|
849
|
+
mOpcodes.put(0xc78, OpcodeEnum.MULPD);
|
850
|
+
mOpcodes.put(0x127, OpcodeEnum.MOVS);
|
851
|
+
mOpcodes.put(0x6bf, OpcodeEnum.INVLPG);
|
852
|
+
mOpcodes.put(0xf6c, OpcodeEnum.MOVQ);
|
853
|
+
mOpcodes.put(0xda2, OpcodeEnum.VMINPD);
|
854
|
+
mOpcodes.put(0x1e3c, OpcodeEnum.PABSD);
|
855
|
+
mOpcodes.put(0x11b, OpcodeEnum.SAHF);
|
856
|
+
mOpcodes.put(0x13e7, OpcodeEnum.VCMPTRUE_USPS);
|
857
|
+
mOpcodes.put(0x782, OpcodeEnum.PI2FD);
|
858
|
+
mOpcodes.put(0x1e1e, OpcodeEnum.PABSB);
|
859
|
+
mOpcodes.put(0x2495, OpcodeEnum.VROUNDSD);
|
860
|
+
mOpcodes.put(0x1a26, OpcodeEnum.VPANDN);
|
861
|
+
mOpcodes.put(0xe6b, OpcodeEnum.VPUNPCKLDQ);
|
862
|
+
mOpcodes.put(0x63a, OpcodeEnum.FDIVP);
|
863
|
+
mOpcodes.put(0x1c2b, OpcodeEnum.PSUBQ);
|
864
|
+
mOpcodes.put(0x42b, OpcodeEnum.FDIVR);
|
865
|
+
mOpcodes.put(0x425, OpcodeEnum.FDIV);
|
866
|
+
mOpcodes.put(0x1579, OpcodeEnum.VCMPTRUE_USPD);
|
867
|
+
mOpcodes.put(0x766, OpcodeEnum.PREFETCH);
|
868
|
+
mOpcodes.put(0x101a, OpcodeEnum.EMMS);
|
869
|
+
mOpcodes.put(0xd9a, OpcodeEnum.VMINPS);
|
870
|
+
mOpcodes.put(0x22fc, OpcodeEnum.VFMADD231PS);
|
871
|
+
mOpcodes.put(0x2292, OpcodeEnum.VFNMSUB213PD);
|
872
|
+
mOpcodes.put(0xa99, OpcodeEnum.CVTSS2SI);
|
873
|
+
mOpcodes.put(0x93f, OpcodeEnum.MOVHPD);
|
874
|
+
mOpcodes.put(0x29f, OpcodeEnum.CMOVZ);
|
875
|
+
mOpcodes.put(0x1a62, OpcodeEnum.VPAVGW);
|
876
|
+
mOpcodes.put(0xff, OpcodeEnum.CQO);
|
877
|
+
mOpcodes.put(0x1c23, OpcodeEnum.VPSUBD);
|
878
|
+
mOpcodes.put(0x2cc, OpcodeEnum.CMOVP);
|
879
|
+
mOpcodes.put(0x1588, OpcodeEnum.VCMPEQSS);
|
880
|
+
mOpcodes.put(0x2bd, OpcodeEnum.CMOVS);
|
881
|
+
mOpcodes.put(0x1e60, OpcodeEnum.PMOVSXBD);
|
882
|
+
mOpcodes.put(0x2482, OpcodeEnum.VROUNDSS);
|
883
|
+
mOpcodes.put(0x1c32, OpcodeEnum.VPSUBQ);
|
884
|
+
mOpcodes.put(0x2db, OpcodeEnum.CMOVL);
|
885
|
+
mOpcodes.put(0x191a, OpcodeEnum.ADDSUBPS);
|
886
|
+
mOpcodes.put(0x281, OpcodeEnum.CMOVO);
|
887
|
+
mOpcodes.put(0x2b6, OpcodeEnum.CMOVA);
|
888
|
+
mOpcodes.put(0x290, OpcodeEnum.CMOVB);
|
889
|
+
mOpcodes.put(0xeda, OpcodeEnum.PUNPCKHBW);
|
890
|
+
mOpcodes.put(0x2642, OpcodeEnum.PCMPISTRI);
|
891
|
+
mOpcodes.put(0x2f2, OpcodeEnum.CMOVG);
|
892
|
+
mOpcodes.put(0x19a3, OpcodeEnum.VPMOVMSKB);
|
893
|
+
mOpcodes.put(0x2420, OpcodeEnum.AESDECLAST);
|
894
|
+
mOpcodes.put(0x845, OpcodeEnum.MOVUPD);
|
895
|
+
mOpcodes.put(0x20bc, OpcodeEnum.VFMSUBADD132PD);
|
896
|
+
mOpcodes.put(0x1bd2, OpcodeEnum.VPSADBW);
|
897
|
+
mOpcodes.put(0x3f7, OpcodeEnum.XBEGIN);
|
898
|
+
mOpcodes.put(0x246f, OpcodeEnum.VROUNDPD);
|
899
|
+
mOpcodes.put(0x6b9, OpcodeEnum.LMSW);
|
900
|
+
mOpcodes.put(0x2072, OpcodeEnum.INVEPT);
|
901
|
+
mOpcodes.put(0x39f, OpcodeEnum.MOVZX);
|
902
|
+
mOpcodes.put(0xbbd, OpcodeEnum.ANDPS);
|
903
|
+
mOpcodes.put(0x20ac, OpcodeEnum.VFMSUBADD132PS);
|
904
|
+
mOpcodes.put(0x83d, OpcodeEnum.MOVUPS);
|
905
|
+
mOpcodes.put(0x1627, OpcodeEnum.VCMPGTSS);
|
906
|
+
mOpcodes.put(0x1a6a, OpcodeEnum.PMULHUW);
|
907
|
+
mOpcodes.put(0x25ab, OpcodeEnum.VDPPD);
|
908
|
+
mOpcodes.put(0x24fc, OpcodeEnum.PEXTRD);
|
909
|
+
mOpcodes.put(0x1602, OpcodeEnum.VCMPFALSESS);
|
910
|
+
mOpcodes.put(0x26ce, OpcodeEnum.RDGSBASE);
|
911
|
+
mOpcodes.put(0x1b, OpcodeEnum.OR);
|
912
|
+
mOpcodes.put(0x18c5, OpcodeEnum.VPEXTRW);
|
913
|
+
mOpcodes.put(0x1af2, OpcodeEnum.VPSUBSB);
|
914
|
+
mOpcodes.put(0x26ba, OpcodeEnum.FXRSTOR);
|
915
|
+
mOpcodes.put(0x21d, OpcodeEnum.CLTS);
|
916
|
+
mOpcodes.put(0x1857, OpcodeEnum.VCMPNGT_UQSD);
|
917
|
+
mOpcodes.put(0x15f7, OpcodeEnum.VCMPNGTSS);
|
918
|
+
mOpcodes.put(0x5ef, OpcodeEnum.FRSTOR);
|
919
|
+
mOpcodes.put(0x1794, OpcodeEnum.VCMPFALSESD);
|
920
|
+
mOpcodes.put(0x49a, OpcodeEnum.FLDLN2);
|
921
|
+
mOpcodes.put(0x2535, OpcodeEnum.VINSERTF128);
|
922
|
+
mOpcodes.put(0x1b03, OpcodeEnum.VPSUBSW);
|
923
|
+
mOpcodes.put(0x1ba4, OpcodeEnum.PMULUDQ);
|
924
|
+
mOpcodes.put(0x56, OpcodeEnum.DEC);
|
925
|
+
mOpcodes.put(0x13af, OpcodeEnum.VCMPFALSE_OSPS);
|
926
|
+
mOpcodes.put(0x432, OpcodeEnum.FLD);
|
927
|
+
mOpcodes.put(0x1fa2, OpcodeEnum.VPMOVZXDQ);
|
928
|
+
mOpcodes.put(0x2479, OpcodeEnum.ROUNDSS);
|
929
|
+
mOpcodes.put(0x9f3, OpcodeEnum.VCVTSI2SS);
|
930
|
+
mOpcodes.put(0x18bd, OpcodeEnum.PEXTRW);
|
931
|
+
mOpcodes.put(0x26a6, OpcodeEnum.FXSAVE64);
|
932
|
+
mOpcodes.put(0x3c7, OpcodeEnum.ROL);
|
933
|
+
mOpcodes.put(0x20f3, OpcodeEnum.VFMADD132SD);
|
934
|
+
mOpcodes.put(0x1189, OpcodeEnum.CMPLEPD);
|
935
|
+
mOpcodes.put(0xcf6, OpcodeEnum.VCVTSD2SS);
|
936
|
+
mOpcodes.put(0x605, OpcodeEnum.FUCOMP);
|
937
|
+
mOpcodes.put(0x1ce, OpcodeEnum.JMP);
|
938
|
+
mOpcodes.put(0x171a, OpcodeEnum.VCMPEQSD);
|
939
|
+
mOpcodes.put(0xd01, OpcodeEnum.CVTDQ2PS);
|
940
|
+
mOpcodes.put(0x16fe, OpcodeEnum.VCMPGT_OQSS);
|
941
|
+
mOpcodes.put(0x5e0, OpcodeEnum.FUCOMI);
|
942
|
+
mOpcodes.put(0x1121, OpcodeEnum.LZCNT);
|
943
|
+
mOpcodes.put(0xbad, OpcodeEnum.VRCPPS);
|
944
|
+
mOpcodes.put(0x1a0e, OpcodeEnum.PMAXUB);
|
945
|
+
mOpcodes.put(0x1ced, OpcodeEnum.VPHADDD);
|
946
|
+
mOpcodes.put(0x9fe, OpcodeEnum.VCVTSI2SD);
|
947
|
+
mOpcodes.put(0x1890, OpcodeEnum.VCMPGT_OQSD);
|
948
|
+
mOpcodes.put(0x3cc, OpcodeEnum.ROR);
|
949
|
+
mOpcodes.put(0x22b, OpcodeEnum.INVD);
|
950
|
+
mOpcodes.put(0xab8, OpcodeEnum.VCVTSD2SI);
|
951
|
+
mOpcodes.put(0x240f, OpcodeEnum.AESDEC);
|
952
|
+
mOpcodes.put(0x1250, OpcodeEnum.CMPNLESD);
|
953
|
+
mOpcodes.put(0x354, OpcodeEnum.SETLE);
|
954
|
+
mOpcodes.put(0x22dc, OpcodeEnum.VFMSUBADD231PS);
|
955
|
+
mOpcodes.put(0x2364, OpcodeEnum.VFNMADD231PS);
|
956
|
+
mOpcodes.put(0x10b6, OpcodeEnum.XSAVE64);
|
957
|
+
mOpcodes.put(0xef1, OpcodeEnum.PUNPCKHWD);
|
958
|
+
mOpcodes.put(0x1e94, OpcodeEnum.VPMOVSXWD);
|
959
|
+
mOpcodes.put(0xcb7, OpcodeEnum.CVTPD2PS);
|
960
|
+
mOpcodes.put(0x8a9, OpcodeEnum.VMOVHLPS);
|
961
|
+
mOpcodes.put(0x22ec, OpcodeEnum.VFMSUBADD231PD);
|
962
|
+
mOpcodes.put(0xa8f, OpcodeEnum.CVTPD2PI);
|
963
|
+
mOpcodes.put(0x1201, OpcodeEnum.CMPNLESS);
|
964
|
+
mOpcodes.put(0x1ec9, OpcodeEnum.PMULDQ);
|
965
|
+
mOpcodes.put(0x1ea9, OpcodeEnum.VPMOVSXWQ);
|
966
|
+
mOpcodes.put(0x1750, OpcodeEnum.VCMPNLTSD);
|
967
|
+
mOpcodes.put(0x2100, OpcodeEnum.VFMSUB132PS);
|
968
|
+
mOpcodes.put(0x2372, OpcodeEnum.VFNMADD231PD);
|
969
|
+
mOpcodes.put(0x1cbc, OpcodeEnum.FSTSW);
|
970
|
+
mOpcodes.put(0x75e, OpcodeEnum.RDTSCP);
|
971
|
+
mOpcodes.put(0x10d9, OpcodeEnum.MFENCE);
|
972
|
+
mOpcodes.put(0x20e6, OpcodeEnum.VFMADD132SS);
|
973
|
+
mOpcodes.put(0x1ff3, OpcodeEnum.PMINUD);
|
974
|
+
mOpcodes.put(0x5ca, OpcodeEnum.FENI);
|
975
|
+
mOpcodes.put(0x68, OpcodeEnum.BOUND);
|
976
|
+
mOpcodes.put(0x245c, OpcodeEnum.VROUNDPS);
|
977
|
+
mOpcodes.put(0xfbb, OpcodeEnum.PSHUFLW);
|
978
|
+
mOpcodes.put(0xc9d, OpcodeEnum.VMULSS);
|
979
|
+
mOpcodes.put(0x1865, OpcodeEnum.VCMPFALSE_OSSD);
|
980
|
+
mOpcodes.put(0xd20, OpcodeEnum.VCVTDQ2PS);
|
981
|
+
mOpcodes.put(0x159c, OpcodeEnum.VCMPLESS);
|
982
|
+
mOpcodes.put(0x457, OpcodeEnum.FNOP);
|
983
|
+
mOpcodes.put(0x1159, OpcodeEnum.CMPNLTPS);
|
984
|
+
mOpcodes.put(0x129a, OpcodeEnum.VCMPNLTPS);
|
985
|
+
mOpcodes.put(0x492, OpcodeEnum.FLDLG2);
|
986
|
+
mOpcodes.put(0x223, OpcodeEnum.SYSRET);
|
987
|
+
mOpcodes.put(0x1c80, OpcodeEnum.FSTCW);
|
988
|
+
mOpcodes.put(0x2232, OpcodeEnum.VFMSUB213SS);
|
989
|
+
mOpcodes.put(0x745, OpcodeEnum.SKINIT);
|
990
|
+
mOpcodes.put(0xbd3, OpcodeEnum.VANDPD);
|
991
|
+
mOpcodes.put(0x4a2, OpcodeEnum.FLDZ);
|
992
|
+
mOpcodes.put(0x33, OpcodeEnum.SUB);
|
993
|
+
mOpcodes.put(0x1cdc, OpcodeEnum.VPHADDW);
|
994
|
+
mOpcodes.put(0x664, OpcodeEnum.NEG);
|
995
|
+
mOpcodes.put(0x1fe2, OpcodeEnum.PMINUW);
|
996
|
+
mOpcodes.put(0xdfd, OpcodeEnum.MAXPD);
|
997
|
+
mOpcodes.put(0x1379, OpcodeEnum.VCMPORD_SPS);
|
998
|
+
mOpcodes.put(0x133, OpcodeEnum.STOS);
|
999
|
+
mOpcodes.put(0x23c6, OpcodeEnum.VFNMSUB231SD);
|
1000
|
+
mOpcodes.put(0x1738, OpcodeEnum.VCMPUNORDSD);
|
1001
|
+
mOpcodes.put(0x834, OpcodeEnum.PAVGUSB);
|
1002
|
+
mOpcodes.put(0x150b, OpcodeEnum.VCMPORD_SPD);
|
1003
|
+
mOpcodes.put(0xdf6, OpcodeEnum.MAXPS);
|
1004
|
+
mOpcodes.put(0x19d4, OpcodeEnum.PMINUB);
|
1005
|
+
mOpcodes.put(0x1bf1, OpcodeEnum.VMASKMOVDQU);
|
1006
|
+
mOpcodes.put(0x647, OpcodeEnum.FBSTP);
|
1007
|
+
mOpcodes.put(0x18ac, OpcodeEnum.PINSRW);
|
1008
|
+
mOpcodes.put(0x1f78, OpcodeEnum.VPMOVZXWD);
|
1009
|
+
mOpcodes.put(0x1fea, OpcodeEnum.VPMINUW);
|
1010
|
+
mOpcodes.put(0x1821, OpcodeEnum.VCMPNLE_UQSD);
|
1011
|
+
mOpcodes.put(0x18a, OpcodeEnum.SALC);
|
1012
|
+
mOpcodes.put(0x24eb, OpcodeEnum.PEXTRB);
|
1013
|
+
mOpcodes.put(0x8ee, OpcodeEnum.VUNPCKLPS);
|
1014
|
+
mOpcodes.put(0x168f, OpcodeEnum.VCMPNLE_UQSS);
|
1015
|
+
mOpcodes.put(0xf80, OpcodeEnum.MOVDQA);
|
1016
|
+
mOpcodes.put(0x15be, OpcodeEnum.VCMPNLTSS);
|
1017
|
+
mOpcodes.put(0x1b95, OpcodeEnum.PSLLQ);
|
1018
|
+
mOpcodes.put(0xa2d, OpcodeEnum.VMOVNTPS);
|
1019
|
+
mOpcodes.put(0x1ffb, OpcodeEnum.VPMINUD);
|
1020
|
+
mOpcodes.put(0x978, OpcodeEnum.PREFETCHNTA);
|
1021
|
+
mOpcodes.put(0x8f9, OpcodeEnum.VUNPCKLPD);
|
1022
|
+
mOpcodes.put(0x1057, OpcodeEnum.CVTPH2PS);
|
1023
|
+
mOpcodes.put(0x266a, OpcodeEnum.VAESKEYGENASSIST);
|
1024
|
+
mOpcodes.put(0x1afb, OpcodeEnum.PSUBSW);
|
1025
|
+
mOpcodes.put(0x177e, OpcodeEnum.VCMPNGESD);
|
1026
|
+
mOpcodes.put(0x1c67, OpcodeEnum.FNSTENV);
|
1027
|
+
mOpcodes.put(0x1cb4, OpcodeEnum.FNSTSW);
|
1028
|
+
mOpcodes.put(0x119e, OpcodeEnum.CMPNEQPD);
|
1029
|
+
mOpcodes.put(0x1a5b, OpcodeEnum.PAVGW);
|
1030
|
+
mOpcodes.put(0xa12, OpcodeEnum.MOVNTPD);
|
1031
|
+
mOpcodes.put(0x1518, OpcodeEnum.VCMPEQ_USPD);
|
1032
|
+
mOpcodes.put(0x5d8, OpcodeEnum.FSETPM);
|
1033
|
+
mOpcodes.put(0x1dcf, OpcodeEnum.BLENDVPS);
|
1034
|
+
mOpcodes.put(0x21b4, OpcodeEnum.VFMADDSUB213PD);
|
1035
|
+
mOpcodes.put(0xb, OpcodeEnum.ADD);
|
1036
|
+
mOpcodes.put(0x15ec, OpcodeEnum.VCMPNGESS);
|
1037
|
+
mOpcodes.put(0x1f, OpcodeEnum.ADC);
|
1038
|
+
mOpcodes.put(0x1aea, OpcodeEnum.PSUBSB);
|
1039
|
+
mOpcodes.put(0x1dd9, OpcodeEnum.BLENDVPD);
|
1040
|
+
mOpcodes.put(0xee5, OpcodeEnum.VPUNPCKHBW);
|
1041
|
+
mOpcodes.put(0x25f, OpcodeEnum.RDPMC);
|
1042
|
+
mOpcodes.put(0xa09, OpcodeEnum.MOVNTPS);
|
1043
|
+
mOpcodes.put(0x1110, OpcodeEnum.BSF);
|
1044
|
+
mOpcodes.put(0x1400, OpcodeEnum.VCMPLTPD);
|
1045
|
+
mOpcodes.put(0x1a2e, OpcodeEnum.PAVGB);
|
1046
|
+
mOpcodes.put(0xdf, OpcodeEnum.LEA);
|
1047
|
+
mOpcodes.put(0x1aad, OpcodeEnum.VCVTTPD2DQ);
|
1048
|
+
mOpcodes.put(0xe95, OpcodeEnum.VPCMPGTB);
|
1049
|
+
mOpcodes.put(0xebb, OpcodeEnum.VPCMPGTD);
|
1050
|
+
mOpcodes.put(0x475, OpcodeEnum.FLD1);
|
1051
|
+
mOpcodes.put(0x1bc0, OpcodeEnum.VPMADDWD);
|
1052
|
+
mOpcodes.put(0x17f6, OpcodeEnum.VCMPUNORD_SSD);
|
1053
|
+
mOpcodes.put(0x14a, OpcodeEnum.LES);
|
1054
|
+
mOpcodes.put(0x313, OpcodeEnum.SETZ);
|
1055
|
+
mOpcodes.put(0x1fb6, OpcodeEnum.VPCMPGTQ);
|
1056
|
+
mOpcodes.put(0xca5, OpcodeEnum.VMULSD);
|
1057
|
+
mOpcodes.put(0x21e4, OpcodeEnum.VFMADD213PS);
|
1058
|
+
mOpcodes.put(0x15c9, OpcodeEnum.VCMPNLESS);
|
1059
|
+
mOpcodes.put(0x87d, OpcodeEnum.MOVHLPS);
|
1060
|
+
mOpcodes.put(0x2065, OpcodeEnum.VPHMINPOSUW);
|
1061
|
+
mOpcodes.put(0x1e43, OpcodeEnum.VPABSD);
|
1062
|
+
mOpcodes.put(0x1a3d, OpcodeEnum.PSRAW);
|
1063
|
+
mOpcodes.put(0x7cf, OpcodeEnum.PFADD);
|
1064
|
+
mOpcodes.put(0x209c, OpcodeEnum.VFMADDSUB132PD);
|
1065
|
+
mOpcodes.put(0xaf1, OpcodeEnum.COMISD);
|
1066
|
+
mOpcodes.put(0x13cd, OpcodeEnum.VCMPGE_OQPS);
|
1067
|
+
mOpcodes.put(0xe22, OpcodeEnum.VMAXSS);
|
1068
|
+
mOpcodes.put(0x1230, OpcodeEnum.CMPUNORDSD);
|
1069
|
+
mOpcodes.put(0x4ff, OpcodeEnum.FSINCOS);
|
1070
|
+
mOpcodes.put(0xae9, OpcodeEnum.COMISS);
|
1071
|
+
mOpcodes.put(0x208c, OpcodeEnum.VFMADDSUB132PS);
|
1072
|
+
mOpcodes.put(0xb9f, OpcodeEnum.RCPPS);
|
1073
|
+
mOpcodes.put(0x2142, OpcodeEnum.VFNMADD132PD);
|
1074
|
+
mOpcodes.put(0x451, OpcodeEnum.FXCH);
|
1075
|
+
mOpcodes.put(0x2e, OpcodeEnum.DAA);
|
1076
|
+
mOpcodes.put(0x320, OpcodeEnum.SETBE);
|
1077
|
+
mOpcodes.put(0xcd5, OpcodeEnum.VCVTPS2PD);
|
1078
|
+
mOpcodes.put(0x1bb7, OpcodeEnum.PMADDWD);
|
1079
|
+
mOpcodes.put(0xbc4, OpcodeEnum.ANDPD);
|
1080
|
+
mOpcodes.put(0x1333, OpcodeEnum.VCMPLE_OQPS);
|
1081
|
+
mOpcodes.put(0x1789, OpcodeEnum.VCMPNGTSD);
|
1082
|
+
mOpcodes.put(0x239c, OpcodeEnum.VFNMSUB231PS);
|
1083
|
+
mOpcodes.put(0x64e, OpcodeEnum.FUCOMIP);
|
1084
|
+
mOpcodes.put(0xc8d, OpcodeEnum.VMULPS);
|
1085
|
+
mOpcodes.put(0x2134, OpcodeEnum.VFNMADD132PS);
|
1086
|
+
mOpcodes.put(0x26e1, OpcodeEnum.WRFSBASE);
|
1087
|
+
mOpcodes.put(0x38, OpcodeEnum.DAS);
|
1088
|
+
mOpcodes.put(0x14c5, OpcodeEnum.VCMPLE_OQPD);
|
1089
|
+
mOpcodes.put(0x17a, OpcodeEnum.IRET);
|
1090
|
+
mOpcodes.put(0x3c0, OpcodeEnum.BSWAP);
|
1091
|
+
mOpcodes.put(0xe32, OpcodeEnum.PUNPCKLBW);
|
1092
|
+
mOpcodes.put(0x2026, OpcodeEnum.PMAXUW);
|
1093
|
+
mOpcodes.put(0x2636, OpcodeEnum.VPCMPISTRM);
|
1094
|
+
mOpcodes.put(0x1b77, OpcodeEnum.PSLLW);
|
1095
|
+
mOpcodes.put(0x1664, OpcodeEnum.VCMPUNORD_SSS);
|
1096
|
+
mOpcodes.put(0x224c, OpcodeEnum.VFNMADD213PS);
|
1097
|
+
mOpcodes.put(0xa79, OpcodeEnum.VCVTTSD2SI);
|
1098
|
+
mOpcodes.put(0x233d, OpcodeEnum.VFMSUB231PD);
|
1099
|
+
mOpcodes.put(0x13a1, OpcodeEnum.VCMPNGT_UQPS);
|
1100
|
+
mOpcodes.put(0x1c78, OpcodeEnum.FNSTCW);
|
1101
|
+
mOpcodes.put(0x248c, OpcodeEnum.ROUNDSD);
|
1102
|
+
mOpcodes.put(0x11b2, OpcodeEnum.CMPNLEPD);
|
1103
|
+
mOpcodes.put(0x2504, OpcodeEnum.PEXTRQ);
|
1104
|
+
mOpcodes.put(0x1a7d, OpcodeEnum.PMULHW);
|
1105
|
+
mOpcodes.put(0x1cff, OpcodeEnum.VPHADDSW);
|
1106
|
+
mOpcodes.put(0x59e, OpcodeEnum.FISTP);
|
1107
|
+
mOpcodes.put(0x1f83, OpcodeEnum.PMOVZXWQ);
|
1108
|
+
mOpcodes.put(0xce0, OpcodeEnum.VCVTPD2PS);
|
1109
|
+
mOpcodes.put(0x170b, OpcodeEnum.VCMPTRUE_USSS);
|
1110
|
+
mOpcodes.put(0xc69, OpcodeEnum.VADDSD);
|
1111
|
+
mOpcodes.put(0x1dc5, OpcodeEnum.PBLENDVB);
|
1112
|
+
mOpcodes.put(0x6d9, OpcodeEnum.VMRESUME);
|
1113
|
+
mOpcodes.put(0xacc, OpcodeEnum.UCOMISD);
|
1114
|
+
mOpcodes.put(0x1f6e, OpcodeEnum.PMOVZXWD);
|
1115
|
+
mOpcodes.put(0xa4c, OpcodeEnum.CVTTPD2PI);
|
1116
|
+
mOpcodes.put(0xac3, OpcodeEnum.UCOMISS);
|
1117
|
+
mOpcodes.put(0xe81, OpcodeEnum.VPACKSSWB);
|
1118
|
+
mOpcodes.put(0xc61, OpcodeEnum.VADDSS);
|
1119
|
+
mOpcodes.put(0xfb2, OpcodeEnum.PSHUFHW);
|
1120
|
+
mOpcodes.put(0x189d, OpcodeEnum.VCMPTRUE_USSD);
|
1121
|
+
mOpcodes.put(0x6f4, OpcodeEnum.MWAIT);
|
1122
|
+
}
|
1123
|
+
}
|