Rizin
unix-like reverse engineering framework and cli tools
X86GenAsmWriter_reduce.inc
Go to the documentation of this file.
1 /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
2 |* *|
3 |*Assembly Writer Source Fragment *|
4 |* *|
5 |* Automatically generated file, do not edit! *|
6 |* *|
7 \*===----------------------------------------------------------------------===*/
8 
9 /* Capstone Disassembly Engine, http://www.capstone-engine.org */
10 /* By Nguyen Anh Quynh <aquynh@gmail.com>, 2013-2015 */
11 
14 static void printInstruction(MCInst *MI, SStream *O, MCRegisterInfo *MRI)
15 {
16  static const uint32_t OpInfo[] = {
17  0U, // PHI
18  0U, // INLINEASM
19  0U, // CFI_INSTRUCTION
20  0U, // EH_LABEL
21  0U, // GC_LABEL
22  0U, // KILL
23  0U, // EXTRACT_SUBREG
24  0U, // INSERT_SUBREG
25  0U, // IMPLICIT_DEF
26  0U, // SUBREG_TO_REG
27  0U, // COPY_TO_REGCLASS
28  4714U, // DBG_VALUE
29  0U, // REG_SEQUENCE
30  0U, // COPY
31  4707U, // BUNDLE
32  4770U, // LIFETIME_START
33  4694U, // LIFETIME_END
34  0U, // STACKMAP
35  0U, // PATCHPOINT
36  0U, // LOAD_STACK_GUARD
37  0U, // STATEPOINT
38  0U, // FRAME_ALLOC
39  4785U, // AAA
40  8535U, // AAD8i8
41  9494U, // AAM8i8
42  5356U, // AAS
43  4385U, // ACQUIRE_MOV16rm
44  4385U, // ACQUIRE_MOV32rm
45  4385U, // ACQUIRE_MOV64rm
46  4385U, // ACQUIRE_MOV8rm
47  534777U, // ADC16i16
48  1067257U, // ADC16mi
49  1067257U, // ADC16mi8
50  1067257U, // ADC16mr
51  1599737U, // ADC16ri
52  1599737U, // ADC16ri8
53  1607929U, // ADC16rm
54  1599737U, // ADC16rr
55  2124025U, // ADC16rr_REV
56  2630195U, // ADC32i32
57  3162675U, // ADC32mi
58  3162675U, // ADC32mi8
59  3162675U, // ADC32mr
60  1598003U, // ADC32ri
61  1598003U, // ADC32ri8
62  1614387U, // ADC32rm
63  1598003U, // ADC32rr
64  2122291U, // ADC32rr_REV
65  3679654U, // ADC64i32
66  4212134U, // ADC64mi32
67  4212134U, // ADC64mi8
68  4212134U, // ADC64mr
69  1598886U, // ADC64ri32
70  1598886U, // ADC64ri8
71  1623462U, // ADC64rm
72  1598886U, // ADC64rr
73  2123174U, // ADC64rr_REV
74  4726892U, // ADC8i8
75  5259372U, // ADC8mi
76  5259372U, // ADC8mi8
77  5259372U, // ADC8mr
78  1597548U, // ADC8ri
79  1597548U, // ADC8ri8
80  57452U, // ADC8rm
81  1597548U, // ADC8rr
82  2121836U, // ADC8rr_REV
83  2139365U, // ADCX32rm
84  2122981U, // ADCX32rr
85  2148376U, // ADCX64rm
86  2123800U, // ADCX64rr
87  534802U, // ADD16i16
88  1067282U, // ADD16mi
89  1067282U, // ADD16mi8
90  1067282U, // ADD16mr
91  1599762U, // ADD16ri
92  1599762U, // ADD16ri8
93  0U, // ADD16ri8_DB
94  0U, // ADD16ri_DB
95  1607954U, // ADD16rm
96  1599762U, // ADD16rr
97  0U, // ADD16rr_DB
98  2124050U, // ADD16rr_REV
99  2630229U, // ADD32i32
100  3162709U, // ADD32mi
101  3162709U, // ADD32mi8
102  3162709U, // ADD32mr
103  1598037U, // ADD32ri
104  1598037U, // ADD32ri8
105  0U, // ADD32ri8_DB
106  0U, // ADD32ri_DB
107  1614421U, // ADD32rm
108  1598037U, // ADD32rr
109  0U, // ADD32rr_DB
110  2122325U, // ADD32rr_REV
111  3679688U, // ADD64i32
112  4212168U, // ADD64mi32
113  4212168U, // ADD64mi8
114  4212168U, // ADD64mr
115  1598920U, // ADD64ri32
116  0U, // ADD64ri32_DB
117  1598920U, // ADD64ri8
118  0U, // ADD64ri8_DB
119  1623496U, // ADD64rm
120  1598920U, // ADD64rr
121  0U, // ADD64rr_DB
122  2123208U, // ADD64rr_REV
123  4726911U, // ADD8i8
124  5259391U, // ADD8mi
125  5259391U, // ADD8mi8
126  5259391U, // ADD8mr
127  1597567U, // ADD8ri
128  1597567U, // ADD8ri8
129  57471U, // ADD8rm
130  1597567U, // ADD8rr
131  2121855U, // ADD8rr_REV
132  4724U, // ADJCALLSTACKDOWN32
133  4724U, // ADJCALLSTACKDOWN64
134  4742U, // ADJCALLSTACKUP32
135  4742U, // ADJCALLSTACKUP64
136  66810U, // ADOX32rm
137  22619386U, // ADOX32rr
138  84013U, // ADOX64rm
139  22620205U, // ADOX64rr
140  534827U, // AND16i16
141  1067307U, // AND16mi
142  1067307U, // AND16mi8
143  1067307U, // AND16mr
144  1599787U, // AND16ri
145  1599787U, // AND16ri8
146  1607979U, // AND16rm
147  1599787U, // AND16rr
148  2124075U, // AND16rr_REV
149  2630254U, // AND32i32
150  3162734U, // AND32mi
151  3162734U, // AND32mi8
152  3162734U, // AND32mr
153  1598062U, // AND32ri
154  1598062U, // AND32ri8
155  1614446U, // AND32rm
156  1598062U, // AND32rr
157  2122350U, // AND32rr_REV
158  3679713U, // AND64i32
159  4212193U, // AND64mi32
160  4212193U, // AND64mi8
161  4212193U, // AND64mr
162  1598945U, // AND64ri32
163  1598945U, // AND64ri8
164  1623521U, // AND64rm
165  1598945U, // AND64rr
166  2123233U, // AND64rr_REV
167  4726917U, // AND8i8
168  5259397U, // AND8mi
169  5259397U, // AND8mi8
170  5259397U, // AND8mr
171  1597573U, // AND8ri
172  1597573U, // AND8ri8
173  57477U, // AND8rm
174  1597573U, // AND8rr
175  2121861U, // AND8rr_REV
176  35169133U, // ANDN32rm
177  35152749U, // ANDN32rr
178  35178193U, // ANDN64rm
179  35153617U, // ANDN64rr
180  1065915U, // ARPL16mr
181  22619067U, // ARPL16rr
182  6382598U, // BEXTR32rm
183  35152902U, // BEXTR32rr
184  6907730U, // BEXTR64rm
185  35153746U, // BEXTR64rr
186  6383719U, // BEXTRI32mi
187  35154023U, // BEXTRI32ri
188  6908007U, // BEXTRI64mi
189  35154023U, // BEXTRI64ri
190  66360U, // BLCFILL32rm
191  22618936U, // BLCFILL32rr
192  82744U, // BLCFILL64rm
193  22618936U, // BLCFILL64rr
194  66028U, // BLCI32rm
195  22618604U, // BLCI32rr
196  82412U, // BLCI64rm
197  22618604U, // BLCI64rr
198  65857U, // BLCIC32rm
199  22618433U, // BLCIC32rr
200  82241U, // BLCIC64rm
201  22618433U, // BLCIC64rr
202  66034U, // BLCMSK32rm
203  22618610U, // BLCMSK32rr
204  82418U, // BLCMSK64rm
205  22618610U, // BLCMSK64rr
206  67694U, // BLCS32rm
207  22620270U, // BLCS32rr
208  84078U, // BLCS64rm
209  22620270U, // BLCS64rr
210  66369U, // BLSFILL32rm
211  22618945U, // BLSFILL32rr
212  82753U, // BLSFILL64rm
213  22618945U, // BLSFILL64rr
214  66322U, // BLSI32rm
215  22618898U, // BLSI32rr
216  83589U, // BLSI64rm
217  22619781U, // BLSI64rr
218  65864U, // BLSIC32rm
219  22618440U, // BLSIC32rr
220  82248U, // BLSIC64rm
221  22618440U, // BLSIC64rr
222  66333U, // BLSMSK32rm
223  22618909U, // BLSMSK32rr
224  83596U, // BLSMSK64rm
225  22619788U, // BLSMSK64rr
226  66547U, // BLSR32rm
227  22619123U, // BLSR32rr
228  83775U, // BLSR64rm
229  22619967U, // BLSR64rr
230  65911U, // BOUNDS16rm
231  82295U, // BOUNDS32rm
232  100717U, // BSF16rm
233  22620525U, // BSF16rr
234  66278U, // BSF32rm
235  22618854U, // BSF32rr
236  83545U, // BSF64rm
237  22619737U, // BSF64rr
238  100913U, // BSR16rm
239  22620721U, // BSR16rr
240  66541U, // BSR32rm
241  22619117U, // BSR32rr
242  83769U, // BSR64rm
243  22619961U, // BSR64rr
244  9098U, // BSWAP32r
245  9961U, // BSWAP64r
246  1067683U, // BT16mi8
247  1067683U, // BT16mr
248  22620835U, // BT16ri8
249  22620835U, // BT16rr
250  3163240U, // BT32mi8
251  3163240U, // BT32mr
252  22619240U, // BT32ri8
253  22619240U, // BT32rr
254  4212641U, // BT64mi8
255  4212641U, // BT64mr
256  22620065U, // BT64ri8
257  22620065U, // BT64rr
258  1067275U, // BTC16mi8
259  1067275U, // BTC16mr
260  22620427U, // BTC16ri8
261  22620427U, // BTC16rr
262  3162693U, // BTC32mi8
263  3162693U, // BTC32mr
264  22618693U, // BTC32ri8
265  22618693U, // BTC32rr
266  4212152U, // BTC64mi8
267  4212152U, // BTC64mr
268  22619576U, // BTC64ri8
269  22619576U, // BTC64rr
270  1067575U, // BTR16mi8
271  1067575U, // BTR16mr
272  22620727U, // BTR16ri8
273  22620727U, // BTR16rr
274  3163130U, // BTR32mi8
275  3163130U, // BTR32mr
276  22619130U, // BTR32ri8
277  22619130U, // BTR32rr
278  4212550U, // BTR64mi8
279  4212550U, // BTR64mr
280  22619974U, // BTR64ri8
281  22619974U, // BTR64rr
282  1067662U, // BTS16mi8
283  1067662U, // BTS16mr
284  22620814U, // BTS16ri8
285  22620814U, // BTS16rr
286  3163219U, // BTS32mi8
287  3163219U, // BTS32mr
288  22619219U, // BTS32ri8
289  22619219U, // BTS32rr
290  4212627U, // BTS64mi8
291  4212627U, // BTS64mr
292  22620051U, // BTS64ri8
293  22620051U, // BTS64rr
294  6382347U, // BZHI32rm
295  35152651U, // BZHI32rr
296  6907518U, // BZHI64rm
297  35153534U, // BZHI64rr
298  110971U, // CALL16m
299  12667U, // CALL16r
300  119116U, // CALL32m
301  12620U, // CALL32r
302  127325U, // CALL64m
303  132775U, // CALL64pcrel32
304  12637U, // CALL64r
305  133541U, // CALLpcrel16
306  131915U, // CALLpcrel32
307  5741U, // CBW
308  4927U, // CDQ
309  5320U, // CDQE
310  4854U, // CLAC
311  4886U, // CLC
312  4923U, // CLD
313  141490U, // CLFLUSHOPT
314  5033U, // CLGI
315  5043U, // CLI
316  5664U, // CLTS
317  139571U, // CLWB
318  4890U, // CMC
319  2132173U, // CMOVA16rm
320  2123981U, // CMOVA16rr
321  2138631U, // CMOVA32rm
322  2122247U, // CMOVA32rr
323  2147706U, // CMOVA64rm
324  2123130U, // CMOVA64rr
325  2132280U, // CMOVAE16rm
326  2124088U, // CMOVAE16rr
327  2138747U, // CMOVAE32rm
328  2122363U, // CMOVAE32rr
329  2147822U, // CMOVAE64rm
330  2123246U, // CMOVAE64rr
331  2132201U, // CMOVB16rm
332  2124009U, // CMOVB16rr
333  2138659U, // CMOVB32rm
334  2122275U, // CMOVB32rr
335  2147734U, // CMOVB64rm
336  2123158U, // CMOVB64rr
337  2132289U, // CMOVBE16rm
338  2124097U, // CMOVBE16rr
339  2138756U, // CMOVBE32rm
340  2122372U, // CMOVBE32rr
341  2147831U, // CMOVBE64rm
342  2123255U, // CMOVBE64rr
343  2132325U, // CMOVE16rm
344  2124133U, // CMOVE16rr
345  2138846U, // CMOVE32rm
346  2122462U, // CMOVE32rr
347  2147921U, // CMOVE64rm
348  2123345U, // CMOVE64rr
349  2132355U, // CMOVG16rm
350  2124163U, // CMOVG16rr
351  2138876U, // CMOVG32rm
352  2122492U, // CMOVG32rr
353  2147951U, // CMOVG64rm
354  2123375U, // CMOVG64rr
355  2132298U, // CMOVGE16rm
356  2124106U, // CMOVGE16rr
357  2138765U, // CMOVGE32rm
358  2122381U, // CMOVGE32rr
359  2147840U, // CMOVGE64rm
360  2123264U, // CMOVGE64rr
361  2132415U, // CMOVL16rm
362  2124223U, // CMOVL16rr
363  2138981U, // CMOVL32rm
364  2122597U, // CMOVL32rr
365  2148041U, // CMOVL64rm
366  2123465U, // CMOVL64rr
367  2132307U, // CMOVLE16rm
368  2124115U, // CMOVLE16rr
369  2138774U, // CMOVLE32rm
370  2122390U, // CMOVLE32rr
371  2147849U, // CMOVLE64rm
372  2123273U, // CMOVLE64rr
373  2132316U, // CMOVNE16rm
374  2124124U, // CMOVNE16rr
375  2138783U, // CMOVNE32rm
376  2122399U, // CMOVNE32rr
377  2147858U, // CMOVNE64rm
378  2123282U, // CMOVNE64rr
379  2132428U, // CMOVNO16rm
380  2124236U, // CMOVNO16rr
381  2139001U, // CMOVNO32rm
382  2122617U, // CMOVNO32rr
383  2148056U, // CMOVNO64rm
384  2123480U, // CMOVNO64rr
385  2132458U, // CMOVNP16rm
386  2124266U, // CMOVNP16rr
387  2139046U, // CMOVNP32rm
388  2122662U, // CMOVNP32rr
389  2148094U, // CMOVNP64rm
390  2123518U, // CMOVNP64rr
391  2132600U, // CMOVNS16rm
392  2124408U, // CMOVNS16rr
393  2139197U, // CMOVNS32rm
394  2122813U, // CMOVNS32rr
395  2148221U, // CMOVNS64rm
396  2123645U, // CMOVNS64rr
397  2132437U, // CMOVO16rm
398  2124245U, // CMOVO16rr
399  2139010U, // CMOVO32rm
400  2122626U, // CMOVO32rr
401  2148065U, // CMOVO64rm
402  2123489U, // CMOVO64rr
403  2132479U, // CMOVP16rm
404  2124287U, // CMOVP16rr
405  2139073U, // CMOVP32rm
406  2122689U, // CMOVP32rr
407  2148109U, // CMOVP64rm
408  2123533U, // CMOVP64rr
409  2132635U, // CMOVS16rm
410  2124443U, // CMOVS16rr
411  2139232U, // CMOVS32rm
412  2122848U, // CMOVS32rr
413  2148249U, // CMOVS64rm
414  2123673U, // CMOVS64rr
415  4094U, // CMOV_FR32
416  4281U, // CMOV_FR64
417  4301U, // CMOV_GR16
418  4114U, // CMOV_GR32
419  4321U, // CMOV_GR8
420  4073U, // CMOV_RFP32
421  4260U, // CMOV_RFP64
422  3988U, // CMOV_RFP80
423  4030U, // CMOV_V16F32
424  4134U, // CMOV_V2F64
425  4197U, // CMOV_V2I64
426  4009U, // CMOV_V4F32
427  4155U, // CMOV_V4F64
428  4218U, // CMOV_V4I64
429  4052U, // CMOV_V8F32
430  4176U, // CMOV_V8F64
431  4239U, // CMOV_V8I64
432  535005U, // CMP16i16
433  1067485U, // CMP16mi
434  1067485U, // CMP16mi8
435  1067485U, // CMP16mr
436  22620637U, // CMP16ri
437  22620637U, // CMP16ri8
438  100829U, // CMP16rm
439  22620637U, // CMP16rr
440  22620637U, // CMP16rr_REV
441  2630553U, // CMP32i32
442  3163033U, // CMP32mi
443  3163033U, // CMP32mi8
444  3163033U, // CMP32mr
445  22619033U, // CMP32ri
446  22619033U, // CMP32ri8
447  66457U, // CMP32rm
448  22619033U, // CMP32rr
449  22619033U, // CMP32rr_REV
450  3679992U, // CMP64i32
451  4212472U, // CMP64mi32
452  4212472U, // CMP64mi8
453  4212472U, // CMP64mr
454  22619896U, // CMP64ri32
455  22619896U, // CMP64ri8
456  83704U, // CMP64rm
457  22619896U, // CMP64rr
458  22619896U, // CMP64rr_REV
459  4726979U, // CMP8i8
460  5259459U, // CMP8mi
461  5259459U, // CMP8mi8
462  5259459U, // CMP8mr
463  22618307U, // CMP8ri
464  22618307U, // CMP8ri8
465  147651U, // CMP8rm
466  22618307U, // CMP8rr
467  22618307U, // CMP8rr_REV
468  56254718U, // CMPSB
469  73040966U, // CMPSL
470  89827206U, // CMPSQ
471  106613377U, // CMPSW
472  188489U, // CMPXCHG16B
473  1067385U, // CMPXCHG16rm
474  22620537U, // CMPXCHG16rr
475  3162866U, // CMPXCHG32rm
476  22618866U, // CMPXCHG32rr
477  4212325U, // CMPXCHG64rm
478  22619749U, // CMPXCHG64rr
479  122965U, // CMPXCHG8B
480  5259409U, // CMPXCHG8rm
481  22618257U, // CMPXCHG8rr
482  4917U, // CPUID
483  5238U, // CQO
484  4936U, // CWD
485  5182U, // CWDE
486  4789U, // DAA
487  5360U, // DAS
488  4679U, // DATA16_PREFIX
489  108799U, // DEC16m
490  10495U, // DEC16r
491  10495U, // DEC16r_alt
492  115257U, // DEC32m
493  8761U, // DEC32r
494  8761U, // DEC32r_alt
495  124332U, // DEC64m
496  9644U, // DEC64r
497  139378U, // DEC8m
498  8306U, // DEC8r
499  109303U, // DIV16m
500  10999U, // DIV16r
501  115906U, // DIV32m
502  9410U, // DIV32r
503  124917U, // DIV64m
504  10229U, // DIV64r
505  139559U, // DIV8m
506  8487U, // DIV8r
507  12021U, // EH_RETURN
508  12021U, // EH_RETURN64
509  4502U, // EH_SjLj_LongJmp32
510  4592U, // EH_SjLj_LongJmp64
511  4521U, // EH_SjLj_SetJmp32
512  4611U, // EH_SjLj_SetJmp64
513  132452U, // EH_SjLj_Setup
514  123218002U, // ENTER
515  7416228U, // FARCALL16i
516  201082U, // FARCALL16m
517  7414602U, // FARCALL32i
518  201035U, // FARCALL32m
519  201052U, // FARCALL64
520  7416291U, // FARJMP16i
521  201091U, // FARJMP16m
522  7414687U, // FARJMP32i
523  201044U, // FARJMP32m
524  201074U, // FARJMP64
525  5195U, // FSETPM
526  4874U, // GETSEC
527  5677U, // HLT
528  109302U, // IDIV16m
529  10998U, // IDIV16r
530  115905U, // IDIV32m
531  9409U, // IDIV32r
532  124916U, // IDIV64m
533  10228U, // IDIV64r
534  139558U, // IDIV8m
535  8486U, // IDIV8r
536  108984U, // IMUL16m
537  10680U, // IMUL16r
538  2132408U, // IMUL16rm
539  7956920U, // IMUL16rmi
540  7956920U, // IMUL16rmi8
541  2124216U, // IMUL16rr
542  35154360U, // IMUL16rri
543  35154360U, // IMUL16rri8
544  115550U, // IMUL32m
545  9054U, // IMUL32r
546  2138974U, // IMUL32rm
547  6382430U, // IMUL32rmi
548  6382430U, // IMUL32rmi8
549  2122590U, // IMUL32rr
550  35152734U, // IMUL32rri
551  35152734U, // IMUL32rri8
552  124610U, // IMUL64m
553  9922U, // IMUL64r
554  2148034U, // IMUL64rm
555  6907586U, // IMUL64rmi32
556  6907586U, // IMUL64rmi8
557  2123458U, // IMUL64rr
558  35153602U, // IMUL64rri32
559  35153602U, // IMUL64rri8
560  139447U, // IMUL8m
561  8375U, // IMUL8r
562  534983U, // IN16ri
563  5758U, // IN16rr
564  2630516U, // IN32ri
565  5837U, // IN32rr
566  4726974U, // IN8ri
567  5071U, // IN8rr
568  108805U, // INC16m
569  10501U, // INC16r
570  10501U, // INC16r_alt
571  115263U, // INC32m
572  8767U, // INC32r
573  8767U, // INC32r_alt
574  124338U, // INC64m
575  9650U, // INC64r
576  139384U, // INC8m
577  8312U, // INC8r
578  159433U, // INSB
579  167636U, // INSL
580  184031U, // INSW
581  10395U, // INT
582  4497U, // INT1
583  4587U, // INT3
584  5233U, // INTO
585  4943U, // INVD
586  207008U, // INVEPT32
587  207008U, // INVEPT64
588  139742U, // INVLPG
589  5818U, // INVLPGA32
590  5886U, // INVLPGA64
591  205148U, // INVPCID32
592  205148U, // INVPCID64
593  205157U, // INVVPID32
594  205157U, // INVVPID64
595  5746U, // IRET16
596  5153U, // IRET32
597  5291U, // IRET64
598  4758U, // Int_MemBarrier
599  131454U, // JAE_1
600  131454U, // JAE_2
601  131454U, // JAE_4
602  131135U, // JA_1
603  131135U, // JA_2
604  131135U, // JA_4
605  131466U, // JBE_1
606  131466U, // JBE_2
607  131466U, // JBE_4
608  131227U, // JB_1
609  131227U, // JB_2
610  131227U, // JB_4
611  133912U, // JCXZ
612  133905U, // JECXZ
613  131490U, // JE_1
614  131490U, // JE_2
615  131490U, // JE_4
616  131478U, // JGE_1
617  131478U, // JGE_2
618  131478U, // JGE_4
619  131546U, // JG_1
620  131546U, // JG_2
621  131546U, // JG_4
622  131494U, // JLE_1
623  131494U, // JLE_2
624  131494U, // JLE_4
625  131865U, // JL_1
626  131865U, // JL_2
627  131865U, // JL_4
628  110980U, // JMP16m
629  12676U, // JMP16r
630  119125U, // JMP32m
631  12629U, // JMP32r
632  127339U, // JMP64m
633  12651U, // JMP64r
634  132418U, // JMP_1
635  132418U, // JMP_2
636  132418U, // JMP_4
637  131506U, // JNE_1
638  131506U, // JNE_2
639  131506U, // JNE_4
640  132390U, // JNO_1
641  132390U, // JNO_2
642  132390U, // JNO_4
643  132423U, // JNP_1
644  132423U, // JNP_2
645  132423U, // JNP_4
646  133248U, // JNS_1
647  133248U, // JNS_2
648  133248U, // JNS_4
649  132386U, // JO_1
650  132386U, // JO_2
651  132386U, // JO_4
652  132408U, // JP_1
653  132408U, // JP_2
654  132408U, // JP_4
655  133918U, // JRCXZ
656  133244U, // JS_1
657  133244U, // JS_2
658  133244U, // JS_4
659  5014U, // LAHF
660  100871U, // LAR16rm
661  22620679U, // LAR16rr
662  99273U, // LAR32rm
663  22619081U, // LAR32rr
664  100117U, // LAR64rm
665  22619925U, // LAR64rr
666  1067385U, // LCMPXCHG16
667  188489U, // LCMPXCHG16B
668  3162866U, // LCMPXCHG32
669  4212325U, // LCMPXCHG64
670  5259409U, // LCMPXCHG8
671  122965U, // LCMPXCHG8B
672  215641U, // LDS16rm
673  214046U, // LDS32rm
674  223431U, // LEA16r
675  221697U, // LEA32r
676  221697U, // LEA64_32r
677  222580U, // LEA64r
678  5001U, // LEAVE
679  5001U, // LEAVE64
680  215654U, // LES16rm
681  214059U, // LES32rm
682  215660U, // LFS16rm
683  214065U, // LFS32rm
684  214897U, // LFS64rm
685  199336U, // LGDT16m
686  197741U, // LGDT32m
687  198566U, // LGDT64m
688  215666U, // LGS16rm
689  214071U, // LGS32rm
690  214903U, // LGS64rm
691  199350U, // LIDT16m
692  197755U, // LIDT32m
693  198580U, // LIDT64m
694  109252U, // LLDT16m
695  10948U, // LLDT16r
696  109315U, // LMSW16m
697  11011U, // LMSW16r
698  1067282U, // LOCK_ADD16mi
699  1067282U, // LOCK_ADD16mi8
700  1067282U, // LOCK_ADD16mr
701  3162709U, // LOCK_ADD32mi
702  3162709U, // LOCK_ADD32mi8
703  3162709U, // LOCK_ADD32mr
704  4212168U, // LOCK_ADD64mi32
705  4212168U, // LOCK_ADD64mi8
706  4212168U, // LOCK_ADD64mr
707  5259391U, // LOCK_ADD8mi
708  5259391U, // LOCK_ADD8mr
709  1067307U, // LOCK_AND16mi
710  1067307U, // LOCK_AND16mi8
711  1067307U, // LOCK_AND16mr
712  3162734U, // LOCK_AND32mi
713  3162734U, // LOCK_AND32mi8
714  3162734U, // LOCK_AND32mr
715  4212193U, // LOCK_AND64mi32
716  4212193U, // LOCK_AND64mi8
717  4212193U, // LOCK_AND64mr
718  5259397U, // LOCK_AND8mi
719  5259397U, // LOCK_AND8mr
720  108799U, // LOCK_DEC16m
721  115257U, // LOCK_DEC32m
722  124332U, // LOCK_DEC64m
723  139378U, // LOCK_DEC8m
724  108805U, // LOCK_INC16m
725  115263U, // LOCK_INC32m
726  124338U, // LOCK_INC64m
727  139384U, // LOCK_INC8m
728  1067558U, // LOCK_OR16mi
729  1067558U, // LOCK_OR16mi8
730  1067558U, // LOCK_OR16mr
731  3163106U, // LOCK_OR32mi
732  3163106U, // LOCK_OR32mi8
733  3163106U, // LOCK_OR32mr
734  4212526U, // LOCK_OR64mi32
735  4212526U, // LOCK_OR64mi8
736  4212526U, // LOCK_OR64mr
737  5259484U, // LOCK_OR8mi
738  5259484U, // LOCK_OR8mr
739  5066U, // LOCK_PREFIX
740  1067235U, // LOCK_SUB16mi
741  1067235U, // LOCK_SUB16mi8
742  1067235U, // LOCK_SUB16mr
743  3162653U, // LOCK_SUB32mi
744  3162653U, // LOCK_SUB32mi8
745  3162653U, // LOCK_SUB32mr
746  4212112U, // LOCK_SUB64mi32
747  4212112U, // LOCK_SUB64mi8
748  4212112U, // LOCK_SUB64mr
749  5259366U, // LOCK_SUB8mi
750  5259366U, // LOCK_SUB8mr
751  1067563U, // LOCK_XOR16mi
752  1067563U, // LOCK_XOR16mi8
753  1067563U, // LOCK_XOR16mr
754  3163111U, // LOCK_XOR32mi
755  3163111U, // LOCK_XOR32mi8
756  3163111U, // LOCK_XOR32mr
757  4212531U, // LOCK_XOR64mi32
758  4212531U, // LOCK_XOR64mi8
759  4212531U, // LOCK_XOR64mr
760  5259489U, // LOCK_XOR8mi
761  5259489U, // LOCK_XOR8mr
762  4948215U, // LODSB
763  2860068U, // LODSL
764  247658U, // LODSQ
765  780895U, // LODSW
766  132440U, // LOOP
767  131526U, // LOOPE
768  131511U, // LOOPNE
769  9360U, // LRETIL
770  10185U, // LRETIQ
771  10962U, // LRETIW
772  5159U, // LRETL
773  5297U, // LRETQ
774  5752U, // LRETW
775  100786U, // LSL16rm
776  22620594U, // LSL16rr
777  66392U, // LSL32rm
778  22618968U, // LSL32rr
779  83636U, // LSL64rm
780  22619828U, // LSL64rr
781  215688U, // LSS16rm
782  214093U, // LSS32rm
783  214925U, // LSS64rm
784  109117U, // LTRm
785  10813U, // LTRr
786  140060945U, // LXADD16
787  156836436U, // LXADD32
788  173614535U, // LXADD64
789  190390398U, // LXADD8
790  101081U, // LZCNT16rm
791  22620889U, // LZCNT16rr
792  66717U, // LZCNT32rm
793  22619293U, // LZCNT32rr
794  83920U, // LZCNT64rm
795  22620112U, // LZCNT64rr
796  5187U, // MONTMUL
797  0U, // MORESTACK_RET
798  0U, // MORESTACK_RET_RESTORE_R10
799  789245U, // MOV16ao16
800  789245U, // MOV16ao32
801  789072U, // MOV16ao64
802  1067773U, // MOV16mi
803  1067773U, // MOV16mr
804  1067773U, // MOV16ms
805  265826U, // MOV16o16a
806  265826U, // MOV16o32a
807  265789U, // MOV16o64a
808  22620925U, // MOV16ri
809  22620925U, // MOV16ri_alt
810  101117U, // MOV16rm
811  22620925U, // MOV16rr
812  22620925U, // MOV16rr_REV
813  22620925U, // MOV16rs
814  101117U, // MOV16sm
815  22620925U, // MOV16sr
816  2893000U, // MOV32ao16
817  2893000U, // MOV32ao32
818  2892821U, // MOV32ao64
819  22619336U, // MOV32cr
820  22619336U, // MOV32dr
821  3163336U, // MOV32mi
822  3163336U, // MOV32mr
823  1066184U, // MOV32ms
824  274069U, // MOV32o16a
825  274069U, // MOV32o32a
826  274029U, // MOV32o64a
827  0U, // MOV32r0
828  22619336U, // MOV32rc
829  22619336U, // MOV32rd
830  22619336U, // MOV32ri
831  0U, // MOV32ri64
832  22619336U, // MOV32ri_alt
833  66760U, // MOV32rm
834  22619336U, // MOV32rr
835  22619336U, // MOV32rr_REV
836  22619336U, // MOV32rs
837  99528U, // MOV32sm
838  22619336U, // MOV32sr
839  3950587U, // MOV64ao32
840  3950433U, // MOV64ao64
841  22620155U, // MOV64cr
842  22620155U, // MOV64dr
843  4212731U, // MOV64mi32
844  4212731U, // MOV64mr
845  1067003U, // MOV64ms
846  282301U, // MOV64o32a
847  282273U, // MOV64o64a
848  22620155U, // MOV64rc
849  22620155U, // MOV64rd
850  22620001U, // MOV64ri
851  22620155U, // MOV64ri32
852  83963U, // MOV64rm
853  22620155U, // MOV64rr
854  22620155U, // MOV64rr_REV
855  22620155U, // MOV64rs
856  100347U, // MOV64sm
857  22620155U, // MOV64sr
858  5005613U, // MOV8ao16
859  5005613U, // MOV8ao32
860  5005550U, // MOV8ao64
861  5259565U, // MOV8mi
862  5259565U, // MOV8mr
863  5259565U, // MOV8mr_NOREX
864  289930U, // MOV8o16a
865  289930U, // MOV8o32a
866  289893U, // MOV8o64a
867  22618413U, // MOV8ri
868  22618413U, // MOV8ri_alt
869  147757U, // MOV8rm
870  147757U, // MOV8rm_NOREX
871  22618413U, // MOV8rr
872  22618413U, // MOV8rr_NOREX
873  22618413U, // MOV8rr_REV
874  1067330U, // MOVBE16mr
875  100674U, // MOVBE16rm
876  3162757U, // MOVBE32mr
877  66181U, // MOVBE32rm
878  4212216U, // MOVBE64mr
879  83448U, // MOVBE64rm
880  0U, // MOVPC32r
881  295180U, // MOVSB
882  304225U, // MOVSL
883  313242U, // MOVSQ
884  322204U, // MOVSW
885  149723U, // MOVSX16rm8
886  22620379U, // MOVSX16rr8
887  147989U, // MOVSX32_NOREXrm8
888  22618645U, // MOVSX32_NOREXrr8
889  99541U, // MOVSX32rm16
890  147989U, // MOVSX32rm8
891  22619349U, // MOVSX32rr16
892  22618645U, // MOVSX32rr8
893  22619834U, // MOVSX64_NOREXrr32
894  100360U, // MOVSX64rm16
895  67258U, // MOVSX64rm32
896  67258U, // MOVSX64rm32_alt
897  148872U, // MOVSX64rm8
898  22620168U, // MOVSX64rr16
899  22619834U, // MOVSX64rr32
900  22619528U, // MOVSX64rr8
901  149745U, // MOVZX16rm8
902  22620401U, // MOVZX16rr8
903  148011U, // MOVZX32_NOREXrm8
904  22618667U, // MOVZX32_NOREXrr8
905  99549U, // MOVZX32rm16
906  148011U, // MOVZX32rm8
907  22619357U, // MOVZX32rr16
908  22618667U, // MOVZX32rr8
909  100368U, // MOVZX64rm16_Q
910  148894U, // MOVZX64rm8_Q
911  22620176U, // MOVZX64rr16_Q
912  22619550U, // MOVZX64rr8_Q
913  108985U, // MUL16m
914  10681U, // MUL16r
915  115551U, // MUL32m
916  9055U, // MUL32r
917  124611U, // MUL64m
918  9923U, // MUL64r
919  139448U, // MUL8m
920  8376U, // MUL8r
921  35169523U, // MULX32rm
922  35153139U, // MULX32rr
923  35178534U, // MULX64rm
924  35153958U, // MULX64rr
925  108915U, // NEG16m
926  10611U, // NEG16r
927  115436U, // NEG32m
928  8940U, // NEG32r
929  124511U, // NEG64m
930  9823U, // NEG64r
931  139403U, // NEG8m
932  8331U, // NEG8r
933  5254U, // NOOP
934  109043U, // NOOP18_16m4
935  109043U, // NOOP18_16m5
936  109043U, // NOOP18_16m6
937  109043U, // NOOP18_16m7
938  10739U, // NOOP18_16r4
939  10739U, // NOOP18_16r5
940  10739U, // NOOP18_16r6
941  10739U, // NOOP18_16r7
942  115631U, // NOOP18_m4
943  115631U, // NOOP18_m5
944  115631U, // NOOP18_m6
945  115631U, // NOOP18_m7
946  9135U, // NOOP18_r4
947  9135U, // NOOP18_r5
948  9135U, // NOOP18_r6
949  9135U, // NOOP18_r7
950  123217235U, // NOOP19rr
951  115631U, // NOOPL
952  115631U, // NOOPL_19
953  115631U, // NOOPL_1a
954  115631U, // NOOPL_1b
955  115631U, // NOOPL_1c
956  115631U, // NOOPL_1d
957  115631U, // NOOPL_1e
958  109043U, // NOOPW
959  109043U, // NOOPW_19
960  109043U, // NOOPW_1a
961  109043U, // NOOPW_1b
962  109043U, // NOOPW_1c
963  109043U, // NOOPW_1d
964  109043U, // NOOPW_1e
965  109289U, // NOT16m
966  10985U, // NOT16r
967  115885U, // NOT32m
968  9389U, // NOT32r
969  124896U, // NOT64m
970  10208U, // NOT64r
971  139545U, // NOT8m
972  8473U, // NOT8r
973  535078U, // OR16i16
974  1067558U, // OR16mi
975  1067558U, // OR16mi8
976  1067558U, // OR16mr
977  1600038U, // OR16ri
978  1600038U, // OR16ri8
979  1608230U, // OR16rm
980  1600038U, // OR16rr
981  2124326U, // OR16rr_REV
982  2630626U, // OR32i32
983  3163106U, // OR32mi
984  3163106U, // OR32mi8
985  3163106U, // OR32mr
986  3163106U, // OR32mrLocked
987  1598434U, // OR32ri
988  1598434U, // OR32ri8
989  1614818U, // OR32rm
990  1598434U, // OR32rr
991  2122722U, // OR32rr_REV
992  3680046U, // OR64i32
993  4212526U, // OR64mi32
994  4212526U, // OR64mi8
995  4212526U, // OR64mr
996  1599278U, // OR64ri32
997  1599278U, // OR64ri8
998  1623854U, // OR64rm
999  1599278U, // OR64rr
1000  2123566U, // OR64rr_REV
1001  4727004U, // OR8i8
1002  5259484U, // OR8mi
1003  5259484U, // OR8mi8
1004  5259484U, // OR8mr
1005  1597660U, // OR8ri
1006  1597660U, // OR8ri8
1007  57564U, // OR8rm
1008  1597660U, // OR8rr
1009  2121948U, // OR8rr_REV
1010  11863U, // OUT16ir
1011  5919U, // OUT16rr
1012  11913U, // OUT32ir
1013  5933U, // OUT32rr
1014  11391U, // OUT8ir
1015  5905U, // OUT8rr
1016  8618245U, // OUTSB
1017  8627289U, // OUTSL
1018  8645268U, // OUTSW
1019  5669U, // PCOMMIT
1020  35169170U, // PDEP32rm
1021  35152786U, // PDEP32rr
1022  35178225U, // PDEP64rm
1023  35153649U, // PDEP64rr
1024  35169466U, // PEXT32rm
1025  35153082U, // PEXT32rr
1026  35178477U, // PEXT64rm
1027  35153901U, // PEXT64rr
1028  10745U, // POP16r
1029  109049U, // POP16rmm
1030  10745U, // POP16rmr
1031  9141U, // POP32r
1032  115637U, // POP32rmm
1033  9141U, // POP32rmr
1034  9991U, // POP64r
1035  124679U, // POP64rmm
1036  9991U, // POP64rmr
1037  5702U, // POPA16
1038  5091U, // POPA32
1039  5413U, // POPDS16
1040  5394U, // POPDS32
1041  5451U, // POPES16
1042  5432U, // POPES32
1043  5715U, // POPF16
1044  5104U, // POPF32
1045  5265U, // POPF64
1046  5508U, // POPFS16
1047  5470U, // POPFS32
1048  5489U, // POPFS64
1049  5565U, // POPGS16
1050  5527U, // POPGS32
1051  5546U, // POPGS64
1052  5655U, // POPSS16
1053  5636U, // POPSS32
1054  10635U, // PUSH16i8
1055  10635U, // PUSH16r
1056  108939U, // PUSH16rmm
1057  10635U, // PUSH16rmr
1058  8964U, // PUSH32i8
1059  8964U, // PUSH32r
1060  115460U, // PUSH32rmm
1061  8964U, // PUSH32rmr
1062  10635U, // PUSH64i16
1063  9847U, // PUSH64i32
1064  9847U, // PUSH64i8
1065  9847U, // PUSH64r
1066  124535U, // PUSH64rmm
1067  9847U, // PUSH64rmr
1068  5695U, // PUSHA16
1069  5084U, // PUSHA32
1070  5374U, // PUSHCS16
1071  5364U, // PUSHCS32
1072  5403U, // PUSHDS16
1073  5384U, // PUSHDS32
1074  5441U, // PUSHES16
1075  5422U, // PUSHES32
1076  5708U, // PUSHF16
1077  5097U, // PUSHF32
1078  5258U, // PUSHF64
1079  5498U, // PUSHFS16
1080  5460U, // PUSHFS32
1081  5479U, // PUSHFS64
1082  5555U, // PUSHGS16
1083  5517U, // PUSHGS32
1084  5536U, // PUSHGS64
1085  5645U, // PUSHSS16
1086  5626U, // PUSHSS32
1087  10635U, // PUSHi16
1088  8964U, // PUSHi32
1089  109599U, // RCL16m1
1090  110064U, // RCL16mCL
1091  1067416U, // RCL16mi
1092  11295U, // RCL16r1
1093  11760U, // RCL16rCL
1094  2124184U, // RCL16ri
1095  117631U, // RCL32m1
1096  118032U, // RCL32mCL
1097  3162924U, // RCL32mi
1098  11135U, // RCL32r1
1099  11536U, // RCL32rCL
1100  2122540U, // RCL32ri
1101  125903U, // RCL64m1
1102  126336U, // RCL64mCL
1103  4212379U, // RCL64mi
1104  11215U, // RCL64r1
1105  11648U, // RCL64rCL
1106  2123419U, // RCL64ri
1107  142127U, // RCL8m1
1108  142496U, // RCL8mCL
1109  5259429U, // RCL8mi
1110  11055U, // RCL8r1
1111  11424U, // RCL8rCL
1112  2121893U, // RCL8ri
1113  109639U, // RCR16m1
1114  110108U, // RCR16mCL
1115  1067539U, // RCR16mi
1116  11335U, // RCR16r1
1117  11804U, // RCR16rCL
1118  2124307U, // RCR16ri
1119  117671U, // RCR32m1
1120  118076U, // RCR32mCL
1121  3163093U, // RCR32mi
1122  11175U, // RCR32r1
1123  11580U, // RCR32rCL
1124  2122709U, // RCR32ri
1125  125943U, // RCR64m1
1126  126380U, // RCR64mCL
1127  4212513U, // RCR64mi
1128  11255U, // RCR64r1
1129  11692U, // RCR64rCL
1130  2123553U, // RCR64ri
1131  142167U, // RCR8m1
1132  142540U, // RCR8mCL
1133  5259471U, // RCR8mi
1134  11095U, // RCR8r1
1135  11468U, // RCR8rCL
1136  2121935U, // RCR8ri
1137  8872U, // RDFSBASE
1138  9755U, // RDFSBASE64
1139  8894U, // RDGSBASE
1140  9777U, // RDGSBASE64
1141  5334U, // RDMSR
1142  4894U, // RDPMC
1143  10536U, // RDRAND16r
1144  8811U, // RDRAND32r
1145  9694U, // RDRAND64r
1146  10520U, // RDSEED16r
1147  8795U, // RDSEED32r
1148  9678U, // RDSEED64r
1149  4907U, // RDTSC
1150  5243U, // RDTSCP
1151  4340U, // RELEASE_ADD32mi
1152  4340U, // RELEASE_ADD64mi32
1153  4340U, // RELEASE_ADD8mi
1154  4340U, // RELEASE_AND32mi
1155  4340U, // RELEASE_AND64mi32
1156  4340U, // RELEASE_AND8mi
1157  4363U, // RELEASE_DEC16m
1158  4363U, // RELEASE_DEC32m
1159  4363U, // RELEASE_DEC64m
1160  4363U, // RELEASE_DEC8m
1161  4363U, // RELEASE_INC16m
1162  4363U, // RELEASE_INC32m
1163  4363U, // RELEASE_INC64m
1164  4363U, // RELEASE_INC8m
1165  3966U, // RELEASE_MOV16mi
1166  4406U, // RELEASE_MOV16mr
1167  3966U, // RELEASE_MOV32mi
1168  4406U, // RELEASE_MOV32mr
1169  3966U, // RELEASE_MOV64mi32
1170  4406U, // RELEASE_MOV64mr
1171  3966U, // RELEASE_MOV8mi
1172  4406U, // RELEASE_MOV8mr
1173  4340U, // RELEASE_OR32mi
1174  4340U, // RELEASE_OR64mi32
1175  4340U, // RELEASE_OR8mi
1176  4340U, // RELEASE_XOR32mi
1177  4340U, // RELEASE_XOR64mi32
1178  4340U, // RELEASE_XOR8mi
1179  4957U, // REPNE_PREFIX
1180  4838U, // REP_MOVSB_32
1181  4838U, // REP_MOVSB_64
1182  5143U, // REP_MOVSD_32
1183  5143U, // REP_MOVSD_64
1184  5281U, // REP_MOVSQ_64
1185  5731U, // REP_MOVSW_32
1186  5731U, // REP_MOVSW_64
1187  5250U, // REP_PREFIX
1188  4828U, // REP_STOSB_32
1189  4828U, // REP_STOSB_64
1190  5133U, // REP_STOSD_32
1191  5133U, // REP_STOSD_64
1192  5271U, // REP_STOSQ_64
1193  5721U, // REP_STOSW_32
1194  5721U, // REP_STOSW_64
1195  9361U, // RETIL
1196  10186U, // RETIQ
1197  10963U, // RETIW
1198  5154U, // RETL
1199  5292U, // RETQ
1200  5747U, // RETW
1201  4673U, // REX64_PREFIX
1202  109619U, // ROL16m1
1203  110086U, // ROL16mCL
1204  1067436U, // ROL16mi
1205  11315U, // ROL16r1
1206  11782U, // ROL16rCL
1207  2124204U, // ROL16ri
1208  117651U, // ROL32m1
1209  118054U, // ROL32mCL
1210  3162962U, // ROL32mi
1211  11155U, // ROL32r1
1212  11558U, // ROL32rCL
1213  2122578U, // ROL32ri
1214  125923U, // ROL64m1
1215  126358U, // ROL64mCL
1216  4212398U, // ROL64mi
1217  11235U, // ROL64r1
1218  11670U, // ROL64rCL
1219  2123438U, // ROL64ri
1220  142147U, // ROL8m1
1221  142518U, // ROL8mCL
1222  5259441U, // ROL8mi
1223  11075U, // ROL8r1
1224  11446U, // ROL8rCL
1225  2121905U, // ROL8ri
1226  109659U, // ROR16m1
1227  110130U, // ROR16mCL
1228  1067557U, // ROR16mi
1229  11355U, // ROR16r1
1230  11826U, // ROR16rCL
1231  2124325U, // ROR16ri
1232  117691U, // ROR32m1
1233  118098U, // ROR32mCL
1234  3163105U, // ROR32mi
1235  11195U, // ROR32r1
1236  11602U, // ROR32rCL
1237  2122721U, // ROR32ri
1238  125963U, // ROR64m1
1239  126402U, // ROR64mCL
1240  4212525U, // ROR64mi
1241  11275U, // ROR64r1
1242  11714U, // ROR64rCL
1243  2123565U, // ROR64ri
1244  142187U, // ROR8m1
1245  142562U, // ROR8mCL
1246  5259483U, // ROR8mi
1247  11115U, // ROR8r1
1248  11490U, // ROR8rCL
1249  2121947U, // ROR8ri
1250  6382863U, // RORX32mi
1251  35153167U, // RORX32ri
1252  6907970U, // RORX64mi
1253  35153986U, // RORX64ri
1254  5202U, // RSM
1255  5019U, // SAHF
1256  109589U, // SAL16m1
1257  110053U, // SAL16mCL
1258  1067410U, // SAL16mi
1259  11285U, // SAL16r1
1260  11749U, // SAL16rCL
1261  2124178U, // SAL16ri
1262  117621U, // SAL32m1
1263  118021U, // SAL32mCL
1264  3162918U, // SAL32mi
1265  11125U, // SAL32r1
1266  11525U, // SAL32rCL
1267  2122534U, // SAL32ri
1268  125893U, // SAL64m1
1269  126325U, // SAL64mCL
1270  4212373U, // SAL64mi
1271  11205U, // SAL64r1
1272  11637U, // SAL64rCL
1273  2123413U, // SAL64ri
1274  142117U, // SAL8m1
1275  142485U, // SAL8mCL
1276  5259423U, // SAL8mi
1277  11045U, // SAL8r1
1278  11413U, // SAL8rCL
1279  2121887U, // SAL8ri
1280  4881U, // SALC
1281  109629U, // SAR16m1
1282  110097U, // SAR16mCL
1283  1067533U, // SAR16mi
1284  11325U, // SAR16r1
1285  11793U, // SAR16rCL
1286  2124301U, // SAR16ri
1287  117661U, // SAR32m1
1288  118065U, // SAR32mCL
1289  3163087U, // SAR32mi
1290  11165U, // SAR32r1
1291  11569U, // SAR32rCL
1292  2122703U, // SAR32ri
1293  125933U, // SAR64m1
1294  126369U, // SAR64mCL
1295  4212507U, // SAR64mi
1296  11245U, // SAR64r1
1297  11681U, // SAR64rCL
1298  2123547U, // SAR64ri
1299  142157U, // SAR8m1
1300  142529U, // SAR8mCL
1301  5259465U, // SAR8mi
1302  11085U, // SAR8r1
1303  11457U, // SAR8rCL
1304  2121929U, // SAR8ri
1305  6382849U, // SARX32rm
1306  35153153U, // SARX32rr
1307  6907956U, // SARX64rm
1308  35153972U, // SARX64rr
1309  534741U, // SBB16i16
1310  1067221U, // SBB16mi
1311  1067221U, // SBB16mi8
1312  1067221U, // SBB16mr
1313  1599701U, // SBB16ri
1314  1599701U, // SBB16ri8
1315  1607893U, // SBB16rm
1316  1599701U, // SBB16rr
1317  2123989U, // SBB16rr_REV
1318  2630159U, // SBB32i32
1319  3162639U, // SBB32mi
1320  3162639U, // SBB32mi8
1321  3162639U, // SBB32mr
1322  1597967U, // SBB32ri
1323  1597967U, // SBB32ri8
1324  1614351U, // SBB32rm
1325  1597967U, // SBB32rr
1326  2122255U, // SBB32rr_REV
1327  3679618U, // SBB64i32
1328  4212098U, // SBB64mi32
1329  4212098U, // SBB64mi8
1330  4212098U, // SBB64mr
1331  1598850U, // SBB64ri32
1332  1598850U, // SBB64ri8
1333  1623426U, // SBB64rm
1334  1598850U, // SBB64rr
1335  2123138U, // SBB64rr_REV
1336  4726880U, // SBB8i8
1337  5259360U, // SBB8mi
1338  5259360U, // SBB8mi8
1339  5259360U, // SBB8mr
1340  1597536U, // SBB8ri
1341  1597536U, // SBB8ri8
1342  57440U, // SBB8rm
1343  1597536U, // SBB8rr
1344  2121824U, // SBB8rr_REV
1345  4874471U, // SCASB
1346  2786318U, // SCASL
1347  3843930U, // SCASQ
1348  707145U, // SCASW
1349  5581U, // SEG_ALLOCA_32
1350  5581U, // SEG_ALLOCA_64
1351  4984U, // SEH_EndPrologue
1352  4970U, // SEH_Epilogue
1353  12099U, // SEH_PushFrame
1354  12144U, // SEH_PushReg
1355  123219810U, // SEH_SaveReg
1356  123219724U, // SEH_SaveXMM
1357  123219795U, // SEH_SetFrame
1358  12082U, // SEH_StackAlloc
1359  139651U, // SETAEm
1360  8579U, // SETAEr
1361  139331U, // SETAm
1362  8259U, // SETAr
1363  139663U, // SETBEm
1364  8591U, // SETBEr
1365  0U, // SETB_C16r
1366  0U, // SETB_C32r
1367  0U, // SETB_C64r
1368  0U, // SETB_C8r
1369  139539U, // SETBm
1370  8467U, // SETBr
1371  139725U, // SETEm
1372  8653U, // SETEr
1373  139675U, // SETGEm
1374  8603U, // SETGEr
1375  139750U, // SETGm
1376  8678U, // SETGr
1377  139691U, // SETLEm
1378  8619U, // SETLEr
1379  140439U, // SETLm
1380  9367U, // SETLr
1381  139711U, // SETNEm
1382  8639U, // SETNEr
1383  140587U, // SETNOm
1384  9515U, // SETNOr
1385  140620U, // SETNPm
1386  9548U, // SETNPr
1387  141445U, // SETNSm
1388  10373U, // SETNSr
1389  140594U, // SETOm
1390  9522U, // SETOr
1391  140638U, // SETPm
1392  9566U, // SETPr
1393  141461U, // SETSm
1394  10389U, // SETSr
1395  199343U, // SGDT16m
1396  197748U, // SGDT32m
1397  198573U, // SGDT64m
1398  109609U, // SHL16m1
1399  110075U, // SHL16mCL
1400  1067422U, // SHL16mi
1401  11305U, // SHL16r1
1402  11771U, // SHL16rCL
1403  2124190U, // SHL16ri
1404  117641U, // SHL32m1
1405  118043U, // SHL32mCL
1406  3162930U, // SHL32mi
1407  11145U, // SHL32r1
1408  11547U, // SHL32rCL
1409  2122546U, // SHL32ri
1410  125913U, // SHL64m1
1411  126347U, // SHL64mCL
1412  4212385U, // SHL64mi
1413  11225U, // SHL64r1
1414  11659U, // SHL64rCL
1415  2123425U, // SHL64ri
1416  142137U, // SHL8m1
1417  142507U, // SHL8mCL
1418  5259435U, // SHL8mi
1419  11065U, // SHL8r1
1420  11435U, // SHL8rCL
1421  2121899U, // SHL8ri
1422  1068493U, // SHLD16mrCL
1423  210331937U, // SHLD16mri8
1424  2125261U, // SHLD16rrCL
1425  330017U, // SHLD16rri8
1426  3165421U, // SHLD32mrCL
1427  227107428U, // SHLD32mri8
1428  2125037U, // SHLD32rrCL
1429  328292U, // SHLD32rri8
1430  4214109U, // SHLD64mrCL
1431  243885527U, // SHLD64mri8
1432  2125149U, // SHLD64rrCL
1433  329175U, // SHLD64rri8
1434  6382828U, // SHLX32rm
1435  35153132U, // SHLX32rr
1436  6907935U, // SHLX64rm
1437  35153951U, // SHLX64rr
1438  109649U, // SHR16m1
1439  110119U, // SHR16mCL
1440  1067551U, // SHR16mi
1441  11345U, // SHR16r1
1442  11815U, // SHR16rCL
1443  2124319U, // SHR16ri
1444  117681U, // SHR32m1
1445  118087U, // SHR32mCL
1446  3163099U, // SHR32mi
1447  11185U, // SHR32r1
1448  11591U, // SHR32rCL
1449  2122715U, // SHR32ri
1450  125953U, // SHR64m1
1451  126391U, // SHR64mCL
1452  4212519U, // SHR64mi
1453  11265U, // SHR64r1
1454  11703U, // SHR64rCL
1455  2123559U, // SHR64ri
1456  142177U, // SHR8m1
1457  142551U, // SHR8mCL
1458  5259477U, // SHR8mi
1459  11105U, // SHR8r1
1460  11479U, // SHR8rCL
1461  2121941U, // SHR8ri
1462  1068505U, // SHRD16mrCL
1463  210331953U, // SHRD16mri8
1464  2125273U, // SHRD16rrCL
1465  330033U, // SHRD16rri8
1466  3165433U, // SHRD32mrCL
1467  227107444U, // SHRD32mri8
1468  2125049U, // SHRD32rrCL
1469  328308U, // SHRD32rri8
1470  4214121U, // SHRD64mrCL
1471  243885543U, // SHRD64mri8
1472  2125161U, // SHRD64rrCL
1473  329191U, // SHRD64rri8
1474  6382856U, // SHRX32rm
1475  35153160U, // SHRX32rr
1476  6907963U, // SHRX64rm
1477  35153979U, // SHRX64rr
1478  199357U, // SIDT16m
1479  197762U, // SIDT32m
1480  198587U, // SIDT64m
1481  5806U, // SKINIT
1482  109259U, // SLDT16m
1483  10955U, // SLDT16r
1484  9353U, // SLDT32r
1485  108482U, // SLDT64m
1486  10178U, // SLDT64r
1487  109322U, // SMSW16m
1488  11018U, // SMSW16r
1489  9422U, // SMSW32r
1490  10241U, // SMSW64r
1491  4859U, // STAC
1492  4913U, // STC
1493  4932U, // STD
1494  5038U, // STGI
1495  5047U, // STI
1496  158835U, // STOSB
1497  167548U, // STOSL
1498  175792U, // STOSQ
1499  183883U, // STOSW
1500  10819U, // STR16r
1501  9216U, // STR32r
1502  10060U, // STR64r
1503  109123U, // STRm
1504  534755U, // SUB16i16
1505  1067235U, // SUB16mi
1506  1067235U, // SUB16mi8
1507  1067235U, // SUB16mr
1508  1599715U, // SUB16ri
1509  1599715U, // SUB16ri8
1510  1607907U, // SUB16rm
1511  1599715U, // SUB16rr
1512  2124003U, // SUB16rr_REV
1513  2630173U, // SUB32i32
1514  3162653U, // SUB32mi
1515  3162653U, // SUB32mi8
1516  3162653U, // SUB32mr
1517  1597981U, // SUB32ri
1518  1597981U, // SUB32ri8
1519  1614365U, // SUB32rm
1520  1597981U, // SUB32rr
1521  2122269U, // SUB32rr_REV
1522  3679632U, // SUB64i32
1523  4212112U, // SUB64mi32
1524  4212112U, // SUB64mi8
1525  4212112U, // SUB64mr
1526  1598864U, // SUB64ri32
1527  1598864U, // SUB64ri8
1528  1623440U, // SUB64rm
1529  1598864U, // SUB64rr
1530  2123152U, // SUB64rr_REV
1531  4726886U, // SUB8i8
1532  5259366U, // SUB8mi
1533  5259366U, // SUB8mi8
1534  5259366U, // SUB8mr
1535  1597542U, // SUB8ri
1536  1597542U, // SUB8ri8
1537  57446U, // SUB8rm
1538  1597542U, // SUB8rr
1539  2121830U, // SUB8rr_REV
1540  5574U, // SWAPGS
1541  5125U, // SYSCALL
1542  5325U, // SYSENTER
1543  5173U, // SYSEXIT
1544  5311U, // SYSEXIT64
1545  5165U, // SYSRET
1546  5303U, // SYSRET64
1547  65871U, // T1MSKC32rm
1548  22618447U, // T1MSKC32rr
1549  82255U, // T1MSKC64rm
1550  22618447U, // T1MSKC64rr
1551  132418U, // TAILJMPd
1552  132418U, // TAILJMPd64
1553  132412U, // TAILJMPd64_REX
1554  119125U, // TAILJMPm
1555  127339U, // TAILJMPm64
1556  127333U, // TAILJMPm64_REX
1557  0U, // TAILJMPr
1558  12651U, // TAILJMPr64
1559  12645U, // TAILJMPr64_REX
1560  0U, // TCRETURNdi
1561  0U, // TCRETURNdi64
1562  0U, // TCRETURNmi
1563  0U, // TCRETURNmi64
1564  0U, // TCRETURNri
1565  0U, // TCRETURNri64
1566  535279U, // TEST16i16
1567  1067759U, // TEST16mi
1568  1067759U, // TEST16mi_alt
1569  22620911U, // TEST16ri
1570  22620911U, // TEST16ri_alt
1571  257436399U, // TEST16rm
1572  22620911U, // TEST16rr
1573  2630835U, // TEST32i32
1574  3163315U, // TEST32mi
1575  3163315U, // TEST32mi_alt
1576  22619315U, // TEST32ri
1577  22619315U, // TEST32ri_alt
1578  274212019U, // TEST32rm
1579  22619315U, // TEST32rr
1580  3680230U, // TEST64i32
1581  4212710U, // TEST64mi32
1582  4212710U, // TEST64mi32_alt
1583  22620134U, // TEST64ri32
1584  22620134U, // TEST64ri32_alt
1585  290990054U, // TEST64rm
1586  22620134U, // TEST64rr
1587  4727071U, // TEST8i8
1588  5259551U, // TEST8mi
1589  5259551U, // TEST8mi_alt
1590  22618399U, // TEST8ri
1591  0U, // TEST8ri_NOREX
1592  22618399U, // TEST8ri_alt
1593  307765535U, // TEST8rm
1594  22618399U, // TEST8rr
1595  4539U, // TLSCall_32
1596  4629U, // TLSCall_64
1597  4552U, // TLS_addr32
1598  4642U, // TLS_addr64
1599  4565U, // TLS_base_addr32
1600  4655U, // TLS_base_addr64
1601  4583U, // TRAP
1602  101089U, // TZCNT16rm
1603  22620897U, // TZCNT16rr
1604  66725U, // TZCNT32rm
1605  22619301U, // TZCNT32rr
1606  83928U, // TZCNT64rm
1607  22620120U, // TZCNT64rr
1608  66042U, // TZMSK32rm
1609  22618618U, // TZMSK32rr
1610  82426U, // TZMSK64rm
1611  22618618U, // TZMSK64rr
1612  4793U, // UD2B
1613  844639978U, // VAARG_64
1614  1733832474U, // VASTART_SAVE_XMM_REGS
1615  108641U, // VERRm
1616  10337U, // VERRr
1617  109081U, // VERWm
1618  10777U, // VERWr
1619  5118U, // VMCALL
1620  125001U, // VMCLEARm
1621  4900U, // VMFUNC
1622  5024U, // VMLAUNCH
1623  5771U, // VMLOAD32
1624  5851U, // VMLOAD64
1625  5110U, // VMMCALL
1626  123246U, // VMPTRLDm
1627  125118U, // VMPTRSTm
1628  3162699U, // VMREAD32rm
1629  22618699U, // VMREAD32rr
1630  4212158U, // VMREAD64rm
1631  22619582U, // VMREAD64rr
1632  4948U, // VMRESUME
1633  5795U, // VMRUN32
1634  5875U, // VMRUN64
1635  5783U, // VMSAVE32
1636  5863U, // VMSAVE64
1637  66260U, // VMWRITE32rm
1638  22618836U, // VMWRITE32rr
1639  83527U, // VMWRITE64rm
1640  22619719U, // VMWRITE64rr
1641  5007U, // VMXOFF
1642  124187U, // VMXON
1643  4941U, // WBINVD
1644  5206U, // WIN_ALLOCA
1645  5051U, // WIN_FTOL_32
1646  5051U, // WIN_FTOL_64
1647  8883U, // WRFSBASE
1648  9766U, // WRFSBASE64
1649  8905U, // WRGSBASE
1650  9788U, // WRGSBASE64
1651  5340U, // WRMSR
1652  1067281U, // XADD16rm
1653  22620433U, // XADD16rr
1654  3162708U, // XADD32rm
1655  22618708U, // XADD32rr
1656  4212167U, // XADD64rm
1657  22619591U, // XADD64rr
1658  5259390U, // XADD8rm
1659  22618238U, // XADD8rr
1660  534908U, // XCHG16ar
1661  140061052U, // XCHG16rm
1662  324610428U, // XCHG16rr
1663  2630389U, // XCHG32ar
1664  2630389U, // XCHG32ar64
1665  156836597U, // XCHG32rm
1666  324608757U, // XCHG32rr
1667  3679848U, // XCHG64ar
1668  173614696U, // XCHG64rm
1669  324609640U, // XCHG64rr
1670  190390420U, // XCHG8rm
1671  324608148U, // XCHG8rr
1672  4864U, // XCRYPTCBC
1673  4808U, // XCRYPTCFB
1674  5346U, // XCRYPTCTR
1675  4798U, // XCRYPTECB
1676  4818U, // XCRYPTOFB
1677  5681U, // XGETBV
1678  4848U, // XLAT
1679  535083U, // XOR16i16
1680  1067563U, // XOR16mi
1681  1067563U, // XOR16mi8
1682  1067563U, // XOR16mr
1683  1600043U, // XOR16ri
1684  1600043U, // XOR16ri8
1685  1608235U, // XOR16rm
1686  1600043U, // XOR16rr
1687  2124331U, // XOR16rr_REV
1688  2630631U, // XOR32i32
1689  3163111U, // XOR32mi
1690  3163111U, // XOR32mi8
1691  3163111U, // XOR32mr
1692  1598439U, // XOR32ri
1693  1598439U, // XOR32ri8
1694  1614823U, // XOR32rm
1695  1598439U, // XOR32rr
1696  2122727U, // XOR32rr_REV
1697  3680051U, // XOR64i32
1698  4212531U, // XOR64mi32
1699  4212531U, // XOR64mi8
1700  4212531U, // XOR64mr
1701  1599283U, // XOR64ri32
1702  1599283U, // XOR64ri8
1703  1623859U, // XOR64rm
1704  1599283U, // XOR64rr
1705  2123571U, // XOR64rr_REV
1706  4727009U, // XOR8i8
1707  5259489U, // XOR8mi
1708  5259489U, // XOR8mi8
1709  5259489U, // XOR8mr
1710  1597665U, // XOR8ri
1711  1597665U, // XOR8ri8
1712  57569U, // XOR8rm
1713  1597665U, // XOR8rr
1714  2121953U, // XOR8rr_REV
1715  198745U, // XRSTOR
1716  196628U, // XRSTOR64
1717  198796U, // XRSTORS
1718  196648U, // XRSTORS64
1719  197075U, // XSAVE
1720  196619U, // XSAVE64
1721  196921U, // XSAVEC
1722  196609U, // XSAVEC64
1723  198824U, // XSAVEOPT
1724  196659U, // XSAVEOPT64
1725  198772U, // XSAVES
1726  196638U, // XSAVES64
1727  5688U, // XSETBV
1728  4491U, // XSHA1
1729  4686U, // XSHA256
1730  4963U, // XSTORE
1731  0U
1732  };
1733 
1734 #ifndef CAPSTONE_DIET
1735  static char AsmStrs[] = {
1736  /* 0 */ 'x', 's', 'a', 'v', 'e', 'c', '6', '4', 9, 0,
1737  /* 10 */ 'x', 's', 'a', 'v', 'e', '6', '4', 9, 0,
1738  /* 19 */ 'x', 'r', 's', 't', 'o', 'r', '6', '4', 9, 0,
1739  /* 29 */ 'x', 's', 'a', 'v', 'e', 's', '6', '4', 9, 0,
1740  /* 39 */ 'x', 'r', 's', 't', 'o', 'r', 's', '6', '4', 9, 0,
1741  /* 50 */ 'x', 's', 'a', 'v', 'e', 'o', 'p', 't', '6', '4', 9, 0,
1742  /* 62 */ 'j', 'a', 9, 0,
1743  /* 66 */ 's', 'e', 't', 'a', 9, 0,
1744  /* 72 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', '1', '6', 'b', 9, 0,
1745  /* 84 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', '8', 'b', 9, 0,
1746  /* 95 */ 's', 'b', 'b', 'b', 9, 0,
1747  /* 101 */ 's', 'u', 'b', 'b', 9, 0,
1748  /* 107 */ 'a', 'd', 'c', 'b', 9, 0,
1749  /* 113 */ 'd', 'e', 'c', 'b', 9, 0,
1750  /* 119 */ 'i', 'n', 'c', 'b', 9, 0,
1751  /* 125 */ 'x', 'a', 'd', 'd', 'b', 9, 0,
1752  /* 132 */ 'a', 'n', 'd', 'b', 9, 0,
1753  /* 138 */ 'n', 'e', 'g', 'b', 9, 0,
1754  /* 144 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 'b', 9, 0,
1755  /* 154 */ 'j', 'b', 9, 0,
1756  /* 158 */ 's', 'a', 'l', 'b', 9, 0,
1757  /* 164 */ 'r', 'c', 'l', 'b', 9, 0,
1758  /* 170 */ 's', 'h', 'l', 'b', 9, 0,
1759  /* 176 */ 'r', 'o', 'l', 'b', 9, 0,
1760  /* 182 */ 'i', 'm', 'u', 'l', 'b', 9, 0,
1761  /* 189 */ 'i', 'n', 'b', 9, 0,
1762  /* 194 */ 'c', 'm', 'p', 'b', 9, 0,
1763  /* 200 */ 's', 'a', 'r', 'b', 9, 0,
1764  /* 206 */ 'r', 'c', 'r', 'b', 9, 0,
1765  /* 212 */ 's', 'h', 'r', 'b', 9, 0,
1766  /* 218 */ 'r', 'o', 'r', 'b', 9, 0,
1767  /* 224 */ 'x', 'o', 'r', 'b', 9, 0,
1768  /* 230 */ 's', 'c', 'a', 's', 'b', 9, 0,
1769  /* 237 */ 'm', 'o', 'v', 'a', 'b', 's', 'b', 9, 0,
1770  /* 246 */ 'l', 'o', 'd', 's', 'b', 9, 0,
1771  /* 253 */ 'c', 'm', 'p', 's', 'b', 9, 0,
1772  /* 260 */ 'o', 'u', 't', 's', 'b', 9, 0,
1773  /* 267 */ 'm', 'o', 'v', 's', 'b', 9, 0,
1774  /* 274 */ 's', 'e', 't', 'b', 9, 0,
1775  /* 280 */ 'n', 'o', 't', 'b', 9, 0,
1776  /* 286 */ 't', 'e', 's', 't', 'b', 9, 0,
1777  /* 293 */ 'i', 'd', 'i', 'v', 'b', 9, 0,
1778  /* 300 */ 'm', 'o', 'v', 'b', 9, 0,
1779  /* 306 */ 'c', 'l', 'w', 'b', 9, 0,
1780  /* 312 */ 'x', 's', 'a', 'v', 'e', 'c', 9, 0,
1781  /* 320 */ 'b', 'l', 'c', 'i', 'c', 9, 0,
1782  /* 327 */ 'b', 'l', 's', 'i', 'c', 9, 0,
1783  /* 334 */ 't', '1', 'm', 's', 'k', 'c', 9, 0,
1784  /* 342 */ 'a', 'a', 'd', 9, 0,
1785  /* 347 */ 'i', 'n', 'v', 'p', 'c', 'i', 'd', 9, 0,
1786  /* 356 */ 'i', 'n', 'v', 'v', 'p', 'i', 'd', 9, 0,
1787  /* 365 */ 'v', 'm', 'p', 't', 'r', 'l', 'd', 9, 0,
1788  /* 374 */ 'b', 'o', 'u', 'n', 'd', 9, 0,
1789  /* 381 */ 'j', 'a', 'e', 9, 0,
1790  /* 386 */ 's', 'e', 't', 'a', 'e', 9, 0,
1791  /* 393 */ 'j', 'b', 'e', 9, 0,
1792  /* 398 */ 's', 'e', 't', 'b', 'e', 9, 0,
1793  /* 405 */ 'j', 'g', 'e', 9, 0,
1794  /* 410 */ 's', 'e', 't', 'g', 'e', 9, 0,
1795  /* 417 */ 'j', 'e', 9, 0,
1796  /* 421 */ 'j', 'l', 'e', 9, 0,
1797  /* 426 */ 's', 'e', 't', 'l', 'e', 9, 0,
1798  /* 433 */ 'j', 'n', 'e', 9, 0,
1799  /* 438 */ 'l', 'o', 'o', 'p', 'n', 'e', 9, 0,
1800  /* 446 */ 's', 'e', 't', 'n', 'e', 9, 0,
1801  /* 453 */ 'l', 'o', 'o', 'p', 'e', 9, 0,
1802  /* 460 */ 's', 'e', 't', 'e', 9, 0,
1803  /* 466 */ 'x', 's', 'a', 'v', 'e', 9, 0,
1804  /* 473 */ 'j', 'g', 9, 0,
1805  /* 477 */ 'i', 'n', 'v', 'l', 'p', 'g', 9, 0,
1806  /* 485 */ 's', 'e', 't', 'g', 9, 0,
1807  /* 491 */ 'b', 'l', 'c', 'i', 9, 0,
1808  /* 497 */ 'b', 'l', 'c', 'm', 's', 'k', 9, 0,
1809  /* 505 */ 't', 'z', 'm', 's', 'k', 9, 0,
1810  /* 512 */ 'l', 'e', 'a', 'l', 9, 0,
1811  /* 518 */ 'c', 'm', 'o', 'v', 'a', 'l', 9, 0,
1812  /* 526 */ 's', 'b', 'b', 'l', 9, 0,
1813  /* 532 */ 'm', 'o', 'v', 's', 'b', 'l', 9, 0,
1814  /* 540 */ 's', 'u', 'b', 'l', 9, 0,
1815  /* 546 */ 'c', 'm', 'o', 'v', 'b', 'l', 9, 0,
1816  /* 554 */ 'm', 'o', 'v', 'z', 'b', 'l', 9, 0,
1817  /* 562 */ 'a', 'd', 'c', 'l', 9, 0,
1818  /* 568 */ 'd', 'e', 'c', 'l', 9, 0,
1819  /* 574 */ 'i', 'n', 'c', 'l', 9, 0,
1820  /* 580 */ 'b', 't', 'c', 'l', 9, 0,
1821  /* 586 */ 'v', 'm', 'r', 'e', 'a', 'd', 'l', 9, 0,
1822  /* 595 */ 'x', 'a', 'd', 'd', 'l', 9, 0,
1823  /* 602 */ 'r', 'd', 's', 'e', 'e', 'd', 'l', 9, 0,
1824  /* 611 */ 's', 'h', 'l', 'd', 'l', 9, 0,
1825  /* 618 */ 'r', 'd', 'r', 'a', 'n', 'd', 'l', 9, 0,
1826  /* 627 */ 's', 'h', 'r', 'd', 'l', 9, 0,
1827  /* 634 */ 'c', 'm', 'o', 'v', 'a', 'e', 'l', 9, 0,
1828  /* 643 */ 'c', 'm', 'o', 'v', 'b', 'e', 'l', 9, 0,
1829  /* 652 */ 'c', 'm', 'o', 'v', 'g', 'e', 'l', 9, 0,
1830  /* 661 */ 'c', 'm', 'o', 'v', 'l', 'e', 'l', 9, 0,
1831  /* 670 */ 'c', 'm', 'o', 'v', 'n', 'e', 'l', 9, 0,
1832  /* 679 */ 'r', 'd', 'f', 's', 'b', 'a', 's', 'e', 'l', 9, 0,
1833  /* 690 */ 'w', 'r', 'f', 's', 'b', 'a', 's', 'e', 'l', 9, 0,
1834  /* 701 */ 'r', 'd', 'g', 's', 'b', 'a', 's', 'e', 'l', 9, 0,
1835  /* 712 */ 'w', 'r', 'g', 's', 'b', 'a', 's', 'e', 'l', 9, 0,
1836  /* 723 */ 'v', 'm', 'w', 'r', 'i', 't', 'e', 'l', 9, 0,
1837  /* 733 */ 'c', 'm', 'o', 'v', 'e', 'l', 9, 0,
1838  /* 741 */ 'b', 's', 'f', 'l', 9, 0,
1839  /* 747 */ 'n', 'e', 'g', 'l', 9, 0,
1840  /* 753 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 'l', 9, 0,
1841  /* 763 */ 'c', 'm', 'o', 'v', 'g', 'l', 9, 0,
1842  /* 771 */ 'p', 'u', 's', 'h', 'l', 9, 0,
1843  /* 778 */ 'b', 'z', 'h', 'i', 'l', 9, 0,
1844  /* 785 */ 'b', 'l', 's', 'i', 'l', 9, 0,
1845  /* 792 */ 'j', 'l', 9, 0,
1846  /* 796 */ 'b', 'l', 's', 'm', 's', 'k', 'l', 9, 0,
1847  /* 805 */ 's', 'a', 'l', 'l', 9, 0,
1848  /* 811 */ 'r', 'c', 'l', 'l', 9, 0,
1849  /* 817 */ 's', 'h', 'l', 'l', 9, 0,
1850  /* 823 */ 'b', 'l', 'c', 'f', 'i', 'l', 'l', 9, 0,
1851  /* 832 */ 'b', 'l', 's', 'f', 'i', 'l', 'l', 9, 0,
1852  /* 841 */ 'l', 'c', 'a', 'l', 'l', 'l', 9, 0,
1853  /* 849 */ 'r', 'o', 'l', 'l', 9, 0,
1854  /* 855 */ 'l', 's', 'l', 'l', 9, 0,
1855  /* 861 */ 'i', 'm', 'u', 'l', 'l', 9, 0,
1856  /* 868 */ 'c', 'm', 'o', 'v', 'l', 'l', 9, 0,
1857  /* 876 */ 'a', 'n', 'd', 'n', 'l', 9, 0,
1858  /* 883 */ 'i', 'n', 'l', 9, 0,
1859  /* 888 */ 'c', 'm', 'o', 'v', 'n', 'o', 'l', 9, 0,
1860  /* 897 */ 'c', 'm', 'o', 'v', 'o', 'l', 9, 0,
1861  /* 905 */ 'b', 's', 'w', 'a', 'p', 'l', 9, 0,
1862  /* 913 */ 'p', 'd', 'e', 'p', 'l', 9, 0,
1863  /* 920 */ 'c', 'm', 'p', 'l', 9, 0,
1864  /* 926 */ 'l', 'j', 'm', 'p', 'l', 9, 0,
1865  /* 933 */ 'c', 'm', 'o', 'v', 'n', 'p', 'l', 9, 0,
1866  /* 942 */ 'n', 'o', 'p', 'l', 9, 0,
1867  /* 948 */ 'p', 'o', 'p', 'l', 9, 0,
1868  /* 954 */ 'a', 'r', 'p', 'l', 9, 0,
1869  /* 960 */ 'c', 'm', 'o', 'v', 'p', 'l', 9, 0,
1870  /* 968 */ 'l', 'a', 'r', 'l', 9, 0,
1871  /* 974 */ 's', 'a', 'r', 'l', 9, 0,
1872  /* 980 */ 'r', 'c', 'r', 'l', 9, 0,
1873  /* 986 */ 's', 'h', 'r', 'l', 9, 0,
1874  /* 992 */ 'r', 'o', 'r', 'l', 9, 0,
1875  /* 998 */ 'x', 'o', 'r', 'l', 9, 0,
1876  /* 1004 */ 'b', 's', 'r', 'l', 9, 0,
1877  /* 1010 */ 'b', 'l', 's', 'r', 'l', 9, 0,
1878  /* 1017 */ 'b', 't', 'r', 'l', 9, 0,
1879  /* 1023 */ 's', 't', 'r', 'l', 9, 0,
1880  /* 1029 */ 'b', 'e', 'x', 't', 'r', 'l', 9, 0,
1881  /* 1037 */ 's', 'c', 'a', 's', 'l', 9, 0,
1882  /* 1044 */ 'm', 'o', 'v', 'a', 'b', 's', 'l', 9, 0,
1883  /* 1053 */ 'l', 'd', 's', 'l', 9, 0,
1884  /* 1059 */ 'l', 'o', 'd', 's', 'l', 9, 0,
1885  /* 1066 */ 'l', 'e', 's', 'l', 9, 0,
1886  /* 1072 */ 'l', 'f', 's', 'l', 9, 0,
1887  /* 1078 */ 'l', 'g', 's', 'l', 9, 0,
1888  /* 1084 */ 'c', 'm', 'o', 'v', 'n', 's', 'l', 9, 0,
1889  /* 1093 */ 'c', 'm', 'p', 's', 'l', 9, 0,
1890  /* 1100 */ 'l', 's', 's', 'l', 9, 0,
1891  /* 1106 */ 'b', 't', 's', 'l', 9, 0,
1892  /* 1112 */ 'o', 'u', 't', 's', 'l', 9, 0,
1893  /* 1119 */ 'c', 'm', 'o', 'v', 's', 'l', 9, 0,
1894  /* 1127 */ 'b', 't', 'l', 9, 0,
1895  /* 1132 */ 'l', 'g', 'd', 't', 'l', 9, 0,
1896  /* 1139 */ 's', 'g', 'd', 't', 'l', 9, 0,
1897  /* 1146 */ 'l', 'i', 'd', 't', 'l', 9, 0,
1898  /* 1153 */ 's', 'i', 'd', 't', 'l', 9, 0,
1899  /* 1160 */ 's', 'l', 'd', 't', 'l', 9, 0,
1900  /* 1167 */ 'l', 'r', 'e', 't', 'l', 9, 0,
1901  /* 1174 */ 's', 'e', 't', 'l', 9, 0,
1902  /* 1180 */ 'l', 'z', 'c', 'n', 't', 'l', 9, 0,
1903  /* 1188 */ 't', 'z', 'c', 'n', 't', 'l', 9, 0,
1904  /* 1196 */ 'n', 'o', 't', 'l', 9, 0,
1905  /* 1202 */ 't', 'e', 's', 't', 'l', 9, 0,
1906  /* 1209 */ 'p', 'e', 'x', 't', 'l', 9, 0,
1907  /* 1216 */ 'i', 'd', 'i', 'v', 'l', 9, 0,
1908  /* 1223 */ 'm', 'o', 'v', 'l', 9, 0,
1909  /* 1229 */ 's', 'm', 's', 'w', 'l', 9, 0,
1910  /* 1236 */ 'm', 'o', 'v', 's', 'w', 'l', 9, 0,
1911  /* 1244 */ 'm', 'o', 'v', 'z', 'w', 'l', 9, 0,
1912  /* 1252 */ 'a', 'd', 'c', 'x', 'l', 9, 0,
1913  /* 1259 */ 's', 'h', 'l', 'x', 'l', 9, 0,
1914  /* 1266 */ 'm', 'u', 'l', 'x', 'l', 9, 0,
1915  /* 1273 */ 'a', 'd', 'o', 'x', 'l', 9, 0,
1916  /* 1280 */ 's', 'a', 'r', 'x', 'l', 9, 0,
1917  /* 1287 */ 's', 'h', 'r', 'x', 'l', 9, 0,
1918  /* 1294 */ 'r', 'o', 'r', 'x', 'l', 9, 0,
1919  /* 1301 */ 'a', 'a', 'm', 9, 0,
1920  /* 1306 */ 'v', 'm', 'x', 'o', 'n', 9, 0,
1921  /* 1313 */ 'j', 'o', 9, 0,
1922  /* 1317 */ 'j', 'n', 'o', 9, 0,
1923  /* 1322 */ 's', 'e', 't', 'n', 'o', 9, 0,
1924  /* 1329 */ 's', 'e', 't', 'o', 9, 0,
1925  /* 1335 */ 'j', 'p', 9, 0,
1926  /* 1339 */ 'r', 'e', 'x', '6', '4', 32, 'j', 'm', 'p', 9, 0,
1927  /* 1350 */ 'j', 'n', 'p', 9, 0,
1928  /* 1355 */ 's', 'e', 't', 'n', 'p', 9, 0,
1929  /* 1362 */ 'n', 'o', 'p', 9, 0,
1930  /* 1367 */ 'l', 'o', 'o', 'p', 9, 0,
1931  /* 1373 */ 's', 'e', 't', 'p', 9, 0,
1932  /* 1379 */ '#', 'E', 'H', '_', 'S', 'j', 'L', 'j', '_', 'S', 'e', 't', 'u', 'p', 9, 0,
1933  /* 1395 */ 'l', 'e', 'a', 'q', 9, 0,
1934  /* 1401 */ 'c', 'm', 'o', 'v', 'a', 'q', 9, 0,
1935  /* 1409 */ 's', 'b', 'b', 'q', 9, 0,
1936  /* 1415 */ 'm', 'o', 'v', 's', 'b', 'q', 9, 0,
1937  /* 1423 */ 's', 'u', 'b', 'q', 9, 0,
1938  /* 1429 */ 'c', 'm', 'o', 'v', 'b', 'q', 9, 0,
1939  /* 1437 */ 'm', 'o', 'v', 'z', 'b', 'q', 9, 0,
1940  /* 1445 */ 'a', 'd', 'c', 'q', 9, 0,
1941  /* 1451 */ 'd', 'e', 'c', 'q', 9, 0,
1942  /* 1457 */ 'i', 'n', 'c', 'q', 9, 0,
1943  /* 1463 */ 'b', 't', 'c', 'q', 9, 0,
1944  /* 1469 */ 'v', 'm', 'r', 'e', 'a', 'd', 'q', 9, 0,
1945  /* 1478 */ 'x', 'a', 'd', 'd', 'q', 9, 0,
1946  /* 1485 */ 'r', 'd', 's', 'e', 'e', 'd', 'q', 9, 0,
1947  /* 1494 */ 's', 'h', 'l', 'd', 'q', 9, 0,
1948  /* 1501 */ 'r', 'd', 'r', 'a', 'n', 'd', 'q', 9, 0,
1949  /* 1510 */ 's', 'h', 'r', 'd', 'q', 9, 0,
1950  /* 1517 */ 'c', 'm', 'o', 'v', 'a', 'e', 'q', 9, 0,
1951  /* 1526 */ 'c', 'm', 'o', 'v', 'b', 'e', 'q', 9, 0,
1952  /* 1535 */ 'c', 'm', 'o', 'v', 'g', 'e', 'q', 9, 0,
1953  /* 1544 */ 'c', 'm', 'o', 'v', 'l', 'e', 'q', 9, 0,
1954  /* 1553 */ 'c', 'm', 'o', 'v', 'n', 'e', 'q', 9, 0,
1955  /* 1562 */ 'r', 'd', 'f', 's', 'b', 'a', 's', 'e', 'q', 9, 0,
1956  /* 1573 */ 'w', 'r', 'f', 's', 'b', 'a', 's', 'e', 'q', 9, 0,
1957  /* 1584 */ 'r', 'd', 'g', 's', 'b', 'a', 's', 'e', 'q', 9, 0,
1958  /* 1595 */ 'w', 'r', 'g', 's', 'b', 'a', 's', 'e', 'q', 9, 0,
1959  /* 1606 */ 'v', 'm', 'w', 'r', 'i', 't', 'e', 'q', 9, 0,
1960  /* 1616 */ 'c', 'm', 'o', 'v', 'e', 'q', 9, 0,
1961  /* 1624 */ 'b', 's', 'f', 'q', 9, 0,
1962  /* 1630 */ 'n', 'e', 'g', 'q', 9, 0,
1963  /* 1636 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 'q', 9, 0,
1964  /* 1646 */ 'c', 'm', 'o', 'v', 'g', 'q', 9, 0,
1965  /* 1654 */ 'p', 'u', 's', 'h', 'q', 9, 0,
1966  /* 1661 */ 'b', 'z', 'h', 'i', 'q', 9, 0,
1967  /* 1668 */ 'b', 'l', 's', 'i', 'q', 9, 0,
1968  /* 1675 */ 'b', 'l', 's', 'm', 's', 'k', 'q', 9, 0,
1969  /* 1684 */ 's', 'a', 'l', 'q', 9, 0,
1970  /* 1690 */ 'r', 'c', 'l', 'q', 9, 0,
1971  /* 1696 */ 's', 'h', 'l', 'q', 9, 0,
1972  /* 1702 */ 'c', 'a', 'l', 'l', 'q', 9, 0,
1973  /* 1709 */ 'r', 'o', 'l', 'q', 9, 0,
1974  /* 1715 */ 'l', 's', 'l', 'q', 9, 0,
1975  /* 1721 */ 'm', 'o', 'v', 's', 'l', 'q', 9, 0,
1976  /* 1729 */ 'i', 'm', 'u', 'l', 'q', 9, 0,
1977  /* 1736 */ 'c', 'm', 'o', 'v', 'l', 'q', 9, 0,
1978  /* 1744 */ 'a', 'n', 'd', 'n', 'q', 9, 0,
1979  /* 1751 */ 'c', 'm', 'o', 'v', 'n', 'o', 'q', 9, 0,
1980  /* 1760 */ 'c', 'm', 'o', 'v', 'o', 'q', 9, 0,
1981  /* 1768 */ 'b', 's', 'w', 'a', 'p', 'q', 9, 0,
1982  /* 1776 */ 'p', 'd', 'e', 'p', 'q', 9, 0,
1983  /* 1783 */ 'c', 'm', 'p', 'q', 9, 0,
1984  /* 1789 */ 'c', 'm', 'o', 'v', 'n', 'p', 'q', 9, 0,
1985  /* 1798 */ 'p', 'o', 'p', 'q', 9, 0,
1986  /* 1804 */ 'c', 'm', 'o', 'v', 'p', 'q', 9, 0,
1987  /* 1812 */ 'l', 'a', 'r', 'q', 9, 0,
1988  /* 1818 */ 's', 'a', 'r', 'q', 9, 0,
1989  /* 1824 */ 'r', 'c', 'r', 'q', 9, 0,
1990  /* 1830 */ 's', 'h', 'r', 'q', 9, 0,
1991  /* 1836 */ 'r', 'o', 'r', 'q', 9, 0,
1992  /* 1842 */ 'x', 'o', 'r', 'q', 9, 0,
1993  /* 1848 */ 'b', 's', 'r', 'q', 9, 0,
1994  /* 1854 */ 'b', 'l', 's', 'r', 'q', 9, 0,
1995  /* 1861 */ 'b', 't', 'r', 'q', 9, 0,
1996  /* 1867 */ 's', 't', 'r', 'q', 9, 0,
1997  /* 1873 */ 'b', 'e', 'x', 't', 'r', 'q', 9, 0,
1998  /* 1881 */ 's', 'c', 'a', 's', 'q', 9, 0,
1999  /* 1888 */ 'm', 'o', 'v', 'a', 'b', 's', 'q', 9, 0,
2000  /* 1897 */ 'l', 'o', 'd', 's', 'q', 9, 0,
2001  /* 1904 */ 'l', 'f', 's', 'q', 9, 0,
2002  /* 1910 */ 'l', 'g', 's', 'q', 9, 0,
2003  /* 1916 */ 'c', 'm', 'o', 'v', 'n', 's', 'q', 9, 0,
2004  /* 1925 */ 'c', 'm', 'p', 's', 'q', 9, 0,
2005  /* 1932 */ 'l', 's', 's', 'q', 9, 0,
2006  /* 1938 */ 'b', 't', 's', 'q', 9, 0,
2007  /* 1944 */ 'c', 'm', 'o', 'v', 's', 'q', 9, 0,
2008  /* 1952 */ 'b', 't', 'q', 9, 0,
2009  /* 1957 */ 'l', 'g', 'd', 't', 'q', 9, 0,
2010  /* 1964 */ 's', 'g', 'd', 't', 'q', 9, 0,
2011  /* 1971 */ 'l', 'i', 'd', 't', 'q', 9, 0,
2012  /* 1978 */ 's', 'i', 'd', 't', 'q', 9, 0,
2013  /* 1985 */ 's', 'l', 'd', 't', 'q', 9, 0,
2014  /* 1992 */ 'l', 'r', 'e', 't', 'q', 9, 0,
2015  /* 1999 */ 'l', 'z', 'c', 'n', 't', 'q', 9, 0,
2016  /* 2007 */ 't', 'z', 'c', 'n', 't', 'q', 9, 0,
2017  /* 2015 */ 'n', 'o', 't', 'q', 9, 0,
2018  /* 2021 */ 't', 'e', 's', 't', 'q', 9, 0,
2019  /* 2028 */ 'p', 'e', 'x', 't', 'q', 9, 0,
2020  /* 2035 */ 'i', 'd', 'i', 'v', 'q', 9, 0,
2021  /* 2042 */ 'm', 'o', 'v', 'q', 9, 0,
2022  /* 2048 */ 's', 'm', 's', 'w', 'q', 9, 0,
2023  /* 2055 */ 'm', 'o', 'v', 's', 'w', 'q', 9, 0,
2024  /* 2063 */ 'm', 'o', 'v', 'z', 'w', 'q', 9, 0,
2025  /* 2071 */ 'a', 'd', 'c', 'x', 'q', 9, 0,
2026  /* 2078 */ 's', 'h', 'l', 'x', 'q', 9, 0,
2027  /* 2085 */ 'm', 'u', 'l', 'x', 'q', 9, 0,
2028  /* 2092 */ 'a', 'd', 'o', 'x', 'q', 9, 0,
2029  /* 2099 */ 's', 'a', 'r', 'x', 'q', 9, 0,
2030  /* 2106 */ 's', 'h', 'r', 'x', 'q', 9, 0,
2031  /* 2113 */ 'r', 'o', 'r', 'x', 'q', 9, 0,
2032  /* 2120 */ 'v', 'm', 'c', 'l', 'e', 'a', 'r', 9, 0,
2033  /* 2129 */ 'e', 'n', 't', 'e', 'r', 9, 0,
2034  /* 2136 */ 'x', 'r', 's', 't', 'o', 'r', 9, 0,
2035  /* 2144 */ 'v', 'e', 'r', 'r', 9, 0,
2036  /* 2150 */ 'b', 'e', 'x', 't', 'r', 9, 0,
2037  /* 2157 */ 'b', 'l', 'c', 's', 9, 0,
2038  /* 2163 */ 'x', 's', 'a', 'v', 'e', 's', 9, 0,
2039  /* 2171 */ 'j', 's', 9, 0,
2040  /* 2175 */ 'j', 'n', 's', 9, 0,
2041  /* 2180 */ 's', 'e', 't', 'n', 's', 9, 0,
2042  /* 2187 */ 'x', 'r', 's', 't', 'o', 'r', 's', 9, 0,
2043  /* 2196 */ 's', 'e', 't', 's', 9, 0,
2044  /* 2202 */ 'i', 'n', 't', 9, 0,
2045  /* 2207 */ 'i', 'n', 'v', 'e', 'p', 't', 9, 0,
2046  /* 2215 */ 'x', 's', 'a', 'v', 'e', 'o', 'p', 't', 9, 0,
2047  /* 2225 */ 'c', 'l', 'f', 'l', 'u', 's', 'h', 'o', 'p', 't', 9, 0,
2048  /* 2237 */ 'v', 'm', 'p', 't', 'r', 's', 't', 9, 0,
2049  /* 2246 */ 'l', 'e', 'a', 'w', 9, 0,
2050  /* 2252 */ 'c', 'm', 'o', 'v', 'a', 'w', 9, 0,
2051  /* 2260 */ 's', 'b', 'b', 'w', 9, 0,
2052  /* 2266 */ 'm', 'o', 'v', 's', 'b', 'w', 9, 0,
2053  /* 2274 */ 's', 'u', 'b', 'w', 9, 0,
2054  /* 2280 */ 'c', 'm', 'o', 'v', 'b', 'w', 9, 0,
2055  /* 2288 */ 'm', 'o', 'v', 'z', 'b', 'w', 9, 0,
2056  /* 2296 */ 'a', 'd', 'c', 'w', 9, 0,
2057  /* 2302 */ 'd', 'e', 'c', 'w', 9, 0,
2058  /* 2308 */ 'i', 'n', 'c', 'w', 9, 0,
2059  /* 2314 */ 'b', 't', 'c', 'w', 9, 0,
2060  /* 2320 */ 'x', 'a', 'd', 'd', 'w', 9, 0,
2061  /* 2327 */ 'r', 'd', 's', 'e', 'e', 'd', 'w', 9, 0,
2062  /* 2336 */ 's', 'h', 'l', 'd', 'w', 9, 0,
2063  /* 2343 */ 'r', 'd', 'r', 'a', 'n', 'd', 'w', 9, 0,
2064  /* 2352 */ 's', 'h', 'r', 'd', 'w', 9, 0,
2065  /* 2359 */ 'c', 'm', 'o', 'v', 'a', 'e', 'w', 9, 0,
2066  /* 2368 */ 'c', 'm', 'o', 'v', 'b', 'e', 'w', 9, 0,
2067  /* 2377 */ 'c', 'm', 'o', 'v', 'g', 'e', 'w', 9, 0,
2068  /* 2386 */ 'c', 'm', 'o', 'v', 'l', 'e', 'w', 9, 0,
2069  /* 2395 */ 'c', 'm', 'o', 'v', 'n', 'e', 'w', 9, 0,
2070  /* 2404 */ 'c', 'm', 'o', 'v', 'e', 'w', 9, 0,
2071  /* 2412 */ 'b', 's', 'f', 'w', 9, 0,
2072  /* 2418 */ 'n', 'e', 'g', 'w', 9, 0,
2073  /* 2424 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 'w', 9, 0,
2074  /* 2434 */ 'c', 'm', 'o', 'v', 'g', 'w', 9, 0,
2075  /* 2442 */ 'p', 'u', 's', 'h', 'w', 9, 0,
2076  /* 2449 */ 's', 'a', 'l', 'w', 9, 0,
2077  /* 2455 */ 'r', 'c', 'l', 'w', 9, 0,
2078  /* 2461 */ 's', 'h', 'l', 'w', 9, 0,
2079  /* 2467 */ 'l', 'c', 'a', 'l', 'l', 'w', 9, 0,
2080  /* 2475 */ 'r', 'o', 'l', 'w', 9, 0,
2081  /* 2481 */ 'l', 's', 'l', 'w', 9, 0,
2082  /* 2487 */ 'i', 'm', 'u', 'l', 'w', 9, 0,
2083  /* 2494 */ 'c', 'm', 'o', 'v', 'l', 'w', 9, 0,
2084  /* 2502 */ 'i', 'n', 'w', 9, 0,
2085  /* 2507 */ 'c', 'm', 'o', 'v', 'n', 'o', 'w', 9, 0,
2086  /* 2516 */ 'c', 'm', 'o', 'v', 'o', 'w', 9, 0,
2087  /* 2524 */ 'c', 'm', 'p', 'w', 9, 0,
2088  /* 2530 */ 'l', 'j', 'm', 'p', 'w', 9, 0,
2089  /* 2537 */ 'c', 'm', 'o', 'v', 'n', 'p', 'w', 9, 0,
2090  /* 2546 */ 'n', 'o', 'p', 'w', 9, 0,
2091  /* 2552 */ 'p', 'o', 'p', 'w', 9, 0,
2092  /* 2558 */ 'c', 'm', 'o', 'v', 'p', 'w', 9, 0,
2093  /* 2566 */ 'l', 'a', 'r', 'w', 9, 0,
2094  /* 2572 */ 's', 'a', 'r', 'w', 9, 0,
2095  /* 2578 */ 'r', 'c', 'r', 'w', 9, 0,
2096  /* 2584 */ 'v', 'e', 'r', 'w', 9, 0,
2097  /* 2590 */ 's', 'h', 'r', 'w', 9, 0,
2098  /* 2596 */ 'r', 'o', 'r', 'w', 9, 0,
2099  /* 2602 */ 'x', 'o', 'r', 'w', 9, 0,
2100  /* 2608 */ 'b', 's', 'r', 'w', 9, 0,
2101  /* 2614 */ 'b', 't', 'r', 'w', 9, 0,
2102  /* 2620 */ 'l', 't', 'r', 'w', 9, 0,
2103  /* 2626 */ 's', 't', 'r', 'w', 9, 0,
2104  /* 2632 */ 's', 'c', 'a', 's', 'w', 9, 0,
2105  /* 2639 */ 'm', 'o', 'v', 'a', 'b', 's', 'w', 9, 0,
2106  /* 2648 */ 'l', 'd', 's', 'w', 9, 0,
2107  /* 2654 */ 'l', 'o', 'd', 's', 'w', 9, 0,
2108  /* 2661 */ 'l', 'e', 's', 'w', 9, 0,
2109  /* 2667 */ 'l', 'f', 's', 'w', 9, 0,
2110  /* 2673 */ 'l', 'g', 's', 'w', 9, 0,
2111  /* 2679 */ 'c', 'm', 'o', 'v', 'n', 's', 'w', 9, 0,
2112  /* 2688 */ 'c', 'm', 'p', 's', 'w', 9, 0,
2113  /* 2695 */ 'l', 's', 's', 'w', 9, 0,
2114  /* 2701 */ 'b', 't', 's', 'w', 9, 0,
2115  /* 2707 */ 'o', 'u', 't', 's', 'w', 9, 0,
2116  /* 2714 */ 'c', 'm', 'o', 'v', 's', 'w', 9, 0,
2117  /* 2722 */ 'b', 't', 'w', 9, 0,
2118  /* 2727 */ 'l', 'g', 'd', 't', 'w', 9, 0,
2119  /* 2734 */ 's', 'g', 'd', 't', 'w', 9, 0,
2120  /* 2741 */ 'l', 'i', 'd', 't', 'w', 9, 0,
2121  /* 2748 */ 's', 'i', 'd', 't', 'w', 9, 0,
2122  /* 2755 */ 'l', 'l', 'd', 't', 'w', 9, 0,
2123  /* 2762 */ 's', 'l', 'd', 't', 'w', 9, 0,
2124  /* 2769 */ 'l', 'r', 'e', 't', 'w', 9, 0,
2125  /* 2776 */ 'l', 'z', 'c', 'n', 't', 'w', 9, 0,
2126  /* 2784 */ 't', 'z', 'c', 'n', 't', 'w', 9, 0,
2127  /* 2792 */ 'n', 'o', 't', 'w', 9, 0,
2128  /* 2798 */ 't', 'e', 's', 't', 'w', 9, 0,
2129  /* 2805 */ 'i', 'd', 'i', 'v', 'w', 9, 0,
2130  /* 2812 */ 'm', 'o', 'v', 'w', 9, 0,
2131  /* 2818 */ 'l', 'm', 's', 'w', 'w', 9, 0,
2132  /* 2825 */ 's', 'm', 's', 'w', 'w', 9, 0,
2133  /* 2832 */ 'j', 'e', 'c', 'x', 'z', 9, 0,
2134  /* 2839 */ 'j', 'c', 'x', 'z', 9, 0,
2135  /* 2845 */ 'j', 'r', 'c', 'x', 'z', 9, 0,
2136  /* 2852 */ 's', 'a', 'l', 'b', 9, '$', '1', ',', 32, 0,
2137  /* 2862 */ 'r', 'c', 'l', 'b', 9, '$', '1', ',', 32, 0,
2138  /* 2872 */ 's', 'h', 'l', 'b', 9, '$', '1', ',', 32, 0,
2139  /* 2882 */ 'r', 'o', 'l', 'b', 9, '$', '1', ',', 32, 0,
2140  /* 2892 */ 's', 'a', 'r', 'b', 9, '$', '1', ',', 32, 0,
2141  /* 2902 */ 'r', 'c', 'r', 'b', 9, '$', '1', ',', 32, 0,
2142  /* 2912 */ 's', 'h', 'r', 'b', 9, '$', '1', ',', 32, 0,
2143  /* 2922 */ 'r', 'o', 'r', 'b', 9, '$', '1', ',', 32, 0,
2144  /* 2932 */ 's', 'a', 'l', 'l', 9, '$', '1', ',', 32, 0,
2145  /* 2942 */ 'r', 'c', 'l', 'l', 9, '$', '1', ',', 32, 0,
2146  /* 2952 */ 's', 'h', 'l', 'l', 9, '$', '1', ',', 32, 0,
2147  /* 2962 */ 'r', 'o', 'l', 'l', 9, '$', '1', ',', 32, 0,
2148  /* 2972 */ 's', 'a', 'r', 'l', 9, '$', '1', ',', 32, 0,
2149  /* 2982 */ 'r', 'c', 'r', 'l', 9, '$', '1', ',', 32, 0,
2150  /* 2992 */ 's', 'h', 'r', 'l', 9, '$', '1', ',', 32, 0,
2151  /* 3002 */ 'r', 'o', 'r', 'l', 9, '$', '1', ',', 32, 0,
2152  /* 3012 */ 's', 'a', 'l', 'q', 9, '$', '1', ',', 32, 0,
2153  /* 3022 */ 'r', 'c', 'l', 'q', 9, '$', '1', ',', 32, 0,
2154  /* 3032 */ 's', 'h', 'l', 'q', 9, '$', '1', ',', 32, 0,
2155  /* 3042 */ 'r', 'o', 'l', 'q', 9, '$', '1', ',', 32, 0,
2156  /* 3052 */ 's', 'a', 'r', 'q', 9, '$', '1', ',', 32, 0,
2157  /* 3062 */ 'r', 'c', 'r', 'q', 9, '$', '1', ',', 32, 0,
2158  /* 3072 */ 's', 'h', 'r', 'q', 9, '$', '1', ',', 32, 0,
2159  /* 3082 */ 'r', 'o', 'r', 'q', 9, '$', '1', ',', 32, 0,
2160  /* 3092 */ 's', 'a', 'l', 'w', 9, '$', '1', ',', 32, 0,
2161  /* 3102 */ 'r', 'c', 'l', 'w', 9, '$', '1', ',', 32, 0,
2162  /* 3112 */ 's', 'h', 'l', 'w', 9, '$', '1', ',', 32, 0,
2163  /* 3122 */ 'r', 'o', 'l', 'w', 9, '$', '1', ',', 32, 0,
2164  /* 3132 */ 's', 'a', 'r', 'w', 9, '$', '1', ',', 32, 0,
2165  /* 3142 */ 'r', 'c', 'r', 'w', 9, '$', '1', ',', 32, 0,
2166  /* 3152 */ 's', 'h', 'r', 'w', 9, '$', '1', ',', 32, 0,
2167  /* 3162 */ 'r', 'o', 'r', 'w', 9, '$', '1', ',', 32, 0,
2168  /* 3172 */ 'm', 'o', 'v', 'a', 'b', 's', 'b', 9, '%', 'a', 'l', ',', 32, 0,
2169  /* 3186 */ 's', 't', 'o', 's', 'b', 9, '%', 'a', 'l', ',', 32, 0,
2170  /* 3198 */ 'o', 'u', 't', 'b', 9, '%', 'a', 'l', ',', 32, 0,
2171  /* 3209 */ 'm', 'o', 'v', 'b', 9, '%', 'a', 'l', ',', 32, 0,
2172  /* 3220 */ 's', 'a', 'l', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2173  /* 3231 */ 'r', 'c', 'l', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2174  /* 3242 */ 's', 'h', 'l', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2175  /* 3253 */ 'r', 'o', 'l', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2176  /* 3264 */ 's', 'a', 'r', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2177  /* 3275 */ 'r', 'c', 'r', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2178  /* 3286 */ 's', 'h', 'r', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2179  /* 3297 */ 'r', 'o', 'r', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2180  /* 3308 */ 's', 'h', 'l', 'd', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2181  /* 3320 */ 's', 'h', 'r', 'd', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2182  /* 3332 */ 's', 'a', 'l', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2183  /* 3343 */ 'r', 'c', 'l', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2184  /* 3354 */ 's', 'h', 'l', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2185  /* 3365 */ 'r', 'o', 'l', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2186  /* 3376 */ 's', 'a', 'r', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2187  /* 3387 */ 'r', 'c', 'r', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2188  /* 3398 */ 's', 'h', 'r', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2189  /* 3409 */ 'r', 'o', 'r', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2190  /* 3420 */ 's', 'h', 'l', 'd', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2191  /* 3432 */ 's', 'h', 'r', 'd', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2192  /* 3444 */ 's', 'a', 'l', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2193  /* 3455 */ 'r', 'c', 'l', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2194  /* 3466 */ 's', 'h', 'l', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2195  /* 3477 */ 'r', 'o', 'l', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2196  /* 3488 */ 's', 'a', 'r', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2197  /* 3499 */ 'r', 'c', 'r', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2198  /* 3510 */ 's', 'h', 'r', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2199  /* 3521 */ 'r', 'o', 'r', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2200  /* 3532 */ 's', 'h', 'l', 'd', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2201  /* 3544 */ 's', 'h', 'r', 'd', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2202  /* 3556 */ 's', 'a', 'l', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2203  /* 3567 */ 'r', 'c', 'l', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2204  /* 3578 */ 's', 'h', 'l', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2205  /* 3589 */ 'r', 'o', 'l', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2206  /* 3600 */ 's', 'a', 'r', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2207  /* 3611 */ 'r', 'c', 'r', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2208  /* 3622 */ 's', 'h', 'r', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2209  /* 3633 */ 'r', 'o', 'r', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2210  /* 3644 */ 'm', 'o', 'v', 'a', 'b', 's', 'w', 9, '%', 'a', 'x', ',', 32, 0,
2211  /* 3658 */ 's', 't', 'o', 's', 'w', 9, '%', 'a', 'x', ',', 32, 0,
2212  /* 3670 */ 'o', 'u', 't', 'w', 9, '%', 'a', 'x', ',', 32, 0,
2213  /* 3681 */ 'm', 'o', 'v', 'w', 9, '%', 'a', 'x', ',', 32, 0,
2214  /* 3692 */ 'm', 'o', 'v', 'a', 'b', 's', 'l', 9, '%', 'e', 'a', 'x', ',', 32, 0,
2215  /* 3707 */ 's', 't', 'o', 's', 'l', 9, '%', 'e', 'a', 'x', ',', 32, 0,
2216  /* 3720 */ 'o', 'u', 't', 'l', 9, '%', 'e', 'a', 'x', ',', 32, 0,
2217  /* 3732 */ 'm', 'o', 'v', 'l', 9, '%', 'e', 'a', 'x', ',', 32, 0,
2218  /* 3744 */ 'm', 'o', 'v', 'a', 'b', 's', 'q', 9, '%', 'r', 'a', 'x', ',', 32, 0,
2219  /* 3759 */ 's', 't', 'o', 's', 'q', 9, '%', 'r', 'a', 'x', ',', 32, 0,
2220  /* 3772 */ 'm', 'o', 'v', 'q', 9, '%', 'r', 'a', 'x', ',', 32, 0,
2221  /* 3784 */ 'i', 'n', 's', 'b', 9, '%', 'd', 'x', ',', 32, 0,
2222  /* 3795 */ 'i', 'n', 's', 'l', 9, '%', 'd', 'x', ',', 32, 0,
2223  /* 3806 */ 'i', 'n', 's', 'w', 9, '%', 'd', 'x', ',', 32, 0,
2224  /* 3817 */ '#', 'V', 'A', 'A', 'R', 'G', '_', '6', '4', 32, 0,
2225  /* 3828 */ 'r', 'e', 't', 9, '#', 'e', 'h', '_', 'r', 'e', 't', 'u', 'r', 'n', ',', 32, 'a', 'd', 'd', 'r', ':', 32, 0,
2226  /* 3851 */ '#', 'S', 'E', 'H', '_', 'S', 'a', 'v', 'e', 'X', 'M', 'M', 32, 0,
2227  /* 3865 */ '#', 'V', 'A', 'S', 'T', 'A', 'R', 'T', '_', 'S', 'A', 'V', 'E', '_', 'X', 'M', 'M', '_', 'R', 'E', 'G', 'S', 32, 0,
2228  /* 3889 */ '#', 'S', 'E', 'H', '_', 'S', 't', 'a', 'c', 'k', 'A', 'l', 'l', 'o', 'c', 32, 0,
2229  /* 3906 */ '#', 'S', 'E', 'H', '_', 'P', 'u', 's', 'h', 'F', 'r', 'a', 'm', 'e', 32, 0,
2230  /* 3922 */ '#', 'S', 'E', 'H', '_', 'S', 'e', 't', 'F', 'r', 'a', 'm', 'e', 32, 0,
2231  /* 3937 */ '#', 'S', 'E', 'H', '_', 'S', 'a', 'v', 'e', 'R', 'e', 'g', 32, 0,
2232  /* 3951 */ '#', 'S', 'E', 'H', '_', 'P', 'u', 's', 'h', 'R', 'e', 'g', 32, 0,
2233  /* 3965 */ '#', 'R', 'E', 'L', 'E', 'A', 'S', 'E', '_', 'M', 'O', 'V', 32, 'P', 'S', 'E', 'U', 'D', 'O', 32, '!', 0,
2234  /* 3987 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'R', 'F', 'P', '8', '0', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2235  /* 4008 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'V', '4', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2236  /* 4029 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'V', '1', '6', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2237  /* 4051 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'V', '8', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2238  /* 4072 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'R', 'F', 'P', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2239  /* 4093 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'F', 'R', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2240  /* 4113 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'G', 'R', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2241  /* 4133 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'V', '2', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2242  /* 4154 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'V', '4', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2243  /* 4175 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'V', '8', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2244  /* 4196 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'V', '2', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2245  /* 4217 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'V', '4', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2246  /* 4238 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'V', '8', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2247  /* 4259 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'R', 'F', 'P', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2248  /* 4280 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'F', 'R', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2249  /* 4300 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'G', 'R', '1', '6', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2250  /* 4320 */ '#', 'C', 'M', 'O', 'V', '_', '_', 'G', 'R', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2251  /* 4339 */ '#', 'R', 'E', 'L', 'E', 'A', 'S', 'E', '_', 'B', 'I', 'N', 'O', 'P', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2252  /* 4362 */ '#', 'R', 'E', 'L', 'E', 'A', 'S', 'E', '_', 'U', 'N', 'O', 'P', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2253  /* 4384 */ '#', 'A', 'C', 'Q', 'U', 'I', 'R', 'E', '_', 'M', 'O', 'V', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2254  /* 4405 */ '#', 'R', 'E', 'L', 'E', 'A', 'S', 'E', '_', 'M', 'O', 'V', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2255  /* 4426 */ 'l', 'c', 'a', 'l', 'l', 'l', 9, '*', 0,
2256  /* 4435 */ 'l', 'j', 'm', 'p', 'l', 9, '*', 0,
2257  /* 4443 */ 'l', 'c', 'a', 'l', 'l', 'q', 9, '*', 0,
2258  /* 4452 */ 'r', 'e', 'x', '6', '4', 32, 'j', 'm', 'p', 'q', 9, '*', 0,
2259  /* 4465 */ 'l', 'j', 'm', 'p', 'q', 9, '*', 0,
2260  /* 4473 */ 'l', 'c', 'a', 'l', 'l', 'w', 9, '*', 0,
2261  /* 4482 */ 'l', 'j', 'm', 'p', 'w', 9, '*', 0,
2262  /* 4490 */ 'x', 's', 'h', 'a', '1', 0,
2263  /* 4496 */ 'i', 'n', 't', '1', 0,
2264  /* 4501 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'L', 'O', 'N', 'G', 'J', 'M', 'P', '3', '2', 0,
2265  /* 4520 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'S', 'E', 'T', 'J', 'M', 'P', '3', '2', 0,
2266  /* 4538 */ '#', 32, 'T', 'L', 'S', 'C', 'a', 'l', 'l', '_', '3', '2', 0,
2267  /* 4551 */ '#', 32, 'T', 'L', 'S', '_', 'a', 'd', 'd', 'r', '3', '2', 0,
2268  /* 4564 */ '#', 32, 'T', 'L', 'S', '_', 'b', 'a', 's', 'e', '_', 'a', 'd', 'd', 'r', '3', '2', 0,
2269  /* 4582 */ 'u', 'd', '2', 0,
2270  /* 4586 */ 'i', 'n', 't', '3', 0,
2271  /* 4591 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'L', 'O', 'N', 'G', 'J', 'M', 'P', '6', '4', 0,
2272  /* 4610 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'S', 'E', 'T', 'J', 'M', 'P', '6', '4', 0,
2273  /* 4628 */ '#', 32, 'T', 'L', 'S', 'C', 'a', 'l', 'l', '_', '6', '4', 0,
2274  /* 4641 */ '#', 32, 'T', 'L', 'S', '_', 'a', 'd', 'd', 'r', '6', '4', 0,
2275  /* 4654 */ '#', 32, 'T', 'L', 'S', '_', 'b', 'a', 's', 'e', '_', 'a', 'd', 'd', 'r', '6', '4', 0,
2276  /* 4672 */ 'r', 'e', 'x', '6', '4', 0,
2277  /* 4678 */ 'd', 'a', 't', 'a', '1', '6', 0,
2278  /* 4685 */ 'x', 's', 'h', 'a', '2', '5', '6', 0,
2279  /* 4693 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
2280  /* 4706 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
2281  /* 4713 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
2282  /* 4723 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'D', 'O', 'W', 'N', 0,
2283  /* 4741 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'U', 'P', 0,
2284  /* 4757 */ '#', 'M', 'E', 'M', 'B', 'A', 'R', 'R', 'I', 'E', 'R', 0,
2285  /* 4769 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
2286  /* 4784 */ 'a', 'a', 'a', 0,
2287  /* 4788 */ 'd', 'a', 'a', 0,
2288  /* 4792 */ 'u', 'd', '2', 'b', 0,
2289  /* 4797 */ 'x', 'c', 'r', 'y', 'p', 't', 'e', 'c', 'b', 0,
2290  /* 4807 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 'f', 'b', 0,
2291  /* 4817 */ 'x', 'c', 'r', 'y', 'p', 't', 'o', 'f', 'b', 0,
2292  /* 4827 */ 'r', 'e', 'p', ';', 's', 't', 'o', 's', 'b', 0,
2293  /* 4837 */ 'r', 'e', 'p', ';', 'm', 'o', 'v', 's', 'b', 0,
2294  /* 4847 */ 'x', 'l', 'a', 't', 'b', 0,
2295  /* 4853 */ 'c', 'l', 'a', 'c', 0,
2296  /* 4858 */ 's', 't', 'a', 'c', 0,
2297  /* 4863 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 'b', 'c', 0,
2298  /* 4873 */ 'g', 'e', 't', 's', 'e', 'c', 0,
2299  /* 4880 */ 's', 'a', 'l', 'c', 0,
2300  /* 4885 */ 'c', 'l', 'c', 0,
2301  /* 4889 */ 'c', 'm', 'c', 0,
2302  /* 4893 */ 'r', 'd', 'p', 'm', 'c', 0,
2303  /* 4899 */ 'v', 'm', 'f', 'u', 'n', 'c', 0,
2304  /* 4906 */ 'r', 'd', 't', 's', 'c', 0,
2305  /* 4912 */ 's', 't', 'c', 0,
2306  /* 4916 */ 'c', 'p', 'u', 'i', 'd', 0,
2307  /* 4922 */ 'c', 'l', 'd', 0,
2308  /* 4926 */ 'c', 'l', 't', 'd', 0,
2309  /* 4931 */ 's', 't', 'd', 0,
2310  /* 4935 */ 'c', 'w', 't', 'd', 0,
2311  /* 4940 */ 'w', 'b', 'i', 'n', 'v', 'd', 0,
2312  /* 4947 */ 'v', 'm', 'r', 'e', 's', 'u', 'm', 'e', 0,
2313  /* 4956 */ 'r', 'e', 'p', 'n', 'e', 0,
2314  /* 4962 */ 'x', 's', 't', 'o', 'r', 'e', 0,
2315  /* 4969 */ '#', 'S', 'E', 'H', '_', 'E', 'p', 'i', 'l', 'o', 'g', 'u', 'e', 0,
2316  /* 4983 */ '#', 'S', 'E', 'H', '_', 'E', 'n', 'd', 'P', 'r', 'o', 'l', 'o', 'g', 'u', 'e', 0,
2317  /* 5000 */ 'l', 'e', 'a', 'v', 'e', 0,
2318  /* 5006 */ 'v', 'm', 'x', 'o', 'f', 'f', 0,
2319  /* 5013 */ 'l', 'a', 'h', 'f', 0,
2320  /* 5018 */ 's', 'a', 'h', 'f', 0,
2321  /* 5023 */ 'v', 'm', 'l', 'a', 'u', 'n', 'c', 'h', 0,
2322  /* 5032 */ 'c', 'l', 'g', 'i', 0,
2323  /* 5037 */ 's', 't', 'g', 'i', 0,
2324  /* 5042 */ 'c', 'l', 'i', 0,
2325  /* 5046 */ 's', 't', 'i', 0,
2326  /* 5050 */ '#', 32, 'w', 'i', 'n', '3', '2', 32, 'f', 'p', 't', 'o', 'u', 'i', 0,
2327  /* 5065 */ 'l', 'o', 'c', 'k', 0,
2328  /* 5070 */ 'i', 'n', 'b', 9, '%', 'd', 'x', ',', 32, '%', 'a', 'l', 0,
2329  /* 5083 */ 'p', 'u', 's', 'h', 'a', 'l', 0,
2330  /* 5090 */ 'p', 'o', 'p', 'a', 'l', 0,
2331  /* 5096 */ 'p', 'u', 's', 'h', 'f', 'l', 0,
2332  /* 5103 */ 'p', 'o', 'p', 'f', 'l', 0,
2333  /* 5109 */ 'v', 'm', 'm', 'c', 'a', 'l', 'l', 0,
2334  /* 5117 */ 'v', 'm', 'c', 'a', 'l', 'l', 0,
2335  /* 5124 */ 's', 'y', 's', 'c', 'a', 'l', 'l', 0,
2336  /* 5132 */ 'r', 'e', 'p', ';', 's', 't', 'o', 's', 'l', 0,
2337  /* 5142 */ 'r', 'e', 'p', ';', 'm', 'o', 'v', 's', 'l', 0,
2338  /* 5152 */ 'i', 'r', 'e', 't', 'l', 0,
2339  /* 5158 */ 'l', 'r', 'e', 't', 'l', 0,
2340  /* 5164 */ 's', 'y', 's', 'r', 'e', 't', 'l', 0,
2341  /* 5172 */ 's', 'y', 's', 'e', 'x', 'i', 't', 'l', 0,
2342  /* 5181 */ 'c', 'w', 't', 'l', 0,
2343  /* 5186 */ 'm', 'o', 'n', 't', 'm', 'u', 'l', 0,
2344  /* 5194 */ 'f', 's', 'e', 't', 'p', 'm', 0,
2345  /* 5201 */ 'r', 's', 'm', 0,
2346  /* 5205 */ '#', 32, 'd', 'y', 'n', 'a', 'm', 'i', 'c', 32, 's', 't', 'a', 'c', 'k', 32, 'a', 'l', 'l', 'o', 'c', 'a', 't', 'i', 'o', 'n', 0,
2347  /* 5232 */ 'i', 'n', 't', 'o', 0,
2348  /* 5237 */ 'c', 'q', 't', 'o', 0,
2349  /* 5242 */ 'r', 'd', 't', 's', 'c', 'p', 0,
2350  /* 5249 */ 'r', 'e', 'p', 0,
2351  /* 5253 */ 'n', 'o', 'p', 0,
2352  /* 5257 */ 'p', 'u', 's', 'h', 'f', 'q', 0,
2353  /* 5264 */ 'p', 'o', 'p', 'f', 'q', 0,
2354  /* 5270 */ 'r', 'e', 'p', ';', 's', 't', 'o', 's', 'q', 0,
2355  /* 5280 */ 'r', 'e', 'p', ';', 'm', 'o', 'v', 's', 'q', 0,
2356  /* 5290 */ 'i', 'r', 'e', 't', 'q', 0,
2357  /* 5296 */ 'l', 'r', 'e', 't', 'q', 0,
2358  /* 5302 */ 's', 'y', 's', 'r', 'e', 't', 'q', 0,
2359  /* 5310 */ 's', 'y', 's', 'e', 'x', 'i', 't', 'q', 0,
2360  /* 5319 */ 'c', 'l', 't', 'q', 0,
2361  /* 5324 */ 's', 'y', 's', 'e', 'n', 't', 'e', 'r', 0,
2362  /* 5333 */ 'r', 'd', 'm', 's', 'r', 0,
2363  /* 5339 */ 'w', 'r', 'm', 's', 'r', 0,
2364  /* 5345 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 't', 'r', 0,
2365  /* 5355 */ 'a', 'a', 's', 0,
2366  /* 5359 */ 'd', 'a', 's', 0,
2367  /* 5363 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'c', 's', 0,
2368  /* 5373 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'c', 's', 0,
2369  /* 5383 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'd', 's', 0,
2370  /* 5393 */ 'p', 'o', 'p', 'l', 9, '%', 'd', 's', 0,
2371  /* 5402 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'd', 's', 0,
2372  /* 5412 */ 'p', 'o', 'p', 'w', 9, '%', 'd', 's', 0,
2373  /* 5421 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'e', 's', 0,
2374  /* 5431 */ 'p', 'o', 'p', 'l', 9, '%', 'e', 's', 0,
2375  /* 5440 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'e', 's', 0,
2376  /* 5450 */ 'p', 'o', 'p', 'w', 9, '%', 'e', 's', 0,
2377  /* 5459 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'f', 's', 0,
2378  /* 5469 */ 'p', 'o', 'p', 'l', 9, '%', 'f', 's', 0,
2379  /* 5478 */ 'p', 'u', 's', 'h', 'q', 9, '%', 'f', 's', 0,
2380  /* 5488 */ 'p', 'o', 'p', 'q', 9, '%', 'f', 's', 0,
2381  /* 5497 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'f', 's', 0,
2382  /* 5507 */ 'p', 'o', 'p', 'w', 9, '%', 'f', 's', 0,
2383  /* 5516 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'g', 's', 0,
2384  /* 5526 */ 'p', 'o', 'p', 'l', 9, '%', 'g', 's', 0,
2385  /* 5535 */ 'p', 'u', 's', 'h', 'q', 9, '%', 'g', 's', 0,
2386  /* 5545 */ 'p', 'o', 'p', 'q', 9, '%', 'g', 's', 0,
2387  /* 5554 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'g', 's', 0,
2388  /* 5564 */ 'p', 'o', 'p', 'w', 9, '%', 'g', 's', 0,
2389  /* 5573 */ 's', 'w', 'a', 'p', 'g', 's', 0,
2390  /* 5580 */ '#', 32, 'v', 'a', 'r', 'i', 'a', 'b', 'l', 'e', 32, 's', 'i', 'z', 'e', 'd', 32, 'a', 'l', 'l', 'o', 'c', 'a', 32, 'f', 'o', 'r', 32, 's', 'e', 'g', 'm', 'e', 'n', 't', 'e', 'd', 32, 's', 't', 'a', 'c', 'k', 's', 0,
2391  /* 5625 */ 'p', 'u', 's', 'h', 'l', 9, '%', 's', 's', 0,
2392  /* 5635 */ 'p', 'o', 'p', 'l', 9, '%', 's', 's', 0,
2393  /* 5644 */ 'p', 'u', 's', 'h', 'w', 9, '%', 's', 's', 0,
2394  /* 5654 */ 'p', 'o', 'p', 'w', 9, '%', 's', 's', 0,
2395  /* 5663 */ 'c', 'l', 't', 's', 0,
2396  /* 5668 */ 'p', 'c', 'o', 'm', 'm', 'i', 't', 0,
2397  /* 5676 */ 'h', 'l', 't', 0,
2398  /* 5680 */ 'x', 'g', 'e', 't', 'b', 'v', 0,
2399  /* 5687 */ 'x', 's', 'e', 't', 'b', 'v', 0,
2400  /* 5694 */ 'p', 'u', 's', 'h', 'a', 'w', 0,
2401  /* 5701 */ 'p', 'o', 'p', 'a', 'w', 0,
2402  /* 5707 */ 'p', 'u', 's', 'h', 'f', 'w', 0,
2403  /* 5714 */ 'p', 'o', 'p', 'f', 'w', 0,
2404  /* 5720 */ 'r', 'e', 'p', ';', 's', 't', 'o', 's', 'w', 0,
2405  /* 5730 */ 'r', 'e', 'p', ';', 'm', 'o', 'v', 's', 'w', 0,
2406  /* 5740 */ 'c', 'b', 't', 'w', 0,
2407  /* 5745 */ 'i', 'r', 'e', 't', 'w', 0,
2408  /* 5751 */ 'l', 'r', 'e', 't', 'w', 0,
2409  /* 5757 */ 'i', 'n', 'w', 9, '%', 'd', 'x', ',', 32, '%', 'a', 'x', 0,
2410  /* 5770 */ 'v', 'm', 'l', 'o', 'a', 'd', 9, '%', 'e', 'a', 'x', 0,
2411  /* 5782 */ 'v', 'm', 's', 'a', 'v', 'e', 9, '%', 'e', 'a', 'x', 0,
2412  /* 5794 */ 'v', 'm', 'r', 'u', 'n', 9, '%', 'e', 'a', 'x', 0,
2413  /* 5805 */ 's', 'k', 'i', 'n', 'i', 't', 9, '%', 'e', 'a', 'x', 0,
2414  /* 5817 */ 'i', 'n', 'v', 'l', 'p', 'g', 'a', 9, '%', 'e', 'c', 'x', ',', 32, '%', 'e', 'a', 'x', 0,
2415  /* 5836 */ 'i', 'n', 'l', 9, '%', 'd', 'x', ',', 32, '%', 'e', 'a', 'x', 0,
2416  /* 5850 */ 'v', 'm', 'l', 'o', 'a', 'd', 9, '%', 'r', 'a', 'x', 0,
2417  /* 5862 */ 'v', 'm', 's', 'a', 'v', 'e', 9, '%', 'r', 'a', 'x', 0,
2418  /* 5874 */ 'v', 'm', 'r', 'u', 'n', 9, '%', 'r', 'a', 'x', 0,
2419  /* 5885 */ 'i', 'n', 'v', 'l', 'p', 'g', 'a', 9, '%', 'e', 'c', 'x', ',', 32, '%', 'r', 'a', 'x', 0,
2420  /* 5904 */ 'o', 'u', 't', 'b', 9, '%', 'a', 'l', ',', 32, '%', 'd', 'x', 0,
2421  /* 5918 */ 'o', 'u', 't', 'w', 9, '%', 'a', 'x', ',', 32, '%', 'd', 'x', 0,
2422  /* 5932 */ 'o', 'u', 't', 'l', 9, '%', 'e', 'a', 'x', ',', 32, '%', 'd', 'x', 0,
2423  };
2424 #endif
2425 
2426  // Emit the opcode for the instruction.
2427  uint32_t Bits = OpInfo[MCInst_getOpcode(MI)];
2428  // assert(Bits != 0 && "Cannot print this instruction.");
2429 #ifndef CAPSTONE_DIET
2430  SStream_concat0(O, AsmStrs+(Bits & 8191)-1);
2431 #endif
2432 
2433 
2434  // Fragment 0 encoded into 6 bits for 41 unique commands.
2435  //printf("Frag-0: %"PRIu64"\n", (Bits >> 13) & 63);
2436  switch ((Bits >> 13) & 63) {
2437  default: // llvm_unreachable("Invalid command number.");
2438  case 0:
2439  // DBG_VALUE, BUNDLE, LIFETIME_START, LIFETIME_END, AAA, AAS, ACQUIRE_MOV...
2440  return;
2441  break;
2442  case 1:
2443  // AAD8i8, AAM8i8, ADC16i16, ADC32i32, ADC64i32, ADC8i8, ADD16i16, ADD32i...
2444  printOperand(MI, 0, O);
2445  break;
2446  case 2:
2447  // ADC16mi, ADC16mi8, ADC16mr, ADC32mi, ADC32mi8, ADC32mr, ADC64mi32, ADC...
2448  printOperand(MI, 5, O);
2449  SStream_concat0(O, ", ");
2450  break;
2451  case 3:
2452  // ADC16ri, ADC16ri8, ADC16rr, ADC16rr_REV, ADC32ri, ADC32ri8, ADC32rr, A...
2453  printOperand(MI, 2, O);
2454  SStream_concat0(O, ", ");
2455  break;
2456  case 4:
2457  // ADC16rm, ADD16rm, AND16rm, CMOVA16rm, CMOVAE16rm, CMOVB16rm, CMOVBE16r...
2458  printi16mem(MI, 2, O);
2459  SStream_concat0(O, ", ");
2460  break;
2461  case 5:
2462  // ADC32rm, ADCX32rm, ADD32rm, AND32rm, ANDN32rm, CMOVA32rm, CMOVAE32rm, ...
2463  printi32mem(MI, 2, O);
2464  SStream_concat0(O, ", ");
2465  break;
2466  case 6:
2467  // ADC64rm, ADCX64rm, ADD64rm, AND64rm, ANDN64rm, CMOVA64rm, CMOVAE64rm, ...
2468  printi64mem(MI, 2, O);
2469  SStream_concat0(O, ", ");
2470  break;
2471  case 7:
2472  // ADC8rm, ADD8rm, AND8rm, OR8rm, SBB8rm, SUB8rm, XOR8rm
2473  printi8mem(MI, 2, O);
2474  SStream_concat0(O, ", ");
2475  printOperand(MI, 1, O);
2476  return;
2477  break;
2478  case 8:
2479  // ADOX32rm, BLCFILL32rm, BLCI32rm, BLCIC32rm, BLCMSK32rm, BLCS32rm, BLSF...
2480  printi32mem(MI, 1, O);
2481  SStream_concat0(O, ", ");
2482  printOperand(MI, 0, O);
2483  return;
2484  break;
2485  case 9:
2486  // ADOX32rr, ADOX64rr, ARPL16rr, BLCFILL32rr, BLCFILL64rr, BLCI32rr, BLCI...
2487  printOperand(MI, 1, O);
2488  break;
2489  case 10:
2490  // ADOX64rm, BLCFILL64rm, BLCI64rm, BLCIC64rm, BLCMSK64rm, BLCS64rm, BLSF...
2491  printi64mem(MI, 1, O);
2492  SStream_concat0(O, ", ");
2493  printOperand(MI, 0, O);
2494  return;
2495  break;
2496  case 11:
2497  // BEXTR32rm, BEXTR64rm, BEXTRI32mi, BEXTRI64mi, BZHI32rm, BZHI64rm, IMUL...
2498  printOperand(MI, 6, O);
2499  SStream_concat0(O, ", ");
2500  break;
2501  case 12:
2502  // BSF16rm, BSR16rm, CMP16rm, LAR16rm, LAR32rm, LAR64rm, LSL16rm, LZCNT16...
2503  printi16mem(MI, 1, O);
2504  SStream_concat0(O, ", ");
2505  printOperand(MI, 0, O);
2506  return;
2507  break;
2508  case 13:
2509  // CALL16m, DEC16m, DIV16m, IDIV16m, IMUL16m, INC16m, JMP16m, LLDT16m, LM...
2510  printi16mem(MI, 0, O);
2511  return;
2512  break;
2513  case 14:
2514  // CALL32m, DEC32m, DIV32m, IDIV32m, IMUL32m, INC32m, JMP32m, LOCK_DEC32m...
2515  printi32mem(MI, 0, O);
2516  return;
2517  break;
2518  case 15:
2519  // CALL64m, CMPXCHG8B, DEC64m, DIV64m, IDIV64m, IMUL64m, INC64m, JMP64m, ...
2520  printi64mem(MI, 0, O);
2521  return;
2522  break;
2523  case 16:
2524  // CALL64pcrel32, CALLpcrel16, CALLpcrel32, EH_SjLj_Setup, JAE_1, JAE_2, ...
2525  printPCRelImm(MI, 0, O);
2526  return;
2527  break;
2528  case 17:
2529  // CLFLUSHOPT, CLWB, DEC8m, DIV8m, IDIV8m, IMUL8m, INC8m, INVLPG, LOCK_DE...
2530  printi8mem(MI, 0, O);
2531  return;
2532  break;
2533  case 18:
2534  // CMP8rm, MOV8rm, MOV8rm_NOREX, MOVSX16rm8, MOVSX32_NOREXrm8, MOVSX32rm8...
2535  printi8mem(MI, 1, O);
2536  SStream_concat0(O, ", ");
2537  printOperand(MI, 0, O);
2538  return;
2539  break;
2540  case 19:
2541  // CMPSB, INSB, SCASB, STOSB
2542  printDstIdx8(MI, 0, O);
2543  break;
2544  case 20:
2545  // CMPSL, INSL, SCASL, STOSL
2546  printDstIdx32(MI, 0, O);
2547  break;
2548  case 21:
2549  // CMPSQ, SCASQ, STOSQ
2550  printDstIdx64(MI, 0, O);
2551  break;
2552  case 22:
2553  // CMPSW, INSW, SCASW, STOSW
2554  printDstIdx16(MI, 0, O);
2555  break;
2556  case 23:
2557  // CMPXCHG16B, LCMPXCHG16B
2558  printi128mem(MI, 0, O);
2559  return;
2560  break;
2561  case 24:
2562  // FARCALL16m, FARCALL32m, FARCALL64, FARJMP16m, FARJMP32m, FARJMP64, LGD...
2563  printopaquemem(MI, 0, O);
2564  return;
2565  break;
2566  case 25:
2567  // INVEPT32, INVEPT64, INVPCID32, INVPCID64, INVVPID32, INVVPID64
2568  printi128mem(MI, 1, O);
2569  SStream_concat0(O, ", ");
2570  printOperand(MI, 0, O);
2571  return;
2572  break;
2573  case 26:
2574  // LDS16rm, LDS32rm, LES16rm, LES32rm, LFS16rm, LFS32rm, LFS64rm, LGS16rm...
2575  printopaquemem(MI, 1, O);
2576  SStream_concat0(O, ", ");
2577  printOperand(MI, 0, O);
2578  return;
2579  break;
2580  case 27:
2581  // LEA16r, LEA32r, LEA64_32r, LEA64r
2582  printanymem(MI, 1, O);
2583  SStream_concat0(O, ", ");
2584  printOperand(MI, 0, O);
2585  return;
2586  break;
2587  case 28:
2588  // LODSB, OUTSB
2589  printSrcIdx8(MI, 0, O);
2590  break;
2591  case 29:
2592  // LODSL, OUTSL
2593  printSrcIdx32(MI, 0, O);
2594  break;
2595  case 30:
2596  // LODSQ
2597  printSrcIdx64(MI, 0, O);
2598  SStream_concat0(O, ", %rax");
2599  op_addReg(MI, X86_REG_RAX);
2600  return;
2601  break;
2602  case 31:
2603  // LODSW, OUTSW
2604  printSrcIdx16(MI, 0, O);
2605  break;
2606  case 32:
2607  // MOV16ao16, MOV16ao32, MOV16ao64, MOV16o16a, MOV16o32a, MOV16o64a
2608  printMemOffs16(MI, 0, O);
2609  break;
2610  case 33:
2611  // MOV32ao16, MOV32ao32, MOV32ao64, MOV32o16a, MOV32o32a, MOV32o64a
2612  printMemOffs32(MI, 0, O);
2613  break;
2614  case 34:
2615  // MOV64ao32, MOV64ao64, MOV64o32a, MOV64o64a
2616  printMemOffs64(MI, 0, O);
2617  break;
2618  case 35:
2619  // MOV8ao16, MOV8ao32, MOV8ao64, MOV8o16a, MOV8o32a, MOV8o64a
2620  printMemOffs8(MI, 0, O);
2621  break;
2622  case 36:
2623  // MOVSB
2624  printSrcIdx8(MI, 1, O);
2625  SStream_concat0(O, ", ");
2626  printDstIdx8(MI, 0, O);
2627  return;
2628  break;
2629  case 37:
2630  // MOVSL
2631  printSrcIdx32(MI, 1, O);
2632  SStream_concat0(O, ", ");
2633  printDstIdx32(MI, 0, O);
2634  return;
2635  break;
2636  case 38:
2637  // MOVSQ
2638  printSrcIdx64(MI, 1, O);
2639  SStream_concat0(O, ", ");
2640  printDstIdx64(MI, 0, O);
2641  return;
2642  break;
2643  case 39:
2644  // MOVSW
2645  printSrcIdx16(MI, 1, O);
2646  SStream_concat0(O, ", ");
2647  printDstIdx16(MI, 0, O);
2648  return;
2649  break;
2650  case 40:
2651  // SHLD16rri8, SHLD32rri8, SHLD64rri8, SHRD16rri8, SHRD32rri8, SHRD64rri8
2652  printOperand(MI, 3, O);
2653  SStream_concat0(O, ", ");
2654  printOperand(MI, 2, O);
2655  SStream_concat0(O, ", ");
2656  printOperand(MI, 0, O);
2657  return;
2658  break;
2659  }
2660 
2661 
2662  // Fragment 1 encoded into 5 bits for 18 unique commands.
2663  //printf("Frag-1: %"PRIu64"\n", (Bits >> 19) & 31);
2664  switch ((Bits >> 19) & 31) {
2665  default: // llvm_unreachable("Invalid command number.");
2666  case 0:
2667  // AAD8i8, AAM8i8, BSWAP32r, BSWAP64r, CALL16r, CALL32r, CALL64r, DEC16r,...
2668  return;
2669  break;
2670  case 1:
2671  // ADC16i16, ADD16i16, AND16i16, CMP16i16, IN16ri, LODSW, MOV16ao16, MOV1...
2672  SStream_concat0(O, ", %ax");
2673  op_addReg(MI, X86_REG_AX);
2674  return;
2675  break;
2676  case 2:
2677  // ADC16mi, ADC16mi8, ADC16mr, ADD16mi, ADD16mi8, ADD16mr, AND16mi, AND16...
2678  printi16mem(MI, 0, O);
2679  return;
2680  break;
2681  case 3:
2682  // ADC16ri, ADC16ri8, ADC16rm, ADC16rr, ADC32ri, ADC32ri8, ADC32rm, ADC32...
2683  printOperand(MI, 1, O);
2684  break;
2685  case 4:
2686  // ADC16rr_REV, ADC32rr_REV, ADC64rr_REV, ADC8rr_REV, ADCX32rm, ADCX32rr,...
2687  printOperand(MI, 0, O);
2688  return;
2689  break;
2690  case 5:
2691  // ADC32i32, ADD32i32, AND32i32, CMP32i32, IN32ri, LODSL, MOV32ao16, MOV3...
2692  SStream_concat0(O, ", %eax");
2693  op_addReg(MI, X86_REG_EAX);
2694  return;
2695  break;
2696  case 6:
2697  // ADC32mi, ADC32mi8, ADC32mr, ADD32mi, ADD32mi8, ADD32mr, AND32mi, AND32...
2698  printi32mem(MI, 0, O);
2699  return;
2700  break;
2701  case 7:
2702  // ADC64i32, ADD64i32, AND64i32, CMP64i32, MOV64ao32, MOV64ao64, OR64i32,...
2703  SStream_concat0(O, ", %rax");
2704  op_addReg(MI, X86_REG_RAX);
2705  return;
2706  break;
2707  case 8:
2708  // ADC64mi32, ADC64mi8, ADC64mr, ADD64mi32, ADD64mi8, ADD64mr, AND64mi32,...
2709  printi64mem(MI, 0, O);
2710  return;
2711  break;
2712  case 9:
2713  // ADC8i8, ADD8i8, AND8i8, CMP8i8, IN8ri, LODSB, MOV8ao16, MOV8ao32, MOV8...
2714  SStream_concat0(O, ", %al");
2715  op_addReg(MI, X86_REG_AL);
2716  return;
2717  break;
2718  case 10:
2719  // ADC8mi, ADC8mi8, ADC8mr, ADD8mi, ADD8mi8, ADD8mr, AND8mi, AND8mi8, AND...
2720  printi8mem(MI, 0, O);
2721  return;
2722  break;
2723  case 11:
2724  // ADOX32rr, ADOX64rr, ARPL16rr, BLCFILL32rr, BLCFILL64rr, BLCI32rr, BLCI...
2725  SStream_concat0(O, ", ");
2726  break;
2727  case 12:
2728  // BEXTR32rm, BEXTRI32mi, BZHI32rm, IMUL32rmi, IMUL32rmi8, RORX32mi, SARX...
2729  printi32mem(MI, 1, O);
2730  SStream_concat0(O, ", ");
2731  printOperand(MI, 0, O);
2732  return;
2733  break;
2734  case 13:
2735  // BEXTR64rm, BEXTRI64mi, BZHI64rm, IMUL64rmi32, IMUL64rmi8, RORX64mi, SA...
2736  printi64mem(MI, 1, O);
2737  SStream_concat0(O, ", ");
2738  printOperand(MI, 0, O);
2739  return;
2740  break;
2741  case 14:
2742  // FARCALL16i, FARCALL32i, FARJMP16i, FARJMP32i
2743  SStream_concat0(O, ":");
2744  printOperand(MI, 0, O);
2745  return;
2746  break;
2747  case 15:
2748  // IMUL16rmi, IMUL16rmi8
2749  printi16mem(MI, 1, O);
2750  SStream_concat0(O, ", ");
2751  printOperand(MI, 0, O);
2752  return;
2753  break;
2754  case 16:
2755  // OUTSB, OUTSL, OUTSW
2756  SStream_concat0(O, ", %dx");
2757  op_addReg(MI, X86_REG_DX);
2758  return;
2759  break;
2760  case 17:
2761  // SHLD16mri8, SHLD32mri8, SHLD64mri8, SHRD16mri8, SHRD32mri8, SHRD64mri8
2762  printOperand(MI, 5, O);
2763  SStream_concat0(O, ", ");
2764  break;
2765  }
2766 
2767 
2768  // Fragment 2 encoded into 5 bits for 20 unique commands.
2769  //printf("Frag-2: %"PRIu64"\n", (Bits >> 24) & 31);
2770  switch ((Bits >> 24) & 31) {
2771  default: // llvm_unreachable("Invalid command number.");
2772  case 0:
2773  // ADC16ri, ADC16ri8, ADC16rm, ADC16rr, ADC32ri, ADC32ri8, ADC32rm, ADC32...
2774  return;
2775  break;
2776  case 1:
2777  // ADOX32rr, ADOX64rr, ARPL16rr, BLCFILL32rr, BLCFILL64rr, BLCI32rr, BLCI...
2778  printOperand(MI, 0, O);
2779  return;
2780  break;
2781  case 2:
2782  // ANDN32rm, ANDN32rr, ANDN64rm, ANDN64rr, BEXTR32rr, BEXTR64rr, BEXTRI32...
2783  SStream_concat0(O, ", ");
2784  printOperand(MI, 0, O);
2785  return;
2786  break;
2787  case 3:
2788  // CMPSB
2789  printSrcIdx8(MI, 1, O);
2790  return;
2791  break;
2792  case 4:
2793  // CMPSL
2794  printSrcIdx32(MI, 1, O);
2795  return;
2796  break;
2797  case 5:
2798  // CMPSQ
2799  printSrcIdx64(MI, 1, O);
2800  return;
2801  break;
2802  case 6:
2803  // CMPSW
2804  printSrcIdx16(MI, 1, O);
2805  return;
2806  break;
2807  case 7:
2808  // ENTER, NOOP19rr, SEH_SaveReg, SEH_SaveXMM, SEH_SetFrame, VASTART_SAVE_...
2809  printOperand(MI, 1, O);
2810  break;
2811  case 8:
2812  // LXADD16, XCHG16rm
2813  printi16mem(MI, 2, O);
2814  return;
2815  break;
2816  case 9:
2817  // LXADD32, XCHG32rm
2818  printi32mem(MI, 2, O);
2819  return;
2820  break;
2821  case 10:
2822  // LXADD64, XCHG64rm
2823  printi64mem(MI, 2, O);
2824  return;
2825  break;
2826  case 11:
2827  // LXADD8, XCHG8rm
2828  printi8mem(MI, 2, O);
2829  return;
2830  break;
2831  case 12:
2832  // SHLD16mri8, SHRD16mri8
2833  printi16mem(MI, 0, O);
2834  return;
2835  break;
2836  case 13:
2837  // SHLD32mri8, SHRD32mri8
2838  printi32mem(MI, 0, O);
2839  return;
2840  break;
2841  case 14:
2842  // SHLD64mri8, SHRD64mri8
2843  printi64mem(MI, 0, O);
2844  return;
2845  break;
2846  case 15:
2847  // TEST16rm
2848  printi16mem(MI, 1, O);
2849  return;
2850  break;
2851  case 16:
2852  // TEST32rm
2853  printi32mem(MI, 1, O);
2854  return;
2855  break;
2856  case 17:
2857  // TEST64rm
2858  printi64mem(MI, 1, O);
2859  return;
2860  break;
2861  case 18:
2862  // TEST8rm, VAARG_64
2863  printi8mem(MI, 1, O);
2864  break;
2865  case 19:
2866  // XCHG16rr, XCHG32rr, XCHG64rr, XCHG8rr
2867  printOperand(MI, 2, O);
2868  return;
2869  break;
2870  }
2871 
2872 
2873  // Fragment 3 encoded into 1 bits for 2 unique commands.
2874  //printf("Frag-3: %"PRIu64"\n", (Bits >> 29) & 1);
2875  if ((Bits >> 29) & 1) {
2876  // VAARG_64, VASTART_SAVE_XMM_REGS
2877  SStream_concat0(O, ", ");
2878  } else {
2879  // ENTER, NOOP19rr, SEH_SaveReg, SEH_SaveXMM, SEH_SetFrame, TEST8rm
2880  return;
2881  }
2882 
2883 
2884  // Fragment 4 encoded into 1 bits for 2 unique commands.
2885  //printf("Frag-4: %"PRIu64"\n", (Bits >> 30) & 1);
2886  if ((Bits >> 30) & 1) {
2887  // VASTART_SAVE_XMM_REGS
2888  printOperand(MI, 2, O);
2889  return;
2890  } else {
2891  // VAARG_64
2892  printOperand(MI, 6, O);
2893  SStream_concat0(O, ", ");
2894  printOperand(MI, 7, O);
2895  SStream_concat0(O, ", ");
2896  printOperand(MI, 8, O);
2897  return;
2898  }
2899 }
2900 
2901 
2905 static const char *getRegisterName(unsigned RegNo)
2906 {
2907  // assert(RegNo && RegNo < 242 && "Invalid register number!");
2908 
2909 #ifndef CAPSTONE_DIET
2910  static const char AsmStrs[] = {
2911  /* 0 */ 's', 't', '(', '0', ')', 0,
2912  /* 6 */ 's', 't', '(', '1', ')', 0,
2913  /* 12 */ 's', 't', '(', '2', ')', 0,
2914  /* 18 */ 's', 't', '(', '3', ')', 0,
2915  /* 24 */ 's', 't', '(', '4', ')', 0,
2916  /* 30 */ 's', 't', '(', '5', ')', 0,
2917  /* 36 */ 's', 't', '(', '6', ')', 0,
2918  /* 42 */ 's', 't', '(', '7', ')', 0,
2919  /* 48 */ 'x', 'm', 'm', '1', '0', 0,
2920  /* 54 */ 'y', 'm', 'm', '1', '0', 0,
2921  /* 60 */ 'z', 'm', 'm', '1', '0', 0,
2922  /* 66 */ 'c', 'r', '1', '0', 0,
2923  /* 71 */ 'd', 'r', '1', '0', 0,
2924  /* 76 */ 'x', 'm', 'm', '2', '0', 0,
2925  /* 82 */ 'y', 'm', 'm', '2', '0', 0,
2926  /* 88 */ 'z', 'm', 'm', '2', '0', 0,
2927  /* 94 */ 'x', 'm', 'm', '3', '0', 0,
2928  /* 100 */ 'y', 'm', 'm', '3', '0', 0,
2929  /* 106 */ 'z', 'm', 'm', '3', '0', 0,
2930  /* 112 */ 'k', '0', 0,
2931  /* 115 */ 'x', 'm', 'm', '0', 0,
2932  /* 120 */ 'y', 'm', 'm', '0', 0,
2933  /* 125 */ 'z', 'm', 'm', '0', 0,
2934  /* 130 */ 'f', 'p', '0', 0,
2935  /* 134 */ 'c', 'r', '0', 0,
2936  /* 138 */ 'd', 'r', '0', 0,
2937  /* 142 */ 'x', 'm', 'm', '1', '1', 0,
2938  /* 148 */ 'y', 'm', 'm', '1', '1', 0,
2939  /* 154 */ 'z', 'm', 'm', '1', '1', 0,
2940  /* 160 */ 'c', 'r', '1', '1', 0,
2941  /* 165 */ 'd', 'r', '1', '1', 0,
2942  /* 170 */ 'x', 'm', 'm', '2', '1', 0,
2943  /* 176 */ 'y', 'm', 'm', '2', '1', 0,
2944  /* 182 */ 'z', 'm', 'm', '2', '1', 0,
2945  /* 188 */ 'x', 'm', 'm', '3', '1', 0,
2946  /* 194 */ 'y', 'm', 'm', '3', '1', 0,
2947  /* 200 */ 'z', 'm', 'm', '3', '1', 0,
2948  /* 206 */ 'k', '1', 0,
2949  /* 209 */ 'x', 'm', 'm', '1', 0,
2950  /* 214 */ 'y', 'm', 'm', '1', 0,
2951  /* 219 */ 'z', 'm', 'm', '1', 0,
2952  /* 224 */ 'f', 'p', '1', 0,
2953  /* 228 */ 'c', 'r', '1', 0,
2954  /* 232 */ 'd', 'r', '1', 0,
2955  /* 236 */ 'x', 'm', 'm', '1', '2', 0,
2956  /* 242 */ 'y', 'm', 'm', '1', '2', 0,
2957  /* 248 */ 'z', 'm', 'm', '1', '2', 0,
2958  /* 254 */ 'c', 'r', '1', '2', 0,
2959  /* 259 */ 'd', 'r', '1', '2', 0,
2960  /* 264 */ 'x', 'm', 'm', '2', '2', 0,
2961  /* 270 */ 'y', 'm', 'm', '2', '2', 0,
2962  /* 276 */ 'z', 'm', 'm', '2', '2', 0,
2963  /* 282 */ 'k', '2', 0,
2964  /* 285 */ 'x', 'm', 'm', '2', 0,
2965  /* 290 */ 'y', 'm', 'm', '2', 0,
2966  /* 295 */ 'z', 'm', 'm', '2', 0,
2967  /* 300 */ 'f', 'p', '2', 0,
2968  /* 304 */ 'c', 'r', '2', 0,
2969  /* 308 */ 'd', 'r', '2', 0,
2970  /* 312 */ 'x', 'm', 'm', '1', '3', 0,
2971  /* 318 */ 'y', 'm', 'm', '1', '3', 0,
2972  /* 324 */ 'z', 'm', 'm', '1', '3', 0,
2973  /* 330 */ 'c', 'r', '1', '3', 0,
2974  /* 335 */ 'd', 'r', '1', '3', 0,
2975  /* 340 */ 'x', 'm', 'm', '2', '3', 0,
2976  /* 346 */ 'y', 'm', 'm', '2', '3', 0,
2977  /* 352 */ 'z', 'm', 'm', '2', '3', 0,
2978  /* 358 */ 'k', '3', 0,
2979  /* 361 */ 'x', 'm', 'm', '3', 0,
2980  /* 366 */ 'y', 'm', 'm', '3', 0,
2981  /* 371 */ 'z', 'm', 'm', '3', 0,
2982  /* 376 */ 'f', 'p', '3', 0,
2983  /* 380 */ 'c', 'r', '3', 0,
2984  /* 384 */ 'd', 'r', '3', 0,
2985  /* 388 */ 'x', 'm', 'm', '1', '4', 0,
2986  /* 394 */ 'y', 'm', 'm', '1', '4', 0,
2987  /* 400 */ 'z', 'm', 'm', '1', '4', 0,
2988  /* 406 */ 'c', 'r', '1', '4', 0,
2989  /* 411 */ 'd', 'r', '1', '4', 0,
2990  /* 416 */ 'x', 'm', 'm', '2', '4', 0,
2991  /* 422 */ 'y', 'm', 'm', '2', '4', 0,
2992  /* 428 */ 'z', 'm', 'm', '2', '4', 0,
2993  /* 434 */ 'k', '4', 0,
2994  /* 437 */ 'x', 'm', 'm', '4', 0,
2995  /* 442 */ 'y', 'm', 'm', '4', 0,
2996  /* 447 */ 'z', 'm', 'm', '4', 0,
2997  /* 452 */ 'f', 'p', '4', 0,
2998  /* 456 */ 'c', 'r', '4', 0,
2999  /* 460 */ 'd', 'r', '4', 0,
3000  /* 464 */ 'x', 'm', 'm', '1', '5', 0,
3001  /* 470 */ 'y', 'm', 'm', '1', '5', 0,
3002  /* 476 */ 'z', 'm', 'm', '1', '5', 0,
3003  /* 482 */ 'c', 'r', '1', '5', 0,
3004  /* 487 */ 'd', 'r', '1', '5', 0,
3005  /* 492 */ 'x', 'm', 'm', '2', '5', 0,
3006  /* 498 */ 'y', 'm', 'm', '2', '5', 0,
3007  /* 504 */ 'z', 'm', 'm', '2', '5', 0,
3008  /* 510 */ 'k', '5', 0,
3009  /* 513 */ 'x', 'm', 'm', '5', 0,
3010  /* 518 */ 'y', 'm', 'm', '5', 0,
3011  /* 523 */ 'z', 'm', 'm', '5', 0,
3012  /* 528 */ 'f', 'p', '5', 0,
3013  /* 532 */ 'c', 'r', '5', 0,
3014  /* 536 */ 'd', 'r', '5', 0,
3015  /* 540 */ 'x', 'm', 'm', '1', '6', 0,
3016  /* 546 */ 'y', 'm', 'm', '1', '6', 0,
3017  /* 552 */ 'z', 'm', 'm', '1', '6', 0,
3018  /* 558 */ 'x', 'm', 'm', '2', '6', 0,
3019  /* 564 */ 'y', 'm', 'm', '2', '6', 0,
3020  /* 570 */ 'z', 'm', 'm', '2', '6', 0,
3021  /* 576 */ 'k', '6', 0,
3022  /* 579 */ 'x', 'm', 'm', '6', 0,
3023  /* 584 */ 'y', 'm', 'm', '6', 0,
3024  /* 589 */ 'z', 'm', 'm', '6', 0,
3025  /* 594 */ 'f', 'p', '6', 0,
3026  /* 598 */ 'c', 'r', '6', 0,
3027  /* 602 */ 'd', 'r', '6', 0,
3028  /* 606 */ 'x', 'm', 'm', '1', '7', 0,
3029  /* 612 */ 'y', 'm', 'm', '1', '7', 0,
3030  /* 618 */ 'z', 'm', 'm', '1', '7', 0,
3031  /* 624 */ 'x', 'm', 'm', '2', '7', 0,
3032  /* 630 */ 'y', 'm', 'm', '2', '7', 0,
3033  /* 636 */ 'z', 'm', 'm', '2', '7', 0,
3034  /* 642 */ 'k', '7', 0,
3035  /* 645 */ 'x', 'm', 'm', '7', 0,
3036  /* 650 */ 'y', 'm', 'm', '7', 0,
3037  /* 655 */ 'z', 'm', 'm', '7', 0,
3038  /* 660 */ 'f', 'p', '7', 0,
3039  /* 664 */ 'c', 'r', '7', 0,
3040  /* 668 */ 'd', 'r', '7', 0,
3041  /* 672 */ 'x', 'm', 'm', '1', '8', 0,
3042  /* 678 */ 'y', 'm', 'm', '1', '8', 0,
3043  /* 684 */ 'z', 'm', 'm', '1', '8', 0,
3044  /* 690 */ 'x', 'm', 'm', '2', '8', 0,
3045  /* 696 */ 'y', 'm', 'm', '2', '8', 0,
3046  /* 702 */ 'z', 'm', 'm', '2', '8', 0,
3047  /* 708 */ 'x', 'm', 'm', '8', 0,
3048  /* 713 */ 'y', 'm', 'm', '8', 0,
3049  /* 718 */ 'z', 'm', 'm', '8', 0,
3050  /* 723 */ 'c', 'r', '8', 0,
3051  /* 727 */ 'd', 'r', '8', 0,
3052  /* 731 */ 'x', 'm', 'm', '1', '9', 0,
3053  /* 737 */ 'y', 'm', 'm', '1', '9', 0,
3054  /* 743 */ 'z', 'm', 'm', '1', '9', 0,
3055  /* 749 */ 'x', 'm', 'm', '2', '9', 0,
3056  /* 755 */ 'y', 'm', 'm', '2', '9', 0,
3057  /* 761 */ 'z', 'm', 'm', '2', '9', 0,
3058  /* 767 */ 'x', 'm', 'm', '9', 0,
3059  /* 772 */ 'y', 'm', 'm', '9', 0,
3060  /* 777 */ 'z', 'm', 'm', '9', 0,
3061  /* 782 */ 'c', 'r', '9', 0,
3062  /* 786 */ 'd', 'r', '9', 0,
3063  /* 790 */ 'r', '1', '0', 'b', 0,
3064  /* 795 */ 'r', '1', '1', 'b', 0,
3065  /* 800 */ 'r', '1', '2', 'b', 0,
3066  /* 805 */ 'r', '1', '3', 'b', 0,
3067  /* 810 */ 'r', '1', '4', 'b', 0,
3068  /* 815 */ 'r', '1', '5', 'b', 0,
3069  /* 820 */ 'r', '8', 'b', 0,
3070  /* 824 */ 'r', '9', 'b', 0,
3071  /* 828 */ 'r', '1', '0', 'd', 0,
3072  /* 833 */ 'r', '1', '1', 'd', 0,
3073  /* 838 */ 'r', '1', '2', 'd', 0,
3074  /* 843 */ 'r', '1', '3', 'd', 0,
3075  /* 848 */ 'r', '1', '4', 'd', 0,
3076  /* 853 */ 'r', '1', '5', 'd', 0,
3077  /* 858 */ 'r', '8', 'd', 0,
3078  /* 862 */ 'r', '9', 'd', 0,
3079  /* 866 */ 'a', 'h', 0,
3080  /* 869 */ 'b', 'h', 0,
3081  /* 872 */ 'c', 'h', 0,
3082  /* 875 */ 'd', 'h', 0,
3083  /* 878 */ 'e', 'd', 'i', 0,
3084  /* 882 */ 'r', 'd', 'i', 0,
3085  /* 886 */ 'e', 's', 'i', 0,
3086  /* 890 */ 'r', 's', 'i', 0,
3087  /* 894 */ 'a', 'l', 0,
3088  /* 897 */ 'b', 'l', 0,
3089  /* 900 */ 'c', 'l', 0,
3090  /* 903 */ 'd', 'l', 0,
3091  /* 906 */ 'd', 'i', 'l', 0,
3092  /* 910 */ 's', 'i', 'l', 0,
3093  /* 914 */ 'b', 'p', 'l', 0,
3094  /* 918 */ 's', 'p', 'l', 0,
3095  /* 922 */ 'e', 'b', 'p', 0,
3096  /* 926 */ 'r', 'b', 'p', 0,
3097  /* 930 */ 'e', 'i', 'p', 0,
3098  /* 934 */ 'r', 'i', 'p', 0,
3099  /* 938 */ 'e', 's', 'p', 0,
3100  /* 942 */ 'r', 's', 'p', 0,
3101  /* 946 */ 'c', 's', 0,
3102  /* 949 */ 'd', 's', 0,
3103  /* 952 */ 'e', 's', 0,
3104  /* 955 */ 'f', 's', 0,
3105  /* 958 */ 'f', 'l', 'a', 'g', 's', 0,
3106  /* 964 */ 's', 's', 0,
3107  /* 967 */ 'r', '1', '0', 'w', 0,
3108  /* 972 */ 'r', '1', '1', 'w', 0,
3109  /* 977 */ 'r', '1', '2', 'w', 0,
3110  /* 982 */ 'r', '1', '3', 'w', 0,
3111  /* 987 */ 'r', '1', '4', 'w', 0,
3112  /* 992 */ 'r', '1', '5', 'w', 0,
3113  /* 997 */ 'r', '8', 'w', 0,
3114  /* 1001 */ 'r', '9', 'w', 0,
3115  /* 1005 */ 'f', 'p', 's', 'w', 0,
3116  /* 1010 */ 'e', 'a', 'x', 0,
3117  /* 1014 */ 'r', 'a', 'x', 0,
3118  /* 1018 */ 'e', 'b', 'x', 0,
3119  /* 1022 */ 'r', 'b', 'x', 0,
3120  /* 1026 */ 'e', 'c', 'x', 0,
3121  /* 1030 */ 'r', 'c', 'x', 0,
3122  /* 1034 */ 'e', 'd', 'x', 0,
3123  /* 1038 */ 'r', 'd', 'x', 0,
3124  /* 1042 */ 'e', 'i', 'z', 0,
3125  /* 1046 */ 'r', 'i', 'z', 0,
3126  };
3127 
3128  static const uint16_t RegAsmOffset[] = {
3129  866, 894, 1011, 869, 897, 923, 914, 1019, 872, 900, 946, 1027, 875, 879,
3130  906, 903, 949, 1035, 1010, 922, 1018, 1026, 878, 1034, 958, 930, 1042, 952,
3131  886, 938, 1005, 955, 961, 931, 1014, 926, 1022, 1030, 882, 1038, 934, 1046,
3132  890, 942, 887, 910, 939, 918, 964, 134, 228, 304, 380, 456, 532, 598,
3133  664, 723, 782, 66, 160, 254, 330, 406, 482, 138, 232, 308, 384, 460,
3134  536, 602, 668, 727, 786, 71, 165, 259, 335, 411, 487, 130, 224, 300,
3135  376, 452, 528, 594, 660, 112, 206, 282, 358, 434, 510, 576, 642, 116,
3136  210, 286, 362, 438, 514, 580, 646, 724, 783, 67, 161, 255, 331, 407,
3137  483, 0, 6, 12, 18, 24, 30, 36, 42, 115, 209, 285, 361, 437,
3138  513, 579, 645, 708, 767, 48, 142, 236, 312, 388, 464, 540, 606, 672,
3139  731, 76, 170, 264, 340, 416, 492, 558, 624, 690, 749, 94, 188, 120,
3140  214, 290, 366, 442, 518, 584, 650, 713, 772, 54, 148, 242, 318, 394,
3141  470, 546, 612, 678, 737, 82, 176, 270, 346, 422, 498, 564, 630, 696,
3142  755, 100, 194, 125, 219, 295, 371, 447, 523, 589, 655, 718, 777, 60,
3143  154, 248, 324, 400, 476, 552, 618, 684, 743, 88, 182, 276, 352, 428,
3144  504, 570, 636, 702, 761, 106, 200, 820, 824, 790, 795, 800, 805, 810,
3145  815, 858, 862, 828, 833, 838, 843, 848, 853, 997, 1001, 967, 972, 977,
3146  982, 987, 992,
3147  };
3148 
3149  //int i;
3150  //for (i = 0; i < sizeof(RegAsmOffset)/2; i++)
3151  // printf("%s = %u\n", AsmStrs+RegAsmOffset[i], i + 1);
3152  //printf("*************************\n");
3153  return AsmStrs+RegAsmOffset[RegNo-1];
3154 #else
3155  return NULL;
3156 #endif
3157 }
3158 
3159 #ifdef PRINT_ALIAS_INSTR
3160 #undef PRINT_ALIAS_INSTR
3161 
3162 static void printCustomAliasOperand(MCInst *MI, unsigned OpIdx,
3163  unsigned PrintMethodIdx, SStream *OS)
3164 {
3165 }
3166 
3167 static char *printAliasInstr(MCInst *MI, SStream *OS, void *info)
3168 {
3169  #define GETREGCLASS_CONTAIN(_class, _reg) MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, _class), MCOperand_getReg(MCInst_getOperand(MI, _reg)))
3170  const char *AsmString;
3171  char *tmp, *AsmMnem, *AsmOps, *c;
3172  int OpIdx, PrintMethodIdx;
3173  switch (MCInst_getOpcode(MI)) {
3174  default: return NULL;
3175  case X86_AAD8i8:
3176  if (MCInst_getNumOperands(MI) == 1 &&
3178  MCOperand_getImm(MCInst_getOperand(MI, 0)) == 10) {
3179  // (AAD8i8 10)
3180  AsmString = "aad";
3181  break;
3182  }
3183  return NULL;
3184  case X86_AAM8i8:
3185  if (MCInst_getNumOperands(MI) == 1 &&
3187  MCOperand_getImm(MCInst_getOperand(MI, 0)) == 10) {
3188  // (AAM8i8 10)
3189  AsmString = "aam";
3190  break;
3191  }
3192  return NULL;
3193  case X86_XSTORE:
3194  if (MCInst_getNumOperands(MI) == 0) {
3195  // (XSTORE)
3196  AsmString = "xstorerng";
3197  break;
3198  }
3199  return NULL;
3200  }
3201 
3202  tmp = cs_strdup(AsmString);
3203  AsmMnem = tmp;
3204  for(AsmOps = tmp; *AsmOps; AsmOps++) {
3205  if (*AsmOps == ' ' || *AsmOps == '\t') {
3206  *AsmOps = '\0';
3207  AsmOps++;
3208  break;
3209  }
3210  }
3211  SStream_concat0(OS, AsmMnem);
3212  if (*AsmOps) {
3213  SStream_concat0(OS, "\t");
3214  for (c = AsmOps; *c; c++) {
3215  if (*c == '$') {
3216  c += 1;
3217  if (*c == (char)0xff) {
3218  c += 1;
3219  OpIdx = *c - 1;
3220  c += 1;
3221  PrintMethodIdx = *c - 1;
3222  printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, OS);
3223  } else
3224  printOperand(MI, *c - 1, OS);
3225  } else {
3226  SStream_concat(OS, "%c", *c);
3227  }
3228  }
3229  }
3230  return tmp;
3231 }
3232 
3233 #endif // PRINT_ALIAS_INSTR
unsigned MCInst_getOpcode(const MCInst *inst)
Definition: MCInst.c:68
unsigned MCInst_getNumOperands(const MCInst *inst)
Definition: MCInst.c:83
MCOperand * MCInst_getOperand(MCInst *inst, unsigned i)
Definition: MCInst.c:78
int64_t MCOperand_getImm(MCOperand *op)
Definition: MCInst.c:128
bool MCOperand_isImm(const MCOperand *op)
Definition: MCInst.c:106
void SStream_concat(SStream *ss, const char *fmt,...)
Definition: SStream.c:45
void SStream_concat0(SStream *ss, const char *s)
Definition: SStream.c:31
void op_addReg(MCInst *MI, int reg)
RzBinInfo * info(RzBinFile *bf)
Definition: bin_ne.c:86
@ X86_REG_AL
Definition: x86.h:21
@ X86_REG_EAX
Definition: x86.h:24
@ X86_REG_DX
Definition: x86.h:24
@ X86_REG_RAX
Definition: x86.h:27
@ X86_REG_AX
Definition: x86.h:21
#define NULL
Definition: cris-opc.c:27
@ OS
Definition: inflate.h:24
#define O
Definition: rcond.c:14
unsigned short uint16_t
Definition: sftypes.h:30
unsigned int uint32_t
Definition: sftypes.h:29
#define c(i)
Definition: sha256.c:43
Definition: MCInst.h:88
Definition: SStream.h:9
char * cs_strdup(const char *str)
Definition: utils.c:92