
Mnemonics = {
0x679: "SLDT", 0x62: "POPA", 0x910: "UNPCKHPS", 0x115: "POPF", 0x11db: "CMPLTSS",
0x881: "VMOVSD", 0x7ab: "PFPNACC", 0xb36: "VMOVMSKPD", 0x759: "INVLPGA", 0x91a: "UNPCKHPD",
0x270: "SYSEXIT", 0x7d4: "PFSUB", 0x122a: "CMPLTSD", 0x1a7f: "VPMULHUW", 0x1d57: "VPHSUBSW",
0x12d4: "VCMPNGEPS", 0x879: "VMOVSS", 0x6f: "ARPL", 0x53a: "FICOMP", 0x162: "RETF",
0x45d: "FCHS", 0x1146: "CMPLEPS", 0xf14: "PUNPCKHDQ", 0x2423: "VAESDEC", 0x5fe: "FUCOM",
0x12bc: "VCMPORDPS", 0x19cd: "PSUBUSW", 0x1b67: "PXOR", 0x1e31: "VPABSB", 0x24a: "WRMSR",
0x12c7: "VCMPEQ_UQPS", 0x22d8: "VFMADDSUB231PD", 0x7eb: "PFMAX", 0x16ef: "VCMPNEQ_OSSS",
0x2266: "VFNMADD213PD", 0x3b8: "MOVNTI", 0x7e2: "PFCMPGT", 0x238c: "VFNMADD231SS",
0x2472: "ROUNDPD", 0x130f: "VCMPGTPS", 0xbc1: "VRCPSS", 0x215c: "VFNMADD132SS",
0x1466: "VCMPNGEPD", 0x2231: "VFMSUB213PD", 0x1881: "VCMPNEQ_OSSD", 0x26a1: "VPSLLDQ",
0x7b4: "PFCMPGE", 0x14a1: "VCMPGTPD", 0x1aa5: "CVTDQ2PD", 0x1233: "CMPLESD",
0xae: "JNS", 0xdfa: "VDIVSD", 0xb7: "JNP", 0x252a: "EXTRACTPS", 0x1f65: "PMOVZXBQ",
0x9c: "JNZ", 0x5e8: "FCOMI", 0xf08: "VPUNPCKHWD", 0x1f50: "PMOVZXBD", 0x1aec: "VMOVNTDQ",
0x1e96: "PMOVSXWD", 0x1114: "POPCNT", 0x8a: "JNO", 0x1cb1: "FNSAVE", 0x1a5: "LOOP",
0xb2b: "VMOVMSKPS", 0x47b: "FLDL2T", 0x12d: "CMPS", 0x418: "FSUB", 0xdc6: "DIVPS",
0x1d3d: "PHSUBD", 0x11d2: "CMPEQSS", 0x1e7: "CMC", 0xd21: "CVTTPS2DQ", 0xdcd: "DIVPD",
0xf7e: "VMOVD", 0x104: "CALL FAR", 0x1d94: "PMULHRSW", 0x1d9e: "VPMULHRSW",
0x1d2c: "PHSUBW", 0x1221: "CMPEQSD", 0x3b2: "XADD", 0x2ae: "CMOVBE", 0x47: "CMP",
0x24: "SBB", 0x1090: "VHADDPS", 0x26cf: "FXRSTOR64", 0x2086: "INVVPID", 0x20f: "LSL",
0x167f: "VCMPNEQ_USSS", 0x1087: "VHADDPD", 0x38b: "LSS", 0x2119: "VFMSUB132PD",
0x121: "LAHF", 0x80e: "PFACC", 0x825: "PFRCPIT2", 0xe49: "VPUNPCKLBW", 0x7f2: "PFRCPIT1",
0x1fb9: "PCMPGTQ", 0x4af: "FYL2X", 0x183b: "VCMPORD_SSD", 0x1955: "PSRLD",
0x1103: "SFENCE", 0xd17: "CVTPS2DQ", 0x24d1: "PBLENDW", 0x21d0: "VFMSUBADD213PS",
0x2564: "VPINSRB", 0xe98: "PCMPGTB", 0xebe: "PCMPGTD", 0x23f9: "VAESENC", 0x979: "VMOVSHDUP",
0x25be: "MPSADBW", 0x1509: "VCMPNLE_UQPD", 0x72c: "VMMCALL", 0x1051: "INSERTQ",
0x2274: "VFNMADD213SS", 0x9e1: "CVTPI2PD", 0x16f: "INT", 0x1da9: "VPERMILPS",
0x1e2: "HLT", 0x2065: "PHMINPOSUW", 0x5c1: "FCMOVNU", 0x208f: "INVPCID", 0x7b: "INS",
0x657: "FCOMIP", 0x9d7: "CVTPI2PS", 0x2282: "VFNMADD213SD", 0xed1: "PACKUSWB",
0xe4: "CBW", 0x73d: "VMSAVE", 0x10e: "PUSHF", 0x65f: "NOT", 0x5a5: "FCMOVNB",
0x245: "NOP", 0x4f8: "FSQRT", 0x1db4: "VPERMILPD", 0x51: "INC", 0x239: "UD2",
0x1009: "VPCMPEQW", 0x2637: "PCMPISTRM", 0x1eef: "VPCMPEQQ", 0x116f: "CMPNLEPS",
0x1848: "VCMPEQ_USSD", 0x1420: "VCMPUNORDPD", 0x60d: "FADDP", 0x145: "RET",
0x101c: "VPCMPEQD", 0x1fe5: "VPMINSD", 0xff6: "VPCMPEQB", 0x191c: "ADDSUBPD",
0x22c8: "VFMADDSUB231PS", 0x16b6: "VCMPEQ_USSS", 0x1d72: "PSIGNW", 0x1eca: "VPMOVSXDQ",
0x2029: "VPMAXSD", 0x35b: "SETG", 0x2018: "VPMAXSB", 0x327: "SETA", 0x306: "SETB",
0x2701: "STMXCSR", 0x347: "SETL", 0x1adb: "MOVNTQ", 0x2f9: "SETO", 0x6fb: "CLAC",
0x1128: "BSR", 0x8dc: "VMOVDDUP", 0x1b5e: "VPMAXSW", 0x1d83: "PSIGND", 0x33a: "SETP",
0x1d61: "PSIGNB", 0x395: "LFS", 0x32d: "SETS", 0x15b2: "VCMPUNORDSS", 0xbe7: "ANDNPS",
0x2730: "VMXON", 0xbd7: "VANDPS", 0x70f: "XSETBV", 0x1c3: "OUT", 0x68a: "LTR",
0x2592: "VPINSRD", 0x1121: "TZCNT", 0xa79: "VCVTTSS2SI", 0x2690: "VPSRLDQ",
0x4d6: "FDECSTP", 0x2688: "PSRLDQ", 0x188f: "VCMPGE_OQSD", 0x2699: "PSLLDQ",
0x51f: "FCOS", 0x4c5: "FXTRACT", 0x16fd: "VCMPGE_OQSS", 0x1f03: "VMOVNTDQA",
0x153f: "VCMPNGT_UQPD", 0x405: "FMUL", 0x13e6: "VCMPGT_OQPS", 0x61b: "FCOMPP",
0x79c: "PF2ID", 0xf5: "CWD", 0x134c: "VCMPUNORD_SPS", 0x2ea: "CMOVLE", 0xfd9: "VPSHUFHW",
0x1578: "VCMPGT_OQPD", 0x1d02: "PHADDSW", 0x795: "PF2IW", 0xa43: "VMOVNTPD",
0x411: "FCOMP", 0x8e6: "UNPCKLPS", 0x1bf1: "MASKMOVDQU", 0x570: "FCMOVBE",
0x14c4: "VCMPLT_OQPD", 0xe36: "VMAXSD", 0x1438: "VCMPNLTPD", 0x9a9: "PREFETCHT2",
0x99d: "PREFETCHT1", 0x991: "PREFETCHT0", 0x8f0: "UNPCKLPD", 0xa63: "CVTTSS2SI",
0x66e: "DIV", 0x1ec0: "PMOVSXDQ", 0x1629: "VCMPGESS", 0xef: "CDQE", 0x2714: "VSTMXCSR",
0x549: "FISUBR", 0x1fd4: "VPMINSB", 0x2224: "VFMSUB213PS", 0x1332: "VCMPLT_OQPS",
0x11e4: "CMPLESS", 0x1b20: "VPMINSW", 0x1c7c: "FSTENV", 0x17bb: "VCMPGESD",
0x1df6: "VPTEST", 0x542: "FISUB", 0x205: "STD", 0xf35: "VPACKSSDW", 0x3d: "XOR",
0xca1: "VMULPD", 0x1f1: "STC", 0x1fb: "STI", 0x26e4: "LDMXCSR", 0x118c: "CMPLTPD",
0xc09: "ORPS", 0x1f18: "VPACKUSDW", 0x62b: "FSUBP", 0x67f: "STR", 0x41e: "FSUBR",
0x113d: "CMPLTPS", 0x232f: "VFMADD231SD", 0x273f: "PAUSE", 0x1aaf: "CVTPD2DQ",
0x372: "RSM", 0xb7c: "VSQRTSD", 0xc15: "VORPS", 0x21b0: "VFMADDSUB213PS", 0x23f1: "AESENC",
0x1459: "VCMPEQ_UQPD", 0x924: "VUNPCKHPS", 0x1d15: "PMADDUBSW", 0x1377: "VCMPNLE_UQPS",
0x1b8a: "VPSLLW", 0x1be7: "MASKMOVQ", 0x1c8: "CALL", 0xb73: "VSQRTSS", 0x19fe: "PADDUSB",
0x1042: "VMREAD", 0x10f7: "XSAVEOPT64", 0x92f: "VUNPCKHPD", 0xd6a: "VSUBPS",
0xcf7: "VCVTSS2SD", 0x2438: "VAESDECLAST", 0x10a1: "HSUBPS", 0xab9: "VCVTSS2SI",
0x25fe: "VPBLENDVB", 0x17c5: "VCMPGTSD", 0x58a: "FILD", 0xb05: "VCOMISS", 0x1099: "HSUBPD",
0x23c4: "VFNMSUB231SS", 0x1a5f: "VPSRAD", 0x12b1: "VCMPNLEPS", 0x3e5: "SAL",
0x214: "SYSCALL", 0xba1: "VRSQRTSS", 0x259b: "VPINSRQ", 0x270a: "WRGSBASE",
0xfd0: "VPSHUFD", 0x1e57: "PMOVSXBW", 0x1a50: "VPSRAW", 0x1443: "VCMPNLEPD",
0x3ff: "FADD", 0x3ea: "SAR", 0x71f: "XEND", 0x2665: "AESKEYGENASSIST", 0xf2b: "PACKSSDW",
0x220a: "VFMADD213SS", 0xf9c: "VMOVDQA", 0x8d1: "VMOVSLDUP", 0x508: "FRNDINT",
0x1982: "PMULLW", 0xddb: "DIVSD", 0xb17: "MOVMSKPS", 0x203a: "VPMAXUW", 0xdea: "VDIVPD",
0x1e61: "VPMOVSXBW", 0x1eab: "PMOVSXWQ", 0x2054: "PMULLD", 0xfa5: "VMOVDQU",
0x22ba: "VFNMSUB213SD", 0x297: "CMOVAE", 0x14b7: "VCMPEQ_OSPD", 0xde2: "VDIVPS",
0x93: "JAE", 0xb21: "MOVMSKPD", 0xdd4: "DIVSS", 0x1cb9: "FSAVE", 0x1ee6: "PCMPEQQ",
0xfe3: "VPSHUFLW", 0x1000: "PCMPEQW", 0x26f7: "VLDMXCSR", 0x2126: "VFMSUB132SS",
0x11c8: "CMPORDPD", 0xbb2: "RCPSS", 0x1b99: "VPSLLD", 0x673: "IDIV", 0x144e: "VCMPORDPD",
0xfed: "PCMPEQB", 0x1013: "PCMPEQD", 0x1ba8: "VPSLLQ", 0x1f6f: "VPMOVZXBQ",
0x21e0: "VFMSUBADD213PD", 0x25f3: "VBLENDVPD", 0x1179: "CMPORDPS", 0xf40: "PUNPCKLQDQ",
0x19f7: "VPAND", 0x1489: "VCMPNEQ_OQPD", 0x1077: "HADDPD", 0x193b: "VADDSUBPS",
0x18f3: "VSHUFPD", 0xd82: "VSUBSD", 0xb61: "VSQRTPS", 0x953: "MOVSHDUP", 0x239a: "VFNMADD231SD",
0x6cf: "VMLAUNCH", 0x1f2f: "VMASKMOVPD", 0x107f: "HADDPS", 0x701: "STAC", 0x12f7: "VCMPNEQ_OQPS",
0xe55: "PUNPCKLWD", 0x16d1: "VCMPNGT_UQSS", 0xb6a: "VSQRTPD", 0xd7a: "VSUBSS",
0x18ea: "VSHUFPS", 0x15bf: "VCMPNEQSS", 0x1b7b: "VLDDQU", 0x1656: "VCMPLT_OQSS",
0x274c: "RDRAND", 0x1b45: "PADDSW", 0x1392: "VCMPEQ_USPS", 0xc0f: "ORPD", 0x1a2b: "PANDN",
0x4b6: "FPTAN", 0x551: "FIDIV", 0x17e8: "VCMPLT_OQSD", 0x271e: "VMPTRLD", 0x233c: "VFMSUB231PS",
0x1751: "VCMPNEQSD", 0x1edd: "VPMULDQ", 0x196: "LOOPNZ", 0x128e: "VCMPUNORDPS",
0x3e0: "SHR", 0x37c: "SHRD", 0x6eb: "MONITOR", 0x3ef: "XABORT", 0x2402: "AESENCLAST",
0x860: "MOVSD", 0x18c0: "VPINSRW", 0x735: "VMLOAD", 0x93a: "MOVLHPS", 0x8c8: "VMOVLPD",
0x1993: "MOVQ2DQ", 0xb51: "SQRTSS", 0x25aa: "VDPPS", 0xd5c: "SUBSS", 0x3ab: "MOVSX",
0x95d: "VMOVLHPS", 0x8bf: "VMOVLPS", 0xf1f: "VPUNPCKHDQ", 0x1ad0: "VCVTPD2DQ",
0x3db: "SHL", 0x859: "MOVSS", 0x258a: "PINSRQ", 0x7a3: "PFNACC", 0xf94: "MOVDQU",
0x80: "OUTS", 0x1c0a: "PSUBB", 0x377: "BTS", 0x390: "BTR", 0x1811: "VCMPNEQ_USSD",
0x69b: "SGDT", 0x2322: "VFMADD231SS", 0x511: "FSCALE", 0x1c19: "PSUBW", 0x11b4: "CMPNLTPD",
0x1f0e: "PACKUSDW", 0x20a: "LAR", 0x3a6: "BTC", 0x216a: "VFNMADD132SD", 0x1471: "VCMPNGTPD",
0x1f45: "VPMOVZXBW", 0x2133: "VFMSUB132SD", 0x23e0: "AESIMC", 0x40b: "FCOM",
0x1f5a: "VPMOVZXBD", 0x1930: "VADDSUBPD", 0x1caa: "FINIT", 0x1217: "CMPORDSS",
0x231: "WBINVD", 0x19f1: "PAND", 0x120d: "CMPNLESS", 0x24ed: "VPALIGNR", 0x1266: "CMPORDSD",
0x1b6d: "VPXOR", 0xa1: "JBE", 0x46f: "FXAM", 0x10ed: "XSAVEOPT", 0x669: "MUL",
0x19e8: "VPMINUB", 0x1b4d: "VPADDSW", 0x1b56: "PMAXSW", 0x2577: "VINSERTPS",
0x1402: "VCMPEQPD", 0x5f7: "FFREE", 0x1f23: "VMASKMOVPS", 0x18fc: "CMPXCHG8B",
0x2021: "PMAXSD", 0x1b3c: "VPADDSB", 0x10: "PUSH", 0x25dc: "VPCLMULQDQ", 0x1270: "VCMPEQPS",
0x7fc: "PFRSQIT1", 0x245f: "ROUNDPS", 0x2ff: "SETNO", 0x707: "XGETBV", 0x1fdd: "PMINSD",
0x1c46: "PADDB", 0x4ce: "FPREM1", 0x200: "CLD", 0x52c: "FIMUL", 0xc2a: "XORPD",
0x1ec: "CLC", 0x43c: "FSTP", 0x24be: "BLENDPD", 0x1a11: "PADDUSW", 0x1ca2: "FNINIT",
0x319: "SETNZ", 0x1973: "PADDQ", 0xc23: "XORPS", 0x22ac: "VFNMSUB213SS", 0x333: "SETNS",
0x525: "FIADD", 0x340: "SETNP", 0xf65: "VPUNPCKHQDQ", 0xd4e: "SUBPS", 0x1252: "CMPNLTSD",
0x684: "LLDT", 0x224b: "VFMSUB213SD", 0x1def: "PTEST", 0x2186: "VFNMSUB132PD",
0x279: "GETSEC", 0x1d8b: "VPSIGND", 0x1ab: "JCXZ", 0x1203: "CMPNLTSS", 0x34d: "SETGE",
0x1134: "CMPEQPS", 0x1bd6: "PSADBW", 0x2737: "MOVSXD", 0x2178: "VFNMSUB132PS",
0x185: "AAD", 0x240e: "VAESENCLAST", 0xf59: "PUNPCKHQDQ", 0x89a: "MOVLPD",
0x1a07: "VPADDUSW", 0x12ea: "VCMPFALSEPS", 0x180: "AAM", 0xf4c: "VPUNPCKLQDQ",
0xd98: "MINSS", 0x1c64: "PADDD", 0x147c: "VCMPFALSEPD", 0xe60: "VPUNPCKLWD",
0x892: "MOVLPS", 0x74b: "CLGI", 0x4c: "AAS", 0x139: "LODS", 0x2d3: "CMOVNP",
0xd9f: "MINSD", 0x1f6: "CLI", 0xa6e: "CVTTSD2SI", 0x533: "FICOM", 0x1f3b: "PMOVZXBW",
0xc48: "ADDPD", 0x77c: "PREFETCHW", 0x135b: "VCMPNEQ_USPS", 0xc39: "VXORPD",
0x1b29: "POR", 0x16: "POP", 0x2453: "VPERM2F128", 0x19e: "LOOPZ", 0x1ae3: "MOVNTDQ",
0x1dc: "INT1", 0x382: "CMPXCHG", 0x1e1a: "VBROADCASTF128", 0x1531: "VCMPNGE_UQPD",
0x1ce0: "PHADDW", 0xc31: "VXORPS", 0x14ed: "VCMPNEQ_USPD", 0xc41: "ADDPS",
0x81e: "PFMUL", 0x6a7: "LGDT", 0x68f: "VERR", 0x695: "VERW", 0x10a9: "VHSUBPD",
0x198a: "VPMULLW", 0x867: "VMOVUPS", 0x174: "INTO", 0x1c9b: "FCLEX", 0x10b2: "VHSUBPS",
0xcd7: "CVTSD2SS", 0x48b: "FLDPI", 0x1e39: "PABSW", 0xe26: "VMAXPD", 0x1d3: "JMP FAR",
0xedb: "VPACKUSWB", 0x581: "FUCOMPP", 0x870: "VMOVUPD", 0x838: "PSWAPD", 0x24a1: "VROUNDSD",
0x1c55: "PADDW", 0x1b92: "PSLLD", 0x762: "SWAPGS", 0x8a2: "MOVSLDUP", 0x9eb: "CVTSI2SS",
0x17cf: "VCMPTRUESD", 0x11ed: "CMPUNORDSS", 0xd42: "VCVTTPS2DQ", 0xb59: "SQRTSD",
0x1e0c: "VBROADCASTSD", 0x1c28: "PSUBD", 0xce: "TEST", 0x39a: "LGS", 0x163d: "VCMPTRUESS",
0x266: "SYSENTER", 0x9f5: "CVTSI2SD", 0x1767: "VCMPNLESD", 0x1dc8: "VTESTPD",
0x98: "JZ", 0xdf2: "VDIVSS", 0xc1c: "VORPD", 0xb3: "JP", 0xaa: "JS", 0xbc: "JL",
0xb8e: "RSQRTSS", 0x1dbf: "VTESTPS", 0x86: "JO", 0xe1e: "VMAXPS", 0x19ba: "PSUBUSB",
0xca: "JG", 0x1dfe: "VBROADCASTSS", 0xa6: "JA", 0x8f: "JB", 0xe9: "CWDE", 0x1416: "VCMPLEPD",
0x105a: "VMWRITE", 0x1284: "VCMPLEPS", 0x19a5: "PMOVMSKB", 0x256d: "INSERTPS",
0x2620: "PCMPESTRI", 0x2746: "WAIT", 0x154d: "VCMPFALSE_OSPD", 0x2609: "PCMPESTRM",
0xe6c: "PUNPCKLDQ", 0xc8b: "MULSS", 0xd72: "VSUBPD", 0x1183: "CMPEQPD", 0x17ad: "VCMPNEQ_OQSD",
0xb0e: "VCOMISD", 0xdb6: "VMINSS", 0x1c6b: "VPADDD", 0x258: "RDMSR", 0x1d7a: "VPSIGNW",
0x1b1: "JECXZ", 0xc92: "MULSD", 0x154: "ENTER", 0x2445: "MOVBE", 0x1038: "VZEROALL",
0x2754: "_3DNOW", 0xdbe: "VMINSD", 0x161b: "VCMPNEQ_OQSS", 0x806: "PFSUBR",
0x1305: "VCMPGEPS", 0x19c3: "VPSUBUSB", 0x2363: "VFMSUB231SD", 0x2043: "PMAXUD",
0x26aa: "FXSAVE", 0x590: "FISTTP", 0x1497: "VCMPGEPD", 0x24ab: "BLENDPS", 0x173a: "VCMPLESD",
0x5b7: "FCMOVNBE", 0x2356: "VFMSUB231SS", 0x25e8: "VBLENDVPS", 0x25c7: "VMPSADBW",
0x19d6: "VPSUBUSW", 0x1730: "VCMPLTSD", 0x1ef9: "MOVNTDQA", 0x18e2: "SHUFPD",
0xd55: "SUBPD", 0xb49: "SQRTPD", 0x970: "VMOVHPD", 0x6c7: "VMCALL", 0x20e5: "VFMADD132PD",
0x15b: "LEAVE", 0x18da: "SHUFPS", 0x1325: "VCMPEQ_OSPS", 0x262b: "VPCMPESTRI",
0x159e: "VCMPLTSS", 0x2614: "VPCMPESTRM", 0x20d8: "VFMADD132PS", 0x6ad: "LIDT",
0x4a8: "F2XM1", 0x967: "VMOVHPS", 0x1fa4: "PMOVZXDQ", 0x102c: "VZEROUPPER",
0xb41: "SQRTPS", 0xbf7: "VANDNPS", 0x197a: "VPADDQ", 0x4e8: "FPREM", 0x1c5c: "VPADDW",
0x24e4: "PALIGNR", 0x1fcc: "PMINSB", 0xeab: "PCMPGTW", 0x36c: "SHLD", 0x14f: "LDS",
0x1c4d: "VPADDB", 0x725: "VMRUN", 0x26bc: "RDFSBASE", 0xc00: "VANDNPD", 0x190: "XLAT",
0xd4: "XCHG", 0x4df: "FINCSTP", 0x199c: "MOVDQ2Q", 0x1b18: "PMINSW", 0x6b3: "SMSW",
0x1d69: "VPSIGNB", 0x10d3: "XRSTOR", 0x24c7: "VBLENDPD", 0xc0: "JGE", 0x1369: "VCMPNLT_UQPS",
0x1772: "VCMPORDSD", 0x24b4: "VBLENDPS", 0x469: "FTST", 0x1a9a: "CVTTPD2DQ",
0x15e0: "VCMPORDSS", 0x14fb: "VCMPNLT_UQPD", 0x2194: "VFNMSUB132SS", 0x10db: "XRSTOR64",
0x29: "AND", 0xb97: "VRSQRTPS", 0x110b: "CLFLUSH", 0x1ccf: "PSHUFB", 0x442: "FLDENV",
0xda: "MOV", 0xfb6: "PSHUFD", 0xc5: "JLE", 0x5d0: "FEDISI", 0x717: "VMFUNC",
0xeb4: "VPCMPGTW", 0x815: "PFCMPEQ", 0x16a9: "VCMPORD_SSS", 0xfae: "PSHUFW",
0x24ff: "VPEXTRB", 0x1ac5: "VCVTDQ2PD", 0xf85: "VMOVQ", 0x483: "FLDL2E", 0x2518: "VPEXTRD",
0x1d34: "VPHSUBW", 0x2290: "VFNMSUB213PS", 0x21fd: "VFMADD213PD", 0x745: "STGI",
0x4bd: "FPATAN", 0x2521: "VPEXTRQ", 0x437: "FST", 0x168: "INT 3", 0x598: "FIST",
0x2727: "VMCLEAR", 0x1e81: "PMOVSXBQ", 0x42: "AAA", 0x1d45: "VPHSUBD", 0xa4d: "CVTTPS2PI",
0x115b: "CMPNEQPS", 0x156b: "VCMPGE_OQPD", 0x1b74: "LDDQU", 0xb85: "RSQRTPS",
0xc65: "VADDPD", 0x7c4: "PFRCP", 0xccd: "CVTSS2SD", 0x21a2: "VFNMSUB132SD",
0x632: "FDIVRP", 0x641: "FBLD", 0x361: "CPUID", 0x251: "RDTSC", 0x24da: "VPBLENDW",
0xd37: "VCVTPS2DQ", 0x1b2e: "VPOR", 0xc5d: "VADDPS", 0x787: "PI2FW", 0xd8a: "MINPS",
0x17db: "VCMPEQ_OSSD", 0x1bb9: "VPMULUDQ", 0xe17: "MAXSD", 0x205c: "VPMULLD",
0x558: "FIDIVR", 0xae1: "VUCOMISS", 0x8ac: "MOVDDUP", 0x1cd7: "VPSHUFB", 0x1d4e: "PHSUBSW",
0x2659: "VPCMPISTRI", 0xe10: "MAXSS", 0x1a41: "VPAVGB", 0x16df: "VCMPFALSE_OSSS",
0xd91: "MINPD", 0x4ef: "FYL2XP1", 0xaeb: "VUCOMISD", 0x23b6: "VFNMSUB231PD",
0x1855: "VCMPNGE_UQSD", 0xc56: "ADDSD", 0x6e3: "VMXOFF", 0x1964: "PSRLQ", 0x129b: "VCMPNEQPS",
0x1946: "PSRLW", 0x1a58: "PSRAD", 0x6a1: "SIDT", 0xe83: "PACKSSWB", 0x10bb: "XSAVE",
0x142d: "VCMPNEQPD", 0xfa: "CDQ", 0xc4f: "ADDSS", 0x16c3: "VCMPNGE_UQSS", 0x244c: "CRC32",
0x23e8: "VAESIMC", 0x2010: "PMAXSB", 0x2535: "VEXTRACTPS", 0x181f: "VCMPNLT_UQSD",
0x1c11: "VPSUBB", 0x1f99: "VPMOVZXWQ", 0x13cb: "VCMPNEQ_OSPS", 0xa27: "MOVNTSS",
0x254e: "VEXTRACTF128", 0x1b34: "PADDSB", 0x75: "IMUL", 0x3d6: "RCR", 0x14de: "VCMPUNORD_SPD",
0x3d1: "RCL", 0xa30: "MOVNTSD", 0x155d: "VCMPNEQ_OSPD", 0x168d: "VCMPNLT_UQSS",
0xd63: "SUBSD", 0x13f: "SCAS", 0x25d1: "PCLMULQDQ", 0x7cb: "PFRSQRT", 0x2582: "PINSRD",
0x623: "FSUBRP", 0x5b: "PUSHA", 0x1a22: "VPMAXUB", 0x114f: "CMPUNORDPS", 0x204b: "VPMAXUD",
0x463: "FABS", 0x1e8b: "VPMOVSXBQ", 0x14ab: "VCMPTRUEPD", 0x23e: "FEMMS", 0x1649: "VCMPEQ_OSSS",
0x2217: "VFMADD213SD", 0x1e76: "VPMOVSXBD", 0x119e: "CMPUNORDPD", 0x1913: "VMPTRST",
0x1907: "CMPXCHG16B", 0x1319: "VCMPTRUEPS", 0x12df: "VCMPNGTPS", 0x1c93: "FNCLEX",
0x1248: "CMPNEQSD", 0x177d: "VCMPEQ_UQSD", 0x579: "FCMOVU", 0x104a: "EXTRQ",
0x25b1: "DPPD", 0x2e2: "CMOVGE", 0x255c: "PINSRB", 0x15eb: "VCMPEQ_UQSS", 0x1d20: "VPMADDUBSW",
0x11f9: "CMPNEQSS", 0x2315: "VFMADD231PD", 0x519: "FSIN", 0x1bf: "IN", 0x568: "FCMOVE",
0x44a: "FLDCW", 0x25a4: "DPPS", 0x560: "FCMOVB", 0x194d: "VPSRLW", 0x10cb: "LFENCE",
0xaaf: "CVTSD2SI", 0x30c: "SETAE", 0x2a6: "CMOVNZ", 0x196b: "VPSRLQ", 0x614: "FMULP",
0x9ce: "VMOVAPD", 0x1663: "VCMPLE_OQSS", 0x2c4: "CMOVNS", 0x5ae: "FCMOVNE",
0x288: "CMOVNO", 0x1a91: "VPMULHW", 0x195c: "VPSRLD", 0x106d: "CVTPS2PH", 0xa91: "CVTPS2PI",
0x1cf1: "PHADDD", 0xcb9: "CVTPS2PD", 0x1e40: "VPABSW", 0x17f5: "VCMPLE_OQSD",
0x9c5: "VMOVAPS", 0x1c20: "VPSUBW", 0x82f: "PMULHRW", 0x9b5: "MOVAPS", 0x7bd: "PFMIN",
0xf72: "MOVD", 0x943: "MOVHPS", 0xc7d: "MULPS", 0x127a: "VCMPLTPS", 0x368: "BT",
0x9bd: "MOVAPD", 0x139f: "VCMPNGE_UQPS", 0x1b8: "JRCXZ", 0xc84: "MULPD", 0x127: "MOVS",
0x6bf: "INVLPG", 0xf78: "MOVQ", 0xdae: "VMINPD", 0x1e48: "PABSD", 0x11b: "SAHF",
0x13f3: "VCMPTRUE_USPS", 0x78e: "PI2FD", 0x1e2a: "PABSB", 0x1a32: "VPANDN",
0xe77: "VPUNPCKLDQ", 0x63a: "FDIVP", 0x1c37: "PSUBQ", 0x42b: "FDIVR", 0x425: "FDIV",
0x1585: "VCMPTRUE_USPD", 0x772: "PREFETCH", 0x1026: "EMMS", 0xda6: "VMINPS",
0x2308: "VFMADD231PS", 0x229e: "VFNMSUB213PD", 0xaa5: "CVTSS2SI", 0x94b: "MOVHPD",
0x29f: "CMOVZ", 0x1a6e: "VPAVGW", 0xff: "CQO", 0x1c2f: "VPSUBD", 0x2cc: "CMOVP",
0x1594: "VCMPEQSS", 0x2bd: "CMOVS", 0x1e6c: "PMOVSXBD", 0x248e: "VROUNDSS",
0x1c3e: "VPSUBQ", 0x2db: "CMOVL", 0x1926: "ADDSUBPS", 0x281: "CMOVO", 0x2b6: "CMOVA",
0x290: "CMOVB", 0xee6: "PUNPCKHBW", 0x264e: "PCMPISTRI", 0x2f2: "CMOVG", 0x19af: "VPMOVMSKB",
0x242c: "AESDECLAST", 0x851: "MOVUPD", 0x20c8: "VFMSUBADD132PD", 0x1bde: "VPSADBW",
0x3f7: "XBEGIN", 0x247b: "VROUNDPD", 0x6b9: "LMSW", 0x207e: "INVEPT", 0x39f: "MOVZX",
0xbc9: "ANDPS", 0x20b8: "VFMSUBADD132PS", 0x849: "MOVUPS", 0x1633: "VCMPGTSS",
0x1a76: "PMULHUW", 0x25b7: "VDPPD", 0x2508: "PEXTRD", 0x160e: "VCMPFALSESS",
0x26da: "RDGSBASE", 0x1b: "OR", 0x18d1: "VPEXTRW", 0x1afe: "VPSUBSB", 0x26c6: "FXRSTOR",
0x21d: "CLTS", 0x1863: "VCMPNGT_UQSD", 0x1603: "VCMPNGTSS", 0x5ef: "FRSTOR",
0x17a0: "VCMPFALSESD", 0x49a: "FLDLN2", 0x2541: "VINSERTF128", 0x1b0f: "VPSUBSW",
0x1bb0: "PMULUDQ", 0x56: "DEC", 0x13bb: "VCMPFALSE_OSPS", 0x432: "FLD", 0x1fae: "VPMOVZXDQ",
0x2485: "ROUNDSS", 0x9ff: "VCVTSI2SS", 0x18c9: "PEXTRW", 0x26b2: "FXSAVE64",
0x3c7: "ROL", 0x20ff: "VFMADD132SD", 0x1195: "CMPLEPD", 0xd02: "VCVTSD2SS",
0x605: "FUCOMP", 0x1ce: "JMP", 0x1726: "VCMPEQSD", 0xd0d: "CVTDQ2PS", 0x170a: "VCMPGT_OQSS",
0x5e0: "FUCOMI", 0x112d: "LZCNT", 0xbb9: "VRCPPS", 0x1a1a: "PMAXUB", 0x1cf9: "VPHADDD",
0xa0a: "VCVTSI2SD", 0x189c: "VCMPGT_OQSD", 0x3cc: "ROR", 0x22b: "INVD", 0xac4: "VCVTSD2SI",
0x241b: "AESDEC", 0x125c: "CMPNLESD", 0x354: "SETLE", 0x22e8: "VFMSUBADD231PS",
0x2370: "VFNMADD231PS", 0x10c2: "XSAVE64", 0xefd: "PUNPCKHWD", 0x1ea0: "VPMOVSXWD",
0xcc3: "CVTPD2PS", 0x8b5: "VMOVHLPS", 0x22f8: "VFMSUBADD231PD", 0xa9b: "CVTPD2PI",
0xbef: "ANDNPD", 0x1ed5: "PMULDQ", 0x1eb5: "VPMOVSXWQ", 0x175c: "VCMPNLTSD",
0x210c: "VFMSUB132PS", 0x237e: "VFNMADD231PD", 0x1cc8: "FSTSW", 0x76a: "RDTSCP",
0x10e5: "MFENCE", 0x20f2: "VFMADD132SS", 0x1fff: "PMINUD", 0x5ca: "FENI", 0x68: "BOUND",
0x2468: "VROUNDPS", 0xfc7: "PSHUFLW", 0xca9: "VMULSS", 0x1871: "VCMPFALSE_OSSD",
0xd2c: "VCVTDQ2PS", 0x15a8: "VCMPLESS", 0x457: "FNOP", 0x1165: "CMPNLTPS",
0x12a6: "VCMPNLTPS", 0x492: "FLDLG2", 0x223: "SYSRET", 0x1c8c: "FSTCW", 0x223e: "VFMSUB213SS",
0x751: "SKINIT", 0xbdf: "VANDPD", 0x4a2: "FLDZ", 0x33: "SUB", 0x1ce8: "VPHADDW",
0x664: "NEG", 0x1fee: "PMINUW", 0xe09: "MAXPD", 0x1385: "VCMPORD_SPS", 0x133: "STOS",
0x23d2: "VFNMSUB231SD", 0x1744: "VCMPUNORDSD", 0x840: "PAVGUSB", 0x1517: "VCMPORD_SPD",
0xe02: "MAXPS", 0x19e0: "PMINUB", 0x1bfd: "VMASKMOVDQU", 0x647: "FBSTP", 0x18b8: "PINSRW",
0x1f84: "VPMOVZXWD", 0x1ff6: "VPMINUW", 0x182d: "VCMPNLE_UQSD", 0x18a: "SALC",
0x24f7: "PEXTRB", 0x8fa: "VUNPCKLPS", 0x169b: "VCMPNLE_UQSS", 0xf8c: "MOVDQA",
0x15ca: "VCMPNLTSS", 0x1ba1: "PSLLQ", 0xa39: "VMOVNTPS", 0x2007: "VPMINUD",
0x984: "PREFETCHNTA", 0x905: "VUNPCKLPD", 0x1063: "CVTPH2PS", 0x2676: "VAESKEYGENASSIST",
0x1b07: "PSUBSW", 0x178a: "VCMPNGESD", 0x1c73: "FNSTENV", 0x1cc0: "FNSTSW",
0x11aa: "CMPNEQPD", 0x1a67: "PAVGW", 0xa1e: "MOVNTPD", 0x1524: "VCMPEQ_USPD",
0x5d8: "FSETPM", 0x1ddb: "BLENDVPS", 0x21c0: "VFMADDSUB213PD", 0xb: "ADD",
0x15f8: "VCMPNGESS", 0x1f: "ADC", 0x1af6: "PSUBSB", 0x1de5: "BLENDVPD", 0xef1: "VPUNPCKHBW",
0x25f: "RDPMC", 0xa15: "MOVNTPS", 0x111c: "BSF", 0x140c: "VCMPLTPD", 0x1a3a: "PAVGB",
0xdf: "LEA", 0x1ab9: "VCVTTPD2DQ", 0xea1: "VPCMPGTB", 0xec7: "VPCMPGTD", 0x475: "FLD1",
0x1bcc: "VPMADDWD", 0x1802: "VCMPUNORD_SSD", 0x14a: "LES", 0x313: "SETZ", 0x1fc2: "VPCMPGTQ",
0xcb1: "VMULSD", 0x21f0: "VFMADD213PS", 0x15d5: "VCMPNLESS", 0x889: "MOVHLPS",
0x2071: "VPHMINPOSUW", 0x1e4f: "VPABSD", 0x1a49: "PSRAW", 0x7db: "PFADD", 0x20a8: "VFMADDSUB132PD",
0xafd: "COMISD", 0x13d9: "VCMPGE_OQPS", 0xe2e: "VMAXSS", 0x123c: "CMPUNORDSD",
0x4ff: "FSINCOS", 0xaf5: "COMISS", 0x2098: "VFMADDSUB132PS", 0xbab: "RCPPS",
0x214e: "VFNMADD132PD", 0x451: "FXCH", 0x2e: "DAA", 0x320: "SETBE", 0xce1: "VCVTPS2PD",
0x1bc3: "PMADDWD", 0xbd0: "ANDPD", 0x133f: "VCMPLE_OQPS", 0x1795: "VCMPNGTSD",
0x23a8: "VFNMSUB231PS", 0x64e: "FUCOMIP", 0xc99: "VMULPS", 0x2140: "VFNMADD132PS",
0x26ed: "WRFSBASE", 0x38: "DAS", 0x14d1: "VCMPLE_OQPD", 0x17a: "IRET", 0x3c0: "BSWAP",
0xe3e: "PUNPCKLBW", 0x2032: "PMAXUW", 0x2642: "VPCMPISTRM", 0x1b83: "PSLLW",
0x1670: "VCMPUNORD_SSS", 0x2258: "VFNMADD213PS", 0xa85: "VCVTTSD2SI", 0x2349: "VFMSUB231PD",
0x13ad: "VCMPNGT_UQPS", 0x1c84: "FNSTCW", 0x2498: "ROUNDSD", 0x11be: "CMPNLEPD",
0x2510: "PEXTRQ", 0x1a89: "PMULHW", 0x1d0b: "VPHADDSW", 0x59e: "FISTP", 0x1f8f: "PMOVZXWQ",
0xcec: "VCVTPD2PS", 0x1717: "VCMPTRUE_USSS", 0xc75: "VADDSD", 0x1dd1: "PBLENDVB",
0x6d9: "VMRESUME", 0xad8: "UCOMISD", 0x1f7a: "PMOVZXWD", 0xa58: "CVTTPD2PI",
0xacf: "UCOMISS", 0xe8d: "VPACKSSWB", 0xc6d: "VADDSS", 0xfbe: "PSHUFHW", 0x18a9: "VCMPTRUE_USSD",
0x6f4: "MWAIT"
}

