• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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-2014 */
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    4533U,	// DBG_VALUE
29    0U,	// REG_SEQUENCE
30    0U,	// COPY
31    4526U,	// BUNDLE
32    4589U,	// LIFETIME_START
33    4513U,	// LIFETIME_END
34    0U,	// STACKMAP
35    0U,	// PATCHPOINT
36    0U,	// LOAD_STACK_GUARD
37    4604U,	// AAA
38    8459U,	// AAD8i8
39    9418U,	// AAM8i8
40    5175U,	// AAS
41    4217U,	// ACQUIRE_MOV16rm
42    4217U,	// ACQUIRE_MOV32rm
43    4217U,	// ACQUIRE_MOV64rm
44    4217U,	// ACQUIRE_MOV8rm
45    534694U,	// ADC16i16
46    1067174U,	// ADC16mi
47    1067174U,	// ADC16mi8
48    1067174U,	// ADC16mr
49    1599654U,	// ADC16ri
50    1599654U,	// ADC16ri8
51    1607846U,	// ADC16rm
52    1599654U,	// ADC16rr
53    2123942U,	// ADC16rr_REV
54    2630119U,	// ADC32i32
55    3162599U,	// ADC32mi
56    3162599U,	// ADC32mi8
57    3162599U,	// ADC32mr
58    1597927U,	// ADC32ri
59    1597927U,	// ADC32ri8
60    1614311U,	// ADC32rm
61    1597927U,	// ADC32rr
62    2122215U,	// ADC32rr_REV
63    3679572U,	// ADC64i32
64    4212052U,	// ADC64mi32
65    4212052U,	// ADC64mi8
66    4212052U,	// ADC64mr
67    1598804U,	// ADC64ri32
68    1598804U,	// ADC64ri8
69    1623380U,	// ADC64rm
70    1598804U,	// ADC64rr
71    2123092U,	// ADC64rr_REV
72    4726830U,	// ADC8i8
73    5259310U,	// ADC8mi
74    5259310U,	// ADC8mr
75    1597486U,	// ADC8ri
76    57390U,	// ADC8rm
77    1597486U,	// ADC8rr
78    2121774U,	// ADC8rr_REV
79    2139289U,	// ADCX32rm
80    2122905U,	// ADCX32rr
81    2148322U,	// ADCX64rm
82    2123746U,	// ADCX64rr
83    534719U,	// ADD16i16
84    1067199U,	// ADD16mi
85    1067199U,	// ADD16mi8
86    1067199U,	// ADD16mr
87    1599679U,	// ADD16ri
88    1599679U,	// ADD16ri8
89    0U,	// ADD16ri8_DB
90    0U,	// ADD16ri_DB
91    1607871U,	// ADD16rm
92    1599679U,	// ADD16rr
93    0U,	// ADD16rr_DB
94    2123967U,	// ADD16rr_REV
95    2630153U,	// ADD32i32
96    3162633U,	// ADD32mi
97    3162633U,	// ADD32mi8
98    3162633U,	// ADD32mr
99    1597961U,	// ADD32ri
100    1597961U,	// ADD32ri8
101    0U,	// ADD32ri8_DB
102    0U,	// ADD32ri_DB
103    1614345U,	// ADD32rm
104    1597961U,	// ADD32rr
105    0U,	// ADD32rr_DB
106    2122249U,	// ADD32rr_REV
107    3679606U,	// ADD64i32
108    4212086U,	// ADD64mi32
109    4212086U,	// ADD64mi8
110    4212086U,	// ADD64mr
111    1598838U,	// ADD64ri32
112    0U,	// ADD64ri32_DB
113    1598838U,	// ADD64ri8
114    0U,	// ADD64ri8_DB
115    1623414U,	// ADD64rm
116    1598838U,	// ADD64rr
117    0U,	// ADD64rr_DB
118    2123126U,	// ADD64rr_REV
119    4726849U,	// ADD8i8
120    5259329U,	// ADD8mi
121    5259329U,	// ADD8mr
122    1597505U,	// ADD8ri
123    1597505U,	// ADD8ri8
124    57409U,	// ADD8rm
125    1597505U,	// ADD8rr
126    2121793U,	// ADD8rr_REV
127    4543U,	// ADJCALLSTACKDOWN32
128    4543U,	// ADJCALLSTACKDOWN64
129    4561U,	// ADJCALLSTACKUP32
130    4561U,	// ADJCALLSTACKUP64
131    66734U,	// ADOX32rm
132    22619310U,	// ADOX32rr
133    83959U,	// ADOX64rm
134    22620151U,	// ADOX64rr
135    534744U,	// AND16i16
136    1067224U,	// AND16mi
137    1067224U,	// AND16mi8
138    1067224U,	// AND16mr
139    1599704U,	// AND16ri
140    1599704U,	// AND16ri8
141    1607896U,	// AND16rm
142    1599704U,	// AND16rr
143    2123992U,	// AND16rr_REV
144    2630178U,	// AND32i32
145    3162658U,	// AND32mi
146    3162658U,	// AND32mi8
147    3162658U,	// AND32mr
148    1597986U,	// AND32ri
149    1597986U,	// AND32ri8
150    1614370U,	// AND32rm
151    1597986U,	// AND32rr
152    2122274U,	// AND32rr_REV
153    3679631U,	// AND64i32
154    4212111U,	// AND64mi32
155    4212111U,	// AND64mi8
156    4212111U,	// AND64mr
157    1598863U,	// AND64ri32
158    1598863U,	// AND64ri8
159    1623439U,	// AND64rm
160    1598863U,	// AND64rr
161    2123151U,	// AND64rr_REV
162    4726855U,	// AND8i8
163    5259335U,	// AND8mi
164    5259335U,	// AND8mr
165    1597511U,	// AND8ri
166    1597511U,	// AND8ri8
167    57415U,	// AND8rm
168    1597511U,	// AND8rr
169    2121799U,	// AND8rr_REV
170    35169057U,	// ANDN32rm
171    35152673U,	// ANDN32rr
172    35178119U,	// ANDN64rm
173    35153543U,	// ANDN64rr
174    1065839U,	// ARPL16mr
175    22618991U,	// ARPL16rr
176    6382522U,	// BEXTR32rm
177    35152826U,	// BEXTR32rr
178    6907665U,	// BEXTR64rm
179    35153681U,	// BEXTR64rr
180    6383665U,	// BEXTRI32mi
181    35153969U,	// BEXTRI32ri
182    6907953U,	// BEXTRI64mi
183    35153969U,	// BEXTRI64ri
184    66284U,	// BLCFILL32rm
185    22618860U,	// BLCFILL32rr
186    82668U,	// BLCFILL64rm
187    22618860U,	// BLCFILL64rr
188    65952U,	// BLCI32rm
189    22618528U,	// BLCI32rr
190    82336U,	// BLCI64rm
191    22618528U,	// BLCI64rr
192    65781U,	// BLCIC32rm
193    22618357U,	// BLCIC32rr
194    82165U,	// BLCIC64rm
195    22618357U,	// BLCIC64rr
196    65958U,	// BLCMSK32rm
197    22618534U,	// BLCMSK32rr
198    82342U,	// BLCMSK64rm
199    22618534U,	// BLCMSK64rr
200    67640U,	// BLCS32rm
201    22620216U,	// BLCS32rr
202    84024U,	// BLCS64rm
203    22620216U,	// BLCS64rr
204    66293U,	// BLSFILL32rm
205    22618869U,	// BLSFILL32rr
206    82677U,	// BLSFILL64rm
207    22618869U,	// BLSFILL64rr
208    66246U,	// BLSI32rm
209    22618822U,	// BLSI32rr
210    83515U,	// BLSI64rm
211    22619707U,	// BLSI64rr
212    65788U,	// BLSIC32rm
213    22618364U,	// BLSIC32rr
214    82172U,	// BLSIC64rm
215    22618364U,	// BLSIC64rr
216    66257U,	// BLSMSK32rm
217    22618833U,	// BLSMSK32rr
218    83522U,	// BLSMSK64rm
219    22619714U,	// BLSMSK64rr
220    66471U,	// BLSR32rm
221    22619047U,	// BLSR32rr
222    83710U,	// BLSR64rm
223    22619902U,	// BLSR64rr
224    65835U,	// BOUNDS16rm
225    82219U,	// BOUNDS32rm
226    100634U,	// BSF16rm
227    22620442U,	// BSF16rr
228    66202U,	// BSF32rm
229    22618778U,	// BSF32rr
230    83471U,	// BSF64rm
231    22619663U,	// BSF64rr
232    100830U,	// BSR16rm
233    22620638U,	// BSR16rr
234    66465U,	// BSR32rm
235    22619041U,	// BSR32rr
236    83704U,	// BSR64rm
237    22619896U,	// BSR64rr
238    9022U,	// BSWAP32r
239    9887U,	// BSWAP64r
240    1067600U,	// BT16mi8
241    1067600U,	// BT16mr
242    22620752U,	// BT16ri8
243    22620752U,	// BT16rr
244    3163164U,	// BT32mi8
245    3163164U,	// BT32mr
246    22619164U,	// BT32ri8
247    22619164U,	// BT32rr
248    4212576U,	// BT64mi8
249    4212576U,	// BT64mr
250    22620000U,	// BT64ri8
251    22620000U,	// BT64rr
252    1067192U,	// BTC16mi8
253    1067192U,	// BTC16mr
254    22620344U,	// BTC16ri8
255    22620344U,	// BTC16rr
256    3162617U,	// BTC32mi8
257    3162617U,	// BTC32mr
258    22618617U,	// BTC32ri8
259    22618617U,	// BTC32rr
260    4212070U,	// BTC64mi8
261    4212070U,	// BTC64mr
262    22619494U,	// BTC64ri8
263    22619494U,	// BTC64rr
264    1067492U,	// BTR16mi8
265    1067492U,	// BTR16mr
266    22620644U,	// BTR16ri8
267    22620644U,	// BTR16rr
268    3163054U,	// BTR32mi8
269    3163054U,	// BTR32mr
270    22619054U,	// BTR32ri8
271    22619054U,	// BTR32rr
272    4212485U,	// BTR64mi8
273    4212485U,	// BTR64mr
274    22619909U,	// BTR64ri8
275    22619909U,	// BTR64rr
276    1067579U,	// BTS16mi8
277    1067579U,	// BTS16mr
278    22620731U,	// BTS16ri8
279    22620731U,	// BTS16rr
280    3163143U,	// BTS32mi8
281    3163143U,	// BTS32mr
282    22619143U,	// BTS32ri8
283    22619143U,	// BTS32rr
284    4212562U,	// BTS64mi8
285    4212562U,	// BTS64mr
286    22619986U,	// BTS64ri8
287    22619986U,	// BTS64rr
288    6382271U,	// BZHI32rm
289    35152575U,	// BZHI32rr
290    6907444U,	// BZHI64rm
291    35153460U,	// BZHI64rr
292    110790U,	// CALL16m
293    12486U,	// CALL16r
294    118948U,	// CALL32m
295    12452U,	// CALL32r
296    127157U,	// CALL64m
297    132701U,	// CALL64pcrel32
298    12469U,	// CALL64r
299    133458U,	// CALLpcrel16
300    131839U,	// CALLpcrel32
301    5552U,	// CBW
302    4746U,	// CDQ
303    5139U,	// CDQE
304    4673U,	// CLAC
305    4705U,	// CLC
306    4742U,	// CLD
307    4852U,	// CLGI
308    4862U,	// CLI
309    5483U,	// CLTS
310    4709U,	// CMC
311    2132090U,	// CMOVA16rm
312    2123898U,	// CMOVA16rr
313    2138555U,	// CMOVA32rm
314    2122171U,	// CMOVA32rr
315    2147624U,	// CMOVA64rm
316    2123048U,	// CMOVA64rr
317    2132197U,	// CMOVAE16rm
318    2124005U,	// CMOVAE16rr
319    2138671U,	// CMOVAE32rm
320    2122287U,	// CMOVAE32rr
321    2147740U,	// CMOVAE64rm
322    2123164U,	// CMOVAE64rr
323    2132118U,	// CMOVB16rm
324    2123926U,	// CMOVB16rr
325    2138583U,	// CMOVB32rm
326    2122199U,	// CMOVB32rr
327    2147652U,	// CMOVB64rm
328    2123076U,	// CMOVB64rr
329    2132206U,	// CMOVBE16rm
330    2124014U,	// CMOVBE16rr
331    2138680U,	// CMOVBE32rm
332    2122296U,	// CMOVBE32rr
333    2147749U,	// CMOVBE64rm
334    2123173U,	// CMOVBE64rr
335    2132242U,	// CMOVE16rm
336    2124050U,	// CMOVE16rr
337    2138770U,	// CMOVE32rm
338    2122386U,	// CMOVE32rr
339    2147847U,	// CMOVE64rm
340    2123271U,	// CMOVE64rr
341    2132272U,	// CMOVG16rm
342    2124080U,	// CMOVG16rr
343    2138800U,	// CMOVG32rm
344    2122416U,	// CMOVG32rr
345    2147877U,	// CMOVG64rm
346    2123301U,	// CMOVG64rr
347    2132215U,	// CMOVGE16rm
348    2124023U,	// CMOVGE16rr
349    2138689U,	// CMOVGE32rm
350    2122305U,	// CMOVGE32rr
351    2147758U,	// CMOVGE64rm
352    2123182U,	// CMOVGE64rr
353    2132332U,	// CMOVL16rm
354    2124140U,	// CMOVL16rr
355    2138905U,	// CMOVL32rm
356    2122521U,	// CMOVL32rr
357    2147967U,	// CMOVL64rm
358    2123391U,	// CMOVL64rr
359    2132224U,	// CMOVLE16rm
360    2124032U,	// CMOVLE16rr
361    2138698U,	// CMOVLE32rm
362    2122314U,	// CMOVLE32rr
363    2147767U,	// CMOVLE64rm
364    2123191U,	// CMOVLE64rr
365    2132233U,	// CMOVNE16rm
366    2124041U,	// CMOVNE16rr
367    2138707U,	// CMOVNE32rm
368    2122323U,	// CMOVNE32rr
369    2147776U,	// CMOVNE64rm
370    2123200U,	// CMOVNE64rr
371    2132345U,	// CMOVNO16rm
372    2124153U,	// CMOVNO16rr
373    2138925U,	// CMOVNO32rm
374    2122541U,	// CMOVNO32rr
375    2147982U,	// CMOVNO64rm
376    2123406U,	// CMOVNO64rr
377    2132375U,	// CMOVNP16rm
378    2124183U,	// CMOVNP16rr
379    2138970U,	// CMOVNP32rm
380    2122586U,	// CMOVNP32rr
381    2148020U,	// CMOVNP64rm
382    2123444U,	// CMOVNP64rr
383    2132517U,	// CMOVNS16rm
384    2124325U,	// CMOVNS16rr
385    2139121U,	// CMOVNS32rm
386    2122737U,	// CMOVNS32rr
387    2148156U,	// CMOVNS64rm
388    2123580U,	// CMOVNS64rr
389    2132354U,	// CMOVO16rm
390    2124162U,	// CMOVO16rr
391    2138934U,	// CMOVO32rm
392    2122550U,	// CMOVO32rr
393    2147991U,	// CMOVO64rm
394    2123415U,	// CMOVO64rr
395    2132396U,	// CMOVP16rm
396    2124204U,	// CMOVP16rr
397    2138997U,	// CMOVP32rm
398    2122613U,	// CMOVP32rr
399    2148035U,	// CMOVP64rm
400    2123459U,	// CMOVP64rr
401    2132552U,	// CMOVS16rm
402    2124360U,	// CMOVS16rr
403    2139156U,	// CMOVS32rm
404    2122772U,	// CMOVS32rr
405    2148184U,	// CMOVS64rm
406    2123608U,	// CMOVS64rr
407    4021U,	// CMOV_FR32
408    4180U,	// CMOV_FR64
409    3900U,	// CMOV_GR16
410    3880U,	// CMOV_GR32
411    4199U,	// CMOV_GR8
412    4001U,	// CMOV_RFP32
413    4160U,	// CMOV_RFP64
414    3920U,	// CMOV_RFP80
415    3960U,	// CMOV_V16F32
416    4040U,	// CMOV_V2F64
417    4100U,	// CMOV_V2I64
418    3940U,	// CMOV_V4F32
419    4060U,	// CMOV_V4F64
420    4120U,	// CMOV_V4I64
421    3981U,	// CMOV_V8F32
422    4080U,	// CMOV_V8F64
423    4140U,	// CMOV_V8I64
424    534922U,	// CMP16i16
425    1067402U,	// CMP16mi
426    1067402U,	// CMP16mi8
427    1067402U,	// CMP16mr
428    22620554U,	// CMP16ri
429    22620554U,	// CMP16ri8
430    100746U,	// CMP16rm
431    22620554U,	// CMP16rr
432    22620554U,	// CMP16rr_REV
433    2630477U,	// CMP32i32
434    3162957U,	// CMP32mi
435    3162957U,	// CMP32mi8
436    3162957U,	// CMP32mr
437    22618957U,	// CMP32ri
438    22618957U,	// CMP32ri8
439    66381U,	// CMP32rm
440    22618957U,	// CMP32rr
441    22618957U,	// CMP32rr_REV
442    3679918U,	// CMP64i32
443    4212398U,	// CMP64mi32
444    4212398U,	// CMP64mi8
445    4212398U,	// CMP64mr
446    22619822U,	// CMP64ri32
447    22619822U,	// CMP64ri8
448    83630U,	// CMP64rm
449    22619822U,	// CMP64rr
450    22619822U,	// CMP64rr_REV
451    4726917U,	// CMP8i8
452    5259397U,	// CMP8mi
453    5259397U,	// CMP8mr
454    22618245U,	// CMP8ri
455    139397U,	// CMP8rm
456    22618245U,	// CMP8rr
457    22618245U,	// CMP8rr_REV
458    56246464U,	// CMPSB
459    73032698U,	// CMPSL
460    89818949U,	// CMPSQ
461    106605102U,	// CMPSW
462    180235U,	// CMPXCHG16B
463    1067302U,	// CMPXCHG16rm
464    22620454U,	// CMPXCHG16rr
465    3162790U,	// CMPXCHG32rm
466    22618790U,	// CMPXCHG32rr
467    4212251U,	// CMPXCHG64rm
468    22619675U,	// CMPXCHG64rr
469    122903U,	// CMPXCHG8B
470    5259347U,	// CMPXCHG8rm
471    22618195U,	// CMPXCHG8rr
472    4736U,	// CPUID32
473    4736U,	// CPUID64
474    5057U,	// CQO
475    4755U,	// CWD
476    5001U,	// CWDE
477    4608U,	// DAA
478    5179U,	// DAS
479    4498U,	// DATA16_PREFIX
480    108716U,	// DEC16m
481    10412U,	// DEC16r
482    10412U,	// DEC32_16r
483    8685U,	// DEC32_32r
484    115181U,	// DEC32m
485    8685U,	// DEC32r
486    108716U,	// DEC64_16m
487    10412U,	// DEC64_16r
488    115181U,	// DEC64_32m
489    8685U,	// DEC64_32r
490    124250U,	// DEC64m
491    9562U,	// DEC64r
492    188468U,	// DEC8m
493    8244U,	// DEC8r
494    109220U,	// DIV16m
495    10916U,	// DIV16r
496    115830U,	// DIV32m
497    9334U,	// DIV32r
498    124863U,	// DIV64m
499    10175U,	// DIV64r
500    188649U,	// DIV8m
501    8425U,	// DIV8r
502    11935U,	// EH_RETURN
503    11935U,	// EH_RETURN64
504    4321U,	// EH_SjLj_LongJmp32
505    4411U,	// EH_SjLj_LongJmp64
506    4340U,	// EH_SjLj_SetJmp32
507    4430U,	// EH_SjLj_SetJmp64
508    132370U,	// EH_SjLj_Setup
509    123217948U,	// ENTER
510    7416145U,	// FARCALL16i
511    200901U,	// FARCALL16m
512    7414526U,	// FARCALL32i
513    200867U,	// FARCALL32m
514    200884U,	// FARCALL64
515    7416208U,	// FARJMP16i
516    200910U,	// FARJMP16m
517    7414611U,	// FARJMP32i
518    200876U,	// FARJMP32m
519    200893U,	// FARJMP64
520    5014U,	// FSETPM
521    4693U,	// GETSEC
522    5488U,	// HLT
523    109219U,	// IDIV16m
524    10915U,	// IDIV16r
525    115829U,	// IDIV32m
526    9333U,	// IDIV32r
527    124862U,	// IDIV64m
528    10174U,	// IDIV64r
529    188648U,	// IDIV8m
530    8424U,	// IDIV8r
531    108901U,	// IMUL16m
532    10597U,	// IMUL16r
533    2132325U,	// IMUL16rm
534    7956837U,	// IMUL16rmi
535    7956837U,	// IMUL16rmi8
536    2124133U,	// IMUL16rr
537    35154277U,	// IMUL16rri
538    35154277U,	// IMUL16rri8
539    115474U,	// IMUL32m
540    8978U,	// IMUL32r
541    2138898U,	// IMUL32rm
542    6382354U,	// IMUL32rmi
543    6382354U,	// IMUL32rmi8
544    2122514U,	// IMUL32rr
545    35152658U,	// IMUL32rri
546    35152658U,	// IMUL32rri8
547    124536U,	// IMUL64m
548    9848U,	// IMUL64r
549    2147960U,	// IMUL64rm
550    6907512U,	// IMUL64rmi32
551    6907512U,	// IMUL64rmi8
552    2123384U,	// IMUL64rr
553    35153528U,	// IMUL64rri32
554    35153528U,	// IMUL64rri8
555    188537U,	// IMUL8m
556    8313U,	// IMUL8r
557    534900U,	// IN16ri
558    5569U,	// IN16rr
559    2630440U,	// IN32ri
560    5648U,	// IN32rr
561    4726912U,	// IN8ri
562    4890U,	// IN8rr
563    108722U,	// INC16m
564    10418U,	// INC16r
565    10418U,	// INC32_16r
566    8691U,	// INC32_32r
567    115187U,	// INC32m
568    8691U,	// INC32r
569    108722U,	// INC64_16m
570    10418U,	// INC64_16r
571    115187U,	// INC64_32m
572    8691U,	// INC64_32r
573    124256U,	// INC64m
574    9568U,	// INC64r
575    188474U,	// INC8m
576    8250U,	// INC8r
577    151146U,	// INSB
578    159349U,	// INSL
579    175744U,	// INSW
580    10324U,	// INT
581    4316U,	// INT1
582    4406U,	// INT3
583    5052U,	// INTO
584    4762U,	// INVD
585    206937U,	// INVEPT32
586    206937U,	// INVEPT64
587    188818U,	// INVLPG
588    5629U,	// INVLPGA32
589    5697U,	// INVLPGA64
590    205072U,	// INVPCID32
591    205072U,	// INVPCID64
592    205081U,	// INVVPID32
593    205081U,	// INVVPID64
594    5557U,	// IRET16
595    4972U,	// IRET32
596    5110U,	// IRET64
597    4577U,	// Int_MemBarrier
598    131378U,	// JAE_1
599    131378U,	// JAE_2
600    131378U,	// JAE_4
601    131073U,	// JA_1
602    131073U,	// JA_2
603    131073U,	// JA_4
604    131390U,	// JBE_1
605    131390U,	// JBE_2
606    131390U,	// JBE_4
607    131165U,	// JB_1
608    131165U,	// JB_2
609    131165U,	// JB_4
610    133829U,	// JCXZ
611    133822U,	// JECXZ_32
612    133822U,	// JECXZ_64
613    131414U,	// JE_1
614    131414U,	// JE_2
615    131414U,	// JE_4
616    131402U,	// JGE_1
617    131402U,	// JGE_2
618    131402U,	// JGE_4
619    131470U,	// JG_1
620    131470U,	// JG_2
621    131470U,	// JG_4
622    131418U,	// JLE_1
623    131418U,	// JLE_2
624    131418U,	// JLE_4
625    131789U,	// JL_1
626    131789U,	// JL_2
627    131789U,	// JL_4
628    110799U,	// JMP16m
629    12495U,	// JMP16r
630    118957U,	// JMP32m
631    12461U,	// JMP32r
632    127166U,	// JMP64m
633    12478U,	// JMP64r
634    132336U,	// JMP_1
635    132336U,	// JMP_2
636    132336U,	// JMP_4
637    131430U,	// JNE_1
638    131430U,	// JNE_2
639    131430U,	// JNE_4
640    132314U,	// JNO_1
641    132314U,	// JNO_2
642    132314U,	// JNO_4
643    132341U,	// JNP_1
644    132341U,	// JNP_2
645    132341U,	// JNP_4
646    133186U,	// JNS_1
647    133186U,	// JNS_2
648    133186U,	// JNS_4
649    132310U,	// JO_1
650    132310U,	// JO_2
651    132310U,	// JO_4
652    132332U,	// JP_1
653    132332U,	// JP_2
654    132332U,	// JP_4
655    133835U,	// JRCXZ
656    133182U,	// JS_1
657    133182U,	// JS_2
658    133182U,	// JS_4
659    4833U,	// LAHF
660    100788U,	// LAR16rm
661    22620596U,	// LAR16rr
662    99197U,	// LAR32rm
663    22619005U,	// LAR32rr
664    100043U,	// LAR64rm
665    22619851U,	// LAR64rr
666    1067302U,	// LCMPXCHG16
667    180235U,	// LCMPXCHG16B
668    3162790U,	// LCMPXCHG32
669    4212251U,	// LCMPXCHG64
670    5259347U,	// LCMPXCHG8
671    122903U,	// LCMPXCHG8B
672    215558U,	// LDS16rm
673    213970U,	// LDS32rm
674    100468U,	// LEA16r
675    65973U,	// LEA32r
676    65973U,	// LEA64_32r
677    83234U,	// LEA64r
678    4820U,	// LEAVE
679    4820U,	// LEAVE64
680    215571U,	// LES16rm
681    213983U,	// LES32rm
682    215577U,	// LFS16rm
683    213989U,	// LFS32rm
684    214832U,	// LFS64rm
685    199253U,	// LGDT16m
686    197665U,	// LGDT32m
687    198501U,	// LGDT64m
688    215583U,	// LGS16rm
689    213995U,	// LGS32rm
690    214838U,	// LGS64rm
691    199267U,	// LIDT16m
692    197679U,	// LIDT32m
693    198515U,	// LIDT64m
694    109169U,	// LLDT16m
695    10865U,	// LLDT16r
696    109232U,	// LMSW16m
697    10928U,	// LMSW16r
698    1067199U,	// LOCK_ADD16mi
699    1067199U,	// LOCK_ADD16mi8
700    1067199U,	// LOCK_ADD16mr
701    3162633U,	// LOCK_ADD32mi
702    3162633U,	// LOCK_ADD32mi8
703    3162633U,	// LOCK_ADD32mr
704    4212086U,	// LOCK_ADD64mi32
705    4212086U,	// LOCK_ADD64mi8
706    4212086U,	// LOCK_ADD64mr
707    5259329U,	// LOCK_ADD8mi
708    5259329U,	// LOCK_ADD8mr
709    1067224U,	// LOCK_AND16mi
710    1067224U,	// LOCK_AND16mi8
711    1067224U,	// LOCK_AND16mr
712    3162658U,	// LOCK_AND32mi
713    3162658U,	// LOCK_AND32mi8
714    3162658U,	// LOCK_AND32mr
715    4212111U,	// LOCK_AND64mi32
716    4212111U,	// LOCK_AND64mi8
717    4212111U,	// LOCK_AND64mr
718    5259335U,	// LOCK_AND8mi
719    5259335U,	// LOCK_AND8mr
720    108716U,	// LOCK_DEC16m
721    115181U,	// LOCK_DEC32m
722    124250U,	// LOCK_DEC64m
723    188468U,	// LOCK_DEC8m
724    108722U,	// LOCK_INC16m
725    115187U,	// LOCK_INC32m
726    124256U,	// LOCK_INC64m
727    188474U,	// LOCK_INC8m
728    1067475U,	// LOCK_OR16mi
729    1067475U,	// LOCK_OR16mi8
730    1067475U,	// LOCK_OR16mr
731    3163030U,	// LOCK_OR32mi
732    3163030U,	// LOCK_OR32mi8
733    3163030U,	// LOCK_OR32mr
734    4212452U,	// LOCK_OR64mi32
735    4212452U,	// LOCK_OR64mi8
736    4212452U,	// LOCK_OR64mr
737    5259422U,	// LOCK_OR8mi
738    5259422U,	// LOCK_OR8mr
739    4885U,	// LOCK_PREFIX
740    1067152U,	// LOCK_SUB16mi
741    1067152U,	// LOCK_SUB16mi8
742    1067152U,	// LOCK_SUB16mr
743    3162577U,	// LOCK_SUB32mi
744    3162577U,	// LOCK_SUB32mi8
745    3162577U,	// LOCK_SUB32mr
746    4212030U,	// LOCK_SUB64mi32
747    4212030U,	// LOCK_SUB64mi8
748    4212030U,	// LOCK_SUB64mr
749    5259304U,	// LOCK_SUB8mi
750    5259304U,	// LOCK_SUB8mr
751    1067480U,	// LOCK_XOR16mi
752    1067480U,	// LOCK_XOR16mi8
753    1067480U,	// LOCK_XOR16mr
754    3163035U,	// LOCK_XOR32mi
755    3163035U,	// LOCK_XOR32mi8
756    3163035U,	// LOCK_XOR32mr
757    4212466U,	// LOCK_XOR64mi32
758    4212466U,	// LOCK_XOR64mi8
759    4212466U,	// LOCK_XOR64mr
760    5259427U,	// LOCK_XOR8mi
761    5259427U,	// LOCK_XOR8mr
762    4939961U,	// LODSB
763    2851800U,	// LODSL
764    239401U,	// LODSQ
765    772620U,	// LODSW
766    132358U,	// LOOP
767    131450U,	// LOOPE
768    131435U,	// LOOPNE
769    9284U,	// LRETIL
770    10120U,	// LRETIQ
771    10879U,	// LRETIW
772    4978U,	// LRETL
773    5116U,	// LRETQ
774    5563U,	// LRETW
775    100703U,	// LSL16rm
776    22620511U,	// LSL16rr
777    66316U,	// LSL32rm
778    22618892U,	// LSL32rr
779    83562U,	// LSL64rm
780    22619754U,	// LSL64rr
781    215605U,	// LSS16rm
782    214017U,	// LSS32rm
783    214860U,	// LSS64rm
784    109034U,	// LTRm
785    10730U,	// LTRr
786    140060862U,	// LXADD16
787    156836360U,	// LXADD32
788    173614453U,	// LXADD64
789    190390336U,	// LXADD8
790    100998U,	// LZCNT16rm
791    22620806U,	// LZCNT16rr
792    66641U,	// LZCNT32rm
793    22619217U,	// LZCNT32rr
794    83855U,	// LZCNT64rm
795    22620047U,	// LZCNT64rr
796    5006U,	// MONTMUL
797    0U,	// MORESTACK_RET
798    0U,	// MORESTACK_RET_RESTORE_R10
799    257551U,	// MOV16ao16
800    257551U,	// MOV16ao16_16
801    1067690U,	// MOV16mi
802    1067690U,	// MOV16mr
803    1067690U,	// MOV16ms
804    780970U,	// MOV16o16a
805    780970U,	// MOV16o16a_16
806    22620842U,	// MOV16ri
807    22620842U,	// MOV16ri_alt
808    101034U,	// MOV16rm
809    22620842U,	// MOV16rr
810    22620842U,	// MOV16rr_REV
811    22620842U,	// MOV16rs
812    101034U,	// MOV16sm
813    22620842U,	// MOV16sr
814    265794U,	// MOV32ao32
815    265794U,	// MOV32ao32_16
816    22619260U,	// MOV32cr
817    22619260U,	// MOV32dr
818    3163260U,	// MOV32mi
819    3163260U,	// MOV32mr
820    1066108U,	// MOV32ms
821    2884732U,	// MOV32o32a
822    2884732U,	// MOV32o32a_16
823    0U,	// MOV32r0
824    22619260U,	// MOV32rc
825    22619260U,	// MOV32rd
826    22619260U,	// MOV32ri
827    0U,	// MOV32ri64
828    22619260U,	// MOV32ri_alt
829    66684U,	// MOV32rm
830    22619260U,	// MOV32rr
831    22619260U,	// MOV32rr_REV
832    22619260U,	// MOV32rs
833    99452U,	// MOV32sm
834    22619260U,	// MOV32sr
835    257514U,	// MOV64ao16
836    265754U,	// MOV64ao32
837    273998U,	// MOV64ao64
838    281618U,	// MOV64ao8
839    22620101U,	// MOV64cr
840    22620101U,	// MOV64dr
841    4212677U,	// MOV64mi32
842    4212677U,	// MOV64mr
843    1066949U,	// MOV64ms
844    780797U,	// MOV64o16a
845    2884553U,	// MOV64o32a
846    3942176U,	// MOV64o64a
847    4997296U,	// MOV64o8a
848    22620101U,	// MOV64rc
849    22620101U,	// MOV64rd
850    22619936U,	// MOV64ri
851    22620101U,	// MOV64ri32
852    83909U,	// MOV64rm
853    22620101U,	// MOV64rr
854    22620101U,	// MOV64rr_REV
855    22620101U,	// MOV64rs
856    100293U,	// MOV64sm
857    22620101U,	// MOV64sr
858    281655U,	// MOV8ao8
859    281655U,	// MOV8ao8_16
860    5259503U,	// MOV8mi
861    5259503U,	// MOV8mr
862    206586095U,	// MOV8mr_NOREX
863    4997359U,	// MOV8o8a
864    4997359U,	// MOV8o8a_16
865    22618351U,	// MOV8ri
866    22618351U,	// MOV8ri_alt
867    139503U,	// MOV8rm
868    8528111U,	// MOV8rm_NOREX
869    22618351U,	// MOV8rr
870    559489263U,	// MOV8rr_NOREX
871    22618351U,	// MOV8rr_REV
872    1067247U,	// MOVBE16mr
873    100591U,	// MOVBE16rm
874    3162681U,	// MOVBE32mr
875    66105U,	// MOVBE32rm
876    4212134U,	// MOVBE64mr
877    83366U,	// MOVBE64rm
878    0U,	// MOVPC32r
879    286926U,	// MOVSB
880    295957U,	// MOVSL
881    304985U,	// MOVSQ
882    313929U,	// MOVSW
883    141448U,	// MOVSX16rm8
884    22620296U,	// MOVSX16rr8
885    99465U,	// MOVSX32rm16
886    139721U,	// MOVSX32rm8
887    22619273U,	// MOVSX32rr16
888    22618569U,	// MOVSX32rr8
889    22619760U,	// MOVSX64_NOREXrr32
890    100306U,	// MOVSX64rm16
891    67184U,	// MOVSX64rm32
892    140598U,	// MOVSX64rm8
893    22620114U,	// MOVSX64rr16
894    22619760U,	// MOVSX64rr32
895    22619446U,	// MOVSX64rr8
896    141470U,	// MOVZX16rm8
897    22620318U,	// MOVZX16rr8
898    139743U,	// MOVZX32_NOREXrm8
899    22618591U,	// MOVZX32_NOREXrr8
900    99473U,	// MOVZX32rm16
901    139743U,	// MOVZX32rm8
902    22619281U,	// MOVZX32rr16
903    22618591U,	// MOVZX32rr8
904    100314U,	// MOVZX64rm16_Q
905    140620U,	// MOVZX64rm8_Q
906    22620122U,	// MOVZX64rr16_Q
907    22619468U,	// MOVZX64rr8_Q
908    108902U,	// MUL16m
909    10598U,	// MUL16r
910    115475U,	// MUL32m
911    8979U,	// MUL32r
912    124537U,	// MUL64m
913    9849U,	// MUL64r
914    188538U,	// MUL8m
915    8314U,	// MUL8r
916    35169447U,	// MULX32rm
917    35153063U,	// MULX32rr
918    35178480U,	// MULX64rm
919    35153904U,	// MULX64rr
920    108832U,	// NEG16m
921    10528U,	// NEG16r
922    115360U,	// NEG32m
923    8864U,	// NEG32r
924    124437U,	// NEG64m
925    9749U,	// NEG64r
926    188493U,	// NEG8m
927    8269U,	// NEG8r
928    5073U,	// NOOP
929    108960U,	// NOOP18_16m4
930    108960U,	// NOOP18_16m5
931    108960U,	// NOOP18_16m6
932    108960U,	// NOOP18_16m7
933    10656U,	// NOOP18_16r4
934    10656U,	// NOOP18_16r5
935    10656U,	// NOOP18_16r6
936    10656U,	// NOOP18_16r7
937    115555U,	// NOOP18_m4
938    115555U,	// NOOP18_m5
939    115555U,	// NOOP18_m6
940    115555U,	// NOOP18_m7
941    9059U,	// NOOP18_r4
942    9059U,	// NOOP18_r5
943    9059U,	// NOOP18_r6
944    9059U,	// NOOP18_r7
945    123217153U,	// NOOP19rr
946    115555U,	// NOOPL
947    115555U,	// NOOPL_19
948    115555U,	// NOOPL_1a
949    115555U,	// NOOPL_1b
950    115555U,	// NOOPL_1c
951    115555U,	// NOOPL_1d
952    115555U,	// NOOPL_1e
953    108960U,	// NOOPW
954    108960U,	// NOOPW_19
955    108960U,	// NOOPW_1a
956    108960U,	// NOOPW_1b
957    108960U,	// NOOPW_1c
958    108960U,	// NOOPW_1d
959    108960U,	// NOOPW_1e
960    109206U,	// NOT16m
961    10902U,	// NOT16r
962    115809U,	// NOT32m
963    9313U,	// NOT32r
964    124831U,	// NOT64m
965    10143U,	// NOT64r
966    188635U,	// NOT8m
967    8411U,	// NOT8r
968    534995U,	// OR16i16
969    1067475U,	// OR16mi
970    1067475U,	// OR16mi8
971    1067475U,	// OR16mr
972    1599955U,	// OR16ri
973    1599955U,	// OR16ri8
974    1608147U,	// OR16rm
975    1599955U,	// OR16rr
976    2124243U,	// OR16rr_REV
977    2630550U,	// OR32i32
978    3163030U,	// OR32mi
979    3163030U,	// OR32mi8
980    3163030U,	// OR32mr
981    3163030U,	// OR32mrLocked
982    1598358U,	// OR32ri
983    1598358U,	// OR32ri8
984    1614742U,	// OR32rm
985    1598358U,	// OR32rr
986    2122646U,	// OR32rr_REV
987    3679972U,	// OR64i32
988    4212452U,	// OR64mi32
989    4212452U,	// OR64mi8
990    4212452U,	// OR64mr
991    1599204U,	// OR64ri32
992    1599204U,	// OR64ri8
993    1623780U,	// OR64rm
994    1599204U,	// OR64rr
995    2123492U,	// OR64rr_REV
996    4726942U,	// OR8i8
997    5259422U,	// OR8mi
998    5259422U,	// OR8mr
999    1597598U,	// OR8ri
1000    1597598U,	// OR8ri8
1001    57502U,	// OR8rm
1002    1597598U,	// OR8rr
1003    2121886U,	// OR8rr_REV
1004    11780U,	// OUT16ir
1005    5730U,	// OUT16rr
1006    11830U,	// OUT32ir
1007    5744U,	// OUT32rr
1008    11308U,	// OUT8ir
1009    5716U,	// OUT8rr
1010    9134279U,	// OUTSB
1011    9143309U,	// OUTSL
1012    9161281U,	// OUTSW
1013    35169094U,	// PDEP32rm
1014    35152710U,	// PDEP32rr
1015    35178151U,	// PDEP64rm
1016    35153575U,	// PDEP64rr
1017    35169390U,	// PEXT32rm
1018    35153006U,	// PEXT32rr
1019    35178423U,	// PEXT64rm
1020    35153847U,	// PEXT64rr
1021    10662U,	// POP16r
1022    108966U,	// POP16rmm
1023    10662U,	// POP16rmr
1024    9065U,	// POP32r
1025    115561U,	// POP32rmm
1026    9065U,	// POP32rmr
1027    9917U,	// POP64r
1028    124605U,	// POP64rmm
1029    9917U,	// POP64rmr
1030    5513U,	// POPA16
1031    4910U,	// POPA32
1032    5232U,	// POPDS16
1033    5213U,	// POPDS32
1034    5270U,	// POPES16
1035    5251U,	// POPES32
1036    5526U,	// POPF16
1037    4923U,	// POPF32
1038    5084U,	// POPF64
1039    5327U,	// POPFS16
1040    5289U,	// POPFS32
1041    5308U,	// POPFS64
1042    5384U,	// POPGS16
1043    5346U,	// POPGS32
1044    5365U,	// POPGS64
1045    5474U,	// POPSS16
1046    5455U,	// POPSS32
1047    10552U,	// PUSH16i8
1048    10552U,	// PUSH16r
1049    108856U,	// PUSH16rmm
1050    10552U,	// PUSH16rmr
1051    8888U,	// PUSH32i8
1052    8888U,	// PUSH32r
1053    115384U,	// PUSH32rmm
1054    8888U,	// PUSH32rmr
1055    10552U,	// PUSH64i16
1056    9773U,	// PUSH64i32
1057    9773U,	// PUSH64i8
1058    9773U,	// PUSH64r
1059    124461U,	// PUSH64rmm
1060    9773U,	// PUSH64rmr
1061    5506U,	// PUSHA16
1062    4903U,	// PUSHA32
1063    5193U,	// PUSHCS16
1064    5183U,	// PUSHCS32
1065    5222U,	// PUSHDS16
1066    5203U,	// PUSHDS32
1067    5260U,	// PUSHES16
1068    5241U,	// PUSHES32
1069    5519U,	// PUSHF16
1070    4916U,	// PUSHF32
1071    5077U,	// PUSHF64
1072    5317U,	// PUSHFS16
1073    5279U,	// PUSHFS32
1074    5298U,	// PUSHFS64
1075    5374U,	// PUSHGS16
1076    5336U,	// PUSHGS32
1077    5355U,	// PUSHGS64
1078    5464U,	// PUSHSS16
1079    5445U,	// PUSHSS32
1080    10552U,	// PUSHi16
1081    8888U,	// PUSHi32
1082    109516U,	// RCL16m1
1083    109981U,	// RCL16mCL
1084    1067333U,	// RCL16mi
1085    11212U,	// RCL16r1
1086    11677U,	// RCL16rCL
1087    2124101U,	// RCL16ri
1088    118411U,	// RCL32m1
1089    117949U,	// RCL32mCL
1090    3162848U,	// RCL32mi
1091    11052U,	// RCL32r1
1092    11453U,	// RCL32rCL
1093    2122464U,	// RCL32ri
1094    125820U,	// RCL64m1
1095    126253U,	// RCL64mCL
1096    4212305U,	// RCL64mi
1097    11132U,	// RCL64r1
1098    11565U,	// RCL64rCL
1099    2123345U,	// RCL64ri
1100    191196U,	// RCL8m1
1101    191565U,	// RCL8mCL
1102    5259367U,	// RCL8mi
1103    10972U,	// RCL8r1
1104    11341U,	// RCL8rCL
1105    2121831U,	// RCL8ri
1106    109556U,	// RCR16m1
1107    110025U,	// RCR16mCL
1108    1067456U,	// RCR16mi
1109    11252U,	// RCR16r1
1110    11721U,	// RCR16rCL
1111    2124224U,	// RCR16ri
1112    117588U,	// RCR32m1
1113    117993U,	// RCR32mCL
1114    3163017U,	// RCR32mi
1115    11092U,	// RCR32r1
1116    11497U,	// RCR32rCL
1117    2122633U,	// RCR32ri
1118    125860U,	// RCR64m1
1119    126297U,	// RCR64mCL
1120    4212439U,	// RCR64mi
1121    11172U,	// RCR64r1
1122    11609U,	// RCR64rCL
1123    2123479U,	// RCR64ri
1124    191236U,	// RCR8m1
1125    191609U,	// RCR8mCL
1126    5259409U,	// RCR8mi
1127    11012U,	// RCR8r1
1128    11385U,	// RCR8rCL
1129    2121873U,	// RCR8ri
1130    8796U,	// RDFSBASE
1131    9673U,	// RDFSBASE64
1132    8818U,	// RDGSBASE
1133    9695U,	// RDGSBASE64
1134    5153U,	// RDMSR
1135    4713U,	// RDPMC
1136    10453U,	// RDRAND16r
1137    8735U,	// RDRAND32r
1138    9612U,	// RDRAND64r
1139    10437U,	// RDSEED16r
1140    8719U,	// RDSEED32r
1141    9596U,	// RDSEED64r
1142    4726U,	// RDTSC
1143    5062U,	// RDTSCP
1144    4238U,	// RELEASE_MOV16mr
1145    4238U,	// RELEASE_MOV32mr
1146    4238U,	// RELEASE_MOV64mr
1147    4238U,	// RELEASE_MOV8mr
1148    4776U,	// REPNE_PREFIX
1149    4657U,	// REP_MOVSB_32
1150    4657U,	// REP_MOVSB_64
1151    4962U,	// REP_MOVSD_32
1152    4962U,	// REP_MOVSD_64
1153    5100U,	// REP_MOVSQ_64
1154    5542U,	// REP_MOVSW_32
1155    5542U,	// REP_MOVSW_64
1156    5069U,	// REP_PREFIX
1157    4647U,	// REP_STOSB_32
1158    4647U,	// REP_STOSB_64
1159    4952U,	// REP_STOSD_32
1160    4952U,	// REP_STOSD_64
1161    5090U,	// REP_STOSQ_64
1162    5532U,	// REP_STOSW_32
1163    5532U,	// REP_STOSW_64
1164    9285U,	// RETIL
1165    10121U,	// RETIQ
1166    10880U,	// RETIW
1167    4973U,	// RETL
1168    5111U,	// RETQ
1169    5558U,	// RETW
1170    4492U,	// REX64_PREFIX
1171    109536U,	// ROL16m1
1172    110003U,	// ROL16mCL
1173    1067353U,	// ROL16mi
1174    11232U,	// ROL16r1
1175    11699U,	// ROL16rCL
1176    2124121U,	// ROL16ri
1177    117568U,	// ROL32m1
1178    117971U,	// ROL32mCL
1179    3162886U,	// ROL32mi
1180    11072U,	// ROL32r1
1181    11475U,	// ROL32rCL
1182    2122502U,	// ROL32ri
1183    125840U,	// ROL64m1
1184    126275U,	// ROL64mCL
1185    4212324U,	// ROL64mi
1186    11152U,	// ROL64r1
1187    11587U,	// ROL64rCL
1188    2123364U,	// ROL64ri
1189    191216U,	// ROL8m1
1190    191587U,	// ROL8mCL
1191    5259379U,	// ROL8mi
1192    10992U,	// ROL8r1
1193    11363U,	// ROL8rCL
1194    2121843U,	// ROL8ri
1195    109576U,	// ROR16m1
1196    110047U,	// ROR16mCL
1197    1067474U,	// ROR16mi
1198    11272U,	// ROR16r1
1199    11743U,	// ROR16rCL
1200    2124242U,	// ROR16ri
1201    117608U,	// ROR32m1
1202    118015U,	// ROR32mCL
1203    3163029U,	// ROR32mi
1204    11112U,	// ROR32r1
1205    11519U,	// ROR32rCL
1206    2122645U,	// ROR32ri
1207    125880U,	// ROR64m1
1208    126319U,	// ROR64mCL
1209    4212451U,	// ROR64mi
1210    11192U,	// ROR64r1
1211    11631U,	// ROR64rCL
1212    2123491U,	// ROR64ri
1213    191256U,	// ROR8m1
1214    191631U,	// ROR8mCL
1215    5259421U,	// ROR8mi
1216    11032U,	// ROR8r1
1217    11407U,	// ROR8rCL
1218    2121885U,	// ROR8ri
1219    6382787U,	// RORX32mi
1220    35153091U,	// RORX32ri
1221    6907916U,	// RORX64mi
1222    35153932U,	// RORX64ri
1223    5021U,	// RSM
1224    4838U,	// SAHF
1225    109506U,	// SAL16m1
1226    109970U,	// SAL16mCL
1227    1067327U,	// SAL16mi
1228    11202U,	// SAL16r1
1229    11666U,	// SAL16rCL
1230    2124095U,	// SAL16ri
1231    117538U,	// SAL32m1
1232    117938U,	// SAL32mCL
1233    3162842U,	// SAL32mi
1234    11042U,	// SAL32r1
1235    11442U,	// SAL32rCL
1236    2122458U,	// SAL32ri
1237    125810U,	// SAL64m1
1238    126242U,	// SAL64mCL
1239    4212299U,	// SAL64mi
1240    11122U,	// SAL64r1
1241    11554U,	// SAL64rCL
1242    2123339U,	// SAL64ri
1243    191186U,	// SAL8m1
1244    191554U,	// SAL8mCL
1245    5259361U,	// SAL8mi
1246    10962U,	// SAL8r1
1247    11330U,	// SAL8rCL
1248    2121825U,	// SAL8ri
1249    4700U,	// SALC
1250    109546U,	// SAR16m1
1251    110014U,	// SAR16mCL
1252    1067450U,	// SAR16mi
1253    11242U,	// SAR16r1
1254    11710U,	// SAR16rCL
1255    2124218U,	// SAR16ri
1256    117578U,	// SAR32m1
1257    117982U,	// SAR32mCL
1258    3163011U,	// SAR32mi
1259    11082U,	// SAR32r1
1260    11486U,	// SAR32rCL
1261    2122627U,	// SAR32ri
1262    125850U,	// SAR64m1
1263    126286U,	// SAR64mCL
1264    4212433U,	// SAR64mi
1265    11162U,	// SAR64r1
1266    11598U,	// SAR64rCL
1267    2123473U,	// SAR64ri
1268    191226U,	// SAR8m1
1269    191598U,	// SAR8mCL
1270    5259403U,	// SAR8mi
1271    11002U,	// SAR8r1
1272    11374U,	// SAR8rCL
1273    2121867U,	// SAR8ri
1274    6382773U,	// SARX32rm
1275    35153077U,	// SARX32rr
1276    6907902U,	// SARX64rm
1277    35153918U,	// SARX64rr
1278    534658U,	// SBB16i16
1279    1067138U,	// SBB16mi
1280    1067138U,	// SBB16mi8
1281    1067138U,	// SBB16mr
1282    1599618U,	// SBB16ri
1283    1599618U,	// SBB16ri8
1284    1607810U,	// SBB16rm
1285    1599618U,	// SBB16rr
1286    2123906U,	// SBB16rr_REV
1287    2630083U,	// SBB32i32
1288    3162563U,	// SBB32mi
1289    3162563U,	// SBB32mi8
1290    3162563U,	// SBB32mr
1291    1597891U,	// SBB32ri
1292    1597891U,	// SBB32ri8
1293    1614275U,	// SBB32rm
1294    1597891U,	// SBB32rr
1295    2122179U,	// SBB32rr_REV
1296    3679536U,	// SBB64i32
1297    4212016U,	// SBB64mi32
1298    4212016U,	// SBB64mi8
1299    4212016U,	// SBB64mr
1300    1598768U,	// SBB64ri32
1301    1598768U,	// SBB64ri8
1302    1623344U,	// SBB64rm
1303    1598768U,	// SBB64rr
1304    2123056U,	// SBB64rr_REV
1305    4726818U,	// SBB8i8
1306    5259298U,	// SBB8mi
1307    5259298U,	// SBB8mr
1308    1597474U,	// SBB8ri
1309    57378U,	// SBB8rm
1310    1597474U,	// SBB8rr
1311    2121762U,	// SBB8rr_REV
1312    4866217U,	// SCASB
1313    2778050U,	// SCASL
1314    3835673U,	// SCASQ
1315    698870U,	// SCASW
1316    5400U,	// SEG_ALLOCA_32
1317    5400U,	// SEG_ALLOCA_64
1318    4803U,	// SEH_EndPrologue
1319    4789U,	// SEH_Epilogue
1320    12013U,	// SEH_PushFrame
1321    12058U,	// SEH_PushReg
1322    123219724U,	// SEH_SaveReg
1323    123219638U,	// SEH_SaveXMM
1324    123219709U,	// SEH_SetFrame
1325    11996U,	// SEH_StackAlloc
1326    188727U,	// SETAEm
1327    8503U,	// SETAEr
1328    188421U,	// SETAm
1329    8197U,	// SETAr
1330    188739U,	// SETBEm
1331    8515U,	// SETBEr
1332    0U,	// SETB_C16r
1333    0U,	// SETB_C32r
1334    0U,	// SETB_C64r
1335    0U,	// SETB_C8r
1336    188629U,	// SETBm
1337    8405U,	// SETBr
1338    188801U,	// SETEm
1339    8577U,	// SETEr
1340    188751U,	// SETGEm
1341    8527U,	// SETGEr
1342    188826U,	// SETGm
1343    8602U,	// SETGr
1344    188767U,	// SETLEm
1345    8543U,	// SETLEr
1346    189515U,	// SETLm
1347    9291U,	// SETLr
1348    188787U,	// SETNEm
1349    8563U,	// SETNEr
1350    189663U,	// SETNOm
1351    9439U,	// SETNOr
1352    189690U,	// SETNPm
1353    9466U,	// SETNPr
1354    190535U,	// SETNSm
1355    10311U,	// SETNSr
1356    189670U,	// SETOm
1357    9446U,	// SETOr
1358    189708U,	// SETPm
1359    9484U,	// SETPr
1360    190542U,	// SETSm
1361    10318U,	// SETSr
1362    199260U,	// SGDT16m
1363    197672U,	// SGDT32m
1364    198508U,	// SGDT64m
1365    109526U,	// SHL16m1
1366    109992U,	// SHL16mCL
1367    1067339U,	// SHL16mi
1368    11222U,	// SHL16r1
1369    11688U,	// SHL16rCL
1370    2124107U,	// SHL16ri
1371    117558U,	// SHL32m1
1372    117960U,	// SHL32mCL
1373    3162854U,	// SHL32mi
1374    11062U,	// SHL32r1
1375    11464U,	// SHL32rCL
1376    2122470U,	// SHL32ri
1377    125830U,	// SHL64m1
1378    126264U,	// SHL64mCL
1379    4212311U,	// SHL64mi
1380    11142U,	// SHL64r1
1381    11576U,	// SHL64rCL
1382    2123351U,	// SHL64ri
1383    191206U,	// SHL8m1
1384    191576U,	// SHL8mCL
1385    5259373U,	// SHL8mi
1386    10982U,	// SHL8r1
1387    11352U,	// SHL8rCL
1388    2121837U,	// SHL8ri
1389    1068410U,	// SHLD16mrCL
1390    227633358U,	// SHLD16mri8
1391    2125178U,	// SHLD16rrCL
1392    321742U,	// SHLD16rri8
1393    3165338U,	// SHLD32mrCL
1394    244408856U,	// SHLD32mri8
1395    2124954U,	// SHLD32rrCL
1396    320024U,	// SHLD32rri8
1397    4214026U,	// SHLD64mrCL
1398    261186949U,	// SHLD64mri8
1399    2125066U,	// SHLD64rrCL
1400    320901U,	// SHLD64rri8
1401    6382752U,	// SHLX32rm
1402    35153056U,	// SHLX32rr
1403    6907881U,	// SHLX64rm
1404    35153897U,	// SHLX64rr
1405    109566U,	// SHR16m1
1406    110036U,	// SHR16mCL
1407    1067468U,	// SHR16mi
1408    11262U,	// SHR16r1
1409    11732U,	// SHR16rCL
1410    2124236U,	// SHR16ri
1411    117598U,	// SHR32m1
1412    118004U,	// SHR32mCL
1413    3163023U,	// SHR32mi
1414    11102U,	// SHR32r1
1415    11508U,	// SHR32rCL
1416    2122639U,	// SHR32ri
1417    125870U,	// SHR64m1
1418    126308U,	// SHR64mCL
1419    4212445U,	// SHR64mi
1420    11182U,	// SHR64r1
1421    11620U,	// SHR64rCL
1422    2123485U,	// SHR64ri
1423    191246U,	// SHR8m1
1424    191620U,	// SHR8mCL
1425    5259415U,	// SHR8mi
1426    11022U,	// SHR8r1
1427    11396U,	// SHR8rCL
1428    2121879U,	// SHR8ri
1429    1068422U,	// SHRD16mrCL
1430    227633374U,	// SHRD16mri8
1431    2125190U,	// SHRD16rrCL
1432    321758U,	// SHRD16rri8
1433    3165350U,	// SHRD32mrCL
1434    244408872U,	// SHRD32mri8
1435    2124966U,	// SHRD32rrCL
1436    320040U,	// SHRD32rri8
1437    4214038U,	// SHRD64mrCL
1438    261186965U,	// SHRD64mri8
1439    2125078U,	// SHRD64rrCL
1440    320917U,	// SHRD64rri8
1441    6382780U,	// SHRX32rm
1442    35153084U,	// SHRX32rr
1443    6907909U,	// SHRX64rm
1444    35153925U,	// SHRX64rr
1445    199274U,	// SIDT16m
1446    197686U,	// SIDT32m
1447    198522U,	// SIDT64m
1448    5617U,	// SKINIT
1449    109176U,	// SLDT16m
1450    10872U,	// SLDT16r
1451    9277U,	// SLDT32r
1452    108417U,	// SLDT64m
1453    10113U,	// SLDT64r
1454    109239U,	// SMSW16m
1455    10935U,	// SMSW16r
1456    9346U,	// SMSW32r
1457    10187U,	// SMSW64r
1458    4678U,	// STAC
1459    4732U,	// STC
1460    4751U,	// STD
1461    4857U,	// STGI
1462    4866U,	// STI
1463    150560U,	// STOSB
1464    159273U,	// STOSL
1465    167517U,	// STOSQ
1466    175608U,	// STOSW
1467    10736U,	// STR16r
1468    9140U,	// STR32r
1469    9995U,	// STR64r
1470    109040U,	// STRm
1471    534672U,	// SUB16i16
1472    1067152U,	// SUB16mi
1473    1067152U,	// SUB16mi8
1474    1067152U,	// SUB16mr
1475    1599632U,	// SUB16ri
1476    1599632U,	// SUB16ri8
1477    1607824U,	// SUB16rm
1478    1599632U,	// SUB16rr
1479    2123920U,	// SUB16rr_REV
1480    2630097U,	// SUB32i32
1481    3162577U,	// SUB32mi
1482    3162577U,	// SUB32mi8
1483    3162577U,	// SUB32mr
1484    1597905U,	// SUB32ri
1485    1597905U,	// SUB32ri8
1486    1614289U,	// SUB32rm
1487    1597905U,	// SUB32rr
1488    2122193U,	// SUB32rr_REV
1489    3679550U,	// SUB64i32
1490    4212030U,	// SUB64mi32
1491    4212030U,	// SUB64mi8
1492    4212030U,	// SUB64mr
1493    1598782U,	// SUB64ri32
1494    1598782U,	// SUB64ri8
1495    1623358U,	// SUB64rm
1496    1598782U,	// SUB64rr
1497    2123070U,	// SUB64rr_REV
1498    4726824U,	// SUB8i8
1499    5259304U,	// SUB8mi
1500    5259304U,	// SUB8mr
1501    1597480U,	// SUB8ri
1502    1597480U,	// SUB8ri8
1503    57384U,	// SUB8rm
1504    1597480U,	// SUB8rr
1505    2121768U,	// SUB8rr_REV
1506    5393U,	// SWAPGS
1507    4944U,	// SYSCALL
1508    5144U,	// SYSENTER
1509    4992U,	// SYSEXIT
1510    5130U,	// SYSEXIT64
1511    4984U,	// SYSRET
1512    5122U,	// SYSRET64
1513    65795U,	// T1MSKC32rm
1514    22618371U,	// T1MSKC32rr
1515    82179U,	// T1MSKC64rm
1516    22618371U,	// T1MSKC64rr
1517    10093808U,	// TAILJMPd
1518    10093808U,	// TAILJMPd64
1519    10080429U,	// TAILJMPm
1520    10088638U,	// TAILJMPm64
1521    0U,	// TAILJMPr
1522    9973950U,	// TAILJMPr64
1523    0U,	// TCRETURNdi
1524    0U,	// TCRETURNdi64
1525    0U,	// TCRETURNmi
1526    0U,	// TCRETURNmi64
1527    0U,	// TCRETURNri
1528    0U,	// TCRETURNri64
1529    535196U,	// TEST16i16
1530    1067676U,	// TEST16mi
1531    1067676U,	// TEST16mi_alt
1532    22620828U,	// TEST16ri
1533    22620828U,	// TEST16ri_alt
1534    1067676U,	// TEST16rm
1535    22620828U,	// TEST16rr
1536    2630759U,	// TEST32i32
1537    3163239U,	// TEST32mi
1538    3163239U,	// TEST32mi_alt
1539    22619239U,	// TEST32ri
1540    22619239U,	// TEST32ri_alt
1541    3163239U,	// TEST32rm
1542    22619239U,	// TEST32rr
1543    3680176U,	// TEST64i32
1544    4212656U,	// TEST64mi32
1545    4212656U,	// TEST64mi32_alt
1546    22620080U,	// TEST64ri32
1547    22620080U,	// TEST64ri32_alt
1548    4212656U,	// TEST64rm
1549    22620080U,	// TEST64rr
1550    4727009U,	// TEST8i8
1551    5259489U,	// TEST8mi
1552    5259489U,	// TEST8mi_alt
1553    22618337U,	// TEST8ri
1554    0U,	// TEST8ri_NOREX
1555    22618337U,	// TEST8ri_alt
1556    5259489U,	// TEST8rm
1557    22618337U,	// TEST8rr
1558    4358U,	// TLSCall_32
1559    4448U,	// TLSCall_64
1560    4371U,	// TLS_addr32
1561    4461U,	// TLS_addr64
1562    4384U,	// TLS_base_addr32
1563    4474U,	// TLS_base_addr64
1564    4402U,	// TRAP
1565    101006U,	// TZCNT16rm
1566    22620814U,	// TZCNT16rr
1567    66649U,	// TZCNT32rm
1568    22619225U,	// TZCNT32rr
1569    83863U,	// TZCNT64rm
1570    22620055U,	// TZCNT64rr
1571    65966U,	// TZMSK32rm
1572    22618542U,	// TZMSK32rr
1573    82350U,	// TZMSK64rm
1574    22618542U,	// TZMSK64rr
1575    4612U,	// UD2B
1576    274214548U,	// VAARG_64
1577    1196961476U,	// VASTART_SAVE_XMM_REGS
1578    108587U,	// VERRm
1579    10283U,	// VERRr
1580    108998U,	// VERWm
1581    10694U,	// VERWr
1582    4937U,	// VMCALL
1583    124947U,	// VMCLEARm
1584    4719U,	// VMFUNC
1585    4843U,	// VMLAUNCH
1586    5582U,	// VMLOAD32
1587    5662U,	// VMLOAD64
1588    4929U,	// VMMCALL
1589    123170U,	// VMPTRLDm
1590    125035U,	// VMPTRSTm
1591    3162623U,	// VMREAD32rm
1592    22618623U,	// VMREAD32rr
1593    4212076U,	// VMREAD64rm
1594    22619500U,	// VMREAD64rr
1595    4767U,	// VMRESUME
1596    5606U,	// VMRUN32
1597    5686U,	// VMRUN64
1598    5594U,	// VMSAVE32
1599    5674U,	// VMSAVE64
1600    66184U,	// VMWRITE32rm
1601    22618760U,	// VMWRITE32rr
1602    83445U,	// VMWRITE64rm
1603    22619637U,	// VMWRITE64rr
1604    4826U,	// VMXOFF
1605    124111U,	// VMXON
1606    132701U,	// W64ALLOCA
1607    4760U,	// WBINVD
1608    5025U,	// WIN_ALLOCA
1609    4870U,	// WIN_FTOL_32
1610    4870U,	// WIN_FTOL_64
1611    8807U,	// WRFSBASE
1612    9684U,	// WRFSBASE64
1613    8829U,	// WRGSBASE
1614    9706U,	// WRGSBASE64
1615    5159U,	// WRMSR
1616    1067198U,	// XADD16rm
1617    22620350U,	// XADD16rr
1618    3162632U,	// XADD32rm
1619    22618632U,	// XADD32rr
1620    4212085U,	// XADD64rm
1621    22619509U,	// XADD64rr
1622    5259328U,	// XADD8rm
1623    22618176U,	// XADD8rr
1624    534825U,	// XCHG16ar
1625    140060969U,	// XCHG16rm
1626    291055913U,	// XCHG16rr
1627    2630313U,	// XCHG32ar
1628    2630313U,	// XCHG32ar64
1629    156836521U,	// XCHG32rm
1630    291054249U,	// XCHG32rr
1631    3679774U,	// XCHG64ar
1632    173614622U,	// XCHG64rm
1633    291055134U,	// XCHG64rr
1634    190390358U,	// XCHG8rm
1635    291053654U,	// XCHG8rr
1636    4683U,	// XCRYPTCBC
1637    4627U,	// XCRYPTCFB
1638    5165U,	// XCRYPTCTR
1639    4617U,	// XCRYPTECB
1640    4637U,	// XCRYPTOFB
1641    5492U,	// XGETBV
1642    4667U,	// XLAT
1643    535000U,	// XOR16i16
1644    1067480U,	// XOR16mi
1645    1067480U,	// XOR16mi8
1646    1067480U,	// XOR16mr
1647    1599960U,	// XOR16ri
1648    1599960U,	// XOR16ri8
1649    1608152U,	// XOR16rm
1650    1599960U,	// XOR16rr
1651    2124248U,	// XOR16rr_REV
1652    2630555U,	// XOR32i32
1653    3163035U,	// XOR32mi
1654    3163035U,	// XOR32mi8
1655    3163035U,	// XOR32mr
1656    1598363U,	// XOR32ri
1657    1598363U,	// XOR32ri8
1658    1614747U,	// XOR32rm
1659    1598363U,	// XOR32rr
1660    2122651U,	// XOR32rr_REV
1661    3679986U,	// XOR64i32
1662    4212466U,	// XOR64mi32
1663    4212466U,	// XOR64mi8
1664    4212466U,	// XOR64mr
1665    1599218U,	// XOR64ri32
1666    1599218U,	// XOR64ri8
1667    1623794U,	// XOR64rm
1668    1599218U,	// XOR64rr
1669    2123506U,	// XOR64rr_REV
1670    4726947U,	// XOR8i8
1671    5259427U,	// XOR8mi
1672    5259427U,	// XOR8mr
1673    1597603U,	// XOR8ri
1674    1597603U,	// XOR8ri8
1675    57507U,	// XOR8rm
1676    1597603U,	// XOR8rr
1677    2121891U,	// XOR8rr_REV
1678    198691U,	// XRSTOR
1679    198377U,	// XRSTOR64
1680    196999U,	// XSAVE
1681    198143U,	// XSAVE64
1682    198753U,	// XSAVEOPT
1683    198565U,	// XSAVEOPT64
1684    5499U,	// XSETBV
1685    4310U,	// XSHA1
1686    4505U,	// XSHA256
1687    4782U,	// XSTORE
1688    0U
1689  };
1690
1691#ifndef CAPSTONE_DIET
1692  static char AsmStrs[] = {
1693  /* 0 */ 'j', 'a', 9, 0,
1694  /* 4 */ 's', 'e', 't', 'a', 9, 0,
1695  /* 10 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', '1', '6', 'b', 9, 0,
1696  /* 22 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', '8', 'b', 9, 0,
1697  /* 33 */ 's', 'b', 'b', 'b', 9, 0,
1698  /* 39 */ 's', 'u', 'b', 'b', 9, 0,
1699  /* 45 */ 'a', 'd', 'c', 'b', 9, 0,
1700  /* 51 */ 'd', 'e', 'c', 'b', 9, 0,
1701  /* 57 */ 'i', 'n', 'c', 'b', 9, 0,
1702  /* 63 */ 'x', 'a', 'd', 'd', 'b', 9, 0,
1703  /* 70 */ 'a', 'n', 'd', 'b', 9, 0,
1704  /* 76 */ 'n', 'e', 'g', 'b', 9, 0,
1705  /* 82 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 'b', 9, 0,
1706  /* 92 */ 'j', 'b', 9, 0,
1707  /* 96 */ 's', 'a', 'l', 'b', 9, 0,
1708  /* 102 */ 'r', 'c', 'l', 'b', 9, 0,
1709  /* 108 */ 's', 'h', 'l', 'b', 9, 0,
1710  /* 114 */ 'r', 'o', 'l', 'b', 9, 0,
1711  /* 120 */ 'i', 'm', 'u', 'l', 'b', 9, 0,
1712  /* 127 */ 'i', 'n', 'b', 9, 0,
1713  /* 132 */ 'c', 'm', 'p', 'b', 9, 0,
1714  /* 138 */ 's', 'a', 'r', 'b', 9, 0,
1715  /* 144 */ 'r', 'c', 'r', 'b', 9, 0,
1716  /* 150 */ 's', 'h', 'r', 'b', 9, 0,
1717  /* 156 */ 'r', 'o', 'r', 'b', 9, 0,
1718  /* 162 */ 'x', 'o', 'r', 'b', 9, 0,
1719  /* 168 */ 's', 'c', 'a', 's', 'b', 9, 0,
1720  /* 175 */ 'm', 'o', 'v', 'a', 'b', 's', 'b', 9, 0,
1721  /* 184 */ 'l', 'o', 'd', 's', 'b', 9, 0,
1722  /* 191 */ 'c', 'm', 'p', 's', 'b', 9, 0,
1723  /* 198 */ 'o', 'u', 't', 's', 'b', 9, 0,
1724  /* 205 */ 'm', 'o', 'v', 's', 'b', 9, 0,
1725  /* 212 */ 's', 'e', 't', 'b', 9, 0,
1726  /* 218 */ 'n', 'o', 't', 'b', 9, 0,
1727  /* 224 */ 't', 'e', 's', 't', 'b', 9, 0,
1728  /* 231 */ 'i', 'd', 'i', 'v', 'b', 9, 0,
1729  /* 238 */ 'm', 'o', 'v', 'b', 9, 0,
1730  /* 244 */ 'b', 'l', 'c', 'i', 'c', 9, 0,
1731  /* 251 */ 'b', 'l', 's', 'i', 'c', 9, 0,
1732  /* 258 */ 't', '1', 'm', 's', 'k', 'c', 9, 0,
1733  /* 266 */ 'a', 'a', 'd', 9, 0,
1734  /* 271 */ 'i', 'n', 'v', 'p', 'c', 'i', 'd', 9, 0,
1735  /* 280 */ 'i', 'n', 'v', 'v', 'p', 'i', 'd', 9, 0,
1736  /* 289 */ 'v', 'm', 'p', 't', 'r', 'l', 'd', 9, 0,
1737  /* 298 */ 'b', 'o', 'u', 'n', 'd', 9, 0,
1738  /* 305 */ 'j', 'a', 'e', 9, 0,
1739  /* 310 */ 's', 'e', 't', 'a', 'e', 9, 0,
1740  /* 317 */ 'j', 'b', 'e', 9, 0,
1741  /* 322 */ 's', 'e', 't', 'b', 'e', 9, 0,
1742  /* 329 */ 'j', 'g', 'e', 9, 0,
1743  /* 334 */ 's', 'e', 't', 'g', 'e', 9, 0,
1744  /* 341 */ 'j', 'e', 9, 0,
1745  /* 345 */ 'j', 'l', 'e', 9, 0,
1746  /* 350 */ 's', 'e', 't', 'l', 'e', 9, 0,
1747  /* 357 */ 'j', 'n', 'e', 9, 0,
1748  /* 362 */ 'l', 'o', 'o', 'p', 'n', 'e', 9, 0,
1749  /* 370 */ 's', 'e', 't', 'n', 'e', 9, 0,
1750  /* 377 */ 'l', 'o', 'o', 'p', 'e', 9, 0,
1751  /* 384 */ 's', 'e', 't', 'e', 9, 0,
1752  /* 390 */ 'x', 's', 'a', 'v', 'e', 9, 0,
1753  /* 397 */ 'j', 'g', 9, 0,
1754  /* 401 */ 'i', 'n', 'v', 'l', 'p', 'g', 9, 0,
1755  /* 409 */ 's', 'e', 't', 'g', 9, 0,
1756  /* 415 */ 'b', 'l', 'c', 'i', 9, 0,
1757  /* 421 */ 'b', 'l', 'c', 'm', 's', 'k', 9, 0,
1758  /* 429 */ 't', 'z', 'm', 's', 'k', 9, 0,
1759  /* 436 */ 'l', 'e', 'a', 'l', 9, 0,
1760  /* 442 */ 'c', 'm', 'o', 'v', 'a', 'l', 9, 0,
1761  /* 450 */ 's', 'b', 'b', 'l', 9, 0,
1762  /* 456 */ 'm', 'o', 'v', 's', 'b', 'l', 9, 0,
1763  /* 464 */ 's', 'u', 'b', 'l', 9, 0,
1764  /* 470 */ 'c', 'm', 'o', 'v', 'b', 'l', 9, 0,
1765  /* 478 */ 'm', 'o', 'v', 'z', 'b', 'l', 9, 0,
1766  /* 486 */ 'a', 'd', 'c', 'l', 9, 0,
1767  /* 492 */ 'd', 'e', 'c', 'l', 9, 0,
1768  /* 498 */ 'i', 'n', 'c', 'l', 9, 0,
1769  /* 504 */ 'b', 't', 'c', 'l', 9, 0,
1770  /* 510 */ 'v', 'm', 'r', 'e', 'a', 'd', 'l', 9, 0,
1771  /* 519 */ 'x', 'a', 'd', 'd', 'l', 9, 0,
1772  /* 526 */ 'r', 'd', 's', 'e', 'e', 'd', 'l', 9, 0,
1773  /* 535 */ 's', 'h', 'l', 'd', 'l', 9, 0,
1774  /* 542 */ 'r', 'd', 'r', 'a', 'n', 'd', 'l', 9, 0,
1775  /* 551 */ 's', 'h', 'r', 'd', 'l', 9, 0,
1776  /* 558 */ 'c', 'm', 'o', 'v', 'a', 'e', 'l', 9, 0,
1777  /* 567 */ 'c', 'm', 'o', 'v', 'b', 'e', 'l', 9, 0,
1778  /* 576 */ 'c', 'm', 'o', 'v', 'g', 'e', 'l', 9, 0,
1779  /* 585 */ 'c', 'm', 'o', 'v', 'l', 'e', 'l', 9, 0,
1780  /* 594 */ 'c', 'm', 'o', 'v', 'n', 'e', 'l', 9, 0,
1781  /* 603 */ 'r', 'd', 'f', 's', 'b', 'a', 's', 'e', 'l', 9, 0,
1782  /* 614 */ 'w', 'r', 'f', 's', 'b', 'a', 's', 'e', 'l', 9, 0,
1783  /* 625 */ 'r', 'd', 'g', 's', 'b', 'a', 's', 'e', 'l', 9, 0,
1784  /* 636 */ 'w', 'r', 'g', 's', 'b', 'a', 's', 'e', 'l', 9, 0,
1785  /* 647 */ 'v', 'm', 'w', 'r', 'i', 't', 'e', 'l', 9, 0,
1786  /* 657 */ 'c', 'm', 'o', 'v', 'e', 'l', 9, 0,
1787  /* 665 */ 'b', 's', 'f', 'l', 9, 0,
1788  /* 671 */ 'n', 'e', 'g', 'l', 9, 0,
1789  /* 677 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 'l', 9, 0,
1790  /* 687 */ 'c', 'm', 'o', 'v', 'g', 'l', 9, 0,
1791  /* 695 */ 'p', 'u', 's', 'h', 'l', 9, 0,
1792  /* 702 */ 'b', 'z', 'h', 'i', 'l', 9, 0,
1793  /* 709 */ 'b', 'l', 's', 'i', 'l', 9, 0,
1794  /* 716 */ 'j', 'l', 9, 0,
1795  /* 720 */ 'b', 'l', 's', 'm', 's', 'k', 'l', 9, 0,
1796  /* 729 */ 's', 'a', 'l', 'l', 9, 0,
1797  /* 735 */ 'r', 'c', 'l', 'l', 9, 0,
1798  /* 741 */ 's', 'h', 'l', 'l', 9, 0,
1799  /* 747 */ 'b', 'l', 'c', 'f', 'i', 'l', 'l', 9, 0,
1800  /* 756 */ 'b', 'l', 's', 'f', 'i', 'l', 'l', 9, 0,
1801  /* 765 */ 'l', 'c', 'a', 'l', 'l', 'l', 9, 0,
1802  /* 773 */ 'r', 'o', 'l', 'l', 9, 0,
1803  /* 779 */ 'l', 's', 'l', 'l', 9, 0,
1804  /* 785 */ 'i', 'm', 'u', 'l', 'l', 9, 0,
1805  /* 792 */ 'c', 'm', 'o', 'v', 'l', 'l', 9, 0,
1806  /* 800 */ 'a', 'n', 'd', 'n', 'l', 9, 0,
1807  /* 807 */ 'i', 'n', 'l', 9, 0,
1808  /* 812 */ 'c', 'm', 'o', 'v', 'n', 'o', 'l', 9, 0,
1809  /* 821 */ 'c', 'm', 'o', 'v', 'o', 'l', 9, 0,
1810  /* 829 */ 'b', 's', 'w', 'a', 'p', 'l', 9, 0,
1811  /* 837 */ 'p', 'd', 'e', 'p', 'l', 9, 0,
1812  /* 844 */ 'c', 'm', 'p', 'l', 9, 0,
1813  /* 850 */ 'l', 'j', 'm', 'p', 'l', 9, 0,
1814  /* 857 */ 'c', 'm', 'o', 'v', 'n', 'p', 'l', 9, 0,
1815  /* 866 */ 'n', 'o', 'p', 'l', 9, 0,
1816  /* 872 */ 'p', 'o', 'p', 'l', 9, 0,
1817  /* 878 */ 'a', 'r', 'p', 'l', 9, 0,
1818  /* 884 */ 'c', 'm', 'o', 'v', 'p', 'l', 9, 0,
1819  /* 892 */ 'l', 'a', 'r', 'l', 9, 0,
1820  /* 898 */ 's', 'a', 'r', 'l', 9, 0,
1821  /* 904 */ 'r', 'c', 'r', 'l', 9, 0,
1822  /* 910 */ 's', 'h', 'r', 'l', 9, 0,
1823  /* 916 */ 'r', 'o', 'r', 'l', 9, 0,
1824  /* 922 */ 'x', 'o', 'r', 'l', 9, 0,
1825  /* 928 */ 'b', 's', 'r', 'l', 9, 0,
1826  /* 934 */ 'b', 'l', 's', 'r', 'l', 9, 0,
1827  /* 941 */ 'b', 't', 'r', 'l', 9, 0,
1828  /* 947 */ 's', 't', 'r', 'l', 9, 0,
1829  /* 953 */ 'b', 'e', 'x', 't', 'r', 'l', 9, 0,
1830  /* 961 */ 's', 'c', 'a', 's', 'l', 9, 0,
1831  /* 968 */ 'm', 'o', 'v', 'a', 'b', 's', 'l', 9, 0,
1832  /* 977 */ 'l', 'd', 's', 'l', 9, 0,
1833  /* 983 */ 'l', 'o', 'd', 's', 'l', 9, 0,
1834  /* 990 */ 'l', 'e', 's', 'l', 9, 0,
1835  /* 996 */ 'l', 'f', 's', 'l', 9, 0,
1836  /* 1002 */ 'l', 'g', 's', 'l', 9, 0,
1837  /* 1008 */ 'c', 'm', 'o', 'v', 'n', 's', 'l', 9, 0,
1838  /* 1017 */ 'c', 'm', 'p', 's', 'l', 9, 0,
1839  /* 1024 */ 'l', 's', 's', 'l', 9, 0,
1840  /* 1030 */ 'b', 't', 's', 'l', 9, 0,
1841  /* 1036 */ 'o', 'u', 't', 's', 'l', 9, 0,
1842  /* 1043 */ 'c', 'm', 'o', 'v', 's', 'l', 9, 0,
1843  /* 1051 */ 'b', 't', 'l', 9, 0,
1844  /* 1056 */ 'l', 'g', 'd', 't', 'l', 9, 0,
1845  /* 1063 */ 's', 'g', 'd', 't', 'l', 9, 0,
1846  /* 1070 */ 'l', 'i', 'd', 't', 'l', 9, 0,
1847  /* 1077 */ 's', 'i', 'd', 't', 'l', 9, 0,
1848  /* 1084 */ 's', 'l', 'd', 't', 'l', 9, 0,
1849  /* 1091 */ 'l', 'r', 'e', 't', 'l', 9, 0,
1850  /* 1098 */ 's', 'e', 't', 'l', 9, 0,
1851  /* 1104 */ 'l', 'z', 'c', 'n', 't', 'l', 9, 0,
1852  /* 1112 */ 't', 'z', 'c', 'n', 't', 'l', 9, 0,
1853  /* 1120 */ 'n', 'o', 't', 'l', 9, 0,
1854  /* 1126 */ 't', 'e', 's', 't', 'l', 9, 0,
1855  /* 1133 */ 'p', 'e', 'x', 't', 'l', 9, 0,
1856  /* 1140 */ 'i', 'd', 'i', 'v', 'l', 9, 0,
1857  /* 1147 */ 'm', 'o', 'v', 'l', 9, 0,
1858  /* 1153 */ 's', 'm', 's', 'w', 'l', 9, 0,
1859  /* 1160 */ 'm', 'o', 'v', 's', 'w', 'l', 9, 0,
1860  /* 1168 */ 'm', 'o', 'v', 'z', 'w', 'l', 9, 0,
1861  /* 1176 */ 'a', 'd', 'c', 'x', 'l', 9, 0,
1862  /* 1183 */ 's', 'h', 'l', 'x', 'l', 9, 0,
1863  /* 1190 */ 'm', 'u', 'l', 'x', 'l', 9, 0,
1864  /* 1197 */ 'a', 'd', 'o', 'x', 'l', 9, 0,
1865  /* 1204 */ 's', 'a', 'r', 'x', 'l', 9, 0,
1866  /* 1211 */ 's', 'h', 'r', 'x', 'l', 9, 0,
1867  /* 1218 */ 'r', 'o', 'r', 'x', 'l', 9, 0,
1868  /* 1225 */ 'a', 'a', 'm', 9, 0,
1869  /* 1230 */ 'v', 'm', 'x', 'o', 'n', 9, 0,
1870  /* 1237 */ 'j', 'o', 9, 0,
1871  /* 1241 */ 'j', 'n', 'o', 9, 0,
1872  /* 1246 */ 's', 'e', 't', 'n', 'o', 9, 0,
1873  /* 1253 */ 's', 'e', 't', 'o', 9, 0,
1874  /* 1259 */ 'j', 'p', 9, 0,
1875  /* 1263 */ 'j', 'm', 'p', 9, 0,
1876  /* 1268 */ 'j', 'n', 'p', 9, 0,
1877  /* 1273 */ 's', 'e', 't', 'n', 'p', 9, 0,
1878  /* 1280 */ 'n', 'o', 'p', 9, 0,
1879  /* 1285 */ 'l', 'o', 'o', 'p', 9, 0,
1880  /* 1291 */ 's', 'e', 't', 'p', 9, 0,
1881  /* 1297 */ '#', 'E', 'H', '_', 'S', 'j', 'L', 'j', '_', 'S', 'e', 't', 'u', 'p', 9, 0,
1882  /* 1313 */ 'l', 'e', 'a', 'q', 9, 0,
1883  /* 1319 */ 'c', 'm', 'o', 'v', 'a', 'q', 9, 0,
1884  /* 1327 */ 's', 'b', 'b', 'q', 9, 0,
1885  /* 1333 */ 'm', 'o', 'v', 's', 'b', 'q', 9, 0,
1886  /* 1341 */ 's', 'u', 'b', 'q', 9, 0,
1887  /* 1347 */ 'c', 'm', 'o', 'v', 'b', 'q', 9, 0,
1888  /* 1355 */ 'm', 'o', 'v', 'z', 'b', 'q', 9, 0,
1889  /* 1363 */ 'a', 'd', 'c', 'q', 9, 0,
1890  /* 1369 */ 'd', 'e', 'c', 'q', 9, 0,
1891  /* 1375 */ 'i', 'n', 'c', 'q', 9, 0,
1892  /* 1381 */ 'b', 't', 'c', 'q', 9, 0,
1893  /* 1387 */ 'v', 'm', 'r', 'e', 'a', 'd', 'q', 9, 0,
1894  /* 1396 */ 'x', 'a', 'd', 'd', 'q', 9, 0,
1895  /* 1403 */ 'r', 'd', 's', 'e', 'e', 'd', 'q', 9, 0,
1896  /* 1412 */ 's', 'h', 'l', 'd', 'q', 9, 0,
1897  /* 1419 */ 'r', 'd', 'r', 'a', 'n', 'd', 'q', 9, 0,
1898  /* 1428 */ 's', 'h', 'r', 'd', 'q', 9, 0,
1899  /* 1435 */ 'c', 'm', 'o', 'v', 'a', 'e', 'q', 9, 0,
1900  /* 1444 */ 'c', 'm', 'o', 'v', 'b', 'e', 'q', 9, 0,
1901  /* 1453 */ 'c', 'm', 'o', 'v', 'g', 'e', 'q', 9, 0,
1902  /* 1462 */ 'c', 'm', 'o', 'v', 'l', 'e', 'q', 9, 0,
1903  /* 1471 */ 'c', 'm', 'o', 'v', 'n', 'e', 'q', 9, 0,
1904  /* 1480 */ 'r', 'd', 'f', 's', 'b', 'a', 's', 'e', 'q', 9, 0,
1905  /* 1491 */ 'w', 'r', 'f', 's', 'b', 'a', 's', 'e', 'q', 9, 0,
1906  /* 1502 */ 'r', 'd', 'g', 's', 'b', 'a', 's', 'e', 'q', 9, 0,
1907  /* 1513 */ 'w', 'r', 'g', 's', 'b', 'a', 's', 'e', 'q', 9, 0,
1908  /* 1524 */ 'v', 'm', 'w', 'r', 'i', 't', 'e', 'q', 9, 0,
1909  /* 1534 */ 'x', 's', 'a', 'v', 'e', 'q', 9, 0,
1910  /* 1542 */ 'c', 'm', 'o', 'v', 'e', 'q', 9, 0,
1911  /* 1550 */ 'b', 's', 'f', 'q', 9, 0,
1912  /* 1556 */ 'n', 'e', 'g', 'q', 9, 0,
1913  /* 1562 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 'q', 9, 0,
1914  /* 1572 */ 'c', 'm', 'o', 'v', 'g', 'q', 9, 0,
1915  /* 1580 */ 'p', 'u', 's', 'h', 'q', 9, 0,
1916  /* 1587 */ 'b', 'z', 'h', 'i', 'q', 9, 0,
1917  /* 1594 */ 'b', 'l', 's', 'i', 'q', 9, 0,
1918  /* 1601 */ 'b', 'l', 's', 'm', 's', 'k', 'q', 9, 0,
1919  /* 1610 */ 's', 'a', 'l', 'q', 9, 0,
1920  /* 1616 */ 'r', 'c', 'l', 'q', 9, 0,
1921  /* 1622 */ 's', 'h', 'l', 'q', 9, 0,
1922  /* 1628 */ 'c', 'a', 'l', 'l', 'q', 9, 0,
1923  /* 1635 */ 'r', 'o', 'l', 'q', 9, 0,
1924  /* 1641 */ 'l', 's', 'l', 'q', 9, 0,
1925  /* 1647 */ 'm', 'o', 'v', 's', 'l', 'q', 9, 0,
1926  /* 1655 */ 'i', 'm', 'u', 'l', 'q', 9, 0,
1927  /* 1662 */ 'c', 'm', 'o', 'v', 'l', 'q', 9, 0,
1928  /* 1670 */ 'a', 'n', 'd', 'n', 'q', 9, 0,
1929  /* 1677 */ 'c', 'm', 'o', 'v', 'n', 'o', 'q', 9, 0,
1930  /* 1686 */ 'c', 'm', 'o', 'v', 'o', 'q', 9, 0,
1931  /* 1694 */ 'b', 's', 'w', 'a', 'p', 'q', 9, 0,
1932  /* 1702 */ 'p', 'd', 'e', 'p', 'q', 9, 0,
1933  /* 1709 */ 'c', 'm', 'p', 'q', 9, 0,
1934  /* 1715 */ 'c', 'm', 'o', 'v', 'n', 'p', 'q', 9, 0,
1935  /* 1724 */ 'p', 'o', 'p', 'q', 9, 0,
1936  /* 1730 */ 'c', 'm', 'o', 'v', 'p', 'q', 9, 0,
1937  /* 1738 */ 'l', 'a', 'r', 'q', 9, 0,
1938  /* 1744 */ 's', 'a', 'r', 'q', 9, 0,
1939  /* 1750 */ 'r', 'c', 'r', 'q', 9, 0,
1940  /* 1756 */ 's', 'h', 'r', 'q', 9, 0,
1941  /* 1762 */ 'r', 'o', 'r', 'q', 9, 0,
1942  /* 1768 */ 'x', 'r', 's', 't', 'o', 'r', 'q', 9, 0,
1943  /* 1777 */ 'x', 'o', 'r', 'q', 9, 0,
1944  /* 1783 */ 'b', 's', 'r', 'q', 9, 0,
1945  /* 1789 */ 'b', 'l', 's', 'r', 'q', 9, 0,
1946  /* 1796 */ 'b', 't', 'r', 'q', 9, 0,
1947  /* 1802 */ 's', 't', 'r', 'q', 9, 0,
1948  /* 1808 */ 'b', 'e', 'x', 't', 'r', 'q', 9, 0,
1949  /* 1816 */ 's', 'c', 'a', 's', 'q', 9, 0,
1950  /* 1823 */ 'm', 'o', 'v', 'a', 'b', 's', 'q', 9, 0,
1951  /* 1832 */ 'l', 'o', 'd', 's', 'q', 9, 0,
1952  /* 1839 */ 'l', 'f', 's', 'q', 9, 0,
1953  /* 1845 */ 'l', 'g', 's', 'q', 9, 0,
1954  /* 1851 */ 'c', 'm', 'o', 'v', 'n', 's', 'q', 9, 0,
1955  /* 1860 */ 'c', 'm', 'p', 's', 'q', 9, 0,
1956  /* 1867 */ 'l', 's', 's', 'q', 9, 0,
1957  /* 1873 */ 'b', 't', 's', 'q', 9, 0,
1958  /* 1879 */ 'c', 'm', 'o', 'v', 's', 'q', 9, 0,
1959  /* 1887 */ 'b', 't', 'q', 9, 0,
1960  /* 1892 */ 'l', 'g', 'd', 't', 'q', 9, 0,
1961  /* 1899 */ 's', 'g', 'd', 't', 'q', 9, 0,
1962  /* 1906 */ 'l', 'i', 'd', 't', 'q', 9, 0,
1963  /* 1913 */ 's', 'i', 'd', 't', 'q', 9, 0,
1964  /* 1920 */ 's', 'l', 'd', 't', 'q', 9, 0,
1965  /* 1927 */ 'l', 'r', 'e', 't', 'q', 9, 0,
1966  /* 1934 */ 'l', 'z', 'c', 'n', 't', 'q', 9, 0,
1967  /* 1942 */ 't', 'z', 'c', 'n', 't', 'q', 9, 0,
1968  /* 1950 */ 'n', 'o', 't', 'q', 9, 0,
1969  /* 1956 */ 'x', 's', 'a', 'v', 'e', 'o', 'p', 't', 'q', 9, 0,
1970  /* 1967 */ 't', 'e', 's', 't', 'q', 9, 0,
1971  /* 1974 */ 'p', 'e', 'x', 't', 'q', 9, 0,
1972  /* 1981 */ 'i', 'd', 'i', 'v', 'q', 9, 0,
1973  /* 1988 */ 'm', 'o', 'v', 'q', 9, 0,
1974  /* 1994 */ 's', 'm', 's', 'w', 'q', 9, 0,
1975  /* 2001 */ 'm', 'o', 'v', 's', 'w', 'q', 9, 0,
1976  /* 2009 */ 'm', 'o', 'v', 'z', 'w', 'q', 9, 0,
1977  /* 2017 */ 'a', 'd', 'c', 'x', 'q', 9, 0,
1978  /* 2024 */ 's', 'h', 'l', 'x', 'q', 9, 0,
1979  /* 2031 */ 'm', 'u', 'l', 'x', 'q', 9, 0,
1980  /* 2038 */ 'a', 'd', 'o', 'x', 'q', 9, 0,
1981  /* 2045 */ 's', 'a', 'r', 'x', 'q', 9, 0,
1982  /* 2052 */ 's', 'h', 'r', 'x', 'q', 9, 0,
1983  /* 2059 */ 'r', 'o', 'r', 'x', 'q', 9, 0,
1984  /* 2066 */ 'v', 'm', 'c', 'l', 'e', 'a', 'r', 9, 0,
1985  /* 2075 */ 'e', 'n', 't', 'e', 'r', 9, 0,
1986  /* 2082 */ 'x', 'r', 's', 't', 'o', 'r', 9, 0,
1987  /* 2090 */ 'v', 'e', 'r', 'r', 9, 0,
1988  /* 2096 */ 'b', 'e', 'x', 't', 'r', 9, 0,
1989  /* 2103 */ 'b', 'l', 'c', 's', 9, 0,
1990  /* 2109 */ 'j', 's', 9, 0,
1991  /* 2113 */ 'j', 'n', 's', 9, 0,
1992  /* 2118 */ 's', 'e', 't', 'n', 's', 9, 0,
1993  /* 2125 */ 's', 'e', 't', 's', 9, 0,
1994  /* 2131 */ 'i', 'n', 't', 9, 0,
1995  /* 2136 */ 'i', 'n', 'v', 'e', 'p', 't', 9, 0,
1996  /* 2144 */ 'x', 's', 'a', 'v', 'e', 'o', 'p', 't', 9, 0,
1997  /* 2154 */ 'v', 'm', 'p', 't', 'r', 's', 't', 9, 0,
1998  /* 2163 */ 'l', 'e', 'a', 'w', 9, 0,
1999  /* 2169 */ 'c', 'm', 'o', 'v', 'a', 'w', 9, 0,
2000  /* 2177 */ 's', 'b', 'b', 'w', 9, 0,
2001  /* 2183 */ 'm', 'o', 'v', 's', 'b', 'w', 9, 0,
2002  /* 2191 */ 's', 'u', 'b', 'w', 9, 0,
2003  /* 2197 */ 'c', 'm', 'o', 'v', 'b', 'w', 9, 0,
2004  /* 2205 */ 'm', 'o', 'v', 'z', 'b', 'w', 9, 0,
2005  /* 2213 */ 'a', 'd', 'c', 'w', 9, 0,
2006  /* 2219 */ 'd', 'e', 'c', 'w', 9, 0,
2007  /* 2225 */ 'i', 'n', 'c', 'w', 9, 0,
2008  /* 2231 */ 'b', 't', 'c', 'w', 9, 0,
2009  /* 2237 */ 'x', 'a', 'd', 'd', 'w', 9, 0,
2010  /* 2244 */ 'r', 'd', 's', 'e', 'e', 'd', 'w', 9, 0,
2011  /* 2253 */ 's', 'h', 'l', 'd', 'w', 9, 0,
2012  /* 2260 */ 'r', 'd', 'r', 'a', 'n', 'd', 'w', 9, 0,
2013  /* 2269 */ 's', 'h', 'r', 'd', 'w', 9, 0,
2014  /* 2276 */ 'c', 'm', 'o', 'v', 'a', 'e', 'w', 9, 0,
2015  /* 2285 */ 'c', 'm', 'o', 'v', 'b', 'e', 'w', 9, 0,
2016  /* 2294 */ 'c', 'm', 'o', 'v', 'g', 'e', 'w', 9, 0,
2017  /* 2303 */ 'c', 'm', 'o', 'v', 'l', 'e', 'w', 9, 0,
2018  /* 2312 */ 'c', 'm', 'o', 'v', 'n', 'e', 'w', 9, 0,
2019  /* 2321 */ 'c', 'm', 'o', 'v', 'e', 'w', 9, 0,
2020  /* 2329 */ 'b', 's', 'f', 'w', 9, 0,
2021  /* 2335 */ 'n', 'e', 'g', 'w', 9, 0,
2022  /* 2341 */ 'c', 'm', 'p', 'x', 'c', 'h', 'g', 'w', 9, 0,
2023  /* 2351 */ 'c', 'm', 'o', 'v', 'g', 'w', 9, 0,
2024  /* 2359 */ 'p', 'u', 's', 'h', 'w', 9, 0,
2025  /* 2366 */ 's', 'a', 'l', 'w', 9, 0,
2026  /* 2372 */ 'r', 'c', 'l', 'w', 9, 0,
2027  /* 2378 */ 's', 'h', 'l', 'w', 9, 0,
2028  /* 2384 */ 'l', 'c', 'a', 'l', 'l', 'w', 9, 0,
2029  /* 2392 */ 'r', 'o', 'l', 'w', 9, 0,
2030  /* 2398 */ 'l', 's', 'l', 'w', 9, 0,
2031  /* 2404 */ 'i', 'm', 'u', 'l', 'w', 9, 0,
2032  /* 2411 */ 'c', 'm', 'o', 'v', 'l', 'w', 9, 0,
2033  /* 2419 */ 'i', 'n', 'w', 9, 0,
2034  /* 2424 */ 'c', 'm', 'o', 'v', 'n', 'o', 'w', 9, 0,
2035  /* 2433 */ 'c', 'm', 'o', 'v', 'o', 'w', 9, 0,
2036  /* 2441 */ 'c', 'm', 'p', 'w', 9, 0,
2037  /* 2447 */ 'l', 'j', 'm', 'p', 'w', 9, 0,
2038  /* 2454 */ 'c', 'm', 'o', 'v', 'n', 'p', 'w', 9, 0,
2039  /* 2463 */ 'n', 'o', 'p', 'w', 9, 0,
2040  /* 2469 */ 'p', 'o', 'p', 'w', 9, 0,
2041  /* 2475 */ 'c', 'm', 'o', 'v', 'p', 'w', 9, 0,
2042  /* 2483 */ 'l', 'a', 'r', 'w', 9, 0,
2043  /* 2489 */ 's', 'a', 'r', 'w', 9, 0,
2044  /* 2495 */ 'r', 'c', 'r', 'w', 9, 0,
2045  /* 2501 */ 'v', 'e', 'r', 'w', 9, 0,
2046  /* 2507 */ 's', 'h', 'r', 'w', 9, 0,
2047  /* 2513 */ 'r', 'o', 'r', 'w', 9, 0,
2048  /* 2519 */ 'x', 'o', 'r', 'w', 9, 0,
2049  /* 2525 */ 'b', 's', 'r', 'w', 9, 0,
2050  /* 2531 */ 'b', 't', 'r', 'w', 9, 0,
2051  /* 2537 */ 'l', 't', 'r', 'w', 9, 0,
2052  /* 2543 */ 's', 't', 'r', 'w', 9, 0,
2053  /* 2549 */ 's', 'c', 'a', 's', 'w', 9, 0,
2054  /* 2556 */ 'm', 'o', 'v', 'a', 'b', 's', 'w', 9, 0,
2055  /* 2565 */ 'l', 'd', 's', 'w', 9, 0,
2056  /* 2571 */ 'l', 'o', 'd', 's', 'w', 9, 0,
2057  /* 2578 */ 'l', 'e', 's', 'w', 9, 0,
2058  /* 2584 */ 'l', 'f', 's', 'w', 9, 0,
2059  /* 2590 */ 'l', 'g', 's', 'w', 9, 0,
2060  /* 2596 */ 'c', 'm', 'o', 'v', 'n', 's', 'w', 9, 0,
2061  /* 2605 */ 'c', 'm', 'p', 's', 'w', 9, 0,
2062  /* 2612 */ 'l', 's', 's', 'w', 9, 0,
2063  /* 2618 */ 'b', 't', 's', 'w', 9, 0,
2064  /* 2624 */ 'o', 'u', 't', 's', 'w', 9, 0,
2065  /* 2631 */ 'c', 'm', 'o', 'v', 's', 'w', 9, 0,
2066  /* 2639 */ 'b', 't', 'w', 9, 0,
2067  /* 2644 */ 'l', 'g', 'd', 't', 'w', 9, 0,
2068  /* 2651 */ 's', 'g', 'd', 't', 'w', 9, 0,
2069  /* 2658 */ 'l', 'i', 'd', 't', 'w', 9, 0,
2070  /* 2665 */ 's', 'i', 'd', 't', 'w', 9, 0,
2071  /* 2672 */ 'l', 'l', 'd', 't', 'w', 9, 0,
2072  /* 2679 */ 's', 'l', 'd', 't', 'w', 9, 0,
2073  /* 2686 */ 'l', 'r', 'e', 't', 'w', 9, 0,
2074  /* 2693 */ 'l', 'z', 'c', 'n', 't', 'w', 9, 0,
2075  /* 2701 */ 't', 'z', 'c', 'n', 't', 'w', 9, 0,
2076  /* 2709 */ 'n', 'o', 't', 'w', 9, 0,
2077  /* 2715 */ 't', 'e', 's', 't', 'w', 9, 0,
2078  /* 2722 */ 'i', 'd', 'i', 'v', 'w', 9, 0,
2079  /* 2729 */ 'm', 'o', 'v', 'w', 9, 0,
2080  /* 2735 */ 'l', 'm', 's', 'w', 'w', 9, 0,
2081  /* 2742 */ 's', 'm', 's', 'w', 'w', 9, 0,
2082  /* 2749 */ 'j', 'e', 'c', 'x', 'z', 9, 0,
2083  /* 2756 */ 'j', 'c', 'x', 'z', 9, 0,
2084  /* 2762 */ 'j', 'r', 'c', 'x', 'z', 9, 0,
2085  /* 2769 */ 's', 'a', 'l', 'b', 9, '$', '1', ',', 32, 0,
2086  /* 2779 */ 'r', 'c', 'l', 'b', 9, '$', '1', ',', 32, 0,
2087  /* 2789 */ 's', 'h', 'l', 'b', 9, '$', '1', ',', 32, 0,
2088  /* 2799 */ 'r', 'o', 'l', 'b', 9, '$', '1', ',', 32, 0,
2089  /* 2809 */ 's', 'a', 'r', 'b', 9, '$', '1', ',', 32, 0,
2090  /* 2819 */ 'r', 'c', 'r', 'b', 9, '$', '1', ',', 32, 0,
2091  /* 2829 */ 's', 'h', 'r', 'b', 9, '$', '1', ',', 32, 0,
2092  /* 2839 */ 'r', 'o', 'r', 'b', 9, '$', '1', ',', 32, 0,
2093  /* 2849 */ 's', 'a', 'l', 'l', 9, '$', '1', ',', 32, 0,
2094  /* 2859 */ 'r', 'c', 'l', 'l', 9, '$', '1', ',', 32, 0,
2095  /* 2869 */ 's', 'h', 'l', 'l', 9, '$', '1', ',', 32, 0,
2096  /* 2879 */ 'r', 'o', 'l', 'l', 9, '$', '1', ',', 32, 0,
2097  /* 2889 */ 's', 'a', 'r', 'l', 9, '$', '1', ',', 32, 0,
2098  /* 2899 */ 'r', 'c', 'r', 'l', 9, '$', '1', ',', 32, 0,
2099  /* 2909 */ 's', 'h', 'r', 'l', 9, '$', '1', ',', 32, 0,
2100  /* 2919 */ 'r', 'o', 'r', 'l', 9, '$', '1', ',', 32, 0,
2101  /* 2929 */ 's', 'a', 'l', 'q', 9, '$', '1', ',', 32, 0,
2102  /* 2939 */ 'r', 'c', 'l', 'q', 9, '$', '1', ',', 32, 0,
2103  /* 2949 */ 's', 'h', 'l', 'q', 9, '$', '1', ',', 32, 0,
2104  /* 2959 */ 'r', 'o', 'l', 'q', 9, '$', '1', ',', 32, 0,
2105  /* 2969 */ 's', 'a', 'r', 'q', 9, '$', '1', ',', 32, 0,
2106  /* 2979 */ 'r', 'c', 'r', 'q', 9, '$', '1', ',', 32, 0,
2107  /* 2989 */ 's', 'h', 'r', 'q', 9, '$', '1', ',', 32, 0,
2108  /* 2999 */ 'r', 'o', 'r', 'q', 9, '$', '1', ',', 32, 0,
2109  /* 3009 */ 's', 'a', 'l', 'w', 9, '$', '1', ',', 32, 0,
2110  /* 3019 */ 'r', 'c', 'l', 'w', 9, '$', '1', ',', 32, 0,
2111  /* 3029 */ 's', 'h', 'l', 'w', 9, '$', '1', ',', 32, 0,
2112  /* 3039 */ 'r', 'o', 'l', 'w', 9, '$', '1', ',', 32, 0,
2113  /* 3049 */ 's', 'a', 'r', 'w', 9, '$', '1', ',', 32, 0,
2114  /* 3059 */ 'r', 'c', 'r', 'w', 9, '$', '1', ',', 32, 0,
2115  /* 3069 */ 's', 'h', 'r', 'w', 9, '$', '1', ',', 32, 0,
2116  /* 3079 */ 'r', 'o', 'r', 'w', 9, '$', '1', ',', 32, 0,
2117  /* 3089 */ 'm', 'o', 'v', 'a', 'b', 's', 'b', 9, '%', 'a', 'l', ',', 32, 0,
2118  /* 3103 */ 's', 't', 'o', 's', 'b', 9, '%', 'a', 'l', ',', 32, 0,
2119  /* 3115 */ 'o', 'u', 't', 'b', 9, '%', 'a', 'l', ',', 32, 0,
2120  /* 3126 */ 'm', 'o', 'v', 'b', 9, '%', 'a', 'l', ',', 32, 0,
2121  /* 3137 */ 's', 'a', 'l', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2122  /* 3148 */ 'r', 'c', 'l', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2123  /* 3159 */ 's', 'h', 'l', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2124  /* 3170 */ 'r', 'o', 'l', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2125  /* 3181 */ 's', 'a', 'r', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2126  /* 3192 */ 'r', 'c', 'r', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2127  /* 3203 */ 's', 'h', 'r', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2128  /* 3214 */ 'r', 'o', 'r', 'b', 9, '%', 'c', 'l', ',', 32, 0,
2129  /* 3225 */ 's', 'h', 'l', 'd', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2130  /* 3237 */ 's', 'h', 'r', 'd', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2131  /* 3249 */ 's', 'a', 'l', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2132  /* 3260 */ 'r', 'c', 'l', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2133  /* 3271 */ 's', 'h', 'l', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2134  /* 3282 */ 'r', 'o', 'l', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2135  /* 3293 */ 's', 'a', 'r', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2136  /* 3304 */ 'r', 'c', 'r', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2137  /* 3315 */ 's', 'h', 'r', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2138  /* 3326 */ 'r', 'o', 'r', 'l', 9, '%', 'c', 'l', ',', 32, 0,
2139  /* 3337 */ 's', 'h', 'l', 'd', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2140  /* 3349 */ 's', 'h', 'r', 'd', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2141  /* 3361 */ 's', 'a', 'l', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2142  /* 3372 */ 'r', 'c', 'l', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2143  /* 3383 */ 's', 'h', 'l', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2144  /* 3394 */ 'r', 'o', 'l', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2145  /* 3405 */ 's', 'a', 'r', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2146  /* 3416 */ 'r', 'c', 'r', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2147  /* 3427 */ 's', 'h', 'r', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2148  /* 3438 */ 'r', 'o', 'r', 'q', 9, '%', 'c', 'l', ',', 32, 0,
2149  /* 3449 */ 's', 'h', 'l', 'd', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2150  /* 3461 */ 's', 'h', 'r', 'd', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2151  /* 3473 */ 's', 'a', 'l', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2152  /* 3484 */ 'r', 'c', 'l', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2153  /* 3495 */ 's', 'h', 'l', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2154  /* 3506 */ 'r', 'o', 'l', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2155  /* 3517 */ 's', 'a', 'r', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2156  /* 3528 */ 'r', 'c', 'r', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2157  /* 3539 */ 's', 'h', 'r', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2158  /* 3550 */ 'r', 'o', 'r', 'w', 9, '%', 'c', 'l', ',', 32, 0,
2159  /* 3561 */ 'm', 'o', 'v', 'a', 'b', 's', 'w', 9, '%', 'a', 'x', ',', 32, 0,
2160  /* 3575 */ 's', 't', 'o', 's', 'w', 9, '%', 'a', 'x', ',', 32, 0,
2161  /* 3587 */ 'o', 'u', 't', 'w', 9, '%', 'a', 'x', ',', 32, 0,
2162  /* 3598 */ 'm', 'o', 'v', 'w', 9, '%', 'a', 'x', ',', 32, 0,
2163  /* 3609 */ 'm', 'o', 'v', 'a', 'b', 's', 'l', 9, '%', 'e', 'a', 'x', ',', 32, 0,
2164  /* 3624 */ 's', 't', 'o', 's', 'l', 9, '%', 'e', 'a', 'x', ',', 32, 0,
2165  /* 3637 */ 'o', 'u', 't', 'l', 9, '%', 'e', 'a', 'x', ',', 32, 0,
2166  /* 3649 */ 'm', 'o', 'v', 'l', 9, '%', 'e', 'a', 'x', ',', 32, 0,
2167  /* 3661 */ 'm', 'o', 'v', 'a', 'b', 's', 'q', 9, '%', 'r', 'a', 'x', ',', 32, 0,
2168  /* 3676 */ 's', 't', 'o', 's', 'q', 9, '%', 'r', 'a', 'x', ',', 32, 0,
2169  /* 3689 */ 'i', 'n', 's', 'b', 9, '%', 'd', 'x', ',', 32, 0,
2170  /* 3700 */ 'i', 'n', 's', 'l', 9, '%', 'd', 'x', ',', 32, 0,
2171  /* 3711 */ 'i', 'n', 's', 'w', 9, '%', 'd', 'x', ',', 32, 0,
2172  /* 3722 */ 'r', 'c', 'l', 'l', 9, '$', '1', 32, 0,
2173  /* 3731 */ '#', 'V', 'A', 'A', 'R', 'G', '_', '6', '4', 32, 0,
2174  /* 3742 */ 'r', 'e', 't', 9, '#', 'e', 'h', '_', 'r', 'e', 't', 'u', 'r', 'n', ',', 32, 'a', 'd', 'd', 'r', ':', 32, 0,
2175  /* 3765 */ '#', 'S', 'E', 'H', '_', 'S', 'a', 'v', 'e', 'X', 'M', 'M', 32, 0,
2176  /* 3779 */ '#', 'V', 'A', 'S', 'T', 'A', 'R', 'T', '_', 'S', 'A', 'V', 'E', '_', 'X', 'M', 'M', '_', 'R', 'E', 'G', 'S', 32, 0,
2177  /* 3803 */ '#', 'S', 'E', 'H', '_', 'S', 't', 'a', 'c', 'k', 'A', 'l', 'l', 'o', 'c', 32, 0,
2178  /* 3820 */ '#', 'S', 'E', 'H', '_', 'P', 'u', 's', 'h', 'F', 'r', 'a', 'm', 'e', 32, 0,
2179  /* 3836 */ '#', 'S', 'E', 'H', '_', 'S', 'e', 't', 'F', 'r', 'a', 'm', 'e', 32, 0,
2180  /* 3851 */ '#', 'S', 'E', 'H', '_', 'S', 'a', 'v', 'e', 'R', 'e', 'g', 32, 0,
2181  /* 3865 */ '#', 'S', 'E', 'H', '_', 'P', 'u', 's', 'h', 'R', 'e', 'g', 32, 0,
2182  /* 3879 */ '#', 'C', 'M', 'O', 'V', '_', 'G', 'R', '3', '2', '*', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2183  /* 3899 */ '#', 'C', 'M', 'O', 'V', '_', 'G', 'R', '1', '6', '*', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2184  /* 3919 */ '#', 'C', 'M', 'O', 'V', '_', 'R', 'F', 'P', '8', '0', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2185  /* 3939 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '4', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2186  /* 3959 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '1', '6', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2187  /* 3980 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '8', 'F', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2188  /* 4000 */ '#', 'C', 'M', 'O', 'V', '_', 'R', 'F', 'P', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2189  /* 4020 */ '#', 'C', 'M', 'O', 'V', '_', 'F', 'R', '3', '2', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2190  /* 4039 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '2', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2191  /* 4059 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '4', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2192  /* 4079 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '8', 'F', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2193  /* 4099 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '2', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2194  /* 4119 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '4', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2195  /* 4139 */ '#', 'C', 'M', 'O', 'V', '_', 'V', '8', 'I', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2196  /* 4159 */ '#', 'C', 'M', 'O', 'V', '_', 'R', 'F', 'P', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2197  /* 4179 */ '#', 'C', 'M', 'O', 'V', '_', 'F', 'R', '6', '4', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2198  /* 4198 */ '#', 'C', 'M', 'O', 'V', '_', 'G', 'R', '8', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2199  /* 4216 */ '#', 'A', 'C', 'Q', 'U', 'I', 'R', 'E', '_', 'M', 'O', 'V', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2200  /* 4237 */ '#', 'R', 'E', 'L', 'E', 'A', 'S', 'E', '_', 'M', 'O', 'V', 32, 'P', 'S', 'E', 'U', 'D', 'O', '!', 0,
2201  /* 4258 */ 'l', 'c', 'a', 'l', 'l', 'l', 9, '*', 0,
2202  /* 4267 */ 'l', 'j', 'm', 'p', 'l', 9, '*', 0,
2203  /* 4275 */ 'l', 'c', 'a', 'l', 'l', 'q', 9, '*', 0,
2204  /* 4284 */ 'l', 'j', 'm', 'p', 'q', 9, '*', 0,
2205  /* 4292 */ 'l', 'c', 'a', 'l', 'l', 'w', 9, '*', 0,
2206  /* 4301 */ 'l', 'j', 'm', 'p', 'w', 9, '*', 0,
2207  /* 4309 */ 'x', 's', 'h', 'a', '1', 0,
2208  /* 4315 */ 'i', 'n', 't', '1', 0,
2209  /* 4320 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'L', 'O', 'N', 'G', 'J', 'M', 'P', '3', '2', 0,
2210  /* 4339 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'S', 'E', 'T', 'J', 'M', 'P', '3', '2', 0,
2211  /* 4357 */ '#', 32, 'T', 'L', 'S', 'C', 'a', 'l', 'l', '_', '3', '2', 0,
2212  /* 4370 */ '#', 32, 'T', 'L', 'S', '_', 'a', 'd', 'd', 'r', '3', '2', 0,
2213  /* 4383 */ '#', 32, 'T', 'L', 'S', '_', 'b', 'a', 's', 'e', '_', 'a', 'd', 'd', 'r', '3', '2', 0,
2214  /* 4401 */ 'u', 'd', '2', 0,
2215  /* 4405 */ 'i', 'n', 't', '3', 0,
2216  /* 4410 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'L', 'O', 'N', 'G', 'J', 'M', 'P', '6', '4', 0,
2217  /* 4429 */ '#', 'E', 'H', '_', 'S', 'J', 'L', 'J', '_', 'S', 'E', 'T', 'J', 'M', 'P', '6', '4', 0,
2218  /* 4447 */ '#', 32, 'T', 'L', 'S', 'C', 'a', 'l', 'l', '_', '6', '4', 0,
2219  /* 4460 */ '#', 32, 'T', 'L', 'S', '_', 'a', 'd', 'd', 'r', '6', '4', 0,
2220  /* 4473 */ '#', 32, 'T', 'L', 'S', '_', 'b', 'a', 's', 'e', '_', 'a', 'd', 'd', 'r', '6', '4', 0,
2221  /* 4491 */ 'r', 'e', 'x', '6', '4', 0,
2222  /* 4497 */ 'd', 'a', 't', 'a', '1', '6', 0,
2223  /* 4504 */ 'x', 's', 'h', 'a', '2', '5', '6', 0,
2224  /* 4512 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'E', 'N', 'D', 0,
2225  /* 4525 */ 'B', 'U', 'N', 'D', 'L', 'E', 0,
2226  /* 4532 */ 'D', 'B', 'G', '_', 'V', 'A', 'L', 'U', 'E', 0,
2227  /* 4542 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'D', 'O', 'W', 'N', 0,
2228  /* 4560 */ '#', 'A', 'D', 'J', 'C', 'A', 'L', 'L', 'S', 'T', 'A', 'C', 'K', 'U', 'P', 0,
2229  /* 4576 */ '#', 'M', 'E', 'M', 'B', 'A', 'R', 'R', 'I', 'E', 'R', 0,
2230  /* 4588 */ 'L', 'I', 'F', 'E', 'T', 'I', 'M', 'E', '_', 'S', 'T', 'A', 'R', 'T', 0,
2231  /* 4603 */ 'a', 'a', 'a', 0,
2232  /* 4607 */ 'd', 'a', 'a', 0,
2233  /* 4611 */ 'u', 'd', '2', 'b', 0,
2234  /* 4616 */ 'x', 'c', 'r', 'y', 'p', 't', 'e', 'c', 'b', 0,
2235  /* 4626 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 'f', 'b', 0,
2236  /* 4636 */ 'x', 'c', 'r', 'y', 'p', 't', 'o', 'f', 'b', 0,
2237  /* 4646 */ 'r', 'e', 'p', ';', 's', 't', 'o', 's', 'b', 0,
2238  /* 4656 */ 'r', 'e', 'p', ';', 'm', 'o', 'v', 's', 'b', 0,
2239  /* 4666 */ 'x', 'l', 'a', 't', 'b', 0,
2240  /* 4672 */ 'c', 'l', 'a', 'c', 0,
2241  /* 4677 */ 's', 't', 'a', 'c', 0,
2242  /* 4682 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 'b', 'c', 0,
2243  /* 4692 */ 'g', 'e', 't', 's', 'e', 'c', 0,
2244  /* 4699 */ 's', 'a', 'l', 'c', 0,
2245  /* 4704 */ 'c', 'l', 'c', 0,
2246  /* 4708 */ 'c', 'm', 'c', 0,
2247  /* 4712 */ 'r', 'd', 'p', 'm', 'c', 0,
2248  /* 4718 */ 'v', 'm', 'f', 'u', 'n', 'c', 0,
2249  /* 4725 */ 'r', 'd', 't', 's', 'c', 0,
2250  /* 4731 */ 's', 't', 'c', 0,
2251  /* 4735 */ 'c', 'p', 'u', 'i', 'd', 0,
2252  /* 4741 */ 'c', 'l', 'd', 0,
2253  /* 4745 */ 'c', 'l', 't', 'd', 0,
2254  /* 4750 */ 's', 't', 'd', 0,
2255  /* 4754 */ 'c', 'w', 't', 'd', 0,
2256  /* 4759 */ 'w', 'b', 'i', 'n', 'v', 'd', 0,
2257  /* 4766 */ 'v', 'm', 'r', 'e', 's', 'u', 'm', 'e', 0,
2258  /* 4775 */ 'r', 'e', 'p', 'n', 'e', 0,
2259  /* 4781 */ 'x', 's', 't', 'o', 'r', 'e', 0,
2260  /* 4788 */ '#', 'S', 'E', 'H', '_', 'E', 'p', 'i', 'l', 'o', 'g', 'u', 'e', 0,
2261  /* 4802 */ '#', 'S', 'E', 'H', '_', 'E', 'n', 'd', 'P', 'r', 'o', 'l', 'o', 'g', 'u', 'e', 0,
2262  /* 4819 */ 'l', 'e', 'a', 'v', 'e', 0,
2263  /* 4825 */ 'v', 'm', 'x', 'o', 'f', 'f', 0,
2264  /* 4832 */ 'l', 'a', 'h', 'f', 0,
2265  /* 4837 */ 's', 'a', 'h', 'f', 0,
2266  /* 4842 */ 'v', 'm', 'l', 'a', 'u', 'n', 'c', 'h', 0,
2267  /* 4851 */ 'c', 'l', 'g', 'i', 0,
2268  /* 4856 */ 's', 't', 'g', 'i', 0,
2269  /* 4861 */ 'c', 'l', 'i', 0,
2270  /* 4865 */ 's', 't', 'i', 0,
2271  /* 4869 */ '#', 32, 'w', 'i', 'n', '3', '2', 32, 'f', 'p', 't', 'o', 'u', 'i', 0,
2272  /* 4884 */ 'l', 'o', 'c', 'k', 0,
2273  /* 4889 */ 'i', 'n', 'b', 9, '%', 'd', 'x', ',', 32, '%', 'a', 'l', 0,
2274  /* 4902 */ 'p', 'u', 's', 'h', 'a', 'l', 0,
2275  /* 4909 */ 'p', 'o', 'p', 'a', 'l', 0,
2276  /* 4915 */ 'p', 'u', 's', 'h', 'f', 'l', 0,
2277  /* 4922 */ 'p', 'o', 'p', 'f', 'l', 0,
2278  /* 4928 */ 'v', 'm', 'm', 'c', 'a', 'l', 'l', 0,
2279  /* 4936 */ 'v', 'm', 'c', 'a', 'l', 'l', 0,
2280  /* 4943 */ 's', 'y', 's', 'c', 'a', 'l', 'l', 0,
2281  /* 4951 */ 'r', 'e', 'p', ';', 's', 't', 'o', 's', 'l', 0,
2282  /* 4961 */ 'r', 'e', 'p', ';', 'm', 'o', 'v', 's', 'l', 0,
2283  /* 4971 */ 'i', 'r', 'e', 't', 'l', 0,
2284  /* 4977 */ 'l', 'r', 'e', 't', 'l', 0,
2285  /* 4983 */ 's', 'y', 's', 'r', 'e', 't', 'l', 0,
2286  /* 4991 */ 's', 'y', 's', 'e', 'x', 'i', 't', 'l', 0,
2287  /* 5000 */ 'c', 'w', 't', 'l', 0,
2288  /* 5005 */ 'm', 'o', 'n', 't', 'm', 'u', 'l', 0,
2289  /* 5013 */ 'f', 's', 'e', 't', 'p', 'm', 0,
2290  /* 5020 */ 'r', 's', 'm', 0,
2291  /* 5024 */ '#', 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,
2292  /* 5051 */ 'i', 'n', 't', 'o', 0,
2293  /* 5056 */ 'c', 'q', 't', 'o', 0,
2294  /* 5061 */ 'r', 'd', 't', 's', 'c', 'p', 0,
2295  /* 5068 */ 'r', 'e', 'p', 0,
2296  /* 5072 */ 'n', 'o', 'p', 0,
2297  /* 5076 */ 'p', 'u', 's', 'h', 'f', 'q', 0,
2298  /* 5083 */ 'p', 'o', 'p', 'f', 'q', 0,
2299  /* 5089 */ 'r', 'e', 'p', ';', 's', 't', 'o', 's', 'q', 0,
2300  /* 5099 */ 'r', 'e', 'p', ';', 'm', 'o', 'v', 's', 'q', 0,
2301  /* 5109 */ 'i', 'r', 'e', 't', 'q', 0,
2302  /* 5115 */ 'l', 'r', 'e', 't', 'q', 0,
2303  /* 5121 */ 's', 'y', 's', 'r', 'e', 't', 'q', 0,
2304  /* 5129 */ 's', 'y', 's', 'e', 'x', 'i', 't', 'q', 0,
2305  /* 5138 */ 'c', 'l', 't', 'q', 0,
2306  /* 5143 */ 's', 'y', 's', 'e', 'n', 't', 'e', 'r', 0,
2307  /* 5152 */ 'r', 'd', 'm', 's', 'r', 0,
2308  /* 5158 */ 'w', 'r', 'm', 's', 'r', 0,
2309  /* 5164 */ 'x', 'c', 'r', 'y', 'p', 't', 'c', 't', 'r', 0,
2310  /* 5174 */ 'a', 'a', 's', 0,
2311  /* 5178 */ 'd', 'a', 's', 0,
2312  /* 5182 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'c', 's', 0,
2313  /* 5192 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'c', 's', 0,
2314  /* 5202 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'd', 's', 0,
2315  /* 5212 */ 'p', 'o', 'p', 'l', 9, '%', 'd', 's', 0,
2316  /* 5221 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'd', 's', 0,
2317  /* 5231 */ 'p', 'o', 'p', 'w', 9, '%', 'd', 's', 0,
2318  /* 5240 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'e', 's', 0,
2319  /* 5250 */ 'p', 'o', 'p', 'l', 9, '%', 'e', 's', 0,
2320  /* 5259 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'e', 's', 0,
2321  /* 5269 */ 'p', 'o', 'p', 'w', 9, '%', 'e', 's', 0,
2322  /* 5278 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'f', 's', 0,
2323  /* 5288 */ 'p', 'o', 'p', 'l', 9, '%', 'f', 's', 0,
2324  /* 5297 */ 'p', 'u', 's', 'h', 'q', 9, '%', 'f', 's', 0,
2325  /* 5307 */ 'p', 'o', 'p', 'q', 9, '%', 'f', 's', 0,
2326  /* 5316 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'f', 's', 0,
2327  /* 5326 */ 'p', 'o', 'p', 'w', 9, '%', 'f', 's', 0,
2328  /* 5335 */ 'p', 'u', 's', 'h', 'l', 9, '%', 'g', 's', 0,
2329  /* 5345 */ 'p', 'o', 'p', 'l', 9, '%', 'g', 's', 0,
2330  /* 5354 */ 'p', 'u', 's', 'h', 'q', 9, '%', 'g', 's', 0,
2331  /* 5364 */ 'p', 'o', 'p', 'q', 9, '%', 'g', 's', 0,
2332  /* 5373 */ 'p', 'u', 's', 'h', 'w', 9, '%', 'g', 's', 0,
2333  /* 5383 */ 'p', 'o', 'p', 'w', 9, '%', 'g', 's', 0,
2334  /* 5392 */ 's', 'w', 'a', 'p', 'g', 's', 0,
2335  /* 5399 */ '#', 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,
2336  /* 5444 */ 'p', 'u', 's', 'h', 'l', 9, '%', 's', 's', 0,
2337  /* 5454 */ 'p', 'o', 'p', 'l', 9, '%', 's', 's', 0,
2338  /* 5463 */ 'p', 'u', 's', 'h', 'w', 9, '%', 's', 's', 0,
2339  /* 5473 */ 'p', 'o', 'p', 'w', 9, '%', 's', 's', 0,
2340  /* 5482 */ 'c', 'l', 't', 's', 0,
2341  /* 5487 */ 'h', 'l', 't', 0,
2342  /* 5491 */ 'x', 'g', 'e', 't', 'b', 'v', 0,
2343  /* 5498 */ 'x', 's', 'e', 't', 'b', 'v', 0,
2344  /* 5505 */ 'p', 'u', 's', 'h', 'a', 'w', 0,
2345  /* 5512 */ 'p', 'o', 'p', 'a', 'w', 0,
2346  /* 5518 */ 'p', 'u', 's', 'h', 'f', 'w', 0,
2347  /* 5525 */ 'p', 'o', 'p', 'f', 'w', 0,
2348  /* 5531 */ 'r', 'e', 'p', ';', 's', 't', 'o', 's', 'w', 0,
2349  /* 5541 */ 'r', 'e', 'p', ';', 'm', 'o', 'v', 's', 'w', 0,
2350  /* 5551 */ 'c', 'b', 't', 'w', 0,
2351  /* 5556 */ 'i', 'r', 'e', 't', 'w', 0,
2352  /* 5562 */ 'l', 'r', 'e', 't', 'w', 0,
2353  /* 5568 */ 'i', 'n', 'w', 9, '%', 'd', 'x', ',', 32, '%', 'a', 'x', 0,
2354  /* 5581 */ 'v', 'm', 'l', 'o', 'a', 'd', 9, '%', 'e', 'a', 'x', 0,
2355  /* 5593 */ 'v', 'm', 's', 'a', 'v', 'e', 9, '%', 'e', 'a', 'x', 0,
2356  /* 5605 */ 'v', 'm', 'r', 'u', 'n', 9, '%', 'e', 'a', 'x', 0,
2357  /* 5616 */ 's', 'k', 'i', 'n', 'i', 't', 9, '%', 'e', 'a', 'x', 0,
2358  /* 5628 */ 'i', 'n', 'v', 'l', 'p', 'g', 'a', 9, '%', 'e', 'c', 'x', ',', 32, '%', 'e', 'a', 'x', 0,
2359  /* 5647 */ 'i', 'n', 'l', 9, '%', 'd', 'x', ',', 32, '%', 'e', 'a', 'x', 0,
2360  /* 5661 */ 'v', 'm', 'l', 'o', 'a', 'd', 9, '%', 'r', 'a', 'x', 0,
2361  /* 5673 */ 'v', 'm', 's', 'a', 'v', 'e', 9, '%', 'r', 'a', 'x', 0,
2362  /* 5685 */ 'v', 'm', 'r', 'u', 'n', 9, '%', 'r', 'a', 'x', 0,
2363  /* 5696 */ 'i', 'n', 'v', 'l', 'p', 'g', 'a', 9, '%', 'e', 'c', 'x', ',', 32, '%', 'r', 'a', 'x', 0,
2364  /* 5715 */ 'o', 'u', 't', 'b', 9, '%', 'a', 'l', ',', 32, '%', 'd', 'x', 0,
2365  /* 5729 */ 'o', 'u', 't', 'w', 9, '%', 'a', 'x', ',', 32, '%', 'd', 'x', 0,
2366  /* 5743 */ 'o', 'u', 't', 'l', 9, '%', 'e', 'a', 'x', ',', 32, '%', 'd', 'x', 0,
2367  };
2368#endif
2369
2370  // Emit the opcode for the instruction.
2371  uint32_t Bits = OpInfo[MCInst_getOpcode(MI)];
2372  // assert(Bits != 0 && "Cannot print this instruction.");
2373#ifndef CAPSTONE_DIET
2374  SStream_concat0(O, AsmStrs+(Bits & 8191)-1);
2375#endif
2376
2377  // Fragment 0 encoded into 6 bits for 40 unique commands.
2378  //printf("Frag-0: %"PRIu64"\n", (Bits >> 13) & 63);
2379  switch ((Bits >> 13) & 63) {
2380  default:   // unreachable.
2381  case 0:
2382    // DBG_VALUE, BUNDLE, LIFETIME_START, LIFETIME_END, AAA, AAS, ACQUIRE_MOV...
2383    return;
2384    break;
2385  case 1:
2386    // AAD8i8, AAM8i8, ADC16i16, ADC32i32, ADC64i32, ADC8i8, ADD16i16, ADD32i...
2387    printOperand(MI, 0, O);
2388    break;
2389  case 2:
2390    // ADC16mi, ADC16mi8, ADC16mr, ADC32mi, ADC32mi8, ADC32mr, ADC64mi32, ADC...
2391    printOperand(MI, 5, O);
2392    SStream_concat0(O, ", ");
2393    break;
2394  case 3:
2395    // ADC16ri, ADC16ri8, ADC16rr, ADC16rr_REV, ADC32ri, ADC32ri8, ADC32rr, A...
2396    printOperand(MI, 2, O);
2397    SStream_concat0(O, ", ");
2398    break;
2399  case 4:
2400    // ADC16rm, ADD16rm, AND16rm, CMOVA16rm, CMOVAE16rm, CMOVB16rm, CMOVBE16r...
2401    printi16mem(MI, 2, O);
2402    SStream_concat0(O, ", ");
2403    break;
2404  case 5:
2405    // ADC32rm, ADCX32rm, ADD32rm, AND32rm, ANDN32rm, CMOVA32rm, CMOVAE32rm, ...
2406    printi32mem(MI, 2, O);
2407    SStream_concat0(O, ", ");
2408    break;
2409  case 6:
2410    // ADC64rm, ADCX64rm, ADD64rm, AND64rm, ANDN64rm, CMOVA64rm, CMOVAE64rm, ...
2411    printi64mem(MI, 2, O);
2412    SStream_concat0(O, ", ");
2413    break;
2414  case 7:
2415    // ADC8rm, ADD8rm, AND8rm, OR8rm, SBB8rm, SUB8rm, XOR8rm
2416    printi8mem(MI, 2, O);
2417    SStream_concat0(O, ", ");
2418    printOperand(MI, 1, O);
2419    return;
2420    break;
2421  case 8:
2422    // ADOX32rm, BLCFILL32rm, BLCI32rm, BLCIC32rm, BLCMSK32rm, BLCS32rm, BLSF...
2423    printi32mem(MI, 1, O);
2424    SStream_concat0(O, ", ");
2425    printOperand(MI, 0, O);
2426    return;
2427    break;
2428  case 9:
2429    // ADOX32rr, ADOX64rr, ARPL16rr, BLCFILL32rr, BLCFILL64rr, BLCI32rr, BLCI...
2430    printOperand(MI, 1, O);
2431    break;
2432  case 10:
2433    // ADOX64rm, BLCFILL64rm, BLCI64rm, BLCIC64rm, BLCMSK64rm, BLCS64rm, BLSF...
2434    printi64mem(MI, 1, O);
2435    SStream_concat0(O, ", ");
2436    printOperand(MI, 0, O);
2437    return;
2438    break;
2439  case 11:
2440    // BEXTR32rm, BEXTR64rm, BEXTRI32mi, BEXTRI64mi, BZHI32rm, BZHI64rm, IMUL...
2441    printOperand(MI, 6, O);
2442    SStream_concat0(O, ", ");
2443    break;
2444  case 12:
2445    // BSF16rm, BSR16rm, CMP16rm, LAR16rm, LAR32rm, LAR64rm, LEA16r, LSL16rm,...
2446    printi16mem(MI, 1, O);
2447    SStream_concat0(O, ", ");
2448    printOperand(MI, 0, O);
2449    return;
2450    break;
2451  case 13:
2452    // CALL16m, DEC16m, DEC64_16m, DIV16m, IDIV16m, IMUL16m, INC16m, INC64_16...
2453    printi16mem(MI, 0, O);
2454    return;
2455    break;
2456  case 14:
2457    // CALL32m, DEC32m, DEC64_32m, DIV32m, IDIV32m, IMUL32m, INC32m, INC64_32...
2458    printi32mem(MI, 0, O);
2459    break;
2460  case 15:
2461    // CALL64m, CMPXCHG8B, DEC64m, DIV64m, IDIV64m, IMUL64m, INC64m, JMP64m, ...
2462    printi64mem(MI, 0, O);
2463    break;
2464  case 16:
2465    // CALL64pcrel32, CALLpcrel16, CALLpcrel32, EH_SjLj_Setup, JAE_1, JAE_2, ...
2466    printPCRelImm(MI, 0, O);
2467    break;
2468  case 17:
2469    // CMP8rm, MOV8rm, MOV8rm_NOREX, MOVSX16rm8, MOVSX32rm8, MOVSX64rm8, MOVZ...
2470    printi8mem(MI, 1, O);
2471    SStream_concat0(O, ", ");
2472    printOperand(MI, 0, O);
2473    break;
2474  case 18:
2475    // CMPSB, INSB, SCASB, STOSB
2476    printDstIdx8(MI, 0, O);
2477    break;
2478  case 19:
2479    // CMPSL, INSL, SCASL, STOSL
2480    printDstIdx32(MI, 0, O);
2481    break;
2482  case 20:
2483    // CMPSQ, SCASQ, STOSQ
2484    printDstIdx64(MI, 0, O);
2485    break;
2486  case 21:
2487    // CMPSW, INSW, SCASW, STOSW
2488    printDstIdx16(MI, 0, O);
2489    break;
2490  case 22:
2491    // CMPXCHG16B, LCMPXCHG16B
2492    printi128mem(MI, 0, O);
2493    return;
2494    break;
2495  case 23:
2496    // DEC8m, DIV8m, IDIV8m, IMUL8m, INC8m, INVLPG, LOCK_DEC8m, LOCK_INC8m, M...
2497    printi8mem(MI, 0, O);
2498    return;
2499    break;
2500  case 24:
2501    // FARCALL16m, FARCALL32m, FARCALL64, FARJMP16m, FARJMP32m, FARJMP64, LGD...
2502    printopaquemem(MI, 0, O);
2503    return;
2504    break;
2505  case 25:
2506    // INVEPT32, INVEPT64, INVPCID32, INVPCID64, INVVPID32, INVVPID64
2507    printi128mem(MI, 1, O);
2508    SStream_concat0(O, ", ");
2509    printOperand(MI, 0, O);
2510    return;
2511    break;
2512  case 26:
2513    // LDS16rm, LDS32rm, LES16rm, LES32rm, LFS16rm, LFS32rm, LFS64rm, LGS16rm...
2514    printopaquemem(MI, 1, O);
2515    SStream_concat0(O, ", ");
2516    printOperand(MI, 0, O);
2517    return;
2518    break;
2519  case 27:
2520    // LODSB, OUTSB
2521    printSrcIdx8(MI, 0, O);
2522    break;
2523  case 28:
2524    // LODSL, OUTSL
2525    printSrcIdx32(MI, 0, O);
2526    break;
2527  case 29:
2528    // LODSQ
2529    printSrcIdx64(MI, 0, O);
2530    SStream_concat0(O, ", %rax");
2531	op_addReg(MI, X86_REG_RAX);
2532    return;
2533    break;
2534  case 30:
2535    // LODSW, OUTSW
2536    printSrcIdx16(MI, 0, O);
2537    break;
2538  case 31:
2539    // MOV16ao16, MOV16ao16_16, MOV16o16a, MOV16o16a_16, MOV64ao16, MOV64o16a
2540    printMemOffs16(MI, 0, O);
2541    break;
2542  case 32:
2543    // MOV32ao32, MOV32ao32_16, MOV32o32a, MOV32o32a_16, MOV64ao32, MOV64o32a
2544    printMemOffs32(MI, 0, O);
2545    break;
2546  case 33:
2547    // MOV64ao64, MOV64o64a
2548    printMemOffs64(MI, 0, O);
2549    break;
2550  case 34:
2551    // MOV64ao8, MOV64o8a, MOV8ao8, MOV8ao8_16, MOV8o8a, MOV8o8a_16
2552    printMemOffs8(MI, 0, O);
2553    break;
2554  case 35:
2555    // MOVSB
2556    printSrcIdx8(MI, 1, O);
2557    SStream_concat0(O, ", ");
2558    printDstIdx8(MI, 0, O);
2559    return;
2560    break;
2561  case 36:
2562    // MOVSL
2563    printSrcIdx32(MI, 1, O);
2564    SStream_concat0(O, ", ");
2565    printDstIdx32(MI, 0, O);
2566    return;
2567    break;
2568  case 37:
2569    // MOVSQ
2570    printSrcIdx64(MI, 1, O);
2571    SStream_concat0(O, ", ");
2572    printDstIdx64(MI, 0, O);
2573    return;
2574    break;
2575  case 38:
2576    // MOVSW
2577    printSrcIdx16(MI, 1, O);
2578    SStream_concat0(O, ", ");
2579    printDstIdx16(MI, 0, O);
2580    return;
2581    break;
2582  case 39:
2583    // SHLD16rri8, SHLD32rri8, SHLD64rri8, SHRD16rri8, SHRD32rri8, SHRD64rri8
2584    printOperand(MI, 3, O);
2585    SStream_concat0(O, ", ");
2586    printOperand(MI, 2, O);
2587    SStream_concat0(O, ", ");
2588    printOperand(MI, 0, O);
2589    return;
2590    break;
2591  }
2592
2593
2594  // Fragment 1 encoded into 5 bits for 20 unique commands.
2595  //printf("Frag-1: %"PRIu64"\n", (Bits >> 19) & 31);
2596  switch ((Bits >> 19) & 31) {
2597  default:   // unreachable.
2598  case 0:
2599    // AAD8i8, AAM8i8, BSWAP32r, BSWAP64r, CALL16r, CALL32m, CALL32r, CALL64m...
2600    return;
2601    break;
2602  case 1:
2603    // ADC16i16, ADD16i16, AND16i16, CMP16i16, IN16ri, LODSW, MOV16o16a, MOV1...
2604    SStream_concat0(O, ", %ax");
2605	op_addReg(MI, X86_REG_AX);
2606    return;
2607    break;
2608  case 2:
2609    // ADC16mi, ADC16mi8, ADC16mr, ADD16mi, ADD16mi8, ADD16mr, AND16mi, AND16...
2610    printi16mem(MI, 0, O);
2611    return;
2612    break;
2613  case 3:
2614    // ADC16ri, ADC16ri8, ADC16rm, ADC16rr, ADC32ri, ADC32ri8, ADC32rm, ADC32...
2615    printOperand(MI, 1, O);
2616    break;
2617  case 4:
2618    // ADC16rr_REV, ADC32rr_REV, ADC64rr_REV, ADC8rr_REV, ADCX32rm, ADCX32rr,...
2619    printOperand(MI, 0, O);
2620    return;
2621    break;
2622  case 5:
2623    // ADC32i32, ADD32i32, AND32i32, CMP32i32, IN32ri, LODSL, MOV32o32a, MOV3...
2624    SStream_concat0(O, ", %eax");
2625	op_addReg(MI, X86_REG_EAX);
2626    return;
2627    break;
2628  case 6:
2629    // ADC32mi, ADC32mi8, ADC32mr, ADD32mi, ADD32mi8, ADD32mr, AND32mi, AND32...
2630    printi32mem(MI, 0, O);
2631    return;
2632    break;
2633  case 7:
2634    // ADC64i32, ADD64i32, AND64i32, CMP64i32, MOV64o64a, OR64i32, SBB64i32, ...
2635    SStream_concat0(O, ", %rax");
2636	op_addReg(MI, X86_REG_RAX);
2637    return;
2638    break;
2639  case 8:
2640    // ADC64mi32, ADC64mi8, ADC64mr, ADD64mi32, ADD64mi8, ADD64mr, AND64mi32,...
2641    printi64mem(MI, 0, O);
2642    return;
2643    break;
2644  case 9:
2645    // ADC8i8, ADD8i8, AND8i8, CMP8i8, IN8ri, LODSB, MOV64o8a, MOV8o8a, MOV8o...
2646    SStream_concat0(O, ", %al");
2647	op_addReg(MI, X86_REG_AL);
2648    return;
2649    break;
2650  case 10:
2651    // ADC8mi, ADC8mr, ADD8mi, ADD8mr, AND8mi, AND8mr, CMP8mi, CMP8mr, CMPXCH...
2652    printi8mem(MI, 0, O);
2653    break;
2654  case 11:
2655    // ADOX32rr, ADOX64rr, ARPL16rr, BLCFILL32rr, BLCFILL64rr, BLCI32rr, BLCI...
2656    SStream_concat0(O, ", ");
2657    break;
2658  case 12:
2659    // BEXTR32rm, BEXTRI32mi, BZHI32rm, IMUL32rmi, IMUL32rmi8, RORX32mi, SARX...
2660    printi32mem(MI, 1, O);
2661    SStream_concat0(O, ", ");
2662    printOperand(MI, 0, O);
2663    return;
2664    break;
2665  case 13:
2666    // BEXTR64rm, BEXTRI64mi, BZHI64rm, IMUL64rmi32, IMUL64rmi8, RORX64mi, SA...
2667    printi64mem(MI, 1, O);
2668    SStream_concat0(O, ", ");
2669    printOperand(MI, 0, O);
2670    return;
2671    break;
2672  case 14:
2673    // FARCALL16i, FARCALL32i, FARJMP16i, FARJMP32i
2674    SStream_concat0(O, ":");
2675    printOperand(MI, 0, O);
2676    return;
2677    break;
2678  case 15:
2679    // IMUL16rmi, IMUL16rmi8
2680    printi16mem(MI, 1, O);
2681    SStream_concat0(O, ", ");
2682    printOperand(MI, 0, O);
2683    return;
2684    break;
2685  case 16:
2686    // MOV8rm_NOREX
2687    return;
2688    break;
2689  case 17:
2690    // OUTSB, OUTSL, OUTSW
2691    SStream_concat0(O, ", %dx");
2692	op_addReg(MI, X86_REG_DX);
2693    return;
2694    break;
2695  case 18:
2696    // SHLD16mri8, SHLD32mri8, SHLD64mri8, SHRD16mri8, SHRD32mri8, SHRD64mri8
2697    printOperand(MI, 5, O);
2698    SStream_concat0(O, ", ");
2699    break;
2700  case 19:
2701    // TAILJMPd, TAILJMPd64, TAILJMPm, TAILJMPm64, TAILJMPr64
2702    return;
2703    break;
2704  }
2705
2706
2707  // Fragment 2 encoded into 5 bits for 18 unique commands.
2708  //printf("Frag-2: %"PRIu64"\n", (Bits >> 24) & 31);
2709  switch ((Bits >> 24) & 31) {
2710  default:   // unreachable.
2711  case 0:
2712    // ADC16ri, ADC16ri8, ADC16rm, ADC16rr, ADC32ri, ADC32ri8, ADC32rm, ADC32...
2713    return;
2714    break;
2715  case 1:
2716    // ADOX32rr, ADOX64rr, ARPL16rr, BLCFILL32rr, BLCFILL64rr, BLCI32rr, BLCI...
2717    printOperand(MI, 0, O);
2718    break;
2719  case 2:
2720    // ANDN32rm, ANDN32rr, ANDN64rm, ANDN64rr, BEXTR32rr, BEXTR64rr, BEXTRI32...
2721    SStream_concat0(O, ", ");
2722    printOperand(MI, 0, O);
2723    return;
2724    break;
2725  case 3:
2726    // CMPSB
2727    printSrcIdx8(MI, 1, O);
2728    return;
2729    break;
2730  case 4:
2731    // CMPSL
2732    printSrcIdx32(MI, 1, O);
2733    return;
2734    break;
2735  case 5:
2736    // CMPSQ
2737    printSrcIdx64(MI, 1, O);
2738    return;
2739    break;
2740  case 6:
2741    // CMPSW
2742    printSrcIdx16(MI, 1, O);
2743    return;
2744    break;
2745  case 7:
2746    // ENTER, NOOP19rr, SEH_SaveReg, SEH_SaveXMM, SEH_SetFrame, VASTART_SAVE_...
2747    printOperand(MI, 1, O);
2748    break;
2749  case 8:
2750    // LXADD16, XCHG16rm
2751    printi16mem(MI, 2, O);
2752    return;
2753    break;
2754  case 9:
2755    // LXADD32, XCHG32rm
2756    printi32mem(MI, 2, O);
2757    return;
2758    break;
2759  case 10:
2760    // LXADD64, XCHG64rm
2761    printi64mem(MI, 2, O);
2762    return;
2763    break;
2764  case 11:
2765    // LXADD8, XCHG8rm
2766    printi8mem(MI, 2, O);
2767    return;
2768    break;
2769  case 12:
2770    // MOV8mr_NOREX
2771    return;
2772    break;
2773  case 13:
2774    // SHLD16mri8, SHRD16mri8
2775    printi16mem(MI, 0, O);
2776    return;
2777    break;
2778  case 14:
2779    // SHLD32mri8, SHRD32mri8
2780    printi32mem(MI, 0, O);
2781    return;
2782    break;
2783  case 15:
2784    // SHLD64mri8, SHRD64mri8
2785    printi64mem(MI, 0, O);
2786    return;
2787    break;
2788  case 16:
2789    // VAARG_64
2790    printi8mem(MI, 1, O);
2791    SStream_concat0(O, ", ");
2792    printOperand(MI, 6, O);
2793    SStream_concat0(O, ", ");
2794    printOperand(MI, 7, O);
2795    SStream_concat0(O, ", ");
2796    printOperand(MI, 8, O);
2797    return;
2798    break;
2799  case 17:
2800    // XCHG16rr, XCHG32rr, XCHG64rr, XCHG8rr
2801    printOperand(MI, 2, O);
2802    return;
2803    break;
2804  }
2805
2806
2807  // Fragment 3 encoded into 2 bits for 3 unique commands.
2808  //printf("Frag-3: %"PRIu64"\n", (Bits >> 29) & 3);
2809  switch ((Bits >> 29) & 3) {
2810  default:   // unreachable.
2811  case 0:
2812    // ADOX32rr, ADOX64rr, ARPL16rr, BLCFILL32rr, BLCFILL64rr, BLCI32rr, BLCI...
2813    return;
2814    break;
2815  case 1:
2816    // MOV8rr_NOREX
2817    return;
2818    break;
2819  case 2:
2820    // VASTART_SAVE_XMM_REGS
2821    SStream_concat0(O, ", ");
2822    printOperand(MI, 2, O);
2823    return;
2824    break;
2825  }
2826}
2827
2828
2829/// getRegisterName - This method is automatically generated by tblgen
2830/// from the register set description.  This returns the assembler name
2831/// for the specified register.
2832static char *getRegisterName(unsigned RegNo)
2833{
2834  // assert(RegNo && RegNo < 234 && "Invalid register number!");
2835
2836#ifndef CAPSTONE_DIET
2837  static char AsmStrs[] = {
2838  /* 0 */ 's', 't', '(', '0', ')', 0,
2839  /* 6 */ 's', 't', '(', '1', ')', 0,
2840  /* 12 */ 's', 't', '(', '2', ')', 0,
2841  /* 18 */ 's', 't', '(', '3', ')', 0,
2842  /* 24 */ 's', 't', '(', '4', ')', 0,
2843  /* 30 */ 's', 't', '(', '5', ')', 0,
2844  /* 36 */ 's', 't', '(', '6', ')', 0,
2845  /* 42 */ 's', 't', '(', '7', ')', 0,
2846  /* 48 */ 'x', 'm', 'm', '1', '0', 0,
2847  /* 54 */ 'y', 'm', 'm', '1', '0', 0,
2848  /* 60 */ 'z', 'm', 'm', '1', '0', 0,
2849  /* 66 */ 'c', 'r', '1', '0', 0,
2850  /* 71 */ 'x', 'm', 'm', '2', '0', 0,
2851  /* 77 */ 'y', 'm', 'm', '2', '0', 0,
2852  /* 83 */ 'z', 'm', 'm', '2', '0', 0,
2853  /* 89 */ 'x', 'm', 'm', '3', '0', 0,
2854  /* 95 */ 'y', 'm', 'm', '3', '0', 0,
2855  /* 101 */ 'z', 'm', 'm', '3', '0', 0,
2856  /* 107 */ 'k', '0', 0,
2857  /* 110 */ 'x', 'm', 'm', '0', 0,
2858  /* 115 */ 'y', 'm', 'm', '0', 0,
2859  /* 120 */ 'z', 'm', 'm', '0', 0,
2860  /* 125 */ 'f', 'p', '0', 0,
2861  /* 129 */ 'c', 'r', '0', 0,
2862  /* 133 */ 'd', 'r', '0', 0,
2863  /* 137 */ 'x', 'm', 'm', '1', '1', 0,
2864  /* 143 */ 'y', 'm', 'm', '1', '1', 0,
2865  /* 149 */ 'z', 'm', 'm', '1', '1', 0,
2866  /* 155 */ 'c', 'r', '1', '1', 0,
2867  /* 160 */ 'x', 'm', 'm', '2', '1', 0,
2868  /* 166 */ 'y', 'm', 'm', '2', '1', 0,
2869  /* 172 */ 'z', 'm', 'm', '2', '1', 0,
2870  /* 178 */ 'x', 'm', 'm', '3', '1', 0,
2871  /* 184 */ 'y', 'm', 'm', '3', '1', 0,
2872  /* 190 */ 'z', 'm', 'm', '3', '1', 0,
2873  /* 196 */ 'k', '1', 0,
2874  /* 199 */ 'x', 'm', 'm', '1', 0,
2875  /* 204 */ 'y', 'm', 'm', '1', 0,
2876  /* 209 */ 'z', 'm', 'm', '1', 0,
2877  /* 214 */ 'f', 'p', '1', 0,
2878  /* 218 */ 'c', 'r', '1', 0,
2879  /* 222 */ 'd', 'r', '1', 0,
2880  /* 226 */ 'x', 'm', 'm', '1', '2', 0,
2881  /* 232 */ 'y', 'm', 'm', '1', '2', 0,
2882  /* 238 */ 'z', 'm', 'm', '1', '2', 0,
2883  /* 244 */ 'c', 'r', '1', '2', 0,
2884  /* 249 */ 'x', 'm', 'm', '2', '2', 0,
2885  /* 255 */ 'y', 'm', 'm', '2', '2', 0,
2886  /* 261 */ 'z', 'm', 'm', '2', '2', 0,
2887  /* 267 */ 'k', '2', 0,
2888  /* 270 */ 'x', 'm', 'm', '2', 0,
2889  /* 275 */ 'y', 'm', 'm', '2', 0,
2890  /* 280 */ 'z', 'm', 'm', '2', 0,
2891  /* 285 */ 'f', 'p', '2', 0,
2892  /* 289 */ 'c', 'r', '2', 0,
2893  /* 293 */ 'd', 'r', '2', 0,
2894  /* 297 */ 'x', 'm', 'm', '1', '3', 0,
2895  /* 303 */ 'y', 'm', 'm', '1', '3', 0,
2896  /* 309 */ 'z', 'm', 'm', '1', '3', 0,
2897  /* 315 */ 'c', 'r', '1', '3', 0,
2898  /* 320 */ 'x', 'm', 'm', '2', '3', 0,
2899  /* 326 */ 'y', 'm', 'm', '2', '3', 0,
2900  /* 332 */ 'z', 'm', 'm', '2', '3', 0,
2901  /* 338 */ 'k', '3', 0,
2902  /* 341 */ 'x', 'm', 'm', '3', 0,
2903  /* 346 */ 'y', 'm', 'm', '3', 0,
2904  /* 351 */ 'z', 'm', 'm', '3', 0,
2905  /* 356 */ 'f', 'p', '3', 0,
2906  /* 360 */ 'c', 'r', '3', 0,
2907  /* 364 */ 'd', 'r', '3', 0,
2908  /* 368 */ 'x', 'm', 'm', '1', '4', 0,
2909  /* 374 */ 'y', 'm', 'm', '1', '4', 0,
2910  /* 380 */ 'z', 'm', 'm', '1', '4', 0,
2911  /* 386 */ 'c', 'r', '1', '4', 0,
2912  /* 391 */ 'x', 'm', 'm', '2', '4', 0,
2913  /* 397 */ 'y', 'm', 'm', '2', '4', 0,
2914  /* 403 */ 'z', 'm', 'm', '2', '4', 0,
2915  /* 409 */ 'k', '4', 0,
2916  /* 412 */ 'x', 'm', 'm', '4', 0,
2917  /* 417 */ 'y', 'm', 'm', '4', 0,
2918  /* 422 */ 'z', 'm', 'm', '4', 0,
2919  /* 427 */ 'f', 'p', '4', 0,
2920  /* 431 */ 'c', 'r', '4', 0,
2921  /* 435 */ 'd', 'r', '4', 0,
2922  /* 439 */ 'x', 'm', 'm', '1', '5', 0,
2923  /* 445 */ 'y', 'm', 'm', '1', '5', 0,
2924  /* 451 */ 'z', 'm', 'm', '1', '5', 0,
2925  /* 457 */ 'c', 'r', '1', '5', 0,
2926  /* 462 */ 'x', 'm', 'm', '2', '5', 0,
2927  /* 468 */ 'y', 'm', 'm', '2', '5', 0,
2928  /* 474 */ 'z', 'm', 'm', '2', '5', 0,
2929  /* 480 */ 'k', '5', 0,
2930  /* 483 */ 'x', 'm', 'm', '5', 0,
2931  /* 488 */ 'y', 'm', 'm', '5', 0,
2932  /* 493 */ 'z', 'm', 'm', '5', 0,
2933  /* 498 */ 'f', 'p', '5', 0,
2934  /* 502 */ 'c', 'r', '5', 0,
2935  /* 506 */ 'd', 'r', '5', 0,
2936  /* 510 */ 'x', 'm', 'm', '1', '6', 0,
2937  /* 516 */ 'y', 'm', 'm', '1', '6', 0,
2938  /* 522 */ 'z', 'm', 'm', '1', '6', 0,
2939  /* 528 */ 'x', 'm', 'm', '2', '6', 0,
2940  /* 534 */ 'y', 'm', 'm', '2', '6', 0,
2941  /* 540 */ 'z', 'm', 'm', '2', '6', 0,
2942  /* 546 */ 'k', '6', 0,
2943  /* 549 */ 'x', 'm', 'm', '6', 0,
2944  /* 554 */ 'y', 'm', 'm', '6', 0,
2945  /* 559 */ 'z', 'm', 'm', '6', 0,
2946  /* 564 */ 'f', 'p', '6', 0,
2947  /* 568 */ 'c', 'r', '6', 0,
2948  /* 572 */ 'd', 'r', '6', 0,
2949  /* 576 */ 'x', 'm', 'm', '1', '7', 0,
2950  /* 582 */ 'y', 'm', 'm', '1', '7', 0,
2951  /* 588 */ 'z', 'm', 'm', '1', '7', 0,
2952  /* 594 */ 'x', 'm', 'm', '2', '7', 0,
2953  /* 600 */ 'y', 'm', 'm', '2', '7', 0,
2954  /* 606 */ 'z', 'm', 'm', '2', '7', 0,
2955  /* 612 */ 'k', '7', 0,
2956  /* 615 */ 'x', 'm', 'm', '7', 0,
2957  /* 620 */ 'y', 'm', 'm', '7', 0,
2958  /* 625 */ 'z', 'm', 'm', '7', 0,
2959  /* 630 */ 'f', 'p', '7', 0,
2960  /* 634 */ 'c', 'r', '7', 0,
2961  /* 638 */ 'd', 'r', '7', 0,
2962  /* 642 */ 'x', 'm', 'm', '1', '8', 0,
2963  /* 648 */ 'y', 'm', 'm', '1', '8', 0,
2964  /* 654 */ 'z', 'm', 'm', '1', '8', 0,
2965  /* 660 */ 'x', 'm', 'm', '2', '8', 0,
2966  /* 666 */ 'y', 'm', 'm', '2', '8', 0,
2967  /* 672 */ 'z', 'm', 'm', '2', '8', 0,
2968  /* 678 */ 'x', 'm', 'm', '8', 0,
2969  /* 683 */ 'y', 'm', 'm', '8', 0,
2970  /* 688 */ 'z', 'm', 'm', '8', 0,
2971  /* 693 */ 'c', 'r', '8', 0,
2972  /* 697 */ 'x', 'm', 'm', '1', '9', 0,
2973  /* 703 */ 'y', 'm', 'm', '1', '9', 0,
2974  /* 709 */ 'z', 'm', 'm', '1', '9', 0,
2975  /* 715 */ 'x', 'm', 'm', '2', '9', 0,
2976  /* 721 */ 'y', 'm', 'm', '2', '9', 0,
2977  /* 727 */ 'z', 'm', 'm', '2', '9', 0,
2978  /* 733 */ 'x', 'm', 'm', '9', 0,
2979  /* 738 */ 'y', 'm', 'm', '9', 0,
2980  /* 743 */ 'z', 'm', 'm', '9', 0,
2981  /* 748 */ 'c', 'r', '9', 0,
2982  /* 752 */ 'r', '1', '0', 'b', 0,
2983  /* 757 */ 'r', '1', '1', 'b', 0,
2984  /* 762 */ 'r', '1', '2', 'b', 0,
2985  /* 767 */ 'r', '1', '3', 'b', 0,
2986  /* 772 */ 'r', '1', '4', 'b', 0,
2987  /* 777 */ 'r', '1', '5', 'b', 0,
2988  /* 782 */ 'r', '8', 'b', 0,
2989  /* 786 */ 'r', '9', 'b', 0,
2990  /* 790 */ 'r', '1', '0', 'd', 0,
2991  /* 795 */ 'r', '1', '1', 'd', 0,
2992  /* 800 */ 'r', '1', '2', 'd', 0,
2993  /* 805 */ 'r', '1', '3', 'd', 0,
2994  /* 810 */ 'r', '1', '4', 'd', 0,
2995  /* 815 */ 'r', '1', '5', 'd', 0,
2996  /* 820 */ 'r', '8', 'd', 0,
2997  /* 824 */ 'r', '9', 'd', 0,
2998  /* 828 */ 'a', 'h', 0,
2999  /* 831 */ 'b', 'h', 0,
3000  /* 834 */ 'c', 'h', 0,
3001  /* 837 */ 'd', 'h', 0,
3002  /* 840 */ 'e', 'd', 'i', 0,
3003  /* 844 */ 'r', 'd', 'i', 0,
3004  /* 848 */ 'e', 's', 'i', 0,
3005  /* 852 */ 'r', 's', 'i', 0,
3006  /* 856 */ 'a', 'l', 0,
3007  /* 859 */ 'b', 'l', 0,
3008  /* 862 */ 'c', 'l', 0,
3009  /* 865 */ 'd', 'l', 0,
3010  /* 868 */ 'd', 'i', 'l', 0,
3011  /* 872 */ 's', 'i', 'l', 0,
3012  /* 876 */ 'b', 'p', 'l', 0,
3013  /* 880 */ 's', 'p', 'l', 0,
3014  /* 884 */ 'e', 'b', 'p', 0,
3015  /* 888 */ 'r', 'b', 'p', 0,
3016  /* 892 */ 'e', 'i', 'p', 0,
3017  /* 896 */ 'r', 'i', 'p', 0,
3018  /* 900 */ 'e', 's', 'p', 0,
3019  /* 904 */ 'r', 's', 'p', 0,
3020  /* 908 */ 'c', 's', 0,
3021  /* 911 */ 'd', 's', 0,
3022  /* 914 */ 'e', 's', 0,
3023  /* 917 */ 'f', 's', 0,
3024  /* 920 */ 'f', 'l', 'a', 'g', 's', 0,
3025  /* 926 */ 's', 's', 0,
3026  /* 929 */ 'r', '1', '0', 'w', 0,
3027  /* 934 */ 'r', '1', '1', 'w', 0,
3028  /* 939 */ 'r', '1', '2', 'w', 0,
3029  /* 944 */ 'r', '1', '3', 'w', 0,
3030  /* 949 */ 'r', '1', '4', 'w', 0,
3031  /* 954 */ 'r', '1', '5', 'w', 0,
3032  /* 959 */ 'r', '8', 'w', 0,
3033  /* 963 */ 'r', '9', 'w', 0,
3034  /* 967 */ 'f', 'p', 's', 'w', 0,
3035  /* 972 */ 'e', 'a', 'x', 0,
3036  /* 976 */ 'r', 'a', 'x', 0,
3037  /* 980 */ 'e', 'b', 'x', 0,
3038  /* 984 */ 'r', 'b', 'x', 0,
3039  /* 988 */ 'e', 'c', 'x', 0,
3040  /* 992 */ 'r', 'c', 'x', 0,
3041  /* 996 */ 'e', 'd', 'x', 0,
3042  /* 1000 */ 'r', 'd', 'x', 0,
3043  /* 1004 */ 'e', 'i', 'z', 0,
3044  /* 1008 */ 'r', 'i', 'z', 0,
3045  };
3046
3047  static const uint32_t RegAsmOffset[] = {
3048    828, 856, 973, 831, 859, 885, 876, 981, 834, 862, 908, 989, 837, 841,
3049    868, 865, 911, 997, 972, 884, 980, 988, 840, 996, 920, 892, 1004, 914,
3050    848, 900, 967, 917, 923, 893, 976, 888, 984, 992, 844, 1000, 896, 1008,
3051    852, 904, 849, 872, 901, 880, 926, 129, 218, 289, 360, 431, 502, 568,
3052    634, 693, 748, 66, 155, 244, 315, 386, 457, 133, 222, 293, 364, 435,
3053    506, 572, 638, 125, 214, 285, 356, 427, 498, 564, 630, 107, 196, 267,
3054    338, 409, 480, 546, 612, 111, 200, 271, 342, 413, 484, 550, 616, 694,
3055    749, 67, 156, 245, 316, 387, 458, 0, 6, 12, 18, 24, 30, 36,
3056    42, 110, 199, 270, 341, 412, 483, 549, 615, 678, 733, 48, 137, 226,
3057    297, 368, 439, 510, 576, 642, 697, 71, 160, 249, 320, 391, 462, 528,
3058    594, 660, 715, 89, 178, 115, 204, 275, 346, 417, 488, 554, 620, 683,
3059    738, 54, 143, 232, 303, 374, 445, 516, 582, 648, 703, 77, 166, 255,
3060    326, 397, 468, 534, 600, 666, 721, 95, 184, 120, 209, 280, 351, 422,
3061    493, 559, 625, 688, 743, 60, 149, 238, 309, 380, 451, 522, 588, 654,
3062    709, 83, 172, 261, 332, 403, 474, 540, 606, 672, 727, 101, 190, 782,
3063    786, 752, 757, 762, 767, 772, 777, 820, 824, 790, 795, 800, 805, 810,
3064    815, 959, 963, 929, 934, 939, 944, 949, 954,
3065  };
3066
3067  //int i;
3068  //for (i = 0; i < sizeof(RegAsmOffset)/4; i++)
3069  //     printf("%s = %u\n", AsmStrs+RegAsmOffset[i], i + 1);
3070  //printf("*************************\n");
3071  return AsmStrs+RegAsmOffset[RegNo-1];
3072#else
3073  return NULL;
3074#endif
3075}
3076
3077#ifdef PRINT_ALIAS_INSTR
3078#undef PRINT_ALIAS_INSTR
3079
3080static void printCustomAliasOperand(MCInst *MI, unsigned OpIdx,
3081  unsigned PrintMethodIdx, SStream *OS)
3082{
3083}
3084
3085static char *printAliasInstr(MCInst *MI, SStream *OS, void *info)
3086{
3087  #define GETREGCLASS_CONTAIN(_class, _reg) MCRegisterClass_contains(MCRegisterInfo_getRegClass(MRI, _class), MCOperand_getReg(MCInst_getOperand(MI, _reg)))
3088  const char *AsmString;
3089  char *tmp, *AsmMnem, *AsmOps, *c;
3090  int OpIdx, PrintMethodIdx;
3091  switch (MCInst_getOpcode(MI)) {
3092  default: return NULL;
3093  case X86_AAD8i8:
3094    if (MCInst_getNumOperands(MI) == 1 &&
3095        MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
3096        MCOperand_getImm(MCInst_getOperand(MI, 0)) == 10) {
3097      // (AAD8i8 10)
3098      AsmString = "aad";
3099      break;
3100    }
3101    return NULL;
3102  case X86_AAM8i8:
3103    if (MCInst_getNumOperands(MI) == 1 &&
3104        MCOperand_isImm(MCInst_getOperand(MI, 0)) &&
3105        MCOperand_getImm(MCInst_getOperand(MI, 0)) == 10) {
3106      // (AAM8i8 10)
3107      AsmString = "aam";
3108      break;
3109    }
3110    return NULL;
3111  case X86_XSTORE:
3112    if (MCInst_getNumOperands(MI) == 0) {
3113      // (XSTORE)
3114      AsmString = "xstorerng";
3115      break;
3116    }
3117    return NULL;
3118  }
3119
3120  tmp = cs_strdup(AsmString);
3121  AsmMnem = tmp;
3122  for(AsmOps = tmp; *AsmOps; AsmOps++) {
3123    if (*AsmOps == ' ' || *AsmOps == '\t') {
3124      *AsmOps = '\0';
3125      AsmOps++;
3126      break;
3127    }
3128  }
3129  SStream_concat0(OS, AsmMnem);
3130  if (*AsmOps) {
3131    SStream_concat0(OS, "\t");
3132    for (c = AsmOps; *c; c++) {
3133      if (*c == '$') {
3134        c += 1;
3135        if (*c == (char)0xff) {
3136          c += 1;
3137          OpIdx = *c - 1;
3138          c += 1;
3139          PrintMethodIdx = *c - 1;
3140          printCustomAliasOperand(MI, OpIdx, PrintMethodIdx, OS);
3141        } else
3142          printOperand(MI, *c - 1, OS);
3143      } else {
3144        SStream_concat(OS, "%c", *c);
3145      }
3146    }
3147  }
3148  return tmp;
3149}
3150
3151#endif // PRINT_ALIAS_INSTR
3152