Attribute VB_Name = "mx86" Option Explicit 'Capstone Disassembly Engine bindings for VB6 'Contributed by FireEye FLARE Team 'Author: David Zimmer , 'License: Apache 'Copyright: FireEye 2017 Enum x86_reg X86_REG_INVALID = 0 X86_REG_AH X86_REG_AL X86_REG_AX X86_REG_BH X86_REG_BL X86_REG_BP X86_REG_BPL X86_REG_BX X86_REG_CH X86_REG_CL X86_REG_CS X86_REG_CX X86_REG_DH X86_REG_DI X86_REG_DIL X86_REG_DL X86_REG_DS X86_REG_DX X86_REG_EAX X86_REG_EBP X86_REG_EBX X86_REG_ECX X86_REG_EDI X86_REG_EDX X86_REG_EFLAGS X86_REG_EIP X86_REG_EIZ X86_REG_ES X86_REG_ESI X86_REG_ESP X86_REG_FPSW X86_REG_FS X86_REG_GS X86_REG_IP X86_REG_RAX X86_REG_RBP X86_REG_RBX X86_REG_RCX X86_REG_RDI X86_REG_RDX X86_REG_RIP X86_REG_RIZ X86_REG_RSI X86_REG_RSP X86_REG_SI X86_REG_SIL X86_REG_SP X86_REG_SPL X86_REG_SS X86_REG_CR0 X86_REG_CR1 X86_REG_CR2 X86_REG_CR3 X86_REG_CR4 X86_REG_CR5 X86_REG_CR6 X86_REG_CR7 X86_REG_CR8 X86_REG_CR9 X86_REG_CR10 X86_REG_CR11 X86_REG_CR12 X86_REG_CR13 X86_REG_CR14 X86_REG_CR15 X86_REG_DR0 X86_REG_DR1 X86_REG_DR2 X86_REG_DR3 X86_REG_DR4 X86_REG_DR5 X86_REG_DR6 X86_REG_DR7 X86_REG_FP0 X86_REG_FP1 X86_REG_FP2 X86_REG_FP3 X86_REG_FP4 X86_REG_FP5 X86_REG_FP6 X86_REG_FP7 X86_REG_K0 X86_REG_K1 X86_REG_K2 X86_REG_K3 X86_REG_K4 X86_REG_K5 X86_REG_K6 X86_REG_K7 X86_REG_MM0 X86_REG_MM1 X86_REG_MM2 X86_REG_MM3 X86_REG_MM4 X86_REG_MM5 X86_REG_MM6 X86_REG_MM7 X86_REG_R8 X86_REG_R9 X86_REG_R10 X86_REG_R11 X86_REG_R12 X86_REG_R13 X86_REG_R14 X86_REG_R15 X86_REG_ST0 X86_REG_ST1 X86_REG_ST2 X86_REG_ST3 X86_REG_ST4 X86_REG_ST5 X86_REG_ST6 X86_REG_ST7 X86_REG_XMM0 X86_REG_XMM1 X86_REG_XMM2 X86_REG_XMM3 X86_REG_XMM4 X86_REG_XMM5 X86_REG_XMM6 X86_REG_XMM7 X86_REG_XMM8 X86_REG_XMM9 X86_REG_XMM10 X86_REG_XMM11 X86_REG_XMM12 X86_REG_XMM13 X86_REG_XMM14 X86_REG_XMM15 X86_REG_XMM16 X86_REG_XMM17 X86_REG_XMM18 X86_REG_XMM19 X86_REG_XMM20 X86_REG_XMM21 X86_REG_XMM22 X86_REG_XMM23 X86_REG_XMM24 X86_REG_XMM25 X86_REG_XMM26 X86_REG_XMM27 X86_REG_XMM28 X86_REG_XMM29 X86_REG_XMM30 X86_REG_XMM31 X86_REG_YMM0 X86_REG_YMM1 X86_REG_YMM2 X86_REG_YMM3 X86_REG_YMM4 X86_REG_YMM5 X86_REG_YMM6 X86_REG_YMM7 X86_REG_YMM8 X86_REG_YMM9 X86_REG_YMM10 X86_REG_YMM11 X86_REG_YMM12 X86_REG_YMM13 X86_REG_YMM14 X86_REG_YMM15 X86_REG_YMM16 X86_REG_YMM17 X86_REG_YMM18 X86_REG_YMM19 X86_REG_YMM20 X86_REG_YMM21 X86_REG_YMM22 X86_REG_YMM23 X86_REG_YMM24 X86_REG_YMM25 X86_REG_YMM26 X86_REG_YMM27 X86_REG_YMM28 X86_REG_YMM29 X86_REG_YMM30 X86_REG_YMM31 X86_REG_ZMM0 X86_REG_ZMM1 X86_REG_ZMM2 X86_REG_ZMM3 X86_REG_ZMM4 X86_REG_ZMM5 X86_REG_ZMM6 X86_REG_ZMM7 X86_REG_ZMM8 X86_REG_ZMM9 X86_REG_ZMM10 X86_REG_ZMM11 X86_REG_ZMM12 X86_REG_ZMM13 X86_REG_ZMM14 X86_REG_ZMM15 X86_REG_ZMM16 X86_REG_ZMM17 X86_REG_ZMM18 X86_REG_ZMM19 X86_REG_ZMM20 X86_REG_ZMM21 X86_REG_ZMM22 X86_REG_ZMM23 X86_REG_ZMM24 X86_REG_ZMM25 X86_REG_ZMM26 X86_REG_ZMM27 X86_REG_ZMM28 X86_REG_ZMM29 X86_REG_ZMM30 X86_REG_ZMM31 X86_REG_R8B X86_REG_R9B X86_REG_R10B X86_REG_R11B X86_REG_R12B X86_REG_R13B X86_REG_R14B X86_REG_R15B X86_REG_R8D X86_REG_R9D X86_REG_R10D X86_REG_R11D X86_REG_R12D X86_REG_R13D X86_REG_R14D X86_REG_R15D X86_REG_R8W X86_REG_R9W X86_REG_R10W X86_REG_R11W X86_REG_R12W X86_REG_R13W X86_REG_R14W X86_REG_R15W X86_REG_ENDING ' <-- mark the end of the list of registers End Enum 'Operand type for instruction's operands Enum x86_op_type X86_OP_INVALID = 0 'CS_OP_INVALID (Uninitialized). X86_OP_REG 'CS_OP_REG (Register operand). X86_OP_IMM 'CS_OP_IMM (Immediate operand). x86_op_mem 'CS_OP_MEM (Memory operand). X86_OP_FP 'CS_OP_FP (Floating-Point operand). End Enum 'AVX broadcast type Public Enum x86_avx_bcast X86_AVX_BCAST_INVALID = 0 ' Uninitialized. X86_AVX_BCAST_2 ' AVX512 broadcast type {1to2} X86_AVX_BCAST_4 ' AVX512 broadcast type {1to4} X86_AVX_BCAST_8 ' AVX512 broadcast type {1to8} X86_AVX_BCAST_16 ' AVX512 broadcast type {1to16} End Enum 'SSE Code Condition type Public Enum x86_sse_cc X86_SSE_CC_INVALID = 0 ' Uninitialized. X86_SSE_CC_EQ X86_SSE_CC_LT X86_SSE_CC_LE X86_SSE_CC_UNORD X86_SSE_CC_NEQ X86_SSE_CC_NLT X86_SSE_CC_NLE X86_SSE_CC_ORD X86_SSE_CC_EQ_UQ X86_SSE_CC_NGE X86_SSE_CC_NGT X86_SSE_CC_FALSE X86_SSE_CC_NEQ_OQ X86_SSE_CC_GE X86_SSE_CC_GT X86_SSE_CC_TRUE End Enum 'AVX Code Condition type Public Enum x86_avx_cc X86_AVX_CC_INVALID = 0 ' Uninitialized. X86_AVX_CC_EQ X86_AVX_CC_LT X86_AVX_CC_LE X86_AVX_CC_UNORD X86_AVX_CC_NEQ X86_AVX_CC_NLT X86_AVX_CC_NLE X86_AVX_CC_ORD X86_AVX_CC_EQ_UQ X86_AVX_CC_NGE X86_AVX_CC_NGT X86_AVX_CC_FALSE X86_AVX_CC_NEQ_OQ X86_AVX_CC_GE X86_AVX_CC_GT X86_AVX_CC_TRUE X86_AVX_CC_EQ_OS X86_AVX_CC_LT_OQ X86_AVX_CC_LE_OQ X86_AVX_CC_UNORD_S X86_AVX_CC_NEQ_US X86_AVX_CC_NLT_UQ X86_AVX_CC_NLE_UQ X86_AVX_CC_ORD_S X86_AVX_CC_EQ_US X86_AVX_CC_NGE_UQ X86_AVX_CC_NGT_UQ X86_AVX_CC_FALSE_OS X86_AVX_CC_NEQ_OS X86_AVX_CC_GE_OQ X86_AVX_CC_GT_OQ X86_AVX_CC_TRUE_US End Enum 'AVX static rounding mode type Public Enum x86_avx_rm X86_AVX_RM_INVALID = 0 ' Uninitialized. X86_AVX_RM_RN ' Round to nearest X86_AVX_RM_RD ' Round down X86_AVX_RM_RU ' Round up X86_AVX_RM_RZ ' Round toward zero End Enum 'Instruction prefixes - to be used in cs_x86.prefix[] Public Enum x86_prefix X86_PREFIX_LOCK = &HF0 ' lock (cs_x86.prefix[0] X86_PREFIX_REP = &HF3 ' rep (cs_x86.prefix[0] X86_PREFIX_REPNE = &HF2 ' repne (cs_x86.prefix[0] X86_PREFIX_CS = &H2E ' segment override CS (cs_x86.prefix[1] X86_PREFIX_SS = &H36 ' segment override SS (cs_x86.prefix[1] X86_PREFIX_DS = &H3E ' segment override DS (cs_x86.prefix[1] X86_PREFIX_ES = &H26 ' segment override ES (cs_x86.prefix[1] X86_PREFIX_FS = &H64 ' segment override FS (cs_x86.prefix[1] X86_PREFIX_GS = &H65 ' segment override GS (cs_x86.prefix[1] X86_PREFIX_OPSIZE = &H66 ' operand-size override (cs_x86.prefix[2] X86_PREFIX_ADDRSIZE = &H67 ' address-size override (cs_x86.prefix[3] End Enum 'Instruction's operand referring to memory 'This is associated with X86_OP_MEM operand type above Public Type x86_op_mem segment As Long ' segment register (or X86_REG_INVALID if irrelevant) UNSIGNED base As Long ' base register (or X86_REG_INVALID if irrelevant) UNSIGNED index As Long ' index register (or X86_REG_INVALID if irrelevant) UNSIGNED scale As Long ' scale for index register disp As Currency ' displacement value End Type 'Instruction operand 48 bytes 'typedef struct cs_x86_op { ' x86_op_type type; // operand type ' union { ' x86_reg reg; // register value for REG operand ' int64_t imm; // immediate value for IMM operand ' double fp; // floating point value for FP operand ' x86_op_mem mem; // base/index/scale/disp value for MEM operand ' }; ' ' // size of this operand (in bytes). ' uint8_t size; ' ' // AVX broadcast type, or 0 if irrelevant ' x86_avx_bcast avx_bcast; ' ' // AVX zero opmask {z} ' bool avx_zero_opmask; '} cs_x86_op; 'Instruction structure Public Type cs_x86 ' Instruction prefix, which can be up to 4 bytes. ' A prefix byte gets value 0 when irrelevant. ' prefix[0] indicates REP/REPNE/LOCK prefix (See X86_PREFIX_REP/REPNE/LOCK above) ' prefix[1] indicates segment override (irrelevant for x86_64): ' See X86_PREFIX_CS/SS/DS/ES/FS/GS above. ' prefix[2] indicates operand-size override (X86_PREFIX_OPSIZE) ' prefix[3] indicates address-size override (X86_PREFIX_ADDRSIZE) prefix(0 To 3) As Byte ' UNSIGNED ' Instruction opcode, wich can be from 1 to 4 bytes in size. ' This contains VEX opcode as well. ' An trailing opcode byte gets value 0 when irrelevant. opcode(0 To 3) As Byte ' UNSIGNED rex As Byte ' REX prefix: only a non-zero value is relavant for x86_64 UNSIGNED addr_size As Byte ' Address size, which can be overrided with above prefix[5]. UNSIGNED modrm As Byte ' ModR/M byte UNSIGNED sib As Byte ' SIB value, or 0 when irrelevant. UNSIGNED disp As Long ' Displacement value, or 0 when irrelevant. sib_index As x86_reg ' SIB index register, or X86_REG_INVALID when irrelevant. sib_scale As Byte ' SIB scale. only applicable if sib_index is relavant. sib_base As x86_reg ' SIB base register, or X86_REG_INVALID when irrelevant. sse_cc As x86_sse_cc ' SSE Code Condition avx_cc As x86_avx_cc ' AVX Code Condition avx_sae As Byte ' AVX Suppress all Exception avx_rm As x86_avx_rm ' AVX static rounding mode op_count As Byte ' Number of operands of this instruction, or 0 when instruction has no operand.UNSIGNED 'operands(0 To 7) As cs_x86_op ' operands for this instruction. 'opBuf(0 To 383) As Byte End Type 'X86 instructions Public Enum x86_insn X86_INS_INVALID = 0 X86_INS_AAA X86_INS_AAD X86_INS_AAM X86_INS_AAS X86_INS_FABS X86_INS_ADC X86_INS_ADCX X86_INS_ADD X86_INS_ADDPD X86_INS_ADDPS X86_INS_ADDSD X86_INS_ADDSS X86_INS_ADDSUBPD X86_INS_ADDSUBPS X86_INS_FADD X86_INS_FIADD X86_INS_FADDP X86_INS_ADOX X86_INS_AESDECLAST X86_INS_AESDEC X86_INS_AESENCLAST X86_INS_AESENC X86_INS_AESIMC X86_INS_AESKEYGENASSIST X86_INS_AND X86_INS_ANDN X86_INS_ANDNPD X86_INS_ANDNPS X86_INS_ANDPD X86_INS_ANDPS X86_INS_ARPL X86_INS_BEXTR X86_INS_BLCFILL X86_INS_BLCI X86_INS_BLCIC X86_INS_BLCMSK X86_INS_BLCS X86_INS_BLENDPD X86_INS_BLENDPS X86_INS_BLENDVPD X86_INS_BLENDVPS X86_INS_BLSFILL X86_INS_BLSI X86_INS_BLSIC X86_INS_BLSMSK X86_INS_BLSR X86_INS_BOUND X86_INS_BSF X86_INS_BSR X86_INS_BSWAP X86_INS_BT X86_INS_BTC X86_INS_BTR X86_INS_BTS X86_INS_BZHI X86_INS_CALL X86_INS_CBW X86_INS_CDQ X86_INS_CDQE X86_INS_FCHS X86_INS_CLAC X86_INS_CLC X86_INS_CLD X86_INS_CLFLUSH X86_INS_CLGI X86_INS_CLI X86_INS_CLTS X86_INS_CMC X86_INS_CMOVA X86_INS_CMOVAE X86_INS_CMOVB X86_INS_CMOVBE X86_INS_FCMOVBE X86_INS_FCMOVB X86_INS_CMOVE X86_INS_FCMOVE X86_INS_CMOVG X86_INS_CMOVGE X86_INS_CMOVL X86_INS_CMOVLE X86_INS_FCMOVNBE X86_INS_FCMOVNB X86_INS_CMOVNE X86_INS_FCMOVNE X86_INS_CMOVNO X86_INS_CMOVNP X86_INS_FCMOVNU X86_INS_CMOVNS X86_INS_CMOVO X86_INS_CMOVP X86_INS_FCMOVU X86_INS_CMOVS X86_INS_CMP X86_INS_CMPPD X86_INS_CMPPS X86_INS_CMPSB X86_INS_CMPSD X86_INS_CMPSQ X86_INS_CMPSS X86_INS_CMPSW X86_INS_CMPXCHG16B X86_INS_CMPXCHG X86_INS_CMPXCHG8B X86_INS_COMISD X86_INS_COMISS X86_INS_FCOMP X86_INS_FCOMPI X86_INS_FCOMI X86_INS_FCOM X86_INS_FCOS X86_INS_CPUID X86_INS_CQO X86_INS_CRC32 X86_INS_CVTDQ2PD X86_INS_CVTDQ2PS X86_INS_CVTPD2DQ X86_INS_CVTPD2PS X86_INS_CVTPS2DQ X86_INS_CVTPS2PD X86_INS_CVTSD2SI X86_INS_CVTSD2SS X86_INS_CVTSI2SD X86_INS_CVTSI2SS X86_INS_CVTSS2SD X86_INS_CVTSS2SI X86_INS_CVTTPD2DQ X86_INS_CVTTPS2DQ X86_INS_CVTTSD2SI X86_INS_CVTTSS2SI X86_INS_CWD X86_INS_CWDE X86_INS_DAA X86_INS_DAS X86_INS_DATA16 X86_INS_DEC X86_INS_DIV X86_INS_DIVPD X86_INS_DIVPS X86_INS_FDIVR X86_INS_FIDIVR X86_INS_FDIVRP X86_INS_DIVSD X86_INS_DIVSS X86_INS_FDIV X86_INS_FIDIV X86_INS_FDIVP X86_INS_DPPD X86_INS_DPPS X86_INS_RET X86_INS_ENCLS X86_INS_ENCLU X86_INS_ENTER X86_INS_EXTRACTPS X86_INS_EXTRQ X86_INS_F2XM1 X86_INS_LCALL X86_INS_LJMP X86_INS_FBLD X86_INS_FBSTP X86_INS_FCOMPP X86_INS_FDECSTP X86_INS_FEMMS X86_INS_FFREE X86_INS_FICOM X86_INS_FICOMP X86_INS_FINCSTP X86_INS_FLDCW X86_INS_FLDENV X86_INS_FLDL2E X86_INS_FLDL2T X86_INS_FLDLG2 X86_INS_FLDLN2 X86_INS_FLDPI X86_INS_FNCLEX X86_INS_FNINIT X86_INS_FNOP X86_INS_FNSTCW X86_INS_FNSTSW X86_INS_FPATAN X86_INS_FPREM X86_INS_FPREM1 X86_INS_FPTAN X86_INS_FRNDINT X86_INS_FRSTOR X86_INS_FNSAVE X86_INS_FSCALE X86_INS_FSETPM X86_INS_FSINCOS X86_INS_FNSTENV X86_INS_FXAM X86_INS_FXRSTOR X86_INS_FXRSTOR64 X86_INS_FXSAVE X86_INS_FXSAVE64 X86_INS_FXTRACT X86_INS_FYL2X X86_INS_FYL2XP1 X86_INS_MOVAPD X86_INS_MOVAPS X86_INS_ORPD X86_INS_ORPS X86_INS_VMOVAPD X86_INS_VMOVAPS X86_INS_XORPD X86_INS_XORPS X86_INS_GETSEC X86_INS_HADDPD X86_INS_HADDPS X86_INS_HLT X86_INS_HSUBPD X86_INS_HSUBPS X86_INS_IDIV X86_INS_FILD X86_INS_IMUL X86_INS_IN X86_INS_INC X86_INS_INSB X86_INS_INSERTPS X86_INS_INSERTQ X86_INS_INSD X86_INS_INSW X86_INS_INT X86_INS_INT1 X86_INS_INT3 X86_INS_INTO X86_INS_INVD X86_INS_INVEPT X86_INS_INVLPG X86_INS_INVLPGA X86_INS_INVPCID X86_INS_INVVPID X86_INS_IRET X86_INS_IRETD X86_INS_IRETQ X86_INS_FISTTP X86_INS_FIST X86_INS_FISTP X86_INS_UCOMISD X86_INS_UCOMISS X86_INS_VCMP X86_INS_VCOMISD X86_INS_VCOMISS X86_INS_VCVTSD2SS X86_INS_VCVTSI2SD X86_INS_VCVTSI2SS X86_INS_VCVTSS2SD X86_INS_VCVTTSD2SI X86_INS_VCVTTSD2USI X86_INS_VCVTTSS2SI X86_INS_VCVTTSS2USI X86_INS_VCVTUSI2SD X86_INS_VCVTUSI2SS X86_INS_VUCOMISD X86_INS_VUCOMISS X86_INS_JAE X86_INS_JA X86_INS_JBE X86_INS_JB X86_INS_JCXZ X86_INS_JECXZ X86_INS_JE X86_INS_JGE X86_INS_JG X86_INS_JLE X86_INS_JL X86_INS_JMP X86_INS_JNE X86_INS_JNO X86_INS_JNP X86_INS_JNS X86_INS_JO X86_INS_JP X86_INS_JRCXZ X86_INS_JS X86_INS_KANDB X86_INS_KANDD X86_INS_KANDNB X86_INS_KANDND X86_INS_KANDNQ X86_INS_KANDNW X86_INS_KANDQ X86_INS_KANDW X86_INS_KMOVB X86_INS_KMOVD X86_INS_KMOVQ X86_INS_KMOVW X86_INS_KNOTB X86_INS_KNOTD X86_INS_KNOTQ X86_INS_KNOTW X86_INS_KORB X86_INS_KORD X86_INS_KORQ X86_INS_KORTESTW X86_INS_KORW X86_INS_KSHIFTLW X86_INS_KSHIFTRW X86_INS_KUNPCKBW X86_INS_KXNORB X86_INS_KXNORD X86_INS_KXNORQ X86_INS_KXNORW X86_INS_KXORB X86_INS_KXORD X86_INS_KXORQ X86_INS_KXORW X86_INS_LAHF X86_INS_LAR X86_INS_LDDQU X86_INS_LDMXCSR X86_INS_LDS X86_INS_FLDZ X86_INS_FLD1 X86_INS_FLD X86_INS_LEA X86_INS_LEAVE X86_INS_LES X86_INS_LFENCE X86_INS_LFS X86_INS_LGDT X86_INS_LGS X86_INS_LIDT X86_INS_LLDT X86_INS_LMSW X86_INS_OR X86_INS_SUB X86_INS_XOR X86_INS_LODSB X86_INS_LODSD X86_INS_LODSQ X86_INS_LODSW X86_INS_LOOP X86_INS_LOOPE X86_INS_LOOPNE X86_INS_RETF X86_INS_RETFQ X86_INS_LSL X86_INS_LSS X86_INS_LTR X86_INS_XADD X86_INS_LZCNT X86_INS_MASKMOVDQU X86_INS_MAXPD X86_INS_MAXPS X86_INS_MAXSD X86_INS_MAXSS X86_INS_MFENCE X86_INS_MINPD X86_INS_MINPS X86_INS_MINSD X86_INS_MINSS X86_INS_CVTPD2PI X86_INS_CVTPI2PD X86_INS_CVTPI2PS X86_INS_CVTPS2PI X86_INS_CVTTPD2PI X86_INS_CVTTPS2PI X86_INS_EMMS X86_INS_MASKMOVQ X86_INS_MOVD X86_INS_MOVDQ2Q X86_INS_MOVNTQ X86_INS_MOVQ2DQ X86_INS_MOVQ X86_INS_PABSB X86_INS_PABSD X86_INS_PABSW X86_INS_PACKSSDW X86_INS_PACKSSWB X86_INS_PACKUSWB X86_INS_PADDB X86_INS_PADDD X86_INS_PADDQ X86_INS_PADDSB X86_INS_PADDSW X86_INS_PADDUSB X86_INS_PADDUSW X86_INS_PADDW X86_INS_PALIGNR X86_INS_PANDN X86_INS_PAND X86_INS_PAVGB X86_INS_PAVGW X86_INS_PCMPEQB X86_INS_PCMPEQD X86_INS_PCMPEQW X86_INS_PCMPGTB X86_INS_PCMPGTD X86_INS_PCMPGTW X86_INS_PEXTRW X86_INS_PHADDSW X86_INS_PHADDW X86_INS_PHADDD X86_INS_PHSUBD X86_INS_PHSUBSW X86_INS_PHSUBW X86_INS_PINSRW X86_INS_PMADDUBSW X86_INS_PMADDWD X86_INS_PMAXSW X86_INS_PMAXUB X86_INS_PMINSW X86_INS_PMINUB X86_INS_PMOVMSKB X86_INS_PMULHRSW X86_INS_PMULHUW X86_INS_PMULHW X86_INS_PMULLW X86_INS_PMULUDQ X86_INS_POR X86_INS_PSADBW X86_INS_PSHUFB X86_INS_PSHUFW X86_INS_PSIGNB X86_INS_PSIGND X86_INS_PSIGNW X86_INS_PSLLD X86_INS_PSLLQ X86_INS_PSLLW X86_INS_PSRAD X86_INS_PSRAW X86_INS_PSRLD X86_INS_PSRLQ X86_INS_PSRLW X86_INS_PSUBB X86_INS_PSUBD X86_INS_PSUBQ X86_INS_PSUBSB X86_INS_PSUBSW X86_INS_PSUBUSB X86_INS_PSUBUSW X86_INS_PSUBW X86_INS_PUNPCKHBW X86_INS_PUNPCKHDQ X86_INS_PUNPCKHWD X86_INS_PUNPCKLBW X86_INS_PUNPCKLDQ X86_INS_PUNPCKLWD X86_INS_PXOR X86_INS_MONITOR X86_INS_MONTMUL X86_INS_MOV X86_INS_MOVABS X86_INS_MOVBE X86_INS_MOVDDUP X86_INS_MOVDQA X86_INS_MOVDQU X86_INS_MOVHLPS X86_INS_MOVHPD X86_INS_MOVHPS X86_INS_MOVLHPS X86_INS_MOVLPD X86_INS_MOVLPS X86_INS_MOVMSKPD X86_INS_MOVMSKPS X86_INS_MOVNTDQA X86_INS_MOVNTDQ X86_INS_MOVNTI X86_INS_MOVNTPD X86_INS_MOVNTPS X86_INS_MOVNTSD X86_INS_MOVNTSS X86_INS_MOVSB X86_INS_MOVSD X86_INS_MOVSHDUP X86_INS_MOVSLDUP X86_INS_MOVSQ X86_INS_MOVSS X86_INS_MOVSW X86_INS_MOVSX X86_INS_MOVSXD X86_INS_MOVUPD X86_INS_MOVUPS X86_INS_MOVZX X86_INS_MPSADBW X86_INS_MUL X86_INS_MULPD X86_INS_MULPS X86_INS_MULSD X86_INS_MULSS X86_INS_MULX X86_INS_FMUL X86_INS_FIMUL X86_INS_FMULP X86_INS_MWAIT X86_INS_NEG X86_INS_NOP X86_INS_NOT X86_INS_OUT X86_INS_OUTSB X86_INS_OUTSD X86_INS_OUTSW X86_INS_PACKUSDW X86_INS_PAUSE X86_INS_PAVGUSB X86_INS_PBLENDVB X86_INS_PBLENDW X86_INS_PCLMULQDQ X86_INS_PCMPEQQ X86_INS_PCMPESTRI X86_INS_PCMPESTRM X86_INS_PCMPGTQ X86_INS_PCMPISTRI X86_INS_PCMPISTRM X86_INS_PDEP X86_INS_PEXT X86_INS_PEXTRB X86_INS_PEXTRD X86_INS_PEXTRQ X86_INS_PF2ID X86_INS_PF2IW X86_INS_PFACC X86_INS_PFADD X86_INS_PFCMPEQ X86_INS_PFCMPGE X86_INS_PFCMPGT X86_INS_PFMAX X86_INS_PFMIN X86_INS_PFMUL X86_INS_PFNACC X86_INS_PFPNACC X86_INS_PFRCPIT1 X86_INS_PFRCPIT2 X86_INS_PFRCP X86_INS_PFRSQIT1 X86_INS_PFRSQRT X86_INS_PFSUBR X86_INS_PFSUB X86_INS_PHMINPOSUW X86_INS_PI2FD X86_INS_PI2FW X86_INS_PINSRB X86_INS_PINSRD X86_INS_PINSRQ X86_INS_PMAXSB X86_INS_PMAXSD X86_INS_PMAXUD X86_INS_PMAXUW X86_INS_PMINSB X86_INS_PMINSD X86_INS_PMINUD X86_INS_PMINUW X86_INS_PMOVSXBD X86_INS_PMOVSXBQ X86_INS_PMOVSXBW X86_INS_PMOVSXDQ X86_INS_PMOVSXWD X86_INS_PMOVSXWQ X86_INS_PMOVZXBD X86_INS_PMOVZXBQ X86_INS_PMOVZXBW X86_INS_PMOVZXDQ X86_INS_PMOVZXWD X86_INS_PMOVZXWQ X86_INS_PMULDQ X86_INS_PMULHRW X86_INS_PMULLD X86_INS_POP X86_INS_POPAW X86_INS_POPAL X86_INS_POPCNT X86_INS_POPF X86_INS_POPFD X86_INS_POPFQ X86_INS_PREFETCH X86_INS_PREFETCHNTA X86_INS_PREFETCHT0 X86_INS_PREFETCHT1 X86_INS_PREFETCHT2 X86_INS_PREFETCHW X86_INS_PSHUFD X86_INS_PSHUFHW X86_INS_PSHUFLW X86_INS_PSLLDQ X86_INS_PSRLDQ X86_INS_PSWAPD X86_INS_PTEST X86_INS_PUNPCKHQDQ X86_INS_PUNPCKLQDQ X86_INS_PUSH X86_INS_PUSHAW X86_INS_PUSHAL X86_INS_PUSHF X86_INS_PUSHFD X86_INS_PUSHFQ X86_INS_RCL X86_INS_RCPPS X86_INS_RCPSS X86_INS_RCR X86_INS_RDFSBASE X86_INS_RDGSBASE X86_INS_RDMSR X86_INS_RDPMC X86_INS_RDRAND X86_INS_RDSEED X86_INS_RDTSC X86_INS_RDTSCP X86_INS_ROL X86_INS_ROR X86_INS_RORX X86_INS_ROUNDPD X86_INS_ROUNDPS X86_INS_ROUNDSD X86_INS_ROUNDSS X86_INS_RSM X86_INS_RSQRTPS X86_INS_RSQRTSS X86_INS_SAHF X86_INS_SAL X86_INS_SALC X86_INS_SAR X86_INS_SARX X86_INS_SBB X86_INS_SCASB X86_INS_SCASD X86_INS_SCASQ X86_INS_SCASW X86_INS_SETAE X86_INS_SETA X86_INS_SETBE X86_INS_SETB X86_INS_SETE X86_INS_SETGE X86_INS_SETG X86_INS_SETLE X86_INS_SETL X86_INS_SETNE X86_INS_SETNO X86_INS_SETNP X86_INS_SETNS X86_INS_SETO X86_INS_SETP X86_INS_SETS X86_INS_SFENCE X86_INS_SGDT X86_INS_SHA1MSG1 X86_INS_SHA1MSG2 X86_INS_SHA1NEXTE X86_INS_SHA1RNDS4 X86_INS_SHA256MSG1 X86_INS_SHA256MSG2 X86_INS_SHA256RNDS2 X86_INS_SHL X86_INS_SHLD X86_INS_SHLX X86_INS_SHR X86_INS_SHRD X86_INS_SHRX X86_INS_SHUFPD X86_INS_SHUFPS X86_INS_SIDT X86_INS_FSIN X86_INS_SKINIT X86_INS_SLDT X86_INS_SMSW X86_INS_SQRTPD X86_INS_SQRTPS X86_INS_SQRTSD X86_INS_SQRTSS X86_INS_FSQRT X86_INS_STAC X86_INS_STC X86_INS_STD X86_INS_STGI X86_INS_STI X86_INS_STMXCSR X86_INS_STOSB X86_INS_STOSD X86_INS_STOSQ X86_INS_STOSW X86_INS_STR X86_INS_FST X86_INS_FSTP X86_INS_FSTPNCE X86_INS_SUBPD X86_INS_SUBPS X86_INS_FSUBR X86_INS_FISUBR X86_INS_FSUBRP X86_INS_SUBSD X86_INS_SUBSS X86_INS_FSUB X86_INS_FISUB X86_INS_FSUBP X86_INS_SWAPGS X86_INS_SYSCALL X86_INS_SYSENTER X86_INS_SYSEXIT X86_INS_SYSRET X86_INS_T1MSKC X86_INS_TEST X86_INS_UD2 X86_INS_FTST X86_INS_TZCNT X86_INS_TZMSK X86_INS_FUCOMPI X86_INS_FUCOMI X86_INS_FUCOMPP X86_INS_FUCOMP X86_INS_FUCOM X86_INS_UD2B X86_INS_UNPCKHPD X86_INS_UNPCKHPS X86_INS_UNPCKLPD X86_INS_UNPCKLPS X86_INS_VADDPD X86_INS_VADDPS X86_INS_VADDSD X86_INS_VADDSS X86_INS_VADDSUBPD X86_INS_VADDSUBPS X86_INS_VAESDECLAST X86_INS_VAESDEC X86_INS_VAESENCLAST X86_INS_VAESENC X86_INS_VAESIMC X86_INS_VAESKEYGENASSIST X86_INS_VALIGND X86_INS_VALIGNQ X86_INS_VANDNPD X86_INS_VANDNPS X86_INS_VANDPD X86_INS_VANDPS X86_INS_VBLENDMPD X86_INS_VBLENDMPS X86_INS_VBLENDPD X86_INS_VBLENDPS X86_INS_VBLENDVPD X86_INS_VBLENDVPS X86_INS_VBROADCASTF128 X86_INS_VBROADCASTI128 X86_INS_VBROADCASTI32X4 X86_INS_VBROADCASTI64X4 X86_INS_VBROADCASTSD X86_INS_VBROADCASTSS X86_INS_VCMPPD X86_INS_VCMPPS X86_INS_VCMPSD X86_INS_VCMPSS X86_INS_VCVTDQ2PD X86_INS_VCVTDQ2PS X86_INS_VCVTPD2DQX X86_INS_VCVTPD2DQ X86_INS_VCVTPD2PSX X86_INS_VCVTPD2PS X86_INS_VCVTPD2UDQ X86_INS_VCVTPH2PS X86_INS_VCVTPS2DQ X86_INS_VCVTPS2PD X86_INS_VCVTPS2PH X86_INS_VCVTPS2UDQ X86_INS_VCVTSD2SI X86_INS_VCVTSD2USI X86_INS_VCVTSS2SI X86_INS_VCVTSS2USI X86_INS_VCVTTPD2DQX X86_INS_VCVTTPD2DQ X86_INS_VCVTTPD2UDQ X86_INS_VCVTTPS2DQ X86_INS_VCVTTPS2UDQ X86_INS_VCVTUDQ2PD X86_INS_VCVTUDQ2PS X86_INS_VDIVPD X86_INS_VDIVPS X86_INS_VDIVSD X86_INS_VDIVSS X86_INS_VDPPD X86_INS_VDPPS X86_INS_VERR X86_INS_VERW X86_INS_VEXTRACTF128 X86_INS_VEXTRACTF32X4 X86_INS_VEXTRACTF64X4 X86_INS_VEXTRACTI128 X86_INS_VEXTRACTI32X4 X86_INS_VEXTRACTI64X4 X86_INS_VEXTRACTPS X86_INS_VFMADD132PD X86_INS_VFMADD132PS X86_INS_VFMADD213PD X86_INS_VFMADD213PS X86_INS_VFMADDPD X86_INS_VFMADD231PD X86_INS_VFMADDPS X86_INS_VFMADD231PS X86_INS_VFMADDSD X86_INS_VFMADD213SD X86_INS_VFMADD132SD X86_INS_VFMADD231SD X86_INS_VFMADDSS X86_INS_VFMADD213SS X86_INS_VFMADD132SS X86_INS_VFMADD231SS X86_INS_VFMADDSUB132PD X86_INS_VFMADDSUB132PS X86_INS_VFMADDSUB213PD X86_INS_VFMADDSUB213PS X86_INS_VFMADDSUBPD X86_INS_VFMADDSUB231PD X86_INS_VFMADDSUBPS X86_INS_VFMADDSUB231PS X86_INS_VFMSUB132PD X86_INS_VFMSUB132PS X86_INS_VFMSUB213PD X86_INS_VFMSUB213PS X86_INS_VFMSUBADD132PD X86_INS_VFMSUBADD132PS X86_INS_VFMSUBADD213PD X86_INS_VFMSUBADD213PS X86_INS_VFMSUBADDPD X86_INS_VFMSUBADD231PD X86_INS_VFMSUBADDPS X86_INS_VFMSUBADD231PS X86_INS_VFMSUBPD X86_INS_VFMSUB231PD X86_INS_VFMSUBPS X86_INS_VFMSUB231PS X86_INS_VFMSUBSD X86_INS_VFMSUB213SD X86_INS_VFMSUB132SD X86_INS_VFMSUB231SD X86_INS_VFMSUBSS X86_INS_VFMSUB213SS X86_INS_VFMSUB132SS X86_INS_VFMSUB231SS X86_INS_VFNMADD132PD X86_INS_VFNMADD132PS X86_INS_VFNMADD213PD X86_INS_VFNMADD213PS X86_INS_VFNMADDPD X86_INS_VFNMADD231PD X86_INS_VFNMADDPS X86_INS_VFNMADD231PS X86_INS_VFNMADDSD X86_INS_VFNMADD213SD X86_INS_VFNMADD132SD X86_INS_VFNMADD231SD X86_INS_VFNMADDSS X86_INS_VFNMADD213SS X86_INS_VFNMADD132SS X86_INS_VFNMADD231SS X86_INS_VFNMSUB132PD X86_INS_VFNMSUB132PS X86_INS_VFNMSUB213PD X86_INS_VFNMSUB213PS X86_INS_VFNMSUBPD X86_INS_VFNMSUB231PD X86_INS_VFNMSUBPS X86_INS_VFNMSUB231PS X86_INS_VFNMSUBSD X86_INS_VFNMSUB213SD X86_INS_VFNMSUB132SD X86_INS_VFNMSUB231SD X86_INS_VFNMSUBSS X86_INS_VFNMSUB213SS X86_INS_VFNMSUB132SS X86_INS_VFNMSUB231SS X86_INS_VFRCZPD X86_INS_VFRCZPS X86_INS_VFRCZSD X86_INS_VFRCZSS X86_INS_VORPD X86_INS_VORPS X86_INS_VXORPD X86_INS_VXORPS X86_INS_VGATHERDPD X86_INS_VGATHERDPS X86_INS_VGATHERPF0DPD X86_INS_VGATHERPF0DPS X86_INS_VGATHERPF0QPD X86_INS_VGATHERPF0QPS X86_INS_VGATHERPF1DPD X86_INS_VGATHERPF1DPS X86_INS_VGATHERPF1QPD X86_INS_VGATHERPF1QPS X86_INS_VGATHERQPD X86_INS_VGATHERQPS X86_INS_VHADDPD X86_INS_VHADDPS X86_INS_VHSUBPD X86_INS_VHSUBPS X86_INS_VINSERTF128 X86_INS_VINSERTF32X4 X86_INS_VINSERTF64X4 X86_INS_VINSERTI128 X86_INS_VINSERTI32X4 X86_INS_VINSERTI64X4 X86_INS_VINSERTPS X86_INS_VLDDQU X86_INS_VLDMXCSR X86_INS_VMASKMOVDQU X86_INS_VMASKMOVPD X86_INS_VMASKMOVPS X86_INS_VMAXPD X86_INS_VMAXPS X86_INS_VMAXSD X86_INS_VMAXSS X86_INS_VMCALL X86_INS_VMCLEAR X86_INS_VMFUNC X86_INS_VMINPD X86_INS_VMINPS X86_INS_VMINSD X86_INS_VMINSS X86_INS_VMLAUNCH X86_INS_VMLOAD X86_INS_VMMCALL X86_INS_VMOVQ X86_INS_VMOVDDUP X86_INS_VMOVD X86_INS_VMOVDQA32 X86_INS_VMOVDQA64 X86_INS_VMOVDQA X86_INS_VMOVDQU16 X86_INS_VMOVDQU32 X86_INS_VMOVDQU64 X86_INS_VMOVDQU8 X86_INS_VMOVDQU X86_INS_VMOVHLPS X86_INS_VMOVHPD X86_INS_VMOVHPS X86_INS_VMOVLHPS X86_INS_VMOVLPD X86_INS_VMOVLPS X86_INS_VMOVMSKPD X86_INS_VMOVMSKPS X86_INS_VMOVNTDQA X86_INS_VMOVNTDQ X86_INS_VMOVNTPD X86_INS_VMOVNTPS X86_INS_VMOVSD X86_INS_VMOVSHDUP X86_INS_VMOVSLDUP X86_INS_VMOVSS X86_INS_VMOVUPD X86_INS_VMOVUPS X86_INS_VMPSADBW X86_INS_VMPTRLD X86_INS_VMPTRST X86_INS_VMREAD X86_INS_VMRESUME X86_INS_VMRUN X86_INS_VMSAVE X86_INS_VMULPD X86_INS_VMULPS X86_INS_VMULSD X86_INS_VMULSS X86_INS_VMWRITE X86_INS_VMXOFF X86_INS_VMXON X86_INS_VPABSB X86_INS_VPABSD X86_INS_VPABSQ X86_INS_VPABSW X86_INS_VPACKSSDW X86_INS_VPACKSSWB X86_INS_VPACKUSDW X86_INS_VPACKUSWB X86_INS_VPADDB X86_INS_VPADDD X86_INS_VPADDQ X86_INS_VPADDSB X86_INS_VPADDSW X86_INS_VPADDUSB X86_INS_VPADDUSW X86_INS_VPADDW X86_INS_VPALIGNR X86_INS_VPANDD X86_INS_VPANDND X86_INS_VPANDNQ X86_INS_VPANDN X86_INS_VPANDQ X86_INS_VPAND X86_INS_VPAVGB X86_INS_VPAVGW X86_INS_VPBLENDD X86_INS_VPBLENDMD X86_INS_VPBLENDMQ X86_INS_VPBLENDVB X86_INS_VPBLENDW X86_INS_VPBROADCASTB X86_INS_VPBROADCASTD X86_INS_VPBROADCASTMB2Q X86_INS_VPBROADCASTMW2D X86_INS_VPBROADCASTQ X86_INS_VPBROADCASTW X86_INS_VPCLMULQDQ X86_INS_VPCMOV X86_INS_VPCMP X86_INS_VPCMPD X86_INS_VPCMPEQB X86_INS_VPCMPEQD X86_INS_VPCMPEQQ X86_INS_VPCMPEQW X86_INS_VPCMPESTRI X86_INS_VPCMPESTRM X86_INS_VPCMPGTB X86_INS_VPCMPGTD X86_INS_VPCMPGTQ X86_INS_VPCMPGTW X86_INS_VPCMPISTRI X86_INS_VPCMPISTRM X86_INS_VPCMPQ X86_INS_VPCMPUD X86_INS_VPCMPUQ X86_INS_VPCOMB X86_INS_VPCOMD X86_INS_VPCOMQ X86_INS_VPCOMUB X86_INS_VPCOMUD X86_INS_VPCOMUQ X86_INS_VPCOMUW X86_INS_VPCOMW X86_INS_VPCONFLICTD X86_INS_VPCONFLICTQ X86_INS_VPERM2F128 X86_INS_VPERM2I128 X86_INS_VPERMD X86_INS_VPERMI2D X86_INS_VPERMI2PD X86_INS_VPERMI2PS X86_INS_VPERMI2Q X86_INS_VPERMIL2PD X86_INS_VPERMIL2PS X86_INS_VPERMILPD X86_INS_VPERMILPS X86_INS_VPERMPD X86_INS_VPERMPS X86_INS_VPERMQ X86_INS_VPERMT2D X86_INS_VPERMT2PD X86_INS_VPERMT2PS X86_INS_VPERMT2Q X86_INS_VPEXTRB X86_INS_VPEXTRD X86_INS_VPEXTRQ X86_INS_VPEXTRW X86_INS_VPGATHERDD X86_INS_VPGATHERDQ X86_INS_VPGATHERQD X86_INS_VPGATHERQQ X86_INS_VPHADDBD X86_INS_VPHADDBQ X86_INS_VPHADDBW X86_INS_VPHADDDQ X86_INS_VPHADDD X86_INS_VPHADDSW X86_INS_VPHADDUBD X86_INS_VPHADDUBQ X86_INS_VPHADDUBW X86_INS_VPHADDUDQ X86_INS_VPHADDUWD X86_INS_VPHADDUWQ X86_INS_VPHADDWD X86_INS_VPHADDWQ X86_INS_VPHADDW X86_INS_VPHMINPOSUW X86_INS_VPHSUBBW X86_INS_VPHSUBDQ X86_INS_VPHSUBD X86_INS_VPHSUBSW X86_INS_VPHSUBWD X86_INS_VPHSUBW X86_INS_VPINSRB X86_INS_VPINSRD X86_INS_VPINSRQ X86_INS_VPINSRW X86_INS_VPLZCNTD X86_INS_VPLZCNTQ X86_INS_VPMACSDD X86_INS_VPMACSDQH X86_INS_VPMACSDQL X86_INS_VPMACSSDD X86_INS_VPMACSSDQH X86_INS_VPMACSSDQL X86_INS_VPMACSSWD X86_INS_VPMACSSWW X86_INS_VPMACSWD X86_INS_VPMACSWW X86_INS_VPMADCSSWD X86_INS_VPMADCSWD X86_INS_VPMADDUBSW X86_INS_VPMADDWD X86_INS_VPMASKMOVD X86_INS_VPMASKMOVQ X86_INS_VPMAXSB X86_INS_VPMAXSD X86_INS_VPMAXSQ X86_INS_VPMAXSW X86_INS_VPMAXUB X86_INS_VPMAXUD X86_INS_VPMAXUQ X86_INS_VPMAXUW X86_INS_VPMINSB X86_INS_VPMINSD X86_INS_VPMINSQ X86_INS_VPMINSW X86_INS_VPMINUB X86_INS_VPMINUD X86_INS_VPMINUQ X86_INS_VPMINUW X86_INS_VPMOVDB X86_INS_VPMOVDW X86_INS_VPMOVMSKB X86_INS_VPMOVQB X86_INS_VPMOVQD X86_INS_VPMOVQW X86_INS_VPMOVSDB X86_INS_VPMOVSDW X86_INS_VPMOVSQB X86_INS_VPMOVSQD X86_INS_VPMOVSQW X86_INS_VPMOVSXBD X86_INS_VPMOVSXBQ X86_INS_VPMOVSXBW X86_INS_VPMOVSXDQ X86_INS_VPMOVSXWD X86_INS_VPMOVSXWQ X86_INS_VPMOVUSDB X86_INS_VPMOVUSDW X86_INS_VPMOVUSQB X86_INS_VPMOVUSQD X86_INS_VPMOVUSQW X86_INS_VPMOVZXBD X86_INS_VPMOVZXBQ X86_INS_VPMOVZXBW X86_INS_VPMOVZXDQ X86_INS_VPMOVZXWD X86_INS_VPMOVZXWQ X86_INS_VPMULDQ X86_INS_VPMULHRSW X86_INS_VPMULHUW X86_INS_VPMULHW X86_INS_VPMULLD X86_INS_VPMULLW X86_INS_VPMULUDQ X86_INS_VPORD X86_INS_VPORQ X86_INS_VPOR X86_INS_VPPERM X86_INS_VPROTB X86_INS_VPROTD X86_INS_VPROTQ X86_INS_VPROTW X86_INS_VPSADBW X86_INS_VPSCATTERDD X86_INS_VPSCATTERDQ X86_INS_VPSCATTERQD X86_INS_VPSCATTERQQ X86_INS_VPSHAB X86_INS_VPSHAD X86_INS_VPSHAQ X86_INS_VPSHAW X86_INS_VPSHLB X86_INS_VPSHLD X86_INS_VPSHLQ X86_INS_VPSHLW X86_INS_VPSHUFB X86_INS_VPSHUFD X86_INS_VPSHUFHW X86_INS_VPSHUFLW X86_INS_VPSIGNB X86_INS_VPSIGND X86_INS_VPSIGNW X86_INS_VPSLLDQ X86_INS_VPSLLD X86_INS_VPSLLQ X86_INS_VPSLLVD X86_INS_VPSLLVQ X86_INS_VPSLLW X86_INS_VPSRAD X86_INS_VPSRAQ X86_INS_VPSRAVD X86_INS_VPSRAVQ X86_INS_VPSRAW X86_INS_VPSRLDQ X86_INS_VPSRLD X86_INS_VPSRLQ X86_INS_VPSRLVD X86_INS_VPSRLVQ X86_INS_VPSRLW X86_INS_VPSUBB X86_INS_VPSUBD X86_INS_VPSUBQ X86_INS_VPSUBSB X86_INS_VPSUBSW X86_INS_VPSUBUSB X86_INS_VPSUBUSW X86_INS_VPSUBW X86_INS_VPTESTMD X86_INS_VPTESTMQ X86_INS_VPTESTNMD X86_INS_VPTESTNMQ X86_INS_VPTEST X86_INS_VPUNPCKHBW X86_INS_VPUNPCKHDQ X86_INS_VPUNPCKHQDQ X86_INS_VPUNPCKHWD X86_INS_VPUNPCKLBW X86_INS_VPUNPCKLDQ X86_INS_VPUNPCKLQDQ X86_INS_VPUNPCKLWD X86_INS_VPXORD X86_INS_VPXORQ X86_INS_VPXOR X86_INS_VRCP14PD X86_INS_VRCP14PS X86_INS_VRCP14SD X86_INS_VRCP14SS X86_INS_VRCP28PD X86_INS_VRCP28PS X86_INS_VRCP28SD X86_INS_VRCP28SS X86_INS_VRCPPS X86_INS_VRCPSS X86_INS_VRNDSCALEPD X86_INS_VRNDSCALEPS X86_INS_VRNDSCALESD X86_INS_VRNDSCALESS X86_INS_VROUNDPD X86_INS_VROUNDPS X86_INS_VROUNDSD X86_INS_VROUNDSS X86_INS_VRSQRT14PD X86_INS_VRSQRT14PS X86_INS_VRSQRT14SD X86_INS_VRSQRT14SS X86_INS_VRSQRT28PD X86_INS_VRSQRT28PS X86_INS_VRSQRT28SD X86_INS_VRSQRT28SS X86_INS_VRSQRTPS X86_INS_VRSQRTSS X86_INS_VSCATTERDPD X86_INS_VSCATTERDPS X86_INS_VSCATTERPF0DPD X86_INS_VSCATTERPF0DPS X86_INS_VSCATTERPF0QPD X86_INS_VSCATTERPF0QPS X86_INS_VSCATTERPF1DPD X86_INS_VSCATTERPF1DPS X86_INS_VSCATTERPF1QPD X86_INS_VSCATTERPF1QPS X86_INS_VSCATTERQPD X86_INS_VSCATTERQPS X86_INS_VSHUFPD X86_INS_VSHUFPS X86_INS_VSQRTPD X86_INS_VSQRTPS X86_INS_VSQRTSD X86_INS_VSQRTSS X86_INS_VSTMXCSR X86_INS_VSUBPD X86_INS_VSUBPS X86_INS_VSUBSD X86_INS_VSUBSS X86_INS_VTESTPD X86_INS_VTESTPS X86_INS_VUNPCKHPD X86_INS_VUNPCKHPS X86_INS_VUNPCKLPD X86_INS_VUNPCKLPS X86_INS_VZEROALL X86_INS_VZEROUPPER X86_INS_WAIT X86_INS_WBINVD X86_INS_WRFSBASE X86_INS_WRGSBASE X86_INS_WRMSR X86_INS_XABORT X86_INS_XACQUIRE X86_INS_XBEGIN X86_INS_XCHG X86_INS_FXCH X86_INS_XCRYPTCBC X86_INS_XCRYPTCFB X86_INS_XCRYPTCTR X86_INS_XCRYPTECB X86_INS_XCRYPTOFB X86_INS_XEND X86_INS_XGETBV X86_INS_XLATB X86_INS_XRELEASE X86_INS_XRSTOR X86_INS_XRSTOR64 X86_INS_XSAVE X86_INS_XSAVE64 X86_INS_XSAVEOPT X86_INS_XSAVEOPT64 X86_INS_XSETBV X86_INS_XSHA1 X86_INS_XSHA256 X86_INS_XSTORE X86_INS_XTEST X86_INS_ENDING ' mark the end of the list of insn End Enum 'Group of X86 instructions Public Enum x86_insn_group X86_GRP_INVALID = 0 ' = CS_GRP_INVALID ' > Generic groups ' X86_GRP_JUMP 'all jump instructions (conditional+direct+indirect jumps) = CS_GRP_JUMP X86_GRP_CALL 'all call instructions = CS_GRP_CALL X86_GRP_RET ' all return instructions = CS_GRP_RET X86_GRP_INT 'all interrupt instructions (int+syscall) = CS_GRP_INT X86_GRP_IRET 'all interrupt return instructions = CS_GRP_IRET ' > Architecture-specific groups X86_GRP_VM = 128 ' all virtualization instructions (VT-x + AMD-V) X86_GRP_3DNOW X86_GRP_AES X86_GRP_ADX X86_GRP_AVX X86_GRP_AVX2 X86_GRP_AVX512 X86_GRP_BMI X86_GRP_BMI2 X86_GRP_CMOV X86_GRP_F16C X86_GRP_FMA X86_GRP_FMA4 X86_GRP_FSGSBASE X86_GRP_HLE X86_GRP_MMX X86_GRP_MODE32 X86_GRP_MODE64 X86_GRP_RTM X86_GRP_SHA X86_GRP_SSE1 X86_GRP_SSE2 X86_GRP_SSE3 X86_GRP_SSE41 X86_GRP_SSE42 X86_GRP_SSE4A X86_GRP_SSSE3 X86_GRP_PCLMUL X86_GRP_XOP X86_GRP_CDI X86_GRP_ERI X86_GRP_TBM X86_GRP_16BITMODE X86_GRP_NOT64BITMODE X86_GRP_SGX X86_GRP_DQI X86_GRP_BWI X86_GRP_PFI X86_GRP_VLX X86_GRP_SMAP X86_GRP_NOVLX X86_GRP_ENDING End Enum Function x86_sse_cc2str(v As x86_sse_cc) As String Dim r As String If v = X86_SSE_CC_INVALID Then r = "X86_SSE_CC_INVALID" If v = X86_SSE_CC_EQ Then r = "X86_SSE_CC_EQ" If v = X86_SSE_CC_LT Then r = "X86_SSE_CC_LT" If v = X86_SSE_CC_LE Then r = "X86_SSE_CC_LE" If v = X86_SSE_CC_UNORD Then r = "X86_SSE_CC_UNORD" If v = X86_SSE_CC_NEQ Then r = "X86_SSE_CC_NEQ" If v = X86_SSE_CC_NLT Then r = "X86_SSE_CC_NLT" If v = X86_SSE_CC_NLE Then r = "X86_SSE_CC_NLE" If v = X86_SSE_CC_ORD Then r = "X86_SSE_CC_ORD" If v = X86_SSE_CC_EQ_UQ Then r = "X86_SSE_CC_EQ_UQ" If v = X86_SSE_CC_NGE Then r = "X86_SSE_CC_NGE" If v = X86_SSE_CC_NGT Then r = "X86_SSE_CC_NGT" If v = X86_SSE_CC_FALSE Then r = "X86_SSE_CC_FALSE" If v = X86_SSE_CC_NEQ_OQ Then r = "X86_SSE_CC_NEQ_OQ" If v = X86_SSE_CC_GE Then r = "X86_SSE_CC_GE" If v = X86_SSE_CC_GT Then r = "X86_SSE_CC_GT" If v = X86_SSE_CC_TRUE Then r = "X86_SSE_CC_TRUE" If Len(r) = 0 Then r = "Unknown: " & Hex(v) ElseIf DEBUG_DUMP Then r = r & " (" & Hex(v) & ")" End If x86_sse_cc2str = r End Function Function x86_avx_cc2str(v As x86_avx_cc) As String Dim r As String If v = X86_AVX_CC_INVALID Then r = "X86_AVX_CC_INVALID" If v = X86_AVX_CC_EQ Then r = "X86_AVX_CC_EQ" If v = X86_AVX_CC_LT Then r = "X86_AVX_CC_LT" If v = X86_AVX_CC_LE Then r = "X86_AVX_CC_LE" If v = X86_AVX_CC_UNORD Then r = "X86_AVX_CC_UNORD" If v = X86_AVX_CC_NEQ Then r = "X86_AVX_CC_NEQ" If v = X86_AVX_CC_NLT Then r = "X86_AVX_CC_NLT" If v = X86_AVX_CC_NLE Then r = "X86_AVX_CC_NLE" If v = X86_AVX_CC_ORD Then r = "X86_AVX_CC_ORD" If v = X86_AVX_CC_EQ_UQ Then r = "X86_AVX_CC_EQ_UQ" If v = X86_AVX_CC_NGE Then r = "X86_AVX_CC_NGE" If v = X86_AVX_CC_NGT Then r = "X86_AVX_CC_NGT" If v = X86_AVX_CC_FALSE Then r = "X86_AVX_CC_FALSE" If v = X86_AVX_CC_NEQ_OQ Then r = "X86_AVX_CC_NEQ_OQ" If v = X86_AVX_CC_GE Then r = "X86_AVX_CC_GE" If v = X86_AVX_CC_GT Then r = "X86_AVX_CC_GT" If v = X86_AVX_CC_TRUE Then r = "X86_AVX_CC_TRUE" If v = X86_AVX_CC_EQ_OS Then r = "X86_AVX_CC_EQ_OS" If v = X86_AVX_CC_LT_OQ Then r = "X86_AVX_CC_LT_OQ" If v = X86_AVX_CC_LE_OQ Then r = "X86_AVX_CC_LE_OQ" If v = X86_AVX_CC_UNORD_S Then r = "X86_AVX_CC_UNORD_S" If v = X86_AVX_CC_NEQ_US Then r = "X86_AVX_CC_NEQ_US" If v = X86_AVX_CC_NLT_UQ Then r = "X86_AVX_CC_NLT_UQ" If v = X86_AVX_CC_NLE_UQ Then r = "X86_AVX_CC_NLE_UQ" If v = X86_AVX_CC_ORD_S Then r = "X86_AVX_CC_ORD_S" If v = X86_AVX_CC_EQ_US Then r = "X86_AVX_CC_EQ_US" If v = X86_AVX_CC_NGE_UQ Then r = "X86_AVX_CC_NGE_UQ" If v = X86_AVX_CC_NGT_UQ Then r = "X86_AVX_CC_NGT_UQ" If v = X86_AVX_CC_FALSE_OS Then r = "X86_AVX_CC_FALSE_OS" If v = X86_AVX_CC_NEQ_OS Then r = "X86_AVX_CC_NEQ_OS" If v = X86_AVX_CC_GE_OQ Then r = "X86_AVX_CC_GE_OQ" If v = X86_AVX_CC_GT_OQ Then r = "X86_AVX_CC_GT_OQ" If v = X86_AVX_CC_TRUE_US Then r = "X86_AVX_CC_TRUE_US" If Len(r) = 0 Then r = "Unknown: " & Hex(v) ElseIf DEBUG_DUMP Then r = r & " (" & Hex(v) & ")" End If x86_avx_cc2str = r End Function Function x86_avx_rm2str(v As x86_avx_rm) As String Dim r As String If v = X86_AVX_RM_INVALID Then r = "X86_AVX_RM_INVALID" If v = X86_AVX_RM_RN Then r = "X86_AVX_RM_RN" If v = X86_AVX_RM_RD Then r = "X86_AVX_RM_RD" If v = X86_AVX_RM_RU Then r = "X86_AVX_RM_RU" If v = X86_AVX_RM_RZ Then r = "X86_AVX_RM_RZ" If Len(r) = 0 Then r = "Unknown: " & Hex(v) ElseIf DEBUG_DUMP Then r = r & " (" & Hex(v) & ")" End If x86_avx_rm2str = r End Function