static const ZydisShortString STR_REGISTER[] =
{
    ZYDIS_MAKE_SHORTSTRING("none"),

    // General purpose registers  8-bit
    ZYDIS_MAKE_SHORTSTRING("al"),
    ZYDIS_MAKE_SHORTSTRING("cl"),
    ZYDIS_MAKE_SHORTSTRING("dl"),
    ZYDIS_MAKE_SHORTSTRING("bl"),
    ZYDIS_MAKE_SHORTSTRING("ah"),
    ZYDIS_MAKE_SHORTSTRING("ch"),
    ZYDIS_MAKE_SHORTSTRING("dh"),
    ZYDIS_MAKE_SHORTSTRING("bh"),
    ZYDIS_MAKE_SHORTSTRING("spl"),
    ZYDIS_MAKE_SHORTSTRING("bpl"),
    ZYDIS_MAKE_SHORTSTRING("sil"),
    ZYDIS_MAKE_SHORTSTRING("dil"),
    ZYDIS_MAKE_SHORTSTRING("r8b"),
    ZYDIS_MAKE_SHORTSTRING("r9b"),
    ZYDIS_MAKE_SHORTSTRING("r10b"),
    ZYDIS_MAKE_SHORTSTRING("r11b"),
    ZYDIS_MAKE_SHORTSTRING("r12b"),
    ZYDIS_MAKE_SHORTSTRING("r13b"),
    ZYDIS_MAKE_SHORTSTRING("r14b"),
    ZYDIS_MAKE_SHORTSTRING("r15b"),
    // General purpose registers 16-bit
    ZYDIS_MAKE_SHORTSTRING("ax"),
    ZYDIS_MAKE_SHORTSTRING("cx"),
    ZYDIS_MAKE_SHORTSTRING("dx"),
    ZYDIS_MAKE_SHORTSTRING("bx"),
    ZYDIS_MAKE_SHORTSTRING("sp"),
    ZYDIS_MAKE_SHORTSTRING("bp"),
    ZYDIS_MAKE_SHORTSTRING("si"),
    ZYDIS_MAKE_SHORTSTRING("di"),
    ZYDIS_MAKE_SHORTSTRING("r8w"),
    ZYDIS_MAKE_SHORTSTRING("r9w"),
    ZYDIS_MAKE_SHORTSTRING("r10w"),
    ZYDIS_MAKE_SHORTSTRING("r11w"),
    ZYDIS_MAKE_SHORTSTRING("r12w"),
    ZYDIS_MAKE_SHORTSTRING("r13w"),
    ZYDIS_MAKE_SHORTSTRING("r14w"),
    ZYDIS_MAKE_SHORTSTRING("r15w"),
    // General purpose registers 32-bit
    ZYDIS_MAKE_SHORTSTRING("eax"),
    ZYDIS_MAKE_SHORTSTRING("ecx"),
    ZYDIS_MAKE_SHORTSTRING("edx"),
    ZYDIS_MAKE_SHORTSTRING("ebx"),
    ZYDIS_MAKE_SHORTSTRING("esp"),
    ZYDIS_MAKE_SHORTSTRING("ebp"),
    ZYDIS_MAKE_SHORTSTRING("esi"),
    ZYDIS_MAKE_SHORTSTRING("edi"),
    ZYDIS_MAKE_SHORTSTRING("r8d"),
    ZYDIS_MAKE_SHORTSTRING("r9d"),
    ZYDIS_MAKE_SHORTSTRING("r10d"),
    ZYDIS_MAKE_SHORTSTRING("r11d"),
    ZYDIS_MAKE_SHORTSTRING("r12d"),
    ZYDIS_MAKE_SHORTSTRING("r13d"),
    ZYDIS_MAKE_SHORTSTRING("r14d"),
    ZYDIS_MAKE_SHORTSTRING("r15d"),
    // General purpose registers 64-bit
    ZYDIS_MAKE_SHORTSTRING("rax"),
    ZYDIS_MAKE_SHORTSTRING("rcx"),
    ZYDIS_MAKE_SHORTSTRING("rdx"),
    ZYDIS_MAKE_SHORTSTRING("rbx"),
    ZYDIS_MAKE_SHORTSTRING("rsp"),
    ZYDIS_MAKE_SHORTSTRING("rbp"),
    ZYDIS_MAKE_SHORTSTRING("rsi"),
    ZYDIS_MAKE_SHORTSTRING("rdi"),
    ZYDIS_MAKE_SHORTSTRING("r8"),
    ZYDIS_MAKE_SHORTSTRING("r9"),
    ZYDIS_MAKE_SHORTSTRING("r10"),
    ZYDIS_MAKE_SHORTSTRING("r11"),
    ZYDIS_MAKE_SHORTSTRING("r12"),
    ZYDIS_MAKE_SHORTSTRING("r13"),
    ZYDIS_MAKE_SHORTSTRING("r14"),
    ZYDIS_MAKE_SHORTSTRING("r15"),
    // Floating point legacy registers
    ZYDIS_MAKE_SHORTSTRING("st0"),
    ZYDIS_MAKE_SHORTSTRING("st1"),
    ZYDIS_MAKE_SHORTSTRING("st2"),
    ZYDIS_MAKE_SHORTSTRING("st3"),
    ZYDIS_MAKE_SHORTSTRING("st4"),
    ZYDIS_MAKE_SHORTSTRING("st5"),
    ZYDIS_MAKE_SHORTSTRING("st6"),
    ZYDIS_MAKE_SHORTSTRING("st7"),
    ZYDIS_MAKE_SHORTSTRING("x87control"),
    ZYDIS_MAKE_SHORTSTRING("x87status"),
    ZYDIS_MAKE_SHORTSTRING("x87tag"),
    // Floating point multimedia registers
    ZYDIS_MAKE_SHORTSTRING("mm0"),
    ZYDIS_MAKE_SHORTSTRING("mm1"),
    ZYDIS_MAKE_SHORTSTRING("mm2"),
    ZYDIS_MAKE_SHORTSTRING("mm3"),
    ZYDIS_MAKE_SHORTSTRING("mm4"),
    ZYDIS_MAKE_SHORTSTRING("mm5"),
    ZYDIS_MAKE_SHORTSTRING("mm6"),
    ZYDIS_MAKE_SHORTSTRING("mm7"),
    // Floating point vector registers 128-bit
    ZYDIS_MAKE_SHORTSTRING("xmm0"),
    ZYDIS_MAKE_SHORTSTRING("xmm1"),
    ZYDIS_MAKE_SHORTSTRING("xmm2"),
    ZYDIS_MAKE_SHORTSTRING("xmm3"),
    ZYDIS_MAKE_SHORTSTRING("xmm4"),
    ZYDIS_MAKE_SHORTSTRING("xmm5"),
    ZYDIS_MAKE_SHORTSTRING("xmm6"),
    ZYDIS_MAKE_SHORTSTRING("xmm7"),
    ZYDIS_MAKE_SHORTSTRING("xmm8"),
    ZYDIS_MAKE_SHORTSTRING("xmm9"),
    ZYDIS_MAKE_SHORTSTRING("xmm10"),
    ZYDIS_MAKE_SHORTSTRING("xmm11"),
    ZYDIS_MAKE_SHORTSTRING("xmm12"),
    ZYDIS_MAKE_SHORTSTRING("xmm13"),
    ZYDIS_MAKE_SHORTSTRING("xmm14"),
    ZYDIS_MAKE_SHORTSTRING("xmm15"),
    ZYDIS_MAKE_SHORTSTRING("xmm16"),
    ZYDIS_MAKE_SHORTSTRING("xmm17"),
    ZYDIS_MAKE_SHORTSTRING("xmm18"),
    ZYDIS_MAKE_SHORTSTRING("xmm19"),
    ZYDIS_MAKE_SHORTSTRING("xmm20"),
    ZYDIS_MAKE_SHORTSTRING("xmm21"),
    ZYDIS_MAKE_SHORTSTRING("xmm22"),
    ZYDIS_MAKE_SHORTSTRING("xmm23"),
    ZYDIS_MAKE_SHORTSTRING("xmm24"),
    ZYDIS_MAKE_SHORTSTRING("xmm25"),
    ZYDIS_MAKE_SHORTSTRING("xmm26"),
    ZYDIS_MAKE_SHORTSTRING("xmm27"),
    ZYDIS_MAKE_SHORTSTRING("xmm28"),
    ZYDIS_MAKE_SHORTSTRING("xmm29"),
    ZYDIS_MAKE_SHORTSTRING("xmm30"),
    ZYDIS_MAKE_SHORTSTRING("xmm31"),
    // Floating point vector registers 256-bit
    ZYDIS_MAKE_SHORTSTRING("ymm0"),
    ZYDIS_MAKE_SHORTSTRING("ymm1"),
    ZYDIS_MAKE_SHORTSTRING("ymm2"),
    ZYDIS_MAKE_SHORTSTRING("ymm3"),
    ZYDIS_MAKE_SHORTSTRING("ymm4"),
    ZYDIS_MAKE_SHORTSTRING("ymm5"),
    ZYDIS_MAKE_SHORTSTRING("ymm6"),
    ZYDIS_MAKE_SHORTSTRING("ymm7"),
    ZYDIS_MAKE_SHORTSTRING("ymm8"),
    ZYDIS_MAKE_SHORTSTRING("ymm9"),
    ZYDIS_MAKE_SHORTSTRING("ymm10"),
    ZYDIS_MAKE_SHORTSTRING("ymm11"),
    ZYDIS_MAKE_SHORTSTRING("ymm12"),
    ZYDIS_MAKE_SHORTSTRING("ymm13"),
    ZYDIS_MAKE_SHORTSTRING("ymm14"),
    ZYDIS_MAKE_SHORTSTRING("ymm15"),
    ZYDIS_MAKE_SHORTSTRING("ymm16"),
    ZYDIS_MAKE_SHORTSTRING("ymm17"),
    ZYDIS_MAKE_SHORTSTRING("ymm18"),
    ZYDIS_MAKE_SHORTSTRING("ymm19"),
    ZYDIS_MAKE_SHORTSTRING("ymm20"),
    ZYDIS_MAKE_SHORTSTRING("ymm21"),
    ZYDIS_MAKE_SHORTSTRING("ymm22"),
    ZYDIS_MAKE_SHORTSTRING("ymm23"),
    ZYDIS_MAKE_SHORTSTRING("ymm24"),
    ZYDIS_MAKE_SHORTSTRING("ymm25"),
    ZYDIS_MAKE_SHORTSTRING("ymm26"),
    ZYDIS_MAKE_SHORTSTRING("ymm27"),
    ZYDIS_MAKE_SHORTSTRING("ymm28"),
    ZYDIS_MAKE_SHORTSTRING("ymm29"),
    ZYDIS_MAKE_SHORTSTRING("ymm30"),
    ZYDIS_MAKE_SHORTSTRING("ymm31"),
    // Floating point vector registers 512-bit
    ZYDIS_MAKE_SHORTSTRING("zmm0"),
    ZYDIS_MAKE_SHORTSTRING("zmm1"),
    ZYDIS_MAKE_SHORTSTRING("zmm2"),
    ZYDIS_MAKE_SHORTSTRING("zmm3"),
    ZYDIS_MAKE_SHORTSTRING("zmm4"),
    ZYDIS_MAKE_SHORTSTRING("zmm5"),
    ZYDIS_MAKE_SHORTSTRING("zmm6"),
    ZYDIS_MAKE_SHORTSTRING("zmm7"),
    ZYDIS_MAKE_SHORTSTRING("zmm8"),
    ZYDIS_MAKE_SHORTSTRING("zmm9"),
    ZYDIS_MAKE_SHORTSTRING("zmm10"),
    ZYDIS_MAKE_SHORTSTRING("zmm11"),
    ZYDIS_MAKE_SHORTSTRING("zmm12"),
    ZYDIS_MAKE_SHORTSTRING("zmm13"),
    ZYDIS_MAKE_SHORTSTRING("zmm14"),
    ZYDIS_MAKE_SHORTSTRING("zmm15"),
    ZYDIS_MAKE_SHORTSTRING("zmm16"),
    ZYDIS_MAKE_SHORTSTRING("zmm17"),
    ZYDIS_MAKE_SHORTSTRING("zmm18"),
    ZYDIS_MAKE_SHORTSTRING("zmm19"),
    ZYDIS_MAKE_SHORTSTRING("zmm20"),
    ZYDIS_MAKE_SHORTSTRING("zmm21"),
    ZYDIS_MAKE_SHORTSTRING("zmm22"),
    ZYDIS_MAKE_SHORTSTRING("zmm23"),
    ZYDIS_MAKE_SHORTSTRING("zmm24"),
    ZYDIS_MAKE_SHORTSTRING("zmm25"),
    ZYDIS_MAKE_SHORTSTRING("zmm26"),
    ZYDIS_MAKE_SHORTSTRING("zmm27"),
    ZYDIS_MAKE_SHORTSTRING("zmm28"),
    ZYDIS_MAKE_SHORTSTRING("zmm29"),
    ZYDIS_MAKE_SHORTSTRING("zmm30"),
    ZYDIS_MAKE_SHORTSTRING("zmm31"),
    // Flags registers
    ZYDIS_MAKE_SHORTSTRING("flags"),
    ZYDIS_MAKE_SHORTSTRING("eflags"),
    ZYDIS_MAKE_SHORTSTRING("rflags"),
    // Instruction-pointer registers
    ZYDIS_MAKE_SHORTSTRING("ip"),
    ZYDIS_MAKE_SHORTSTRING("eip"),
    ZYDIS_MAKE_SHORTSTRING("rip"),
    // Segment registers
    ZYDIS_MAKE_SHORTSTRING("es"),
    ZYDIS_MAKE_SHORTSTRING("cs"),
    ZYDIS_MAKE_SHORTSTRING("ss"),
    ZYDIS_MAKE_SHORTSTRING("ds"),
    ZYDIS_MAKE_SHORTSTRING("fs"),
    ZYDIS_MAKE_SHORTSTRING("gs"),
    // Table registers
    ZYDIS_MAKE_SHORTSTRING("gdtr"),
    ZYDIS_MAKE_SHORTSTRING("ldtr"),
    ZYDIS_MAKE_SHORTSTRING("idtr"),
    ZYDIS_MAKE_SHORTSTRING("tr"),
    // Test registers
    ZYDIS_MAKE_SHORTSTRING("tr0"),
    ZYDIS_MAKE_SHORTSTRING("tr1"),
    ZYDIS_MAKE_SHORTSTRING("tr2"),
    ZYDIS_MAKE_SHORTSTRING("tr3"),
    ZYDIS_MAKE_SHORTSTRING("tr4"),
    ZYDIS_MAKE_SHORTSTRING("tr5"),
    ZYDIS_MAKE_SHORTSTRING("tr6"),
    ZYDIS_MAKE_SHORTSTRING("tr7"),
    // Control registers
    ZYDIS_MAKE_SHORTSTRING("cr0"),
    ZYDIS_MAKE_SHORTSTRING("cr1"),
    ZYDIS_MAKE_SHORTSTRING("cr2"),
    ZYDIS_MAKE_SHORTSTRING("cr3"),
    ZYDIS_MAKE_SHORTSTRING("cr4"),
    ZYDIS_MAKE_SHORTSTRING("cr5"),
    ZYDIS_MAKE_SHORTSTRING("cr6"),
    ZYDIS_MAKE_SHORTSTRING("cr7"),
    ZYDIS_MAKE_SHORTSTRING("cr8"),
    ZYDIS_MAKE_SHORTSTRING("cr9"),
    ZYDIS_MAKE_SHORTSTRING("cr10"),
    ZYDIS_MAKE_SHORTSTRING("cr11"),
    ZYDIS_MAKE_SHORTSTRING("cr12"),
    ZYDIS_MAKE_SHORTSTRING("cr13"),
    ZYDIS_MAKE_SHORTSTRING("cr14"),
    ZYDIS_MAKE_SHORTSTRING("cr15"),
    // Debug registers
    ZYDIS_MAKE_SHORTSTRING("dr0"),
    ZYDIS_MAKE_SHORTSTRING("dr1"),
    ZYDIS_MAKE_SHORTSTRING("dr2"),
    ZYDIS_MAKE_SHORTSTRING("dr3"),
    ZYDIS_MAKE_SHORTSTRING("dr4"),
    ZYDIS_MAKE_SHORTSTRING("dr5"),
    ZYDIS_MAKE_SHORTSTRING("dr6"),
    ZYDIS_MAKE_SHORTSTRING("dr7"),
    ZYDIS_MAKE_SHORTSTRING("dr8"),
    ZYDIS_MAKE_SHORTSTRING("dr9"),
    ZYDIS_MAKE_SHORTSTRING("dr10"),
    ZYDIS_MAKE_SHORTSTRING("dr11"),
    ZYDIS_MAKE_SHORTSTRING("dr12"),
    ZYDIS_MAKE_SHORTSTRING("dr13"),
    ZYDIS_MAKE_SHORTSTRING("dr14"),
    ZYDIS_MAKE_SHORTSTRING("dr15"),
    // Mask registers
    ZYDIS_MAKE_SHORTSTRING("k0"),
    ZYDIS_MAKE_SHORTSTRING("k1"),
    ZYDIS_MAKE_SHORTSTRING("k2"),
    ZYDIS_MAKE_SHORTSTRING("k3"),
    ZYDIS_MAKE_SHORTSTRING("k4"),
    ZYDIS_MAKE_SHORTSTRING("k5"),
    ZYDIS_MAKE_SHORTSTRING("k6"),
    ZYDIS_MAKE_SHORTSTRING("k7"),
    // Bound registers
    ZYDIS_MAKE_SHORTSTRING("bnd0"),
    ZYDIS_MAKE_SHORTSTRING("bnd1"),
    ZYDIS_MAKE_SHORTSTRING("bnd2"),
    ZYDIS_MAKE_SHORTSTRING("bnd3"),
    ZYDIS_MAKE_SHORTSTRING("bndcfg"),
    ZYDIS_MAKE_SHORTSTRING("bndstatus"),
    // Uncategorized
    ZYDIS_MAKE_SHORTSTRING("mxcsr"),
    ZYDIS_MAKE_SHORTSTRING("pkru"),
    ZYDIS_MAKE_SHORTSTRING("xcr0")
};
