aboutsummaryrefslogtreecommitdiffstats
path: root/capstone/bindings/vb6/mx86.bas
diff options
context:
space:
mode:
Diffstat (limited to 'capstone/bindings/vb6/mx86.bas')
-rw-r--r--capstone/bindings/vb6/mx86.bas1868
1 files changed, 1868 insertions, 0 deletions
diff --git a/capstone/bindings/vb6/mx86.bas b/capstone/bindings/vb6/mx86.bas
new file mode 100644
index 000000000..aa073ad65
--- /dev/null
+++ b/capstone/bindings/vb6/mx86.bas
@@ -0,0 +1,1868 @@
+Attribute VB_Name = "mx86"
+Option Explicit
+
+'Capstone Disassembly Engine bindings for VB6
+'Contributed by FireEye FLARE Team
+'Author: David Zimmer <david.zimmer@fireeye.com>, <dzzie@yahoo.com>
+'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
+
+