From 778b47c02fc23eb6cd3ae2c27fc09f2a153a1cf0 Mon Sep 17 00:00:00 2001 From: flobernd Date: Wed, 28 Jun 2017 22:18:12 +0200 Subject: [PATCH] Minor bugfixes - Fixed segment register for implicit memory-operands - Fixed decoding of `MOV CR, GPR`, `MOV GPR, CR`, `MOV DR, GPR` and `MOV GPR, DR` --- .../Zydis/Internal/InstructionClassMap.inc | 5 +- .../Zydis/Internal/InstructionDefinitions.inc | 176 ++++++++--------- include/Zydis/Internal/InstructionFilters.inc | 36 ++-- include/Zydis/Internal/InstructionTable.h | 10 +- src/Decoder.c | 187 ++++++++++-------- 5 files changed, 221 insertions(+), 193 deletions(-) diff --git a/include/Zydis/Internal/InstructionClassMap.inc b/include/Zydis/Internal/InstructionClassMap.inc index 30d844e..f114a5a 100644 --- a/include/Zydis/Internal/InstructionClassMap.inc +++ b/include/Zydis/Internal/InstructionClassMap.inc @@ -15,6 +15,7 @@ static const ZydisInstructionParts instructionClassMap[] = /*0C*/ { 0 | ZYDIS_INSTRPART_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 8, 8, 8 }, ZYDIS_TRUE, ZYDIS_TRUE }, { { 0, 0, 0 }, ZYDIS_FALSE, ZYDIS_FALSE } } }, /*0D*/ { 0 | ZYDIS_INSTRPART_FLAG_HAS_DISP, { { 16, 32, 64 } }, { { { 0, 0, 0 }, ZYDIS_FALSE, ZYDIS_FALSE }, { { 0, 0, 0 }, ZYDIS_FALSE, ZYDIS_FALSE } } }, /*0E*/ { 0 | ZYDIS_INSTRPART_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 32, 64 }, ZYDIS_FALSE, ZYDIS_FALSE }, { { 0, 0, 0 }, ZYDIS_FALSE, ZYDIS_FALSE } } }, - /*0F*/ { 0 | ZYDIS_INSTRPART_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 16, 16 }, ZYDIS_FALSE, ZYDIS_FALSE }, { { 0, 0, 0 }, ZYDIS_FALSE, ZYDIS_FALSE } } }, - /*10*/ { 0 | ZYDIS_INSTRPART_FLAG_HAS_MODRM | ZYDIS_INSTRPART_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 32, 32, 32 }, ZYDIS_FALSE, ZYDIS_FALSE }, { { 0, 0, 0 }, ZYDIS_FALSE, ZYDIS_FALSE } } } + /*0F*/ { 0 | ZYDIS_INSTRPART_FLAG_HAS_MODRM | ZYDIS_INSTRPART_FLAG_FORCE_REG_FORM, { { 0, 0, 0 } }, { { { 0, 0, 0 }, ZYDIS_FALSE, ZYDIS_FALSE }, { { 0, 0, 0 }, ZYDIS_FALSE, ZYDIS_FALSE } } }, + /*10*/ { 0 | ZYDIS_INSTRPART_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 16, 16, 16 }, ZYDIS_FALSE, ZYDIS_FALSE }, { { 0, 0, 0 }, ZYDIS_FALSE, ZYDIS_FALSE } } }, + /*11*/ { 0 | ZYDIS_INSTRPART_FLAG_HAS_MODRM | ZYDIS_INSTRPART_FLAG_HAS_IMM0, { { 0, 0, 0 } }, { { { 32, 32, 32 }, ZYDIS_FALSE, ZYDIS_FALSE }, { { 0, 0, 0 }, ZYDIS_FALSE, ZYDIS_FALSE } } } }; diff --git a/include/Zydis/Internal/InstructionDefinitions.inc b/include/Zydis/Internal/InstructionDefinitions.inc index a455b80..6525b6b 100644 --- a/include/Zydis/Internal/InstructionDefinitions.inc +++ b/include/Zydis/Internal/InstructionDefinitions.inc @@ -4,10 +4,10 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*0001*/ { ZYDIS_MNEMONIC_AAD, 3, 0x08EC, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0002*/ { ZYDIS_MNEMONIC_AAM, 3, 0x08EF, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0003*/ { ZYDIS_MNEMONIC_AAS, 2, 0x08ED, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0004*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0004*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0005*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1204, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0006*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1206, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0007*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0007*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0008*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1208, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0009*/ { ZYDIS_MNEMONIC_ADC, 2, 0x120A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*000A*/ { ZYDIS_MNEMONIC_ADC, 2, 0x120C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, @@ -16,26 +16,26 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*000D*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1212, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*000E*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1214, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*000F*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1216, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0010*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0010*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0011*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1218, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0012*/ { ZYDIS_MNEMONIC_ADC, 2, 0x121A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0013*/ { ZYDIS_MNEMONIC_ADC, 2, 0x121C, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0013*/ { ZYDIS_MNEMONIC_ADC, 2, 0x121C, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0014*/ { ZYDIS_MNEMONIC_ADC, 2, 0x121C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0015*/ { ZYDIS_MNEMONIC_ADC, 2, 0x121E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0016*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0016*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0017*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1218, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0018*/ { ZYDIS_MNEMONIC_ADC, 2, 0x121A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0019*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1220, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0019*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1220, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*001A*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1220, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*001B*/ { ZYDIS_MNEMONIC_ADC, 2, 0x1222, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*001C*/ { ZYDIS_MNEMONIC_ADCX, 2, 0x1224, 0x05, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*001D*/ { ZYDIS_MNEMONIC_ADCX, 2, 0x1226, 0x05, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*001E*/ { ZYDIS_MNEMONIC_ADCX, 2, 0x1228, 0x05, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*001F*/ { ZYDIS_MNEMONIC_ADCX, 2, 0x122A, 0x05, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*0020*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0020*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0021*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1204, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0022*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1206, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0023*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0023*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0024*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1208, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0025*/ { ZYDIS_MNEMONIC_ADD, 2, 0x120A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0026*/ { ZYDIS_MNEMONIC_ADD, 2, 0x120C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, @@ -44,16 +44,16 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*0029*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1212, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*002A*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1214, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*002B*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1216, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*002C*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*002C*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*002D*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1218, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*002E*/ { ZYDIS_MNEMONIC_ADD, 2, 0x122C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*002F*/ { ZYDIS_MNEMONIC_ADD, 2, 0x121C, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*002F*/ { ZYDIS_MNEMONIC_ADD, 2, 0x121C, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0030*/ { ZYDIS_MNEMONIC_ADD, 2, 0x121C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0031*/ { ZYDIS_MNEMONIC_ADD, 2, 0x121E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0032*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0032*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0033*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1218, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0034*/ { ZYDIS_MNEMONIC_ADD, 2, 0x121A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0035*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1220, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0035*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1220, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0036*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1220, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0037*/ { ZYDIS_MNEMONIC_ADD, 2, 0x1222, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0038*/ { ZYDIS_MNEMONIC_ADDPD, 2, 0x08F8, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, @@ -84,10 +84,10 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*0051*/ { ZYDIS_MNEMONIC_AESIMC, 2, 0x08F5, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0052*/ { ZYDIS_MNEMONIC_AESKEYGENASSIST, 3, 0x08F2, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0053*/ { ZYDIS_MNEMONIC_AESKEYGENASSIST, 3, 0x08F5, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*0054*/ { ZYDIS_MNEMONIC_AND, 2, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0054*/ { ZYDIS_MNEMONIC_AND, 2, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0055*/ { ZYDIS_MNEMONIC_AND, 2, 0x1204, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0056*/ { ZYDIS_MNEMONIC_AND, 2, 0x1206, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0057*/ { ZYDIS_MNEMONIC_AND, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0057*/ { ZYDIS_MNEMONIC_AND, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0058*/ { ZYDIS_MNEMONIC_AND, 2, 0x1208, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0059*/ { ZYDIS_MNEMONIC_AND, 2, 0x120A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*005A*/ { ZYDIS_MNEMONIC_AND, 2, 0x120E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, @@ -96,16 +96,16 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*005D*/ { ZYDIS_MNEMONIC_AND, 2, 0x1210, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*005E*/ { ZYDIS_MNEMONIC_AND, 2, 0x1214, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*005F*/ { ZYDIS_MNEMONIC_AND, 2, 0x1216, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0060*/ { ZYDIS_MNEMONIC_AND, 2, 0x122E, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0060*/ { ZYDIS_MNEMONIC_AND, 2, 0x122E, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0061*/ { ZYDIS_MNEMONIC_AND, 2, 0x122E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0062*/ { ZYDIS_MNEMONIC_AND, 2, 0x1230, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0063*/ { ZYDIS_MNEMONIC_AND, 2, 0x121C, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0063*/ { ZYDIS_MNEMONIC_AND, 2, 0x121C, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0064*/ { ZYDIS_MNEMONIC_AND, 2, 0x121C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0065*/ { ZYDIS_MNEMONIC_AND, 2, 0x121E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0066*/ { ZYDIS_MNEMONIC_AND, 2, 0x122E, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0066*/ { ZYDIS_MNEMONIC_AND, 2, 0x122E, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0067*/ { ZYDIS_MNEMONIC_AND, 2, 0x122E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0068*/ { ZYDIS_MNEMONIC_AND, 2, 0x1230, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0069*/ { ZYDIS_MNEMONIC_AND, 2, 0x1220, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0069*/ { ZYDIS_MNEMONIC_AND, 2, 0x1220, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*006A*/ { ZYDIS_MNEMONIC_AND, 2, 0x1220, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*006B*/ { ZYDIS_MNEMONIC_AND, 2, 0x1222, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*006C*/ { ZYDIS_MNEMONIC_ANDNPD, 2, 0x08F8, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, @@ -171,22 +171,22 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*00A8*/ { ZYDIS_MNEMONIC_BT, 2, 0x125C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*00A9*/ { ZYDIS_MNEMONIC_BT, 2, 0x125E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*00AA*/ { ZYDIS_MNEMONIC_BT, 2, 0x1260, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*00AB*/ { ZYDIS_MNEMONIC_BTC, 2, 0x1262, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*00AB*/ { ZYDIS_MNEMONIC_BTC, 2, 0x1262, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*00AC*/ { ZYDIS_MNEMONIC_BTC, 2, 0x1262, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*00AD*/ { ZYDIS_MNEMONIC_BTC, 2, 0x1264, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*00AE*/ { ZYDIS_MNEMONIC_BTC, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*00AE*/ { ZYDIS_MNEMONIC_BTC, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*00AF*/ { ZYDIS_MNEMONIC_BTC, 2, 0x1208, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*00B0*/ { ZYDIS_MNEMONIC_BTC, 2, 0x120A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*00B1*/ { ZYDIS_MNEMONIC_BTR, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*00B1*/ { ZYDIS_MNEMONIC_BTR, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*00B2*/ { ZYDIS_MNEMONIC_BTR, 2, 0x1208, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*00B3*/ { ZYDIS_MNEMONIC_BTR, 2, 0x120A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*00B4*/ { ZYDIS_MNEMONIC_BTR, 2, 0x1262, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*00B4*/ { ZYDIS_MNEMONIC_BTR, 2, 0x1262, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*00B5*/ { ZYDIS_MNEMONIC_BTR, 2, 0x1262, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*00B6*/ { ZYDIS_MNEMONIC_BTR, 2, 0x1264, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*00B7*/ { ZYDIS_MNEMONIC_BTS, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*00B7*/ { ZYDIS_MNEMONIC_BTS, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*00B8*/ { ZYDIS_MNEMONIC_BTS, 2, 0x1208, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*00B9*/ { ZYDIS_MNEMONIC_BTS, 2, 0x120A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*00BA*/ { ZYDIS_MNEMONIC_BTS, 2, 0x1262, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*00BA*/ { ZYDIS_MNEMONIC_BTS, 2, 0x1262, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*00BB*/ { ZYDIS_MNEMONIC_BTS, 2, 0x1262, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*00BC*/ { ZYDIS_MNEMONIC_BTS, 2, 0x1264, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*00BD*/ { ZYDIS_MNEMONIC_CALL, 2, 0x1266, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, @@ -280,16 +280,16 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*0115*/ { ZYDIS_MNEMONIC_CMPSW, 3, 0x0928, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0116*/ { ZYDIS_MNEMONIC_CMPSW, 3, 0x0928, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0117*/ { ZYDIS_MNEMONIC_CMPSW, 2, 0x1288, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0118*/ { ZYDIS_MNEMONIC_CMPXCHG, 3, 0x092B, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0118*/ { ZYDIS_MNEMONIC_CMPXCHG, 3, 0x092B, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0119*/ { ZYDIS_MNEMONIC_CMPXCHG, 3, 0x092B, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*011A*/ { ZYDIS_MNEMONIC_CMPXCHG, 3, 0x092E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*011B*/ { ZYDIS_MNEMONIC_CMPXCHG, 3, 0x0931, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*011B*/ { ZYDIS_MNEMONIC_CMPXCHG, 3, 0x0931, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*011C*/ { ZYDIS_MNEMONIC_CMPXCHG, 3, 0x0931, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*011D*/ { ZYDIS_MNEMONIC_CMPXCHG, 3, 0x0934, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*011E*/ { ZYDIS_MNEMONIC_CMPXCHG16B, 5, 0x004E, 0x05, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*011F*/ { ZYDIS_MNEMONIC_CMPXCHG16B, 5, 0x004E, 0x05, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*0120*/ { ZYDIS_MNEMONIC_CMPXCHG8B, 5, 0x0053, 0x05, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*0121*/ { ZYDIS_MNEMONIC_CMPXCHG8B, 5, 0x0053, 0x05, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0120*/ { ZYDIS_MNEMONIC_CMPXCHG8B, 5, 0x0053, 0x05, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0121*/ { ZYDIS_MNEMONIC_CMPXCHG8B, 5, 0x0053, 0x05, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0122*/ { ZYDIS_MNEMONIC_CMPXCHG8B, 5, 0x0053, 0x05, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0123*/ { ZYDIS_MNEMONIC_CMPXCHG8B, 5, 0x0053, 0x05, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0124*/ { ZYDIS_MNEMONIC_COMISD, 2, 0x128A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, @@ -363,10 +363,10 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*0168*/ { ZYDIS_MNEMONIC_DAA, 1, 0x08ED, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0169*/ { ZYDIS_MNEMONIC_DAS, 1, 0x08ED, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*016A*/ { ZYDIS_MNEMONIC_DEC, 1, 0x153A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*016B*/ { ZYDIS_MNEMONIC_DEC, 1, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*016B*/ { ZYDIS_MNEMONIC_DEC, 1, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*016C*/ { ZYDIS_MNEMONIC_DEC, 1, 0x1204, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*016D*/ { ZYDIS_MNEMONIC_DEC, 1, 0x1206, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*016E*/ { ZYDIS_MNEMONIC_DEC, 1, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*016E*/ { ZYDIS_MNEMONIC_DEC, 1, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*016F*/ { ZYDIS_MNEMONIC_DEC, 1, 0x1208, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0170*/ { ZYDIS_MNEMONIC_DEC, 1, 0x120A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0171*/ { ZYDIS_MNEMONIC_DIV, 2, 0x12F2, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, @@ -576,10 +576,10 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*023D*/ { ZYDIS_MNEMONIC_IN, 2, 0x133C, 0x02, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*023E*/ { ZYDIS_MNEMONIC_IN, 0, 0x0000, 0x02, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*023F*/ { ZYDIS_MNEMONIC_INC, 1, 0x153A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0240*/ { ZYDIS_MNEMONIC_INC, 1, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0240*/ { ZYDIS_MNEMONIC_INC, 1, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0241*/ { ZYDIS_MNEMONIC_INC, 1, 0x1204, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0242*/ { ZYDIS_MNEMONIC_INC, 1, 0x1206, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0243*/ { ZYDIS_MNEMONIC_INC, 1, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0243*/ { ZYDIS_MNEMONIC_INC, 1, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0244*/ { ZYDIS_MNEMONIC_INC, 1, 0x1208, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0245*/ { ZYDIS_MNEMONIC_INC, 1, 0x120A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0246*/ { ZYDIS_MNEMONIC_INCSSPD, 1, 0x056E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, @@ -603,14 +603,14 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*0258*/ { ZYDIS_MNEMONIC_INT3, 1, 0x126F, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0259*/ { ZYDIS_MNEMONIC_INTO, 1, 0x0912, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*025A*/ { ZYDIS_MNEMONIC_INVD, 0, 0x0000, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*025B*/ { ZYDIS_MNEMONIC_INVEPT, 2, 0x1346, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*025C*/ { ZYDIS_MNEMONIC_INVEPT, 2, 0x1348, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*025B*/ { ZYDIS_MNEMONIC_INVEPT, 2, 0x1346, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*025C*/ { ZYDIS_MNEMONIC_INVEPT, 2, 0x1348, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*025D*/ { ZYDIS_MNEMONIC_INVLPG, 1, 0x056A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*025E*/ { ZYDIS_MNEMONIC_INVLPGA, 2, 0x134A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*025F*/ { ZYDIS_MNEMONIC_INVPCID, 2, 0x1346, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*0260*/ { ZYDIS_MNEMONIC_INVPCID, 2, 0x1348, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*0261*/ { ZYDIS_MNEMONIC_INVVPID, 2, 0x1346, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*0262*/ { ZYDIS_MNEMONIC_INVVPID, 2, 0x1348, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*025F*/ { ZYDIS_MNEMONIC_INVPCID, 2, 0x1346, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0260*/ { ZYDIS_MNEMONIC_INVPCID, 2, 0x1348, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0261*/ { ZYDIS_MNEMONIC_INVVPID, 2, 0x1346, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0262*/ { ZYDIS_MNEMONIC_INVVPID, 2, 0x1348, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0263*/ { ZYDIS_MNEMONIC_IRET, 1, 0x126F, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0264*/ { ZYDIS_MNEMONIC_IRETD, 1, 0x126F, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0265*/ { ZYDIS_MNEMONIC_IRETQ, 1, 0x16F6, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, @@ -762,8 +762,8 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*02F7*/ { ZYDIS_MNEMONIC_MONITOR, 3, 0x09A0, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*02F8*/ { ZYDIS_MNEMONIC_MONITOR, 3, 0x09A0, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*02F9*/ { ZYDIS_MNEMONIC_MOV, 2, 0x1380, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*02FA*/ { ZYDIS_MNEMONIC_MOV, 2, 0x1382, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*02FB*/ { ZYDIS_MNEMONIC_MOV, 2, 0x1384, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*02FA*/ { ZYDIS_MNEMONIC_MOV, 2, 0x1382, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*02FB*/ { ZYDIS_MNEMONIC_MOV, 2, 0x1384, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_TRUE }, /*02FC*/ { ZYDIS_MNEMONIC_MOV, 2, 0x1386, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*02FD*/ { ZYDIS_MNEMONIC_MOV, 2, 0x1388, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*02FE*/ { ZYDIS_MNEMONIC_MOV, 2, 0x138A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, @@ -780,15 +780,15 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*0309*/ { ZYDIS_MNEMONIC_MOV, 2, 0x139C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*030A*/ { ZYDIS_MNEMONIC_MOV, 2, 0x139E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*030B*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13A0, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*030C*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13A2, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*030C*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13A2, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_TRUE }, /*030D*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13A4, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*030E*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13A6, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*030F*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13A8, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0310*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13AA, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, + /*030E*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13A6, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*030F*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13A8, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, + /*0310*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13AA, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0311*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13AC, 0x03, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0312*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13AE, 0x03, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0313*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13B0, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0314*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13B2, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, + /*0313*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13B0, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, + /*0314*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13B2, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0315*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13B4, 0x03, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0316*/ { ZYDIS_MNEMONIC_MOV, 2, 0x13B6, 0x03, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0317*/ { ZYDIS_MNEMONIC_MOVAPD, 2, 0x0A1E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, @@ -921,10 +921,10 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*0396*/ { ZYDIS_MNEMONIC_MULSS, 2, 0x0922, 0x01, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0397*/ { ZYDIS_MNEMONIC_MULSS, 2, 0x0925, 0x01, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0398*/ { ZYDIS_MNEMONIC_MWAIT, 2, 0x1428, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0399*/ { ZYDIS_MNEMONIC_NEG, 1, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0399*/ { ZYDIS_MNEMONIC_NEG, 1, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*039A*/ { ZYDIS_MNEMONIC_NEG, 1, 0x1204, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*039B*/ { ZYDIS_MNEMONIC_NEG, 1, 0x1206, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*039C*/ { ZYDIS_MNEMONIC_NEG, 1, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*039C*/ { ZYDIS_MNEMONIC_NEG, 1, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*039D*/ { ZYDIS_MNEMONIC_NEG, 1, 0x1208, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*039E*/ { ZYDIS_MNEMONIC_NEG, 1, 0x120A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*039F*/ { ZYDIS_MNEMONIC_NOP, 0, 0x0000, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, @@ -984,16 +984,16 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*03D5*/ { ZYDIS_MNEMONIC_NOP, 1, 0x093A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*03D6*/ { ZYDIS_MNEMONIC_NOP, 2, 0x125A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03D7*/ { ZYDIS_MNEMONIC_NOP, 2, 0x125C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*03D8*/ { ZYDIS_MNEMONIC_NOT, 1, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*03D8*/ { ZYDIS_MNEMONIC_NOT, 1, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03D9*/ { ZYDIS_MNEMONIC_NOT, 1, 0x1204, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03DA*/ { ZYDIS_MNEMONIC_NOT, 1, 0x1206, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*03DB*/ { ZYDIS_MNEMONIC_NOT, 1, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*03DB*/ { ZYDIS_MNEMONIC_NOT, 1, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03DC*/ { ZYDIS_MNEMONIC_NOT, 1, 0x1208, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03DD*/ { ZYDIS_MNEMONIC_NOT, 1, 0x120A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*03DE*/ { ZYDIS_MNEMONIC_OR, 2, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*03DE*/ { ZYDIS_MNEMONIC_OR, 2, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03DF*/ { ZYDIS_MNEMONIC_OR, 2, 0x1204, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03E0*/ { ZYDIS_MNEMONIC_OR, 2, 0x1206, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*03E1*/ { ZYDIS_MNEMONIC_OR, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*03E1*/ { ZYDIS_MNEMONIC_OR, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03E2*/ { ZYDIS_MNEMONIC_OR, 2, 0x1208, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03E3*/ { ZYDIS_MNEMONIC_OR, 2, 0x120A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*03E4*/ { ZYDIS_MNEMONIC_OR, 2, 0x120C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, @@ -1002,16 +1002,16 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*03E7*/ { ZYDIS_MNEMONIC_OR, 2, 0x1212, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*03E8*/ { ZYDIS_MNEMONIC_OR, 2, 0x142A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*03E9*/ { ZYDIS_MNEMONIC_OR, 2, 0x1216, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*03EA*/ { ZYDIS_MNEMONIC_OR, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*03EA*/ { ZYDIS_MNEMONIC_OR, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03EB*/ { ZYDIS_MNEMONIC_OR, 2, 0x1218, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03EC*/ { ZYDIS_MNEMONIC_OR, 2, 0x121A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*03ED*/ { ZYDIS_MNEMONIC_OR, 2, 0x121C, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*03ED*/ { ZYDIS_MNEMONIC_OR, 2, 0x121C, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03EE*/ { ZYDIS_MNEMONIC_OR, 2, 0x121C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03EF*/ { ZYDIS_MNEMONIC_OR, 2, 0x121E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*03F0*/ { ZYDIS_MNEMONIC_OR, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*03F0*/ { ZYDIS_MNEMONIC_OR, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03F1*/ { ZYDIS_MNEMONIC_OR, 2, 0x1218, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03F2*/ { ZYDIS_MNEMONIC_OR, 2, 0x121A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*03F3*/ { ZYDIS_MNEMONIC_OR, 2, 0x1220, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*03F3*/ { ZYDIS_MNEMONIC_OR, 2, 0x1220, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03F4*/ { ZYDIS_MNEMONIC_OR, 2, 0x1220, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*03F5*/ { ZYDIS_MNEMONIC_OR, 2, 0x1222, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*03F6*/ { ZYDIS_MNEMONIC_ORPD, 2, 0x08F8, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, @@ -1587,10 +1587,10 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*0630*/ { ZYDIS_MNEMONIC_SAR, 2, 0x14E4, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0631*/ { ZYDIS_MNEMONIC_SAR, 2, 0x14E6, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0632*/ { ZYDIS_MNEMONIC_SAVESSP, 0, 0x0000, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0633*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0633*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0634*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1204, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0635*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1206, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0636*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0636*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0637*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1208, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0638*/ { ZYDIS_MNEMONIC_SBB, 2, 0x120A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0639*/ { ZYDIS_MNEMONIC_SBB, 2, 0x120E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, @@ -1599,16 +1599,16 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*063C*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1210, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*063D*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1214, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*063E*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1216, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*063F*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*063F*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0640*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1218, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0641*/ { ZYDIS_MNEMONIC_SBB, 2, 0x121A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0642*/ { ZYDIS_MNEMONIC_SBB, 2, 0x121C, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0642*/ { ZYDIS_MNEMONIC_SBB, 2, 0x121C, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0643*/ { ZYDIS_MNEMONIC_SBB, 2, 0x121C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0644*/ { ZYDIS_MNEMONIC_SBB, 2, 0x121E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0645*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0645*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0646*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1218, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0647*/ { ZYDIS_MNEMONIC_SBB, 2, 0x121A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0648*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1220, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0648*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1220, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0649*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1220, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*064A*/ { ZYDIS_MNEMONIC_SBB, 2, 0x1222, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*064B*/ { ZYDIS_MNEMONIC_SCASB, 3, 0x0A36, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, @@ -1756,10 +1756,10 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*06D9*/ { ZYDIS_MNEMONIC_STOSW, 2, 0x150E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*06DA*/ { ZYDIS_MNEMONIC_STR, 2, 0x1510, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*06DB*/ { ZYDIS_MNEMONIC_STR, 2, 0x1512, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*06DC*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*06DC*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*06DD*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1204, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*06DE*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1206, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*06DF*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*06DF*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*06E0*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1208, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*06E1*/ { ZYDIS_MNEMONIC_SUB, 2, 0x120A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*06E2*/ { ZYDIS_MNEMONIC_SUB, 2, 0x120E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, @@ -1768,16 +1768,16 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*06E5*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1210, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*06E6*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1214, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*06E7*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1216, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*06E8*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*06E8*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*06E9*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1218, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*06EA*/ { ZYDIS_MNEMONIC_SUB, 2, 0x121A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*06EB*/ { ZYDIS_MNEMONIC_SUB, 2, 0x121C, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*06EB*/ { ZYDIS_MNEMONIC_SUB, 2, 0x121C, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*06EC*/ { ZYDIS_MNEMONIC_SUB, 2, 0x121C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*06ED*/ { ZYDIS_MNEMONIC_SUB, 2, 0x121E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*06EE*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*06EE*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1218, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*06EF*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1218, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*06F0*/ { ZYDIS_MNEMONIC_SUB, 2, 0x121A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*06F1*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1220, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*06F1*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1220, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*06F2*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1220, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*06F3*/ { ZYDIS_MNEMONIC_SUB, 2, 0x1222, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*06F4*/ { ZYDIS_MNEMONIC_SUBPD, 2, 0x08F8, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, @@ -1837,17 +1837,17 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*072A*/ { ZYDIS_MNEMONIC_VMMCALL, 0, 0x0000, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*072B*/ { ZYDIS_MNEMONIC_VMPTRLD, 1, 0x048E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*072C*/ { ZYDIS_MNEMONIC_VMPTRST, 1, 0x09D6, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*072D*/ { ZYDIS_MNEMONIC_VMREAD, 2, 0x151E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*072E*/ { ZYDIS_MNEMONIC_VMREAD, 2, 0x1520, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*072F*/ { ZYDIS_MNEMONIC_VMREAD, 2, 0x1522, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*0730*/ { ZYDIS_MNEMONIC_VMREAD, 2, 0x1524, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, + /*072D*/ { ZYDIS_MNEMONIC_VMREAD, 2, 0x151E, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*072E*/ { ZYDIS_MNEMONIC_VMREAD, 2, 0x1520, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, + /*072F*/ { ZYDIS_MNEMONIC_VMREAD, 2, 0x1522, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0730*/ { ZYDIS_MNEMONIC_VMREAD, 2, 0x1524, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0731*/ { ZYDIS_MNEMONIC_VMRESUME, 0, 0x0000, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0732*/ { ZYDIS_MNEMONIC_VMRUN, 1, 0x127C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0733*/ { ZYDIS_MNEMONIC_VMSAVE, 0, 0x0000, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0734*/ { ZYDIS_MNEMONIC_VMWRITE, 2, 0x1526, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*0735*/ { ZYDIS_MNEMONIC_VMWRITE, 2, 0x1528, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0736*/ { ZYDIS_MNEMONIC_VMWRITE, 2, 0x152A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*0737*/ { ZYDIS_MNEMONIC_VMWRITE, 2, 0x152C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, + /*0734*/ { ZYDIS_MNEMONIC_VMWRITE, 2, 0x1526, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0735*/ { ZYDIS_MNEMONIC_VMWRITE, 2, 0x1528, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, + /*0736*/ { ZYDIS_MNEMONIC_VMWRITE, 2, 0x152A, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0737*/ { ZYDIS_MNEMONIC_VMWRITE, 2, 0x152C, 0x06, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0738*/ { ZYDIS_MNEMONIC_VMXOFF, 0, 0x0000, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0739*/ { ZYDIS_MNEMONIC_VMXON, 1, 0x048E, 0x01, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*073A*/ { ZYDIS_MNEMONIC_WBINVD, 0, 0x0000, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, @@ -1859,26 +1859,26 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*0740*/ { ZYDIS_MNEMONIC_WRSSQ, 2, 0x1530, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0741*/ { ZYDIS_MNEMONIC_WRUSSD, 2, 0x152E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0742*/ { ZYDIS_MNEMONIC_WRUSSQ, 2, 0x1530, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*0743*/ { ZYDIS_MNEMONIC_XADD, 2, 0x1532, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0743*/ { ZYDIS_MNEMONIC_XADD, 2, 0x1532, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0744*/ { ZYDIS_MNEMONIC_XADD, 2, 0x1532, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0745*/ { ZYDIS_MNEMONIC_XADD, 2, 0x1534, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0746*/ { ZYDIS_MNEMONIC_XADD, 2, 0x1536, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0746*/ { ZYDIS_MNEMONIC_XADD, 2, 0x1536, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0747*/ { ZYDIS_MNEMONIC_XADD, 2, 0x1536, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0748*/ { ZYDIS_MNEMONIC_XADD, 2, 0x1538, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0749*/ { ZYDIS_MNEMONIC_XCHG, 2, 0x1532, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*074A*/ { ZYDIS_MNEMONIC_XCHG, 2, 0x1532, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0749*/ { ZYDIS_MNEMONIC_XCHG, 2, 0x1532, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*074A*/ { ZYDIS_MNEMONIC_XCHG, 2, 0x1532, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*074B*/ { ZYDIS_MNEMONIC_XCHG, 2, 0x1534, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*074C*/ { ZYDIS_MNEMONIC_XCHG, 2, 0x1536, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, - /*074D*/ { ZYDIS_MNEMONIC_XCHG, 2, 0x1536, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*074C*/ { ZYDIS_MNEMONIC_XCHG, 2, 0x1536, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*074D*/ { ZYDIS_MNEMONIC_XCHG, 2, 0x1536, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*074E*/ { ZYDIS_MNEMONIC_XCHG, 2, 0x1538, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*074F*/ { ZYDIS_MNEMONIC_XCHG, 2, 0x153A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0750*/ { ZYDIS_MNEMONIC_XCHG, 2, 0x153A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0751*/ { ZYDIS_MNEMONIC_XGETBV, 4, 0x03E8, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0752*/ { ZYDIS_MNEMONIC_XLAT, 2, 0x153C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0753*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0753*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1204, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0754*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1204, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0755*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1206, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0756*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0756*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1208, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0757*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1208, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0758*/ { ZYDIS_MNEMONIC_XOR, 2, 0x120A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*0759*/ { ZYDIS_MNEMONIC_XOR, 2, 0x120E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, @@ -1887,16 +1887,16 @@ const ZydisInstructionDefinitionDEFAULT instructionDefinitionsDEFAULT[] = /*075C*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1210, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*075D*/ { ZYDIS_MNEMONIC_XOR, 2, 0x142A, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*075E*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1216, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*075F*/ { ZYDIS_MNEMONIC_XOR, 2, 0x122E, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*075F*/ { ZYDIS_MNEMONIC_XOR, 2, 0x122E, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0760*/ { ZYDIS_MNEMONIC_XOR, 2, 0x122E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0761*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1230, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0762*/ { ZYDIS_MNEMONIC_XOR, 2, 0x121C, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0762*/ { ZYDIS_MNEMONIC_XOR, 2, 0x121C, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0763*/ { ZYDIS_MNEMONIC_XOR, 2, 0x121C, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0764*/ { ZYDIS_MNEMONIC_XOR, 2, 0x121E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0765*/ { ZYDIS_MNEMONIC_XOR, 2, 0x122E, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0765*/ { ZYDIS_MNEMONIC_XOR, 2, 0x122E, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0766*/ { ZYDIS_MNEMONIC_XOR, 2, 0x122E, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0767*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1230, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, - /*0768*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1220, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, + /*0768*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1220, 0x00, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE, ZYDIS_TRUE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*0769*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1220, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, /*076A*/ { ZYDIS_MNEMONIC_XOR, 2, 0x1222, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE }, /*076B*/ { ZYDIS_MNEMONIC_XORPD, 2, 0x08F8, 0x00, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_FALSE, ZYDIS_TRUE }, diff --git a/include/Zydis/Internal/InstructionFilters.inc b/include/Zydis/Internal/InstructionFilters.inc index eec3efc..b64c9c0 100644 --- a/include/Zydis/Internal/InstructionFilters.inc +++ b/include/Zydis/Internal/InstructionFilters.inc @@ -286,7 +286,7 @@ const ZydisInstructionTreeNode filtersOpcode[][256] = /*00BF*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0E, 0x030A), /*00C0*/ ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x03AD), /*00C1*/ ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x03AE), - /*00C2*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, 0x05FA), + /*00C2*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, 0x05FA), /*00C3*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, 0x05FB), /*00C4*/ ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VEX, 0x0000), /*00C5*/ ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_VEX, 0x0001), @@ -294,7 +294,7 @@ const ZydisInstructionTreeNode filtersOpcode[][256] = /*00C7*/ ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_MODRM_MOD_COMPACT, 0x0677), /*00C8*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0A, 0x0186), /*00C9*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, 0x02B9), - /*00CA*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, 0x05FC), + /*00CA*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x10, 0x05FC), /*00CB*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, 0x05FD), /*00CC*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x00, 0x0258), /*00CD*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0B, 0x0256), @@ -9461,20 +9461,20 @@ const ZydisInstructionTreeNode filtersModeCompact[][2] = /*0001*/ ZYDIS_INVALID }, { - /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, 0x0310), - /*0001*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, 0x030F) + /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, 0x0310), + /*0001*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, 0x030F) }, { - /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, 0x0312), - /*0001*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, 0x0311) + /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, 0x0312), + /*0001*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, 0x0311) }, { - /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, 0x0314), - /*0001*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, 0x0313) + /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, 0x0314), + /*0001*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, 0x0313) }, { - /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, 0x0316), - /*0001*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, 0x0315) + /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, 0x0316), + /*0001*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x0F, 0x0315) }, { /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_DEFAULT, 0x02, 0x025F), @@ -14007,12 +14007,12 @@ const ZydisInstructionTreeNode filtersModrmModCompact[][2] = /*0001*/ ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x03EF) }, { - /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x10, 0x0003), - /*0001*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x10, 0x0001) + /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x11, 0x0003), + /*0001*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x11, 0x0001) }, { - /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x10, 0x0002), - /*0001*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x10, 0x0000) + /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x11, 0x0002), + /*0001*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x11, 0x0000) }, { /*0000*/ ZYDIS_FILTER(ZYDIS_NODETYPE_FILTER_REX_W, 0x03F0), @@ -32774,19 +32774,19 @@ const ZydisInstructionTreeNode filtersREXW[][2] = /*0001*/ ZYDIS_INVALID }, { - /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x10, 0x0022), + /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x11, 0x0022), /*0001*/ ZYDIS_INVALID }, { - /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x10, 0x0021), + /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x11, 0x0021), /*0001*/ ZYDIS_INVALID }, { - /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x10, 0x0024), + /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x11, 0x0024), /*0001*/ ZYDIS_INVALID }, { - /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x10, 0x0023), + /*0000*/ ZYDIS_DEFINITION(ZYDIS_INSTRUCTION_ENCODING_XOP, 0x11, 0x0023), /*0001*/ ZYDIS_INVALID }, { diff --git a/include/Zydis/Internal/InstructionTable.h b/include/Zydis/Internal/InstructionTable.h index 0c042f8..c197212 100644 --- a/include/Zydis/Internal/InstructionTable.h +++ b/include/Zydis/Internal/InstructionTable.h @@ -744,10 +744,18 @@ typedef uint8_t ZydisInstructionPartFlags; */ #define ZYDIS_INSTRPART_FLAG_HAS_IMM1 0x08 +/** + * @brief The instruction ignores the value of `modrm.mod` and always assumes `modrm.mod == 3` + * ("reg, reg" - form). + * + * Instructions with this flag can't have a SIB byte or a displacement value. + */ +#define ZYDIS_INSTRPART_FLAG_FORCE_REG_FORM 0x10 + typedef struct ZydisInstructionParts_ { /** - * @brief + * @brief Contains flags with information about the physical instruction-encoding. */ ZydisInstructionPartFlags flags; /** diff --git a/src/Decoder.c b/src/Decoder.c index bb9c563..d26e6ff 100644 --- a/src/Decoder.c +++ b/src/Decoder.c @@ -1845,6 +1845,40 @@ static ZydisStatus ZydisDecodeOperands(ZydisDecoderContext* context, ZydisInstru break; } if (info->operands[i].type) + { + // Handle compressed 8-bit displacement + if (((info->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) || + (info->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)) && + (info->details.disp.dataSize == 8)) + { + info->operands[i].mem.disp.value.sqword *= info->avx.compressedDisp8Scale; + } + + goto FinalizeOperand; + } + + // Immediate operands + switch (operand->type) + { + case ZYDIS_SEMANTIC_OPTYPE_REL: + ZYDIS_ASSERT(info->details.imm[immId].isRelative); + case ZYDIS_SEMANTIC_OPTYPE_IMM: + ZYDIS_ASSERT((immId == 0) || (immId == 1)); + info->operands[i].type = ZYDIS_OPERAND_TYPE_IMMEDIATE; + info->operands[i].size = operand->size[context->eoszIndex] * 8; + info->operands[i].imm.value.uqword = info->details.imm[immId].value.uqword; + info->operands[i].imm.isSigned = info->details.imm[immId].isSigned; + info->operands[i].imm.isRelative = info->details.imm[immId].isRelative; + ++immId; + break; + default: + break; + } + ZYDIS_ASSERT(info->operands[i].type == ZYDIS_OPERAND_TYPE_IMMEDIATE); + +FinalizeOperand: + // Set segment-register for memory operands + if (info->operands[i].type == ZYDIS_OPERAND_TYPE_MEMORY) { if (info->attributes & ZYDIS_ATTRIB_HAS_SEGMENT_CS) { @@ -1884,38 +1918,8 @@ static ZydisStatus ZydisDecodeOperands(ZydisDecoderContext* context, ZydisInstru info->operands[i].mem.segment = ZYDIS_REGISTER_DS; }; } - - // Handle compressed 8-bit displacement - if (((info->encoding == ZYDIS_INSTRUCTION_ENCODING_EVEX) || - (info->encoding == ZYDIS_INSTRUCTION_ENCODING_MVEX)) && - (info->details.disp.dataSize == 8)) - { - info->operands[i].mem.disp.value.sqword *= info->avx.compressedDisp8Scale; - } - - goto FinalizeOperand; } - // Immediate operands - switch (operand->type) - { - case ZYDIS_SEMANTIC_OPTYPE_REL: - ZYDIS_ASSERT(info->details.imm[immId].isRelative); - case ZYDIS_SEMANTIC_OPTYPE_IMM: - ZYDIS_ASSERT((immId == 0) || (immId == 1)); - info->operands[i].type = ZYDIS_OPERAND_TYPE_IMMEDIATE; - info->operands[i].size = operand->size[context->eoszIndex] * 8; - info->operands[i].imm.value.uqword = info->details.imm[immId].value.uqword; - info->operands[i].imm.isSigned = info->details.imm[immId].isSigned; - info->operands[i].imm.isRelative = info->details.imm[immId].isRelative; - ++immId; - break; - default: - break; - } - ZYDIS_ASSERT(info->operands[i].type == ZYDIS_OPERAND_TYPE_IMMEDIATE); - -FinalizeOperand: ZydisSetOperandSizeAndElementInfo(context, info, &info->operands[i], operand); ++operand; } @@ -3087,72 +3091,75 @@ static ZydisStatus ZydisDecodeOptionalInstructionParts(ZydisDecoderContext* cont } uint8_t hasSIB = 0; uint8_t displacementSize = 0; - switch (info->addressWidth) + if (!(optionalParts->flags & ZYDIS_INSTRPART_FLAG_FORCE_REG_FORM)) { - case 16: - switch (info->details.modrm.mod) + switch (info->addressWidth) { - case 0: - if (info->details.modrm.rm == 6) + case 16: + switch (info->details.modrm.mod) { - displacementSize = 16; - } - break; - case 1: - displacementSize = 8; - break; - case 2: - displacementSize = 16; - break; - case 3: - break; - default: - ZYDIS_UNREACHABLE; - } - case 32: - case 64: - hasSIB = (info->details.modrm.mod != 3) && (info->details.modrm.rm == 4); - switch (info->details.modrm.mod) - { - case 0: - if (info->details.modrm.rm == 5) - { - if (context->decoder->machineMode == 64) + case 0: + if (info->details.modrm.rm == 6) { - info->attributes |= ZYDIS_ATTRIB_IS_RELATIVE; + displacementSize = 16; } - displacementSize = 32; + break; + case 1: + displacementSize = 8; + break; + case 2: + displacementSize = 16; + break; + case 3: + break; + default: + ZYDIS_UNREACHABLE; + } + case 32: + case 64: + hasSIB = (info->details.modrm.mod != 3) && (info->details.modrm.rm == 4); + switch (info->details.modrm.mod) + { + case 0: + if (info->details.modrm.rm == 5) + { + if (context->decoder->machineMode == 64) + { + info->attributes |= ZYDIS_ATTRIB_IS_RELATIVE; + } + displacementSize = 32; + } + break; + case 1: + displacementSize = 8; + break; + case 2: + displacementSize = 32; + break; + case 3: + break; + default: + ZYDIS_UNREACHABLE; } - break; - case 1: - displacementSize = 8; - break; - case 2: - displacementSize = 32; - break; - case 3: break; default: ZYDIS_UNREACHABLE; } - break; - default: - ZYDIS_UNREACHABLE; - } - if (hasSIB) - { - uint8_t sibByte; - ZYDIS_CHECK(ZydisInputNext(context, info, &sibByte)); - ZydisDecodeSIB(info, sibByte); - if (info->details.sib.base == 5) + if (hasSIB) { - displacementSize = (info->details.modrm.mod == 1) ? 8 : 32; + uint8_t sibByte; + ZYDIS_CHECK(ZydisInputNext(context, info, &sibByte)); + ZydisDecodeSIB(info, sibByte); + if (info->details.sib.base == 5) + { + displacementSize = (info->details.modrm.mod == 1) ? 8 : 32; + } } + if (displacementSize) + { + ZYDIS_CHECK(ZydisReadDisplacement(context, info, displacementSize)); + } } - if (displacementSize) - { - ZYDIS_CHECK(ZydisReadDisplacement(context, info, displacementSize)); - } } if (optionalParts->flags & ZYDIS_INSTRPART_FLAG_HAS_DISP) @@ -3199,7 +3206,7 @@ static void ZydisSetEffectiveOperandSize(ZydisDecoderContext* context, ZydisInst ZYDIS_ASSERT(info); ZYDIS_ASSERT(definition); - static const uint8_t operandSizeMap[6][8] = + static const uint8_t operandSizeMap[7][8] = { // Default for most instructions { @@ -3266,6 +3273,18 @@ static void ZydisSetEffectiveOperandSize(ZydisDecoderContext* context, ZydisInst 32, // 64 66 W0 64, // 64 __ W1 64 // 64 66 W1 + }, + // Operand size is forced to 64-bit in 64-bit mode and forced to 32-bit in all other nmodes. + // This is used for `mov CR, GPR` and `mov GPR, CR`. + { + 32, // 16 __ W0 + 32, // 16 66 W0 + 32, // 32 __ W0 + 32, // 32 66 W0 + 64, // 64 __ W0 + 64, // 64 66 W0 + 64, // 64 __ W1 + 64 // 64 66 W1 } };