Registers = ["RAX", "RCX", "RDX", "RBX", "RSP", "RBP", "RSI", "RDI", "R8", "R9", "R10", "R11", "R12", "R13", "R14", "R15",
"EAX", "ECX", "EDX", "EBX", "ESP", "EBP", "ESI", "EDI", "R8D", "R9D", "R10D", "R11D", "R12D", "R13D", "R14D", "R15D",
"AX", "CX", "DX", "BX", "SP", "BP", "SI", "DI", "R8W", "R9W", "R10W", "R11W", "R12W", "R13W", "R14W", "R15W",
"AL", "CL", "DL", "BL", "AH", "CH", "DH", "BH", "R8B", "R9B", "R10B", "R11B", "R12B", "R13B", "R14B", "R15B",
"SPL", "BPL", "SIL", "DIL",
"ES", "CS", "SS", "DS", "FS", "GS",
"RIP",
"ST0", "ST1", "ST2", "ST3", "ST4", "ST5", "ST6", "ST7",
"MM0", "MM1", "MM2", "MM3", "MM4", "MM5", "MM6", "MM7",
"XMM0", "XMM1", "XMM2", "XMM3", "XMM4", "XMM5", "XMM6", "XMM7", "XMM8", "XMM9", "XMM10", "XMM11", "XMM12", "XMM13", "XMM14", "XMM15",
"YMM0", "YMM1", "YMM2", "YMM3", "YMM4", "YMM5", "YMM6", "YMM7", "YMM8", "YMM9", "YMM10", "YMM11", "YMM12", "YMM13", "YMM14", "YMM15",
"CR0", "", "CR2", "CR3", "CR4", "", "", "", "CR8",
"DR0", "DR1", "DR2", "DR3", "", "", "DR6", "DR7"]

RegisterMasks = {
1: "RM_AX", # /* AL, AH, AX, EAX, RAX */
2: "RM_CX", # /* CL, CH, CX, ECX, RCX */
4: "RM_DX", # /* DL, DH, DX, EDX, RDX */
8: "RM_BX", # /* BL, BH, BX, EBX, RBX */
0x10: "RM_SP", # /* SPL, SP, ESP, RSP */
0x20: "RM_BP", # /* BPL, BP, EBP, RBP */
0x40: "RM_SI", # /* SIL, SI, ESI, RSI */
0x80: "RM_DI", # /* DIL, DI, EDI, RDI */
0x100: "RM_FPU", # /* ST(0) - ST(7) */
0x200: "RM_MMX", # /* MM0 - MM7 */
0x400: "RM_SSE", # /* XMM0 - XMM15 */
0x800: "RM_AVX", # /* YMM0 - YMM15 */
0x1000: "RM_CR", # /* CR0, CR2, CR3, CR4, CR8 */
0x2000: "RM_DR", # /* DR0, DR1, DR2, DR3, DR6, DR7 */
0x4000: "RM_R8", # /* R8B, R8W, R8D, R8 */
0x8000: "RM_R9", # /* R9B, R9W, R9D, R9 */
0x10000: "RM_R10", # /* R10B, R10W, R10D, R10 */
0x20000: "RM_R11", # /* R11B, R11W, R11D, R11 */
0x40000: "RM_R12", # /* R12B, R12W, R12D, R12 */
0x80000: "RM_R13", # /* R13B, R13W, R13D, R13 */
0x100000: "RM_R14", # /* R14B, R14W, R14D, R14 */
0x200000: "RM_R15", # /* R15B, R15W, R15D, R15 */
0x400000: "RM_SEG", # /* CS, SS, DS, ES, FS, GS */
}
