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
12/// printInstruction - This method is automatically generated by tablegen
13/// from the instruction set description.
14static 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
2902/// getRegisterName - This method is automatically generated by tblgen
2903/// from the register set description.  This returns the assembler name
2904/// for the specified register.
2905static 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
3162static void printCustomAliasOperand(MCInst *MI, unsigned OpIdx,
3163  unsigned PrintMethodIdx, SStream *OS)
3164{
3165}
3166
3167static 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 &&
3177        MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
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 &&
3186        MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
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
3234