]> pd.if.org Git - mmurtl/blob - msamples/cm32m/cm32.asm
autocommit for file dated 1995-02-09 16:31:12
[mmurtl] / msamples / cm32m / cm32.asm
1 \r
2 .DATA\r
3 _itoken DB 0,0,0,0,0,0,0,0,0,0,0\r
4  DB 0,0,0,0,0,0,0,0,0,0,0\r
5  DB 0,0,0,0,0,0,0,0,0,0,0\r
6  DB 1,0,0,0,3,5,0,8,9,10,12\r
7  DB 15,16,20,22,0,0,0,0,0,0,0\r
8  DB 0,0,0,24,25,26,30,32,36,0,0\r
9  DB 0,0,0,0,0,0,0,0,0,0,0\r
10  DB 0,0,0,0,0,0,0,0,0,0,0\r
11  DB 0,0,0,37,0,38,39,0,0,0,41\r
12  DB 42,46,48,50,52,0,53,0,0,56,0\r
13  DB 0,0,0,0,57,59,65,66,68,69,0\r
14  DB 0,0,70,71,74,75,0\r
15 _tokens DD OFFSET L_lit+0,OFFSET L_lit+1,OFFSET L_lit+4\r
16  DD OFFSET L_lit+6,OFFSET L_lit+9,OFFSET L_lit+11\r
17  DD OFFSET L_lit+14,OFFSET L_lit+17,OFFSET L_lit+19\r
18  DD OFFSET L_lit+21,OFFSET L_lit+23,OFFSET L_lit+26\r
19  DD OFFSET L_lit+28,OFFSET L_lit+31,OFFSET L_lit+34\r
20  DD OFFSET L_lit+36,OFFSET L_lit+38,OFFSET L_lit+41\r
21  DD OFFSET L_lit+44,OFFSET L_lit+47,OFFSET L_lit+49\r
22  DD OFFSET L_lit+53,OFFSET L_lit+55,OFFSET L_lit+58\r
23  DD OFFSET L_lit+60,OFFSET L_lit+62,OFFSET L_lit+64\r
24  DD OFFSET L_lit+68,OFFSET L_lit+71,OFFSET L_lit+74\r
25  DD OFFSET L_lit+76,OFFSET L_lit+79,OFFSET L_lit+81\r
26  DD OFFSET L_lit+85,OFFSET L_lit+88,OFFSET L_lit+91\r
27  DD OFFSET L_lit+93,OFFSET L_lit+95,OFFSET L_lit+97\r
28  DD OFFSET L_lit+99,OFFSET L_lit+102,OFFSET L_lit+104\r
29  DD OFFSET L_lit+110,OFFSET L_lit+115,OFFSET L_lit+120\r
30  DD OFFSET L_lit+126,OFFSET L_lit+135,OFFSET L_lit+143\r
31  DD OFFSET L_lit+146,OFFSET L_lit+151,OFFSET L_lit+158\r
32  DD OFFSET L_lit+162,OFFSET L_lit+166,OFFSET L_lit+171\r
33  DD OFFSET L_lit+181,OFFSET L_lit+185,OFFSET L_lit+188\r
34  DD OFFSET L_lit+193,OFFSET L_lit+202,OFFSET L_lit+209\r
35  DD OFFSET L_lit+216,OFFSET L_lit+223,OFFSET L_lit+230\r
36  DD OFFSET L_lit+237,OFFSET L_lit+244,OFFSET L_lit+250\r
37  DD OFFSET L_lit+258,OFFSET L_lit+267,OFFSET L_lit+273\r
38  DD OFFSET L_lit+278,OFFSET L_lit+284,OFFSET L_lit+286\r
39  DD OFFSET L_lit+289,OFFSET L_lit+292,OFFSET L_lit+294\r
40  DD OFFSET L_lit+296,0\r
41 _priority DB 0,9,0,2,13,5,2,8,0,0,2\r
42  DB 13,15,2,12,0,15,2,15,12,0,15\r
43  DB 2,13,0,0,2,11,10,10,9,2,2\r
44  DB 11,10,10,3,0,0,2,7,0,0,0\r
45  DB 0,0,0,0,0,0,0,0,0,0,0\r
46  DB 0,0,0,0,0,0,0,0,0,0,0\r
47  DB 0,0,0,0,0,4,2,6,0,0,0\r
48  DB 0,0,0,0,0,0,0,0,0,0,0\r
49  DB 0,0,0,0,0,0,0,0,0,0,0\r
50  DB 0,0,0,0,0,0,0,0,0,0,0\r
51  DB 0,0,0,0,0,0,0,0,0,0,0\r
52  DB 0,0,0,0,0,0,0\r
53 _optype DB 0,2,1,3,2,4,3,2,0,0,3\r
54  DB 2,0,3,2,0,0,3,2,2,0,2\r
55  DB 3,2,0,0,3,2,2,2,2,3,3\r
56  DB 2,2,2,4,0,0,3,2,0,0,0\r
57  DB 0,0,0,0,0,0,0,0,0,0,0\r
58  DB 0,0,0,0,0,1,0,0,0,0,0\r
59  DB 0,0,0,0,0,4,3,2,0,1,0\r
60  DB 0,0,0,0,0,0,0,0,0,0,0\r
61  DB 0,0,0,0,0,0,0,0,0,0,0\r
62  DB 0,0,0,0,0,0,0,0,0,0,0\r
63  DB 0,0,0,0,0,0,0,0,0,0,0\r
64  DB 0,0,0,0,0,0,0\r
65 EXTRN _AllocPage FWORD\r
66 EXTRN _AllocOSPage FWORD\r
67 EXTRN _AllocDMAPage FWORD\r
68 EXTRN _DeAllocPage FWORD\r
69 EXTRN _QueryPages FWORD\r
70 EXTRN _GetPhyAdd FWORD\r
71 EXTRN _AliasMem FWORD\r
72 EXTRN _DeAliasMem FWORD\r
73 PUBLIC _oNextGName DD 0\r
74 PUBLIC _oNextLName DD 0\r
75 PUBLIC _global_top DD 0\r
76 PUBLIC _global_count DD 0\r
77 PUBLIC _iproto_next DD 1\r
78 PUBLIC _icrntpro DD 0\r
79 PUBLIC _iarg DD 0\r
80 PUBLIC _argtype DD 0\r
81 PUBLIC _local_top DD 300\r
82 PUBLIC _fInStruct DB 0\r
83 PUBLIC _structname DB 48,83,116,114,117,99,116,68,101,102,0\r
84  DB 0\r
85 PUBLIC _NxtStrucNum DB 0\r
86 PUBLIC _dim_top DD 0\r
87 PUBLIC _literal_top DD 0\r
88 PUBLIC _expr_ptr DD 0\r
89 PUBLIC _if_flag DB 0\r
90 PUBLIC _asm_flag DB 0\r
91 PUBLIC _not_flag DB 0\r
92 PUBLIC _prefix DB 76\r
93 PUBLIC _exit_label DD 0\r
94 PUBLIC _exit_used DD 0\r
95 PUBLIC _in_function DD 0\r
96 PUBLIC _loop_ptr DD 0\r
97 PUBLIC _switch_ptr DD 0\r
98 PUBLIC _define_top DD 0\r
99 PUBLIC _sdefault DD 0\r
100 PUBLIC _exit_flag DD 0\r
101 PUBLIC _next_lab DD 0\r
102 PUBLIC _line_number DD 0\r
103 PUBLIC _begin_comment DD 0\r
104 PUBLIC _ungot_token DD 0\r
105 PUBLIC _error_count DD 0\r
106 PUBLIC _warn_count DD 0\r
107 PUBLIC _macro DD 0\r
108 PUBLIC _include DD 0\r
109 PUBLIC _source_fh DD 0\r
110 PUBLIC _asm_fh DD 0\r
111 PUBLIC _code_fh DD 0\r
112 PUBLIC _list_fh DD 0\r
113 PUBLIC _fLISTOpen DB 0\r
114 PUBLIC _fTEMPOpen DB 0\r
115 PUBLIC _fCODEOpen DB 0\r
116 PUBLIC _fASMOpen DB 0\r
117 PUBLIC _comment_flag DB -1\r
118 PUBLIC _fQuiet DB 0\r
119 PUBLIC _fSource DB 0\r
120 PUBLIC _fNoOpt DB 0\r
121 PUBLIC _fOptS DB 0\r
122 PUBLIC _fList DB 0\r
123 PUBLIC _fGen DB 0\r
124 PUBLIC _fWarnings DB 0\r
125 PUBLIC _incdir DD OFFSET L_lit+298\r
126 PUBLIC _global_width DD 0\r
127 PUBLIC _asmlab DD 0\r
128 PUBLIC _stack_flag DB 0\r
129 PUBLIC _pc DD 0\r
130 PUBLIC _pco DD 0\r
131 PUBLIC _pd DD 0\r
132 PUBLIC _peep_table DD OFFSET L_lit+312,OFFSET L_lit+330,OFFSET L_lit+339\r
133  DD OFFSET L_lit+357,OFFSET L_lit+366,OFFSET L_lit+393\r
134  DD OFFSET L_lit+411,OFFSET L_lit+435,OFFSET L_lit+446\r
135  DD OFFSET L_lit+470,OFFSET L_lit+481,OFFSET L_lit+505\r
136  DD OFFSET L_lit+516,OFFSET L_lit+572,OFFSET L_lit+596\r
137  DD OFFSET L_lit+618,OFFSET L_lit+627,OFFSET L_lit+648\r
138  DD OFFSET L_lit+659,OFFSET L_lit+681,OFFSET L_lit+692\r
139  DD OFFSET L_lit+713,OFFSET L_lit+724,OFFSET L_lit+746\r
140  DD OFFSET L_lit+757,OFFSET L_lit+777,OFFSET L_lit+788\r
141  DD OFFSET L_lit+809,OFFSET L_lit+820,OFFSET L_lit+840\r
142  DD OFFSET L_lit+851,OFFSET L_lit+872,OFFSET L_lit+883\r
143  DD OFFSET L_lit+903,OFFSET L_lit+914,OFFSET L_lit+935\r
144  DD OFFSET L_lit+946,OFFSET L_lit+956,OFFSET L_lit+959\r
145  DD OFFSET L_lit+972,OFFSET L_lit+978,OFFSET L_lit+992\r
146  DD OFFSET L_lit+999,OFFSET L_lit+1026,OFFSET L_lit+1042\r
147  DD OFFSET L_lit+1068,OFFSET L_lit+1085,OFFSET L_lit+1115\r
148  DD OFFSET L_lit+1129,OFFSET L_lit+1158,OFFSET L_lit+1171\r
149  DD OFFSET L_lit+1195,OFFSET L_lit+1217,OFFSET L_lit+1241\r
150  DD OFFSET L_lit+1263,OFFSET L_lit+1287,OFFSET L_lit+1309\r
151  DD OFFSET L_lit+1333,OFFSET L_lit+1355,OFFSET L_lit+1379\r
152  DD OFFSET L_lit+1390,OFFSET L_lit+1424,OFFSET L_lit+1442\r
153  DD OFFSET L_lit+1476,OFFSET L_lit+1494,OFFSET L_lit+1516\r
154  DD OFFSET L_lit+1535,OFFSET L_lit+1556,OFFSET L_lit+1564\r
155  DD OFFSET L_lit+1575,OFFSET L_lit+1588,OFFSET L_lit+1598\r
156  DD OFFSET L_lit+1609,OFFSET L_lit+1619,OFFSET L_lit+1630\r
157  DD OFFSET L_lit+1640,0\r
158 PUBLIC _peep_top DW 0\r
159 PUBLIC _peep_next DW 0\r
160 L_lit DB 0,33,61,0,33,0,37,61,0,37,0,38,38,0,38,61\r
161  DB 0,38,0,40,0,41,0,42,61,0,42,0,43,43,0,43\r
162  DB 61,0,43,0,44,0,45,45,0,45,61,0,45,62,0,45\r
163  DB 0,46,46,46,0,46,0,47,61,0,47,0,58,0,59,0\r
164  DB 60,60,61,0,60,60,0,60,61,0,60,0,61,61,0,61\r
165  DB 0,62,62,61,0,62,62,0,62,61,0,62,0,63,0,91\r
166  DB 0,93,0,94,61,0,94,0,98,114,101,97,107,0,99,97\r
167  DB 115,101,0,99,104,97,114,0,99,111,110,115,116,0,99,111\r
168  DB 110,116,105,110,117,101,0,100,101,102,97,117,108,116,0,100\r
169  DB 111,0,101,108,115,101,0,101,120,116,101,114,110,0,102,97\r
170  DB 114,0,102,111,114,0,103,111,116,111,0,105,110,116,101,114\r
171  DB 114,117,112,116,0,105,110,116,0,105,102,0,108,111,110,103\r
172  DB 0,114,101,103,105,115,116,101,114,0,114,101,116,117,114,110\r
173  DB 0,115,105,103,110,101,100,0,115,105,122,101,111,102,0,115\r
174  DB 116,97,116,105,99,0,115,116,114,117,99,116,0,115,119,105\r
175  DB 116,99,104,0,115,104,111,114,116,0,116,121,112,101,100,101\r
176  DB 102,0,117,110,115,105,103,110,101,100,0,117,110,105,111,110\r
177  DB 0,118,111,105,100,0,119,104,105,108,101,0,123,0,124,124\r
178  DB 0,124,61,0,124,0,125,0,126,0,92,67,77,51,50,92\r
179  DB 73,78,67,76,85,68,69,0,9,77,79,86,32,128,44,129\r
180  DB 10,9,77,79,86,32,129,44,128,0,9,77,79,86,32,128\r
181  DB 44,129,0,9,77,79,86,32,128,44,129,10,9,77,79,86\r
182  DB 32,128,44,130,0,9,77,79,86,32,128,44,130,0,9,77\r
183  DB 79,86,32,128,44,129,10,9,77,79,86,32,130,44,128,10\r
184  DB 9,77,79,86,32,129,44,128,0,9,77,79,86,32,130,44\r
185  DB 128,10,9,77,79,86,32,128,44,129,0,9,77,79,86,32\r
186  DB 69,65,88,44,128,10,9,77,79,86,32,69,67,88,44,69\r
187  DB 65,88,0,9,77,79,86,32,69,67,88,44,128,0,9,77\r
188  DB 79,86,32,69,83,73,44,128,10,9,77,79,86,32,69,65\r
189  DB 88,44,69,83,73,0,9,77,79,86,32,69,65,88,44,128\r
190  DB 0,9,76,69,65,32,69,83,73,44,128,10,9,77,79,86\r
191  DB 32,69,65,88,44,69,83,73,0,9,76,69,65,32,69,65\r
192  DB 88,44,128,0,9,80,85,83,72,32,69,65,88,10,9,76\r
193  DB 69,65,32,69,83,73,44,128,10,9,77,79,86,32,69,65\r
194  DB 88,44,69,83,73,10,9,80,79,80,32,69,66,88,10,9\r
195  DB 65,68,68,32,69,65,88,44,69,66,88,0,9,65,68,68\r
196  DB 32,69,65,88,44,69,83,73,10,9,76,69,65,32,69,83\r
197  DB 73,44,128,0,9,80,79,80,32,69,66,88,10,9,77,79\r
198  DB 86,32,69,65,88,44,69,66,88,0,9,80,79,80,32,69\r
199  DB 65,88,0,9,77,79,86,32,69,67,88,44,51,50,10,9\r
200  DB 77,85,76,32,69,67,88,0,9,83,72,76,32,69,65,88\r
201  DB 44,53,0,9,77,79,86,32,69,67,88,44,51,50,10,9\r
202  DB 73,77,85,76,32,69,67,88,0,9,83,72,76,32,69,65\r
203  DB 88,44,53,0,9,77,79,86,32,69,67,88,44,49,54,10\r
204  DB 9,77,85,76,32,69,67,88,0,9,83,72,76,32,69,65\r
205  DB 88,44,52,0,9,77,79,86,32,69,67,88,44,49,54,10\r
206  DB 9,73,77,85,76,32,69,67,88,0,9,83,72,76,32,69\r
207  DB 65,88,44,52,0,9,77,79,86,32,69,67,88,44,56,10\r
208  DB 9,77,85,76,32,69,67,88,0,9,83,72,76,32,69,65\r
209  DB 88,44,51,0,9,77,79,86,32,69,67,88,44,56,10,9\r
210  DB 73,77,85,76,32,69,67,88,0,9,83,72,76,32,69,65\r
211  DB 88,44,51,0,9,77,79,86,32,69,67,88,44,52,10,9\r
212  DB 77,85,76,32,69,67,88,0,9,83,72,76,32,69,65,88\r
213  DB 44,50,0,9,77,79,86,32,69,67,88,44,52,10,9,73\r
214  DB 77,85,76,32,69,67,88,0,9,83,72,76,32,69,65,88\r
215  DB 44,50,0,9,77,79,86,32,69,67,88,44,50,10,9,77\r
216  DB 85,76,32,69,67,88,0,9,83,72,76,32,69,65,88,44\r
217  DB 49,0,9,77,79,86,32,69,67,88,44,50,10,9,73,77\r
218  DB 85,76,32,69,67,88,0,9,83,72,76,32,69,65,88,44\r
219  DB 49,0,9,74,77,80,32,128,10,128,58,0,128,58,0,9\r
220  DB 74,77,80,32,128,10,129,58,10,128,58,0,128,58,10,129\r
221  DB 58,0,9,74,77,80,32,128,10,9,74,77,80,32,129,0\r
222  DB 9,74,77,80,32,128,0,9,74,78,90,32,128,10,9,74\r
223  DB 77,80,32,129,10,128,58,10,9,74,77,80,32,130,10,129\r
224  DB 58,0,129,58,10,9,74,77,80,32,130,10,9,74,90,32\r
225  DB 129,0,9,74,90,32,128,10,9,74,77,80,32,129,10,128\r
226  DB 58,10,9,74,77,80,32,130,10,129,58,0,129,58,10,9\r
227  DB 74,77,80,32,130,10,9,74,78,90,32,129,0,9,74,78\r
228  DB 90,32,128,10,9,74,77,80,32,129,10,128,58,10,9,74\r
229  DB 77,80,32,83,72,79,82,84,32,130,0,9,74,77,80,32\r
230  DB 129,10,9,74,78,90,32,130,0,9,74,90,32,128,10,9\r
231  DB 74,77,80,32,129,10,128,58,10,9,74,77,80,32,83,72\r
232  DB 79,82,84,32,130,0,9,74,77,80,32,129,10,9,74,90\r
233  DB 32,130,0,9,77,79,86,32,65,76,44,128,10,9,77,79\r
234  DB 86,83,88,32,69,65,88,44,65,76,0,9,77,79,86,83\r
235  DB 88,32,69,65,88,44,66,89,84,69,32,80,84,82,32,128\r
236  DB 0,9,77,79,86,32,65,76,44,128,10,9,77,79,86,90\r
237  DB 88,32,69,65,88,44,65,76,0,9,77,79,86,90,88,32\r
238  DB 69,65,88,44,66,89,84,69,32,80,84,82,32,128,0,9\r
239  DB 77,79,86,32,65,88,44,128,10,9,77,79,86,83,88,32\r
240  DB 69,65,88,44,65,88,0,9,77,79,86,83,88,32,69,65\r
241  DB 88,44,87,79,82,68,32,80,84,82,32,128,0,9,77,79\r
242  DB 86,32,65,88,44,128,10,9,77,79,86,90,88,32,69,65\r
243  DB 88,44,65,88,0,9,77,79,86,90,88,32,69,65,88,44\r
244  DB 87,79,82,68,32,80,84,82,32,128,0,9,77,79,86,32\r
245  DB 69,67,88,44,128,10,9,67,77,80,32,69,65,88,44,69\r
246  DB 67,88,0,9,67,77,80,32,69,65,88,44,128,0,9,77\r
247  DB 79,86,83,88,32,69,67,88,44,66,89,84,69,32,80,84\r
248  DB 82,128,10,9,67,77,80,32,69,65,88,44,69,67,88,0\r
249  DB 9,67,77,80,32,65,76,44,66,89,84,69,32,80,84,82\r
250  DB 128,0,9,77,79,86,90,88,32,69,67,88,44,66,89,84\r
251  DB 69,32,80,84,82,128,10,9,67,77,80,32,69,65,88,44\r
252  DB 69,67,88,0,9,67,77,80,32,65,76,44,66,89,84,69\r
253  DB 32,80,84,82,128,0,9,77,79,86,32,69,65,88,44,91\r
254  DB 128,10,9,80,85,83,72,32,69,65,88,0,9,80,85,83\r
255  DB 72,32,68,87,79,82,68,32,80,84,82,32,91,128,0,9\r
256  DB 77,79,86,32,69,65,88,44,128,10,9,80,85,83,72,32\r
257  DB 69,65,88,0,9,80,85,83,72,32,128,0,9,77,79,86\r
258  DB 32,69,65,88,44,48,0,9,88,79,82,32,69,65,88,44\r
259  DB 69,65,88,0,9,77,79,86,32,65,88,44,48,0,9,88\r
260  DB 79,82,32,65,88,44,65,88,0,9,77,79,86,32,65,76\r
261  DB 44,48,0,9,88,79,82,32,65,76,44,65,76,0,9,77\r
262  DB 79,86,32,65,76,44,48,0,9,88,79,82,32,65,76,44\r
263  DB 65,76,0,73,110,118,97,108,105,100,32,109,97,99,114,111\r
264  DB 32,112,97,114,97,109,101,116,101,114,0,85,110,116,101,114\r
265  DB 109,105,110,97,116,101,100,32,115,116,114,105,110,103,0,85\r
266  DB 110,100,101,102,105,110,101,100,32,109,97,99,114,111,0,10\r
267  DB 0,10,0,67,77,51,50,32,86,50,46,51,77,32,111,112\r
268  DB 116,105,109,105,122,101,114,32,112,104,97,115,101,13,10,0\r
269  DB 35,97,115,109,0,35,101,110,100,97,115,109,0,35,105,102\r
270  DB 100,101,102,0,35,105,102,110,100,101,102,0,35,101,108,115\r
271  DB 101,0,35,101,110,100,105,102,0,35,112,114,97,103,109,97\r
272  DB 0,35,100,101,102,105,110,101,0,84,111,111,32,109,97,110\r
273  DB 121,32,109,97,99,114,111,32,100,101,102,105,110,105,116,105\r
274  DB 111,110,115,0,73,110,118,97,108,105,100,32,109,97,99,114\r
275  DB 111,32,110,97,109,101,0,84,111,111,32,109,97,110,121,32\r
276  DB 109,97,99,114,111,32,112,97,114,97,109,101,116,101,114,115\r
277  DB 0,35,117,110,100,101,102,0,35,105,110,99,108,117,100,101\r
278  DB 0,84,111,111,32,109,97,110,121,32,105,110,99,108,117,100\r
279  DB 101,32,102,105,108,101,115,0,73,110,118,97,108,105,100,32\r
280  DB 105,110,99,108,117,100,101,32,102,105,108,101,32,110,97,109\r
281  DB 101,0,114,0,67,97,110,110,111,116,32,111,112,101,110,32\r
282  DB 105,110,99,108,117,100,101,32,102,105,108,101,0,85,110,107\r
283  DB 110,111,119,110,32,112,114,101,112,114,111,99,101,115,115,111\r
284  DB 114,32,100,105,114,101,99,116,105,118,101,0,87,97,114,110\r
285  DB 105,110,103,58,32,0,83,121,110,116,97,120,32,101,114,114\r
286  DB 111,114,0,84,121,112,101,115,32,109,105,115,109,97,116,99\r
287  DB 104,0,73,108,108,101,103,97,108,32,105,110,100,105,114,101\r
288  DB 99,116,105,111,110,0,69,120,112,101,99,116,101,100,0,85\r
289  DB 110,116,101,114,109,105,110,97,116,101,100,32,99,111,109,109\r
290  DB 101,110,116,32,102,114,111,109,32,108,105,110,101,58,32,0\r
291  DB 84,111,111,32,109,97,110,121,32,101,114,114,111,114,115,0\r
292  DB 84,111,111,32,109,97,110,121,32,101,114,114,111,114,115,0\r
293  DB 70,97,116,97,108,32,101,114,114,111,114,44,32,99,111,109\r
294  DB 112,105,108,97,116,105,111,110,32,97,98,111,114,116,101,100\r
295  DB 13,10,0,70,97,116,97,108,32,101,114,114,111,114,44,32\r
296  DB 99,111,109,112,105,108,97,116,105,111,110,32,97,98,111,114\r
297  DB 116,101,100,13,10,0,78,111,32,97,99,116,105,118,101,32\r
298  DB 108,111,111,112,0,78,111,32,97,99,116,105,118,101,32,115\r
299  DB 119,105,116,99,104,0,65,78,68,32,69,65,88,44,69,65\r
300  DB 88,0,85,110,116,101,114,109,105,110,97,116,101,100,32,102\r
301  DB 117,110,99,116,105,111,110,0,32,101,114,114,111,114,115,13\r
302  DB 10,0,32,119,97,114,110,105,110,103,115,13,10,0,83,116\r
303  DB 114,105,110,103,32,115,112,97,99,101,32,101,120,97,117,115\r
304  DB 116,101,100,0,68,117,112,108,105,99,97,116,101,32,108,111\r
305  DB 99,97,108,32,111,114,32,97,114,103,0,65,114,103,32,110\r
306  DB 111,116,32,115,97,109,101,32,116,121,112,101,32,97,115,32\r
307  DB 112,114,111,116,111,116,121,112,101,32,105,110,32,0,80,114\r
308  DB 111,116,111,116,121,112,101,32,116,97,98,108,101,32,102,117\r
309  DB 108,108,0,83,121,109,98,111,108,32,116,97,98,108,101,32\r
310  DB 102,117,108,108,0,76,111,99,97,108,32,115,121,109,98,111\r
311  DB 108,32,110,97,109,101,32,112,111,111,108,32,102,117,108,108\r
312  DB 0,73,110,99,111,110,115,105,115,116,97,110,116,32,114,101\r
313  DB 45,100,101,99,108,97,114,97,116,105,111,110,0,68,117,112\r
314  DB 108,105,99,97,116,101,32,103,108,111,98,97,108,0,83,121\r
315  DB 109,98,111,108,32,116,97,98,108,101,32,102,117,108,108,0\r
316  DB 71,108,111,98,97,108,32,115,121,109,98,111,108,32,110,97\r
317  DB 109,101,32,112,111,111,108,32,102,117,108,108,0,69,120,112\r
318  DB 114,101,115,115,105,111,110,32,115,116,97,99,107,32,111,118\r
319  DB 101,114,102,108,111,119,0,69,120,112,114,101,115,115,105,111\r
320  DB 110,32,115,116,97,99,107,32,117,110,100,101,114,102,108,111\r
321  DB 119,0,67,111,110,115,116,97,110,116,32,101,120,112,114,101\r
322  DB 115,115,105,111,110,32,114,101,113,117,105,114,101,100,0,68\r
323  DB 101,99,108,97,114,97,116,105,111,110,32,109,117,115,116,32\r
324  DB 112,114,101,99,101,101,100,32,99,111,100,101,0,84,121,112\r
325  DB 101,32,115,112,101,99,105,102,105,101,114,32,109,105,115,115\r
326  DB 105,110,103,0,78,117,108,108,32,111,110,108,121,32,97,108\r
327  DB 108,111,119,101,100,32,105,110,32,102,105,114,115,116,32,105\r
328  DB 110,100,101,120,0,78,117,109,101,114,105,99,32,99,111,110\r
329  DB 115,116,97,110,116,32,114,101,113,117,105,114,101,100,0,68\r
330  DB 105,109,101,110,115,105,111,110,32,116,97,98,108,101,32,102\r
331  DB 117,108,108,0,73,108,108,101,103,97,108,32,105,110,105,116\r
332  DB 105,97,108,105,122,97,116,105,111,110,0,84,111,111,32,109\r
333  DB 97,110,121,32,111,112,101,110,32,98,114,97,99,101,115,0\r
334  DB 85,110,98,97,108,97,110,99,101,100,32,98,114,97,99,101\r
335  DB 115,0,73,109,112,114,111,112,101,114,32,98,114,97,99,107\r
336  DB 101,116,101,100,32,105,110,105,116,105,97,108,105,122,97,116\r
337  DB 105,111,110,0,73,110,118,97,108,105,100,32,105,110,105,116\r
338  DB 32,116,121,112,101,0,85,110,100,101,102,105,110,101,100,0\r
339  DB 77,117,115,116,32,98,101,32,112,111,105,110,116,101,114,32\r
340  DB 97,114,114,97,121,0,73,109,112,114,111,112,101,114,32,98\r
341  DB 114,97,99,107,101,116,101,100,32,105,110,105,116,105,97,108\r
342  DB 105,122,97,116,105,111,110,0,73,109,112,114,111,112,101,114\r
343  DB 32,115,121,109,98,111,108,32,105,110,32,105,110,105,116,105\r
344  DB 97,108,105,122,97,116,105,111,110,0,84,111,111,32,109,97\r
345  DB 110,121,32,105,110,105,116,105,97,108,32,118,97,108,117,101\r
346  DB 115,0,73,110,99,111,114,114,101,99,116,32,100,101,99,108\r
347  DB 97,114,97,116,105,111,110,0,115,116,114,117,99,116,32,118\r
348  DB 97,114,105,97,98,108,101,32,101,120,112,101,99,116,101,100\r
349  DB 0,115,116,114,117,99,116,32,116,97,103,32,110,97,109,101\r
350  DB 32,101,120,112,101,99,116,101,100,0,83,116,114,117,99,116\r
351  DB 117,114,101,32,123,32,101,120,112,101,99,116,101,100,0,73\r
352  DB 108,108,101,103,97,108,108,121,32,110,101,115,116,101,100,32\r
353  DB 102,117,110,99,116,105,111,110,32,111,114,32,112,114,111,116\r
354  DB 111,116,121,112,101,0,80,114,111,116,111,116,121,112,101,32\r
355  DB 116,97,98,108,101,32,102,117,108,108,0,85,110,114,101,115\r
356  DB 111,108,118,101,100,0,85,110,114,101,102,101,114,101,110,99\r
357  DB 101,100,0,69,65,88,0,79,70,70,83,69,84,32,0,95\r
358  DB 108,105,116,43,0,68,87,79,82,68,32,80,84,82,32,91\r
359  DB 69,66,80,43,69,68,73,43,0,87,79,82,68,32,80,84\r
360  DB 82,32,91,69,66,80,43,69,68,73,43,0,66,89,84,69\r
361  DB 32,80,84,82,32,91,69,66,80,43,69,68,73,43,0,68\r
362  DB 87,79,82,68,32,80,84,82,32,91,69,66,80,43,0,87\r
363  DB 79,82,68,32,80,84,82,32,91,69,66,80,43,0,66,89\r
364  DB 84,69,32,80,84,82,32,91,69,66,80,43,0,68,87,79\r
365  DB 82,68,32,80,84,82,32,91,69,66,80,45,0,87,79,82\r
366  DB 68,32,80,84,82,32,91,69,66,80,45,0,66,89,84,69\r
367  DB 32,80,84,82,32,91,69,66,80,45,0,69,67,88,0,69\r
368  DB 68,88,0,68,87,79,82,68,32,80,84,82,32,0,87,79\r
369  DB 82,68,32,80,84,82,32,0,66,89,84,69,32,80,84,82\r
370  DB 32,0,91,69,83,73,43,0,91,69,67,88,43,0,91,69\r
371  DB 68,88,43,0,91,69,66,88,43,0,91,69,83,73,93,0\r
372  DB 91,69,68,88,93,0,91,69,67,88,93,0,91,69,66,88\r
373  DB 93,0,69,66,88,0,32,69,82,82,79,82,32,105,110,32\r
374  DB 119,114,105,116,101,95,111,112,101,114,10,0,80,85,83,72\r
375  DB 32,69,66,88,0,77,79,86,32,69,66,88,44,69,65,88\r
376  DB 0,80,79,80,32,69,68,88,0,80,79,80,32,69,68,88\r
377  DB 0,9,88,79,82,32,69,65,88,44,69,65,88,10,0,77\r
378  DB 79,86,32,69,65,88,44,124,0,77,79,86,90,88,32,69\r
379  DB 65,88,44,124,0,77,79,86,83,88,32,69,65,88,44,124\r
380  DB 0,9,88,79,82,32,69,65,88,44,69,65,88,10,0,77\r
381  DB 79,86,32,65,76,44,124,0,77,79,86,83,88,32,69,65\r
382  DB 88,44,124,0,9,88,79,82,32,69,67,88,44,69,67,88\r
383  DB 10,0,77,79,86,32,69,67,88,44,124,0,77,79,86,90\r
384  DB 88,32,69,67,88,44,124,0,77,79,86,83,88,32,69,67\r
385  DB 88,44,124,0,9,88,79,82,32,69,67,88,44,69,67,88\r
386  DB 10,0,77,79,86,32,67,76,44,124,0,77,79,86,83,88\r
387  DB 32,69,67,88,44,124,0,80,85,83,72,32,69,66,88,0\r
388  DB 80,85,83,72,32,69,66,88,0,77,79,86,32,69,66,88\r
389  DB 44,69,83,73,0,78,69,71,32,124,0,78,79,84,32,124\r
390  DB 0,65,68,68,32,124,44,115,116,114,117,99,115,105,122,101\r
391  DB 0,65,68,68,32,124,44,52,0,65,68,68,32,124,44,50\r
392  DB 0,73,78,67,32,124,0,83,85,66,32,124,44,115,116,114\r
393  DB 117,99,115,105,122,101,0,83,85,66,32,124,44,52,0,83\r
394  DB 85,66,32,124,44,50,0,68,69,67,32,124,0,65,68,68\r
395  DB 32,69,83,73,44,69,65,88,0,70,117,110,99,116,105,111\r
396  DB 110,32,110,111,116,32,112,114,111,116,111,116,121,112,101,100\r
397  DB 0,85,110,100,101,102,105,110,101,100,32,115,121,109,98,111\r
398  DB 108,0,9,77,79,86,32,69,65,88,44,79,70,70,83,69\r
399  DB 84,32,0,9,76,69,65,32,69,65,88,44,0,77,79,86\r
400  DB 32,69,65,88,44,69,83,73,0,73,110,118,97,108,105,100\r
401  DB 32,39,38,39,32,111,112,101,114,97,116,105,111,110,0,83\r
402  DB 121,109,98,111,108,32,101,120,112,101,99,116,101,100,0,39\r
403  DB 40,39,32,101,120,112,101,99,116,101,100,0,9,65,68,68\r
404  DB 32,69,65,88,44,0,80,85,83,72,32,69,65,88,0,9\r
405  DB 77,79,86,32,69,68,73,44,32,0,65,68,68,32,69,83\r
406  DB 73,44,69,65,88,0,77,79,86,32,69,65,88,44,69,83\r
407  DB 73,0,78,111,116,32,97,32,115,116,114,117,99,116,117,114\r
408  DB 101,32,109,101,109,98,101,114,0,83,116,114,117,99,116,117\r
409  DB 114,101,32,109,101,109,98,101,114,32,101,120,112,101,99,116\r
410  DB 101,100,0,80,111,105,110,116,101,114,32,116,111,32,83,116\r
411  DB 114,117,99,116,32,101,120,112,101,99,116,101,100,0,83,116\r
412  DB 114,117,99,116,117,114,101,32,109,101,109,98,101,114,32,101\r
413  DB 120,112,101,99,116,101,100,0,83,116,114,117,99,116,117,114\r
414  DB 101,32,109,101,109,98,101,114,32,101,120,112,101,99,116,101\r
415  DB 100,0,73,110,118,97,108,105,100,32,115,116,114,117,99,116\r
416  DB 117,114,101,32,111,112,101,114,97,116,105,111,110,0,65,68\r
417  DB 68,32,69,83,73,44,69,65,88,0,77,79,86,32,69,65\r
418  DB 88,44,69,83,73,0,65,68,68,32,124,44,115,116,114,117\r
419  DB 99,115,105,122,101,0,65,68,68,32,124,44,52,0,65,68\r
420  DB 68,32,124,44,50,0,73,78,67,32,124,0,83,85,66,32\r
421  DB 124,44,115,116,114,117,99,115,105,122,101,0,83,85,66,32\r
422  DB 124,44,52,0,83,85,66,32,124,44,50,0,68,69,67,32\r
423  DB 124,0,77,79,86,32,69,67,88,44,69,65,88,0,65,68\r
424  DB 68,32,69,65,88,44,124,0,65,68,68,32,69,65,88,44\r
425  DB 69,67,88,0,83,85,66,32,69,65,88,44,124,0,83,85\r
426  DB 66,32,69,65,88,44,69,67,88,0,77,85,76,32,69,67\r
427  DB 88,0,73,77,85,76,32,69,67,88,0,88,79,82,32,69\r
428  DB 68,88,44,69,68,88,0,68,73,86,32,69,67,88,0,67\r
429  DB 68,81,0,73,68,73,86,32,69,67,88,0,77,79,86,32\r
430  DB 69,65,88,44,69,68,88,0,65,78,68,32,69,65,88,44\r
431  DB 124,0,65,78,68,32,69,65,88,44,69,67,88,0,79,82\r
432  DB 32,69,65,88,44,124,0,79,82,32,69,65,88,44,69,67\r
433  DB 88,0,88,79,82,32,69,65,88,44,124,0,88,79,82,32\r
434  DB 69,65,88,44,69,67,88,0,83,72,76,32,69,65,88,44\r
435  DB 67,76,0,65,78,68,32,69,65,88,44,48,70,70,70,70\r
436  DB 104,0,65,78,68,32,69,65,88,44,48,70,70,104,0,83\r
437  DB 72,82,32,69,65,88,44,67,76,0,83,72,82,32,65,88\r
438  DB 44,67,76,0,83,72,82,32,65,76,44,67,76,0,67,77\r
439  DB 80,32,69,65,88,44,124,0,67,77,80,32,69,65,88,44\r
440  DB 69,67,88,0,83,69,84,69,32,65,76,0,83,69,84,78\r
441  DB 69,32,65,76,0,83,69,84,76,32,65,76,0,83,69,84\r
442  DB 76,69,32,65,76,0,83,69,84,71,32,65,76,0,83,69\r
443  DB 84,71,69,32,65,76,0,83,69,84,66,32,65,76,0,83\r
444  DB 69,84,66,69,32,65,76,0,83,69,84,65,32,65,76,0\r
445  DB 83,69,84,65,69,32,65,76,0,65,78,68,32,65,76,44\r
446  DB 65,76,0,65,78,68,32,69,65,88,44,69,65,88,0,83\r
447  DB 69,84,90,32,65,76,0,65,78,68,32,65,76,44,65,76\r
448  DB 0,77,79,86,32,124,44,32,69,65,88,0,77,79,86,32\r
449  DB 124,44,32,65,88,0,77,79,86,32,124,44,32,65,76,0\r
450  DB 78,111,110,45,97,115,115,105,103,110,97,98,108,101,0,0\r
451  DB 44,0,32,68,66,32,0,32,68,87,32,0,32,68,68,32\r
452  DB 0,79,70,70,83,69,84,32,0,79,70,70,83,69,84,32\r
453  DB 76,95,108,105,116,43,0,76,95,0,0,32,68,68,32,48\r
454  DB 104,10,0,32,68,68,32,0,32,68,85,80,40,48,41,10\r
455  DB 0,32,68,87,32,48,104,10,0,32,68,87,32,0,32,68\r
456  DB 85,80,40,48,41,10,0,32,68,66,32,48,104,10,0,32\r
457  DB 68,66,32,0,32,68,85,80,40,48,41,10,0,69,88,84\r
458  DB 82,78,32,0,32,70,87,79,82,68,0,69,88,84,82,78\r
459  DB 32,0,32,78,69,65,82,0,69,88,84,82,78,32,0,32\r
460  DB 68,68,0,32,68,87,0,32,68,66,0,58,10,0,80,85\r
461  DB 83,72,65,68,0,80,85,83,72,32,69,66,80,0,77,79\r
462  DB 86,32,69,66,80,44,69,83,80,0,9,83,85,66,32,69\r
463  DB 83,80,44,0,80,79,80,65,68,0,73,82,69,84,68,0\r
464  DB 77,79,86,32,69,83,80,44,69,66,80,0,80,79,80,32\r
465  DB 69,66,80,0,9,82,69,84,70,32,0,9,82,69,84,78\r
466  DB 32,0,9,82,69,84,70,0,82,69,84,78,0,58,10,0\r
467  DB 95,108,105,116,0,44,0,32,68,66,32,0,9,67,65,76\r
468  DB 76,32,70,87,79,82,68,32,80,84,82,32,0,9,67,65\r
469  DB 76,76,32,0,9,65,68,68,32,69,83,80,44,0,9,74\r
470  DB 77,80,32,0,9,74,77,80,32,83,72,79,82,84,32,0\r
471  DB 9,74,78,90,32,0,9,74,90,32,0,9,74,78,90,32\r
472  DB 83,72,79,82,84,32,0,9,74,90,32,83,72,79,82,84\r
473  DB 32,0,9,74,77,80,32,0,9,67,77,80,32,69,65,88\r
474  DB 44,0,9,74,69,32,0,77,79,86,32,69,83,73,44,69\r
475  DB 65,88,0,9,77,79,86,32,69,83,73,44,0,10,0,9\r
476  DB 77,79,86,32,69,83,73,44,79,70,70,83,69,84,32,0\r
477  DB 9,76,69,65,32,69,83,73,44,0,10,0,80,85,66,76\r
478  DB 73,67,32,0,80,85,66,76,73,67,32,0,67,111,100,101\r
479  DB 32,98,117,102,102,101,114,32,111,118,101,114,102,108,111,119\r
480  DB 46,46,46,32,40,53,49,50,48,48,48,32,98,121,116,101\r
481  DB 115,41,13,10,0,84,111,111,32,109,97,110,121,32,97,99\r
482  DB 116,105,118,101,32,99,97,115,101,115,0,10,10,46,67,79\r
483  DB 68,69,10,0,10,46,68,65,84,65,10,0,78,111,116,32\r
484  DB 101,110,111,117,103,104,32,109,101,109,111,114,121,32,116,111\r
485  DB 32,97,108,108,111,99,97,116,101,32,37,100,32,98,121,116\r
486  DB 101,115,46,13,10,0,73,110,118,97,108,105,100,32,108,97\r
487  DB 98,101,108,32,112,114,101,102,105,120,32,99,104,97,114,97\r
488  DB 99,116,101,114,0,73,110,118,97,108,105,100,32,115,119,105\r
489  DB 116,99,104,0,114,0,119,0,69,114,114,111,114,58,32,67\r
490  DB 97,110,39,116,32,111,112,101,110,32,65,83,77,32,102,105\r
491  DB 108,101,10,0,84,111,111,32,109,97,110,121,32,112,97,114\r
492  DB 97,109,101,116,101,114,115,0,67,32,77,105,110,117,115,32\r
493  DB 51,50,32,67,111,109,112,105,108,101,114,44,32,86,101,114\r
494  DB 115,105,111,110,32,50,46,51,77,13,10,0,85,115,97,103\r
495  DB 101,58,32,83,111,117,114,99,101,70,105,108,101,32,91,65\r
496  DB 115,109,70,105,108,101,93,32,47,83,32,47,69,32,47,71\r
497  DB 32,47,76,32,47,87,32,47,80,120,13,10,0,47,83,32\r
498  DB 32,83,117,112,112,114,101,115,115,32,115,99,114,101,101,110\r
499  DB 32,111,117,116,112,117,116,32,40,101,46,103,46,44,32,104\r
500  DB 101,114,97,108,100,41,13,10,0,47,69,32,32,69,109,98\r
501  DB 101,100,32,115,111,117,114,99,101,32,105,110,32,65,83,77\r
502  DB 32,111,117,116,112,117,116,13,10,0,47,71,32,32,71,101\r
503  DB 110,101,114,97,116,101,32,115,101,112,97,114,97,116,101,32\r
504  DB 67,111,100,101,32,38,32,68,97,116,97,32,102,105,108,101\r
505  DB 115,13,10,0,47,76,32,32,76,105,115,116,32,102,105,108\r
506  DB 101,32,103,101,110,101,114,97,116,101,100,32,102,111,114,32\r
507  DB 101,114,114,111,114,115,13,10,0,47,78,32,32,78,111,32\r
508  DB 111,112,116,105,109,105,122,97,116,105,111,110,13,10,0,47\r
509  DB 79,32,32,79,112,116,105,109,105,122,101,32,102,111,114,32\r
510  DB 115,112,101,101,100,46,13,10,0,47,87,32,32,87,97,114\r
511  DB 110,105,110,103,115,32,79,78,13,10,0,47,80,120,32,76\r
512  DB 97,98,101,108,32,112,114,101,102,105,120,32,99,104,97,114\r
513  DB 97,99,116,101,114,32,40,120,61,76,97,98,101,108,32,99\r
514  DB 104,97,114,41,13,10,10,0,69,114,114,111,114,58,32,83\r
515  DB 111,117,114,99,101,32,102,105,108,101,110,97,109,101,32,114\r
516  DB 101,113,117,105,114,101,100,13,10,0,119,0,69,114,114,111\r
517  DB 114,58,32,67,97,110,39,116,32,111,112,101,110,32,65,83\r
518  DB 77,32,102,105,108,101,13,10,0,119,0,67,97,110,110,111\r
519  DB 116,32,111,112,101,110,32,76,73,83,84,32,102,105,108,101\r
520  DB 0,119,0,67,97,110,110,111,116,32,111,112,101,110,32,67\r
521  DB 111,100,101,32,102,105,108,101,0,67,32,77,105,110,117,115\r
522  DB 32,51,50,32,67,111,109,112,105,108,101,114,44,32,86,101\r
523  DB 114,115,105,111,110,32,50,46,51,77,13,10,0\r
524 PUBLIC _pcodebuf DD 0h\r
525 PUBLIC _line_in DB 200 DUP(0)\r
526 PUBLIC _input_ptr DD 0h\r
527 PUBLIC _gst DB 32 DUP(0)\r
528 PUBLIC _namesize DB 0h\r
529 PUBLIC _gvalue DD 0h\r
530 PUBLIC _GPool DB 15000 DUP(0)\r
531 PUBLIC _LPool DB 300 DUP(0)\r
532 PUBLIC _symtab DB 7200 DUP(0)\r
533 PUBLIC _proto_list DD 700 DUP(0)\r
534 PUBLIC _arg_count DD 0h\r
535 PUBLIC _local_stack DD 0h\r
536 PUBLIC _sptr DD 0h\r
537 PUBLIC _fptr DD 0h\r
538 PUBLIC _CrntStrucDef DD 0h\r
539 PUBLIC _memoffset DD 0h\r
540 PUBLIC _strucsize DD 0h\r
541 PUBLIC _dim_pool DD 100 DUP(0)\r
542 PUBLIC _literal_pool DB 10000 DUP(0)\r
543 PUBLIC _expstk DB 320 DUP(0)\r
544 PUBLIC _break_stack DD 10 DUP(0)\r
545 PUBLIC _continue_stack DD 10 DUP(0)\r
546 PUBLIC _switch_stack DD 160 DUP(0)\r
547 PUBLIC _buffer DB 200 DUP(0)\r
548 PUBLIC _buffin_ptr DD 0h\r
549 PUBLIC _buffout_ptr DD 0h\r
550 PUBLIC _define_index DD 500 DUP(0)\r
551 PUBLIC _define_pool DB 15000 DUP(0)\r
552 PUBLIC _define_ptr DD 0h\r
553 PUBLIC _parm DW 0h\r
554 PUBLIC _parm_index DD 10 DUP(0)\r
555 PUBLIC _parm_pool DB 200 DUP(0)\r
556 PUBLIC _parm_ptr DD 0h\r
557 PUBLIC _incl_line DD 5 DUP(0)\r
558 PUBLIC _incl_fh DD 5 DUP(0)\r
559 PUBLIC _codename DB 40 DUP(0)\r
560 PUBLIC _srcname DB 40 DUP(0)\r
561 PUBLIC _asmname DB 40 DUP(0)\r
562 PUBLIC _lstname DB 40 DUP(0)\r
563 PUBLIC _zero_flag DB 0h\r
564 PUBLIC _databuf DB 4096 DUP(0)\r
565 PUBLIC _peep_buffer DB 1000 DUP(0)\r
566 PUBLIC _symbols DB 200 DUP(0)\r
567 \r
568 \r
569 .CODE\r
570 EXTRN _iscntrl: NEAR\r
571 EXTRN _isspace: NEAR\r
572 EXTRN _isdigit: NEAR\r
573 EXTRN _isupper: NEAR\r
574 EXTRN _islower: NEAR\r
575 EXTRN _ispunct: NEAR\r
576 EXTRN _isalpha: NEAR\r
577 EXTRN _isxdigit: NEAR\r
578 EXTRN _isalnum: NEAR\r
579 EXTRN _isgraph: NEAR\r
580 EXTRN _toupper: NEAR\r
581 EXTRN _tolower: NEAR\r
582 EXTRN _fopen: NEAR\r
583 EXTRN _fclose: NEAR\r
584 EXTRN _remove: NEAR\r
585 EXTRN _rename: NEAR\r
586 EXTRN _fgetc: NEAR\r
587 EXTRN _fgets: NEAR\r
588 EXTRN _fputs: NEAR\r
589 EXTRN _fputc: NEAR\r
590 EXTRN _printf: NEAR\r
591 EXTRN _sprintf: NEAR\r
592 EXTRN _fprintf: NEAR\r
593 EXTRN _ftell: NEAR\r
594 EXTRN _rewind: NEAR\r
595 EXTRN _fseek: NEAR\r
596 EXTRN _fread: NEAR\r
597 EXTRN _fwrite: NEAR\r
598 EXTRN _strcpy: NEAR\r
599 EXTRN _strncpy: NEAR\r
600 EXTRN _strcat: NEAR\r
601 EXTRN _strncat: NEAR\r
602 EXTRN _strcmp: NEAR\r
603 EXTRN _strncmp: NEAR\r
604 EXTRN _strlen: NEAR\r
605 EXTRN _strchr: NEAR\r
606 EXTRN _exit: NEAR\r
607 EXTRN _iscntrl: NEAR\r
608 EXTRN _isspace: NEAR\r
609 EXTRN _isdigit: NEAR\r
610 EXTRN _isupper: NEAR\r
611 EXTRN _islower: NEAR\r
612 EXTRN _ispunct: NEAR\r
613 EXTRN _isalpha: NEAR\r
614 EXTRN _isxdigit: NEAR\r
615 EXTRN _isalnum: NEAR\r
616 EXTRN _isgraph: NEAR\r
617 EXTRN _toupper: NEAR\r
618 EXTRN _tolower: NEAR\r
619 EXTRN _strcpy: NEAR\r
620 EXTRN _strncpy: NEAR\r
621 EXTRN _strcat: NEAR\r
622 EXTRN _strncat: NEAR\r
623 EXTRN _strcmp: NEAR\r
624 EXTRN _strncmp: NEAR\r
625 EXTRN _strlen: NEAR\r
626 EXTRN _strchr: NEAR\r
627 EXTRN _exit: NEAR\r
628 _is_alpha:\r
629         PUSH EBP\r
630         MOV EBP,ESP\r
631         MOVSX EAX,BYTE PTR [EBP+8]\r
632         MOV ECX,32\r
633         OR EAX,ECX\r
634         CMP EAX,97\r
635         SETGE AL\r
636         AND AL,AL\r
637         JZ L_1\r
638         MOVSX EAX,BYTE PTR [EBP+8]\r
639         MOV ECX,32\r
640         OR EAX,ECX\r
641         CMP EAX,122\r
642         SETLE AL\r
643         AND AL,AL\r
644 L_1:\r
645         JNZ L_2\r
646         MOVSX EAX,BYTE PTR [EBP+8]\r
647         CMP EAX,95\r
648         SETE AL\r
649         AND AL,AL\r
650 L_2:\r
651         POP EBP\r
652         RETN 4\r
653 _is_digit:\r
654         PUSH EBP\r
655         MOV EBP,ESP\r
656         MOVSX EAX,BYTE PTR [EBP+8]\r
657         CMP EAX,48\r
658         SETGE AL\r
659         AND AL,AL\r
660         JZ L_4\r
661         MOVSX EAX,BYTE PTR [EBP+8]\r
662         CMP EAX,57\r
663         SETLE AL\r
664         AND AL,AL\r
665 L_4:\r
666         POP EBP\r
667         RETN 4\r
668 _copystring:\r
669         PUSH EBP\r
670         MOV EBP,ESP\r
671 L_6:\r
672         MOV ESI,DWORD PTR [EBP+12]\r
673         INC DWORD PTR [EBP+12]\r
674         MOV EBX,ESI\r
675         MOV ESI,DWORD PTR [EBP+8]\r
676         INC DWORD PTR [EBP+8]\r
677         MOVSX EAX,BYTE PTR [ESI]\r
678         MOV BYTE PTR [EBX], AL\r
679         AND EAX,EAX\r
680         JZ L_7\r
681         JMP L_6\r
682 L_7:\r
683         POP EBP\r
684         RETN 8\r
685 _equal_string:\r
686         PUSH EBP\r
687         MOV EBP,ESP\r
688 L_8:\r
689         MOV ESI,DWORD PTR [EBP+12]\r
690         MOV EBX,ESI\r
691         MOV ESI,DWORD PTR [EBP+8]\r
692         INC DWORD PTR [EBP+8]\r
693         MOVSX EAX,BYTE PTR [EBX]\r
694         CMP AL,BYTE PTR [ESI]\r
695         SETNE AL\r
696         AND AL,AL\r
697         JZ L_11\r
698         XOR EAX,EAX\r
699         JMP L_12\r
700 L_11:\r
701 L_9:\r
702         MOV ESI,DWORD PTR [EBP+12]\r
703         INC DWORD PTR [EBP+12]\r
704         MOVSX EAX,BYTE PTR [ESI]\r
705         AND EAX,EAX\r
706         JNZ L_8\r
707 L_10:\r
708         MOV EAX,-1\r
709 L_12:\r
710         POP EBP\r
711         RETN 8\r
712 _skip_blanks:\r
713         PUSH EBP\r
714         MOV EBP,ESP\r
715 L_13:\r
716         MOV ESI,_buffin_ptr\r
717         MOVSX EAX,BYTE PTR [ESI]\r
718         CMP EAX,33\r
719         SETL AL\r
720         AND AL,AL\r
721         JZ L_15\r
722         MOV ESI,_buffin_ptr\r
723         MOVSX EAX,BYTE PTR [ESI]\r
724 L_15:\r
725         AND EAX,EAX\r
726         JZ L_14\r
727         INC _buffin_ptr\r
728         MOV EAX,_buffin_ptr\r
729         JMP L_13\r
730 L_14:\r
731         MOV ESI,_buffin_ptr\r
732         MOVSX EAX,BYTE PTR [ESI]\r
733         POP EBP\r
734         RETN\r
735 _more_parms:\r
736         PUSH EBP\r
737         MOV EBP,ESP\r
738         SUB ESP,1\r
739         CALL _skip_blanks\r
740         MOV BYTE PTR [EBP-1], AL\r
741         CMP EAX,44\r
742         SETE AL\r
743         AND AL,AL\r
744         JNZ L_17\r
745         MOVSX EAX,BYTE PTR [EBP-1]\r
746         CMP EAX,41\r
747         SETE AL\r
748         AND AL,AL\r
749 L_17:\r
750         JZ L_18\r
751         INC _buffin_ptr\r
752         MOV EAX,_buffin_ptr\r
753         JMP L_19\r
754 L_18:\r
755         PUSH OFFSET L_lit+1651\r
756         CALL _line_error\r
757 L_19:\r
758         MOVSX EAX,BYTE PTR [EBP-1]\r
759         CMP EAX,44\r
760         SETE AL\r
761         AND AL,AL\r
762         MOV ESP,EBP\r
763         POP EBP\r
764         RETN\r
765 _skip_comment:\r
766         PUSH EBP\r
767         MOV EBP,ESP\r
768         SUB ESP,3\r
769         XOR EAX,EAX\r
770         MOV WORD PTR [EBP-2], AX\r
771 L_21:\r
772         MOV ESI,_buffin_ptr\r
773         INC _buffin_ptr\r
774         MOVSX EAX,BYTE PTR [ESI]\r
775         MOV BYTE PTR [EBP-3], AL\r
776         AND EAX,EAX\r
777         JNZ L_23\r
778         MOV EAX,OFFSET _buffer\r
779         MOV _buffin_ptr, EAX\r
780         PUSH EAX\r
781         PUSH 200\r
782         PUSH _source_fh\r
783         CALL _fgets\r
784         AND EAX,EAX\r
785         JNZ L_24\r
786         MOV ESI,_buffin_ptr\r
787         XOR EAX,EAX\r
788         MOV BYTE PTR [ESI], AL\r
789         CALL _UTC_error\r
790         JMP L_25\r
791 L_24:\r
792         INC _line_number\r
793         MOV EAX,_line_number\r
794         JMP L_26\r
795 L_23:\r
796         MOVZX EAX,WORD PTR [EBP-2]\r
797         MOV ECX,8\r
798         SHL EAX,CL\r
799         AND EAX,0FFFFh\r
800         MOVSX ECX,BYTE PTR [EBP-3]\r
801         ADD EAX,ECX\r
802         MOV WORD PTR [EBP-2], AX\r
803         CMP EAX,10799\r
804         SETE AL\r
805         AND AL,AL\r
806         JZ L_27\r
807         JMP L_25\r
808 L_27:\r
809         MOVZX EAX,WORD PTR [EBP-2]\r
810         CMP EAX,12074\r
811         SETE AL\r
812         AND AL,AL\r
813         JZ L_28\r
814         CALL _skip_comment\r
815 L_28:\r
816 L_26:\r
817         JMP L_21\r
818 L_22:\r
819 L_25:\r
820         MOV ESP,EBP\r
821         POP EBP\r
822         RETN\r
823 _copy_name:\r
824         PUSH EBP\r
825         MOV EBP,ESP\r
826 L_29:\r
827         MOV ESI,_buffout_ptr\r
828         INC _buffout_ptr\r
829         MOV EBX,ESI\r
830         MOV ESI,_buffin_ptr\r
831         INC _buffin_ptr\r
832         MOVSX EAX,BYTE PTR [ESI]\r
833         MOV BYTE PTR [EBX], AL\r
834 L_30:\r
835         MOV ESI,_buffin_ptr\r
836         MOVSX EAX,BYTE PTR [ESI]\r
837         PUSH EAX\r
838         CALL _is_alpha\r
839         AND EAX,EAX\r
840         JNZ L_32\r
841         MOV ESI,_buffin_ptr\r
842         MOVSX EAX,BYTE PTR [ESI]\r
843         PUSH EAX\r
844         CALL _is_digit\r
845 L_32:\r
846         AND EAX,EAX\r
847         JNZ L_29\r
848 L_31:\r
849         MOV ESI,_buffout_ptr\r
850         XOR EAX,EAX\r
851         MOV BYTE PTR [ESI], AL\r
852         POP EBP\r
853         RETN\r
854 _copy_string:\r
855         PUSH EBP\r
856         MOV EBP,ESP\r
857         SUB ESP,1\r
858         MOV ESI,_buffin_ptr\r
859         MOVSX EAX,BYTE PTR [ESI]\r
860         MOV BYTE PTR [EBP-1], AL\r
861         CMP EAX,34\r
862         SETE AL\r
863         AND AL,AL\r
864         JNZ L_33\r
865         MOVSX EAX,BYTE PTR [EBP-1]\r
866         CMP EAX,39\r
867         SETE AL\r
868         AND AL,AL\r
869 L_33:\r
870         JZ L_34\r
871 L_35:\r
872         MOV ESI,_buffout_ptr\r
873         INC _buffout_ptr\r
874         MOV EBX,ESI\r
875         MOV ESI,_buffin_ptr\r
876         MOVSX EAX,BYTE PTR [ESI]\r
877         MOV BYTE PTR [EBX], AL\r
878         AND EAX,EAX\r
879         JNZ L_38\r
880         PUSH OFFSET L_lit+1675\r
881         CALL _line_error\r
882         JMP L_39\r
883 L_38:\r
884         MOV ESI,_buffin_ptr\r
885         INC _buffin_ptr\r
886         MOVSX EAX,BYTE PTR [ESI]\r
887         CMP EAX,92\r
888         SETE AL\r
889         AND AL,AL\r
890         JZ L_40\r
891         MOV ESI,_buffout_ptr\r
892         INC _buffout_ptr\r
893         MOV EBX,ESI\r
894         MOV ESI,_buffin_ptr\r
895         INC _buffin_ptr\r
896         MOVSX EAX,BYTE PTR [ESI]\r
897         MOV BYTE PTR [EBX], AL\r
898 L_40:\r
899 L_36:\r
900         MOV ESI,_buffin_ptr\r
901         MOVSX EAX,BYTE PTR [ESI]\r
902         CMP AL,BYTE PTR [EBP-1]\r
903         SETNE AL\r
904         AND AL,AL\r
905         JNZ L_35\r
906 L_37:\r
907         MOV ESI,_buffout_ptr\r
908         INC _buffout_ptr\r
909         MOV EBX,ESI\r
910         MOV ESI,_buffin_ptr\r
911         INC _buffin_ptr\r
912         MOVSX EAX,BYTE PTR [ESI]\r
913         MOV BYTE PTR [EBX], AL\r
914 L_34:\r
915 L_39:\r
916         MOV ESP,EBP\r
917         POP EBP\r
918         RETN\r
919 _lookup_macro:\r
920         PUSH EBP\r
921         MOV EBP,ESP\r
922         SUB ESP,8\r
923         MOV EAX,_buffout_ptr\r
924         MOV DWORD PTR [EBP-8], EAX\r
925         CALL _copy_name\r
926         MOV EAX,_macro\r
927         SUB EAX,1\r
928         MOV DWORD PTR [EBP-4], EAX\r
929 L_41:\r
930         MOV EAX,DWORD PTR [EBP-4]\r
931         CMP EAX,0\r
932         SETGE AL\r
933         AND AL,AL\r
934         JZ L_42\r
935         JMP SHORT L_43\r
936 L_44:\r
937         DEC DWORD PTR [EBP-4]\r
938         MOV EAX,DWORD PTR [EBP-4]\r
939         JMP SHORT L_41\r
940 L_43:\r
941         PUSH DWORD PTR [EBP-8]\r
942         MOV EAX,DWORD PTR [EBP-4]\r
943         SHL EAX,2\r
944         MOV ESI,OFFSET _define_index\r
945         ADD ESI,EAX\r
946         PUSH DWORD PTR [ESI]\r
947         CALL _strcmp\r
948         AND EAX,EAX\r
949         JNZ L_45\r
950         MOV EAX,DWORD PTR [EBP-4]\r
951         JMP L_46\r
952 L_45:\r
953         JMP L_44\r
954 L_42:\r
955         MOVSX EAX,BYTE PTR [EBP+8]\r
956         AND EAX,EAX\r
957         JZ L_47\r
958         PUSH OFFSET L_lit+1695\r
959         CALL _line_error\r
960 L_47:\r
961         MOV EAX,-1\r
962 L_46:\r
963         MOV ESP,EBP\r
964         POP EBP\r
965         RETN 4\r
966 _resolve_macro:\r
967         PUSH EBP\r
968         MOV EBP,ESP\r
969         SUB ESP,17\r
970         MOV EAX,_buffout_ptr\r
971         MOV DWORD PTR [EBP-12], EAX\r
972         XOR EAX,EAX\r
973         PUSH EAX\r
974         CALL _lookup_macro\r
975         MOV DWORD PTR [EBP-16], EAX\r
976         CMP EAX,-1\r
977         SETNE AL\r
978         AND AL,AL\r
979         JZ L_48\r
980         MOV EAX,DWORD PTR [EBP-16]\r
981         SHL EAX,2\r
982         MOV ESI,OFFSET _define_index\r
983         ADD ESI,EAX\r
984         MOV EAX,DWORD PTR [ESI]\r
985         MOV DWORD PTR [EBP-4], EAX\r
986 L_49:\r
987         MOV ESI,DWORD PTR [EBP-4]\r
988         INC DWORD PTR [EBP-4]\r
989         MOVSX EAX,BYTE PTR [ESI]\r
990         AND EAX,EAX\r
991         JZ L_50\r
992         JMP L_49\r
993 L_50:\r
994         XOR EAX,EAX\r
995         MOV _parm, AX\r
996         MOV EAX,OFFSET _parm_pool\r
997         MOV _parm_ptr, EAX\r
998         MOV ESI,DWORD PTR [EBP-4]\r
999         INC DWORD PTR [EBP-4]\r
1000         MOVSX EAX,BYTE PTR [ESI]\r
1001         AND EAX,EAX\r
1002         JZ L_51\r
1003         CALL _skip_blanks\r
1004         CMP EAX,40\r
1005         SETE AL\r
1006         AND AL,AL\r
1007         JZ L_52\r
1008         INC _buffin_ptr\r
1009         MOV EAX,_buffin_ptr\r
1010 L_53:\r
1011         MOVZX EAX,_parm\r
1012         INC _parm\r
1013         SHL EAX,2\r
1014         MOV ESI,OFFSET _parm_index\r
1015         ADD ESI,EAX\r
1016         MOV EAX,_parm_ptr\r
1017         MOV DWORD PTR [ESI], EAX\r
1018 L_56:\r
1019         MOV ESI,_buffin_ptr\r
1020         MOVSX EAX,BYTE PTR [ESI]\r
1021         AND EAX,EAX\r
1022         JZ L_58\r
1023         MOV ESI,_buffin_ptr\r
1024         MOVSX EAX,BYTE PTR [ESI]\r
1025         CMP EAX,44\r
1026         SETNE AL\r
1027         AND AL,AL\r
1028         JZ L_59\r
1029         MOV ESI,_buffin_ptr\r
1030         MOVSX EAX,BYTE PTR [ESI]\r
1031         CMP EAX,41\r
1032         SETNE AL\r
1033         AND AL,AL\r
1034 L_59:\r
1035 L_58:\r
1036         JZ L_57\r
1037         MOV ESI,_parm_ptr\r
1038         INC _parm_ptr\r
1039         MOV EBX,ESI\r
1040         MOV ESI,_buffin_ptr\r
1041         INC _buffin_ptr\r
1042         MOVSX EAX,BYTE PTR [ESI]\r
1043         MOV BYTE PTR [EBX], AL\r
1044         JMP L_56\r
1045 L_57:\r
1046         MOV ESI,_parm_ptr\r
1047         INC _parm_ptr\r
1048         XOR EAX,EAX\r
1049         MOV BYTE PTR [ESI], AL\r
1050 L_54:\r
1051         CALL _more_parms\r
1052         AND EAX,EAX\r
1053         JNZ L_53\r
1054 L_55:\r
1055 L_52:\r
1056 L_51:\r
1057 L_60:\r
1058         MOV ESI,DWORD PTR [EBP-4]\r
1059         MOVSX EAX,BYTE PTR [ESI]\r
1060         MOV BYTE PTR [EBP-17], AL\r
1061         AND EAX,EAX\r
1062         JZ L_61\r
1063         MOVSX EAX,BYTE PTR [EBP-17]\r
1064         MOV ECX,128\r
1065         AND EAX,ECX\r
1066         JZ L_62\r
1067         MOVSX EAX,BYTE PTR [EBP-17]\r
1068         MOV ECX,127\r
1069         AND EAX,ECX\r
1070         MOV DWORD PTR [EBP-16], EAX\r
1071         MOVZX ECX,_parm\r
1072         CMP EAX,ECX\r
1073         SETB AL\r
1074         AND AL,AL\r
1075         JZ L_63\r
1076         MOV EAX,DWORD PTR [EBP-16]\r
1077         SHL EAX,2\r
1078         MOV ESI,OFFSET _parm_index\r
1079         ADD ESI,EAX\r
1080         MOV EAX,DWORD PTR [ESI]\r
1081         MOV DWORD PTR [EBP-8], EAX\r
1082 L_64:\r
1083         MOV ESI,DWORD PTR [EBP-8]\r
1084         MOVSX EAX,BYTE PTR [ESI]\r
1085         AND EAX,EAX\r
1086         JZ L_65\r
1087         JMP SHORT L_66\r
1088 L_67:\r
1089         INC DWORD PTR [EBP-8]\r
1090         MOV EAX,DWORD PTR [EBP-8]\r
1091         JMP SHORT L_64\r
1092 L_66:\r
1093         MOV ESI,DWORD PTR [EBP-12]\r
1094         INC DWORD PTR [EBP-12]\r
1095         MOV EBX,ESI\r
1096         MOV ESI,DWORD PTR [EBP-8]\r
1097         MOVSX EAX,BYTE PTR [ESI]\r
1098         MOV BYTE PTR [EBX], AL\r
1099         JMP L_67\r
1100 L_65:\r
1101 L_63:\r
1102         JMP L_68\r
1103 L_62:\r
1104         MOV ESI,DWORD PTR [EBP-12]\r
1105         INC DWORD PTR [EBP-12]\r
1106         MOV EBX,ESI\r
1107         MOV ESI,DWORD PTR [EBP-4]\r
1108         MOVSX EAX,BYTE PTR [ESI]\r
1109         MOV BYTE PTR [EBX], AL\r
1110 L_68:\r
1111         INC DWORD PTR [EBP-4]\r
1112         MOV EAX,DWORD PTR [EBP-4]\r
1113         JMP L_60\r
1114 L_61:\r
1115         MOV EAX,DWORD PTR [EBP-12]\r
1116         MOV _buffout_ptr, EAX\r
1117         MOV ESI,EAX ;IndexPtr\r
1118         XOR EAX,EAX\r
1119         MOV BYTE PTR [ESI], AL\r
1120 L_48:\r
1121         MOV ESP,EBP\r
1122         POP EBP\r
1123         RETN\r
1124 _match:\r
1125         PUSH EBP\r
1126         MOV EBP,ESP\r
1127         SUB ESP,4\r
1128         MOV EAX,_buffin_ptr\r
1129         MOV DWORD PTR [EBP-4], EAX\r
1130 L_69:\r
1131         MOV ESI,DWORD PTR [EBP+8]\r
1132         MOVSX EAX,BYTE PTR [ESI]\r
1133         AND EAX,EAX\r
1134         JZ L_70\r
1135         MOV ESI,DWORD PTR [EBP+8]\r
1136         INC DWORD PTR [EBP+8]\r
1137         MOV EBX,ESI\r
1138         MOV ESI,DWORD PTR [EBP-4]\r
1139         INC DWORD PTR [EBP-4]\r
1140         MOVSX EAX,BYTE PTR [EBX]\r
1141         CMP AL,BYTE PTR [ESI]\r
1142         SETNE AL\r
1143         AND AL,AL\r
1144         JZ L_71\r
1145         XOR EAX,EAX\r
1146         JMP L_72\r
1147 L_71:\r
1148         JMP L_69\r
1149 L_70:\r
1150         MOV ESI,DWORD PTR [EBP-4]\r
1151         MOVSX EAX,BYTE PTR [ESI]\r
1152         PUSH EAX\r
1153         CALL _is_alpha\r
1154         AND EAX,EAX\r
1155         JNZ L_73\r
1156         MOV ESI,DWORD PTR [EBP-4]\r
1157         MOVSX EAX,BYTE PTR [ESI]\r
1158         PUSH EAX\r
1159         CALL _is_digit\r
1160 L_73:\r
1161         AND EAX,EAX\r
1162         JZ L_74\r
1163         XOR EAX,EAX\r
1164         JMP L_72\r
1165 L_74:\r
1166         MOV EAX,DWORD PTR [EBP-4]\r
1167         MOV _buffin_ptr, EAX\r
1168         CALL _skip_blanks\r
1169         MOV EAX,1\r
1170 L_72:\r
1171         MOV ESP,EBP\r
1172         POP EBP\r
1173         RETN 4\r
1174 _compareT:\r
1175         PUSH EBP\r
1176         MOV EBP,ESP\r
1177         SUB ESP,11\r
1178         XOR EAX,EAX\r
1179         MOV WORD PTR [EBP-2], AX\r
1180 L_75:\r
1181         MOVSX EAX,WORD PTR [EBP-2]\r
1182         CMP EAX,8\r
1183         SETL AL\r
1184         AND AL,AL\r
1185         JZ L_76\r
1186         JMP SHORT L_77\r
1187 L_78:\r
1188         INC WORD PTR [EBP-2]\r
1189         MOVSX EAX,WORD PTR [EBP-2]\r
1190         JMP SHORT L_75\r
1191 L_77:\r
1192         MOVSX EAX,WORD PTR [EBP-2]\r
1193         MOV ECX,25\r
1194         IMUL ECX\r
1195         XOR ECX,ECX\r
1196         ADD EAX,ECX\r
1197         MOV ESI,OFFSET _symbols\r
1198         ADD ESI,EAX\r
1199         XOR EAX,EAX\r
1200         MOV BYTE PTR [ESI], AL\r
1201         JMP L_78\r
1202 L_76:\r
1203         MOV EAX,DWORD PTR [EBP+8]\r
1204         MOV ECX,100\r
1205         IMUL ECX\r
1206         MOV ESI,OFFSET _peep_buffer\r
1207         ADD ESI,EAX\r
1208         MOV EAX,ESI\r
1209         MOV DWORD PTR [EBP-6], EAX\r
1210 L_79:\r
1211         MOV ESI,DWORD PTR [EBP+12]\r
1212         MOVSX EAX,BYTE PTR [ESI]\r
1213         MOV BYTE PTR [EBP-11], AL\r
1214         AND EAX,EAX\r
1215         JZ L_80\r
1216         MOVSX EAX,BYTE PTR [EBP-11]\r
1217         CMP EAX,10\r
1218         SETE AL\r
1219         AND AL,AL\r
1220         JZ L_81\r
1221         MOV ESI,DWORD PTR [EBP-6]\r
1222         MOVSX EAX,BYTE PTR [ESI]\r
1223         AND EAX,EAX\r
1224         JZ L_82\r
1225         XOR EAX,EAX\r
1226         JMP L_83\r
1227 L_82:\r
1228         MOV EAX,DWORD PTR [EBP+8]\r
1229         ADD EAX,1\r
1230         MOV ECX,10\r
1231         CDQ\r
1232         IDIV ECX\r
1233         MOV EAX,EDX\r
1234         MOV DWORD PTR [EBP+8], EAX\r
1235         MOV EAX,DWORD PTR [EBP+8]\r
1236         MOVZX ECX,_peep_next\r
1237         CMP EAX,ECX\r
1238         SETE AL\r
1239         AND AL,AL\r
1240         JZ L_84\r
1241         XOR EAX,EAX\r
1242         JMP L_83\r
1243 L_84:\r
1244         MOV EAX,DWORD PTR [EBP+8]\r
1245         MOV ECX,100\r
1246         IMUL ECX\r
1247         MOV ESI,OFFSET _peep_buffer\r
1248         ADD ESI,EAX\r
1249         MOV EAX,ESI\r
1250         MOV DWORD PTR [EBP-6], EAX\r
1251         JMP L_85\r
1252 L_81:\r
1253         MOVSX EAX,BYTE PTR [EBP-11]\r
1254         CMP EAX,32\r
1255         SETE AL\r
1256         AND AL,AL\r
1257         JZ L_86\r
1258         MOV ESI,DWORD PTR [EBP-6]\r
1259         MOVSX EAX,BYTE PTR [ESI]\r
1260         PUSH EAX\r
1261         CALL _isspace\r
1262         AND EAX,EAX\r
1263         JNZ L_87\r
1264         XOR EAX,EAX\r
1265         JMP L_83\r
1266 L_87:\r
1267 L_88:\r
1268         MOV ESI,DWORD PTR [EBP-6]\r
1269         MOVSX EAX,BYTE PTR [ESI]\r
1270         PUSH EAX\r
1271         CALL _isspace\r
1272         AND EAX,EAX\r
1273         JZ L_89\r
1274         INC DWORD PTR [EBP-6]\r
1275         MOV EAX,DWORD PTR [EBP-6]\r
1276         JMP L_88\r
1277 L_89:\r
1278         JMP L_90\r
1279 L_86:\r
1280         MOVSX EAX,BYTE PTR [EBP-11]\r
1281         MOV ECX,128\r
1282         AND EAX,ECX\r
1283         JZ L_91\r
1284         MOV EAX,DWORD PTR [EBP+12]\r
1285         ADD EAX,1\r
1286         MOV ESI,EAX ;IndexPtr\r
1287         MOVSX EAX,BYTE PTR [ESI]\r
1288         MOV BYTE PTR [EBP-11], AL\r
1289         MOV ESI,DWORD PTR [EBP+12]\r
1290         MOVSX EAX,BYTE PTR [ESI]\r
1291         MOV ECX,127\r
1292         AND EAX,ECX\r
1293         MOV ECX,25\r
1294         IMUL ECX\r
1295         MOV ESI,OFFSET _symbols\r
1296         ADD ESI,EAX\r
1297         MOV EAX,ESI\r
1298         MOV DWORD PTR [EBP-10], EAX\r
1299         MOV ESI,DWORD PTR [EBP-10]\r
1300         MOVSX EAX,BYTE PTR [ESI]\r
1301         AND EAX,EAX\r
1302         JZ L_92\r
1303 L_93:\r
1304         MOV ESI,DWORD PTR [EBP-6]\r
1305         MOVSX EAX,BYTE PTR [ESI]\r
1306         AND EAX,EAX\r
1307         JZ L_95\r
1308         MOV ESI,DWORD PTR [EBP-6]\r
1309         MOVSX EAX,BYTE PTR [ESI]\r
1310         CMP AL,BYTE PTR [EBP-11]\r
1311         SETNE AL\r
1312         AND AL,AL\r
1313 L_95:\r
1314         JZ L_94\r
1315         MOV ESI,DWORD PTR [EBP-6]\r
1316         INC DWORD PTR [EBP-6]\r
1317         MOV EBX,ESI\r
1318         MOV ESI,DWORD PTR [EBP-10]\r
1319         INC DWORD PTR [EBP-10]\r
1320         MOVSX EAX,BYTE PTR [EBX]\r
1321         CMP AL,BYTE PTR [ESI]\r
1322         SETNE AL\r
1323         AND AL,AL\r
1324         JZ L_96\r
1325         XOR EAX,EAX\r
1326         JMP L_83\r
1327 L_96:\r
1328         JMP L_93\r
1329 L_94:\r
1330         MOV ESI,DWORD PTR [EBP-10]\r
1331         MOVSX EAX,BYTE PTR [ESI]\r
1332         AND EAX,EAX\r
1333         JZ L_97\r
1334         XOR EAX,EAX\r
1335         JMP L_83\r
1336 L_97:\r
1337         JMP L_98\r
1338 L_92:\r
1339 L_99:\r
1340         MOV ESI,DWORD PTR [EBP-6]\r
1341         MOVSX EAX,BYTE PTR [ESI]\r
1342         AND EAX,EAX\r
1343         JZ L_101\r
1344         MOV ESI,DWORD PTR [EBP-6]\r
1345         MOVSX EAX,BYTE PTR [ESI]\r
1346         CMP AL,BYTE PTR [EBP-11]\r
1347         SETNE AL\r
1348         AND AL,AL\r
1349 L_101:\r
1350         JZ L_100\r
1351         MOV ESI,DWORD PTR [EBP-10]\r
1352         INC DWORD PTR [EBP-10]\r
1353         MOV EBX,ESI\r
1354         MOV ESI,DWORD PTR [EBP-6]\r
1355         INC DWORD PTR [EBP-6]\r
1356         MOVSX EAX,BYTE PTR [ESI]\r
1357         MOV BYTE PTR [EBX], AL\r
1358         JMP L_99\r
1359 L_100:\r
1360         MOV ESI,DWORD PTR [EBP-10]\r
1361         XOR EAX,EAX\r
1362         MOV BYTE PTR [ESI], AL\r
1363 L_98:\r
1364         JMP L_102\r
1365 L_91:\r
1366         MOV ESI,DWORD PTR [EBP-6]\r
1367         INC DWORD PTR [EBP-6]\r
1368         MOVSX EAX,BYTE PTR [EBP-11]\r
1369         CMP AL,BYTE PTR [ESI]\r
1370         SETNE AL\r
1371         AND AL,AL\r
1372         JZ L_103\r
1373         XOR EAX,EAX\r
1374         JMP L_83\r
1375 L_103:\r
1376 L_102:\r
1377 L_90:\r
1378 L_85:\r
1379         INC DWORD PTR [EBP+12]\r
1380         MOV EAX,DWORD PTR [EBP+12]\r
1381         JMP L_79\r
1382 L_80:\r
1383         MOV ESI,DWORD PTR [EBP-6]\r
1384         MOVSX EAX,BYTE PTR [ESI]\r
1385         AND EAX,EAX\r
1386         JZ SHORT L_105\r
1387         XOR EAX,EAX\r
1388         JMP SHORT L_104\r
1389 L_105:\r
1390         MOV EAX,DWORD PTR [EBP+8]\r
1391         ADD EAX,1\r
1392 L_104:\r
1393 L_83:\r
1394         MOV ESP,EBP\r
1395         POP EBP\r
1396         RETN 8\r
1397 _exchange:\r
1398         PUSH EBP\r
1399         MOV EBP,ESP\r
1400         SUB ESP,8\r
1401         MOV EAX,DWORD PTR [EBP+12]\r
1402         ADD EAX,9\r
1403         MOV ECX,10\r
1404         XOR EDX,EDX\r
1405         DIV ECX\r
1406         MOV EAX,EDX\r
1407         MOV _peep_top, AX\r
1408         MOVZX EAX,_peep_top\r
1409         MOV ECX,100\r
1410         MUL ECX\r
1411         MOV ESI,OFFSET _peep_buffer\r
1412         ADD ESI,EAX\r
1413         MOV EAX,ESI\r
1414         MOV DWORD PTR [EBP-8], EAX\r
1415 L_106:\r
1416         MOV ESI,DWORD PTR [EBP+8]\r
1417         MOVSX EAX,BYTE PTR [ESI]\r
1418         AND EAX,EAX\r
1419         JZ L_107\r
1420         MOV ESI,DWORD PTR [EBP+8]\r
1421         MOVSX EAX,BYTE PTR [ESI]\r
1422         MOV ECX,128\r
1423         AND EAX,ECX\r
1424         JZ L_108\r
1425         MOV ESI,DWORD PTR [EBP+8]\r
1426         MOVSX EAX,BYTE PTR [ESI]\r
1427         MOV ECX,127\r
1428         AND EAX,ECX\r
1429         MOV ECX,25\r
1430         IMUL ECX\r
1431         MOV ESI,OFFSET _symbols\r
1432         ADD ESI,EAX\r
1433         MOV EAX,ESI\r
1434         MOV DWORD PTR [EBP-4], EAX\r
1435 L_109:\r
1436         MOV ESI,DWORD PTR [EBP-4]\r
1437         MOVSX EAX,BYTE PTR [ESI]\r
1438         AND EAX,EAX\r
1439         JZ L_110\r
1440         MOV ESI,DWORD PTR [EBP-8]\r
1441         INC DWORD PTR [EBP-8]\r
1442         MOV EBX,ESI\r
1443         MOV ESI,DWORD PTR [EBP-4]\r
1444         INC DWORD PTR [EBP-4]\r
1445         MOVSX EAX,BYTE PTR [ESI]\r
1446         MOV BYTE PTR [EBX], AL\r
1447         JMP L_109\r
1448 L_110:\r
1449         JMP L_111\r
1450 L_108:\r
1451         MOV ESI,DWORD PTR [EBP+8]\r
1452         MOVSX EAX,BYTE PTR [ESI]\r
1453         CMP EAX,10\r
1454         SETE AL\r
1455         AND AL,AL\r
1456         JZ L_112\r
1457         MOV ESI,DWORD PTR [EBP-8]\r
1458         XOR EAX,EAX\r
1459         MOV BYTE PTR [ESI], AL\r
1460         MOVZX EAX,_peep_top\r
1461         MOV ECX,9\r
1462         ADD EAX,ECX\r
1463         MOV ECX,10\r
1464         XOR EDX,EDX\r
1465         DIV ECX\r
1466         MOV EAX,EDX\r
1467         MOV _peep_top, AX\r
1468         MOVZX EAX,_peep_top\r
1469         MOV ECX,100\r
1470         MUL ECX\r
1471         MOV ESI,OFFSET _peep_buffer\r
1472         ADD ESI,EAX\r
1473         MOV EAX,ESI\r
1474         MOV DWORD PTR [EBP-8], EAX\r
1475         JMP L_113\r
1476 L_112:\r
1477         MOV ESI,DWORD PTR [EBP-8]\r
1478         INC DWORD PTR [EBP-8]\r
1479         MOV EBX,ESI\r
1480         MOV ESI,DWORD PTR [EBP+8]\r
1481         MOVSX EAX,BYTE PTR [ESI]\r
1482         MOV BYTE PTR [EBX], AL\r
1483 L_113:\r
1484 L_111:\r
1485         INC DWORD PTR [EBP+8]\r
1486         MOV EAX,DWORD PTR [EBP+8]\r
1487         JMP L_106\r
1488 L_107:\r
1489         MOV ESI,DWORD PTR [EBP-8]\r
1490         XOR EAX,EAX\r
1491         MOV BYTE PTR [ESI], AL\r
1492         MOV ESP,EBP\r
1493         POP EBP\r
1494         RETN 8\r
1495 _fgetcode:\r
1496         PUSH EBP\r
1497         MOV EBP,ESP\r
1498         SUB ESP,9\r
1499         MOV EAX,DWORD PTR [EBP+12]\r
1500         MOV DWORD PTR [EBP-5], EAX\r
1501         XOR EAX,EAX\r
1502         MOV DWORD PTR [EBP-9], EAX\r
1503         MOV EAX,_pco\r
1504         CMP EAX,_pc\r
1505         SETAE AL\r
1506         AND AL,AL\r
1507         JZ L_114\r
1508         XOR EAX,EAX\r
1509         JMP L_115\r
1510 L_114:\r
1511 L_116:\r
1512         MOV EAX,DWORD PTR [EBP+8]\r
1513         SUB EAX,1\r
1514         CMP EAX,DWORD PTR [EBP-9]\r
1515         SETG AL\r
1516         AND AL,AL\r
1517         JZ L_118\r
1518         MOV EAX,_pco\r
1519         MOV ESI,_pcodebuf\r
1520         ADD ESI,EAX\r
1521         XOR EAX,EAX\r
1522         MOV AL,BYTE PTR [ESI]\r
1523 L_118:\r
1524         AND EAX,EAX\r
1525         JZ L_117\r
1526         MOV EAX,_pco\r
1527         MOV ESI,_pcodebuf\r
1528         ADD ESI,EAX\r
1529         XOR EAX,EAX\r
1530         MOV AL,BYTE PTR [ESI]\r
1531         MOV BYTE PTR [EBP-1], AL\r
1532         MOV ESI,DWORD PTR [EBP+12]\r
1533         INC DWORD PTR [EBP+12]\r
1534         MOV EAX,_pco\r
1535         INC _pco\r
1536         MOV EBX,ESI\r
1537         MOV ESI,_pcodebuf\r
1538         ADD ESI,EAX\r
1539         XOR EAX,EAX\r
1540         MOV AL,BYTE PTR [ESI]\r
1541         MOV BYTE PTR [EBX], AL\r
1542         MOV EAX,DWORD PTR [EBP-9]\r
1543         INC DWORD PTR [EBP-9]\r
1544         MOVSX EAX,BYTE PTR [EBP-1]\r
1545         CMP EAX,10\r
1546         SETE AL\r
1547         AND AL,AL\r
1548         JZ L_119\r
1549         MOV ESI,DWORD PTR [EBP+12]\r
1550         XOR EAX,EAX\r
1551         MOV BYTE PTR [ESI], AL\r
1552         MOV EAX,DWORD PTR [EBP-5]\r
1553         JMP L_115\r
1554 L_119:\r
1555         JMP L_116\r
1556 L_117:\r
1557         MOV EAX,DWORD PTR [EBP-9]\r
1558         AND EAX,EAX\r
1559         JZ L_120\r
1560         MOV EAX,DWORD PTR [EBP-5]\r
1561         JMP L_115\r
1562 L_120:\r
1563         XOR EAX,EAX\r
1564 L_121:\r
1565 L_115:\r
1566         MOV ESP,EBP\r
1567         POP EBP\r
1568         RETN 8\r
1569 _read_line:\r
1570         PUSH EBP\r
1571         MOV EBP,ESP\r
1572         SUB ESP,5\r
1573         MOVZX EAX,_peep_next\r
1574         MOV ECX,100\r
1575         MUL ECX\r
1576         MOV ESI,OFFSET _peep_buffer\r
1577         ADD ESI,EAX\r
1578         PUSH ESI\r
1579         PUSH 100\r
1580         CALL _fgetcode\r
1581         AND EAX,EAX\r
1582         JZ L_122\r
1583         MOVZX EAX,_peep_next\r
1584         MOV ECX,100\r
1585         MUL ECX\r
1586         MOV ESI,OFFSET _peep_buffer\r
1587         ADD ESI,EAX\r
1588         MOV EAX,ESI\r
1589         MOV DWORD PTR [EBP-5], EAX\r
1590 L_123:\r
1591         MOV ESI,DWORD PTR [EBP-5]\r
1592         MOVSX EAX,BYTE PTR [ESI]\r
1593         MOV BYTE PTR [EBP-1], AL\r
1594         AND EAX,EAX\r
1595         JZ L_124\r
1596         MOVSX EAX,BYTE PTR [EBP-1]\r
1597         CMP EAX,13\r
1598         SETE AL\r
1599         AND AL,AL\r
1600         JZ L_125\r
1601         MOV ESI,DWORD PTR [EBP-5]\r
1602         XOR EAX,EAX\r
1603         MOV BYTE PTR [ESI], AL\r
1604 L_125:\r
1605         MOVSX EAX,BYTE PTR [EBP-1]\r
1606         CMP EAX,10\r
1607         SETE AL\r
1608         AND AL,AL\r
1609         JZ L_126\r
1610         MOV ESI,DWORD PTR [EBP-5]\r
1611         XOR EAX,EAX\r
1612         MOV BYTE PTR [ESI], AL\r
1613 L_126:\r
1614         MOV ESI,DWORD PTR [EBP-5]\r
1615         INC DWORD PTR [EBP-5]\r
1616         MOV EAX,DWORD PTR [ESI]\r
1617         JMP L_123\r
1618 L_124:\r
1619         MOVZX EAX,_peep_next\r
1620         MOV ECX,1\r
1621         ADD EAX,ECX\r
1622         MOV ECX,10\r
1623         XOR EDX,EDX\r
1624         DIV ECX\r
1625         MOV EAX,EDX\r
1626         MOV _peep_next, AX\r
1627         MOV EAX,1\r
1628         JMP L_127\r
1629 L_122:\r
1630         XOR EAX,EAX\r
1631 L_127:\r
1632         MOV ESP,EBP\r
1633         POP EBP\r
1634         RETN\r
1635 _write_line:\r
1636         PUSH EBP\r
1637         MOV EBP,ESP\r
1638         MOVSX EAX,_fGen\r
1639         AND EAX,EAX\r
1640         JZ L_128\r
1641         MOVZX EAX,_peep_top\r
1642         MOV ECX,100\r
1643         MUL ECX\r
1644         MOV ESI,OFFSET _peep_buffer\r
1645         ADD ESI,EAX\r
1646         PUSH ESI\r
1647         PUSH _code_fh\r
1648         CALL _fputs\r
1649         JMP L_129\r
1650 L_128:\r
1651         MOVZX EAX,_peep_top\r
1652         MOV ECX,100\r
1653         MUL ECX\r
1654         MOV ESI,OFFSET _peep_buffer\r
1655         ADD ESI,EAX\r
1656         PUSH ESI\r
1657         PUSH _asm_fh\r
1658         CALL _fputs\r
1659 L_129:\r
1660         MOVZX EAX,_peep_top\r
1661         MOV ECX,1\r
1662         ADD EAX,ECX\r
1663         MOV ECX,10\r
1664         XOR EDX,EDX\r
1665         DIV ECX\r
1666         MOV EAX,EDX\r
1667         MOV _peep_top, AX\r
1668         MOVSX EAX,_fGen\r
1669         AND EAX,EAX\r
1670         JZ L_130\r
1671         PUSH OFFSET L_lit+1711\r
1672         PUSH _code_fh\r
1673         CALL _fputs\r
1674         JMP L_131\r
1675 L_130:\r
1676         PUSH OFFSET L_lit+1713\r
1677         PUSH _asm_fh\r
1678         CALL _fputs\r
1679 L_131:\r
1680         POP EBP\r
1681         RETN\r
1682 _optimize:\r
1683         PUSH EBP\r
1684         MOV EBP,ESP\r
1685         SUB ESP,12\r
1686         MOVSX EAX,_fQuiet\r
1687         AND EAX,EAX\r
1688         JNZ L_132\r
1689         PUSH OFFSET L_lit+1715\r
1690         PUSH 2\r
1691         CALL _fputs\r
1692 L_132:\r
1693         XOR EAX,EAX\r
1694         MOV DWORD PTR [EBP-8], EAX\r
1695 L_133:\r
1696 L_135:\r
1697         MOVZX EAX,_peep_next\r
1698         MOV ECX,1\r
1699         ADD EAX,ECX\r
1700         MOV ECX,10\r
1701         XOR EDX,EDX\r
1702         DIV ECX\r
1703         MOV EAX,EDX\r
1704         MOVZX ECX,_peep_top\r
1705         CMP EAX,ECX\r
1706         SETNE AL\r
1707         AND AL,AL\r
1708         JZ L_136\r
1709         CALL _read_line\r
1710         AND EAX,EAX\r
1711         JZ L_136\r
1712         JMP L_135\r
1713 L_136:\r
1714         XOR EAX,EAX\r
1715         MOV DWORD PTR [EBP-4], EAX\r
1716 L_138:\r
1717         MOV EAX,DWORD PTR [EBP-4]\r
1718         SHL EAX,2\r
1719         MOV ESI,OFFSET _peep_table\r
1720         ADD ESI,EAX\r
1721         MOV EAX,DWORD PTR [ESI]\r
1722         MOV DWORD PTR [EBP-12], EAX\r
1723         AND EAX,EAX\r
1724         JZ L_139\r
1725         JMP SHORT L_140\r
1726 L_141:\r
1727         MOV EAX,DWORD PTR [EBP-4]\r
1728         ADD EAX,2\r
1729         MOV DWORD PTR [EBP-4], EAX\r
1730         JMP SHORT L_138\r
1731 L_140:\r
1732         PUSH DWORD PTR [EBP-12]\r
1733         MOVZX EAX,_peep_top\r
1734         PUSH EAX\r
1735         CALL _compareT\r
1736         MOV DWORD PTR [EBP-8], EAX\r
1737         MOV EAX,DWORD PTR [EBP-8]\r
1738         AND EAX,EAX\r
1739         JZ L_142\r
1740         PUSH DWORD PTR [EBP-8]\r
1741         MOV EAX,DWORD PTR [EBP-4]\r
1742         ADD EAX,1\r
1743         SHL EAX,2\r
1744         MOV ESI,OFFSET _peep_table\r
1745         ADD ESI,EAX\r
1746         PUSH DWORD PTR [ESI]\r
1747         CALL _exchange\r
1748         JMP L_139\r
1749 L_142:\r
1750         JMP L_141\r
1751 L_139:\r
1752         MOV EAX,DWORD PTR [EBP-8]\r
1753         AND EAX,EAX\r
1754         JNZ L_143\r
1755         CALL _write_line\r
1756 L_143:\r
1757         MOVZX EAX,_peep_top\r
1758         MOVZX ECX,_peep_next\r
1759         CMP EAX,ECX\r
1760         SETE AL\r
1761         AND AL,AL\r
1762         JZ L_144\r
1763         JMP L_145\r
1764 L_144:\r
1765         JMP L_133\r
1766 L_134:\r
1767 L_145:\r
1768         MOV ESP,EBP\r
1769         POP EBP\r
1770         RETN\r
1771 _readline:\r
1772         PUSH EBP\r
1773         MOV EBP,ESP\r
1774         SUB ESP,7\r
1775 L_146:\r
1776         MOV EAX,OFFSET _buffer\r
1777         MOV _buffin_ptr, EAX\r
1778         PUSH EAX\r
1779         PUSH 200\r
1780         PUSH _source_fh\r
1781         CALL _fgets\r
1782         AND EAX,EAX\r
1783         JNZ L_148\r
1784         MOV EAX,_include\r
1785         AND EAX,EAX\r
1786         JZ L_149\r
1787         PUSH _source_fh\r
1788         CALL _fclose\r
1789         DEC _include\r
1790         MOV EAX,_include\r
1791         SHL EAX,2\r
1792         MOV ESI,OFFSET _incl_line\r
1793         ADD ESI,EAX\r
1794         MOV EAX,DWORD PTR [ESI]\r
1795         MOV _line_number, EAX\r
1796         MOV EAX,_include\r
1797         SHL EAX,2\r
1798         MOV ESI,OFFSET _incl_fh\r
1799         ADD ESI,EAX\r
1800         MOV EAX,DWORD PTR [ESI]\r
1801         MOV _source_fh, EAX\r
1802         JMP L_146\r
1803 L_149:\r
1804         XOR EAX,EAX\r
1805         JMP L_150\r
1806 L_148:\r
1807         INC _line_number\r
1808         MOV EAX,_line_number\r
1809         MOV EAX,OFFSET _line_in\r
1810         MOV _buffout_ptr, EAX\r
1811         XOR EAX,EAX\r
1812         MOV BYTE PTR [EBP-7], AL\r
1813         CALL _skip_blanks\r
1814         MOV BYTE PTR [EBP-6], AL\r
1815         CMP EAX,35\r
1816         SETE AL\r
1817         AND AL,AL\r
1818         JZ L_151\r
1819         PUSH OFFSET L_lit+1744\r
1820         CALL _match\r
1821         AND EAX,EAX\r
1822         JZ L_152\r
1823         MOV EAX,-1\r
1824         MOV _asm_flag, AL\r
1825         MOV EAX,-1\r
1826         MOV BYTE PTR [EBP-7], AL\r
1827         JMP L_153\r
1828 L_152:\r
1829         PUSH OFFSET L_lit+1749\r
1830         CALL _match\r
1831         AND EAX,EAX\r
1832         JZ L_154\r
1833         XOR EAX,EAX\r
1834         MOV _asm_flag, AL\r
1835         MOV EAX,-1\r
1836         MOV BYTE PTR [EBP-7], AL\r
1837         JMP L_155\r
1838 L_154:\r
1839         PUSH OFFSET L_lit+1757\r
1840         CALL _match\r
1841         AND EAX,EAX\r
1842         JZ L_156\r
1843         MOV EAX,-1\r
1844         MOV BYTE PTR [EBP-7], AL\r
1845         MOVSX EAX,_if_flag\r
1846         AND EAX,EAX\r
1847         JZ L_157\r
1848         INC _if_flag\r
1849         MOVSX EAX,_if_flag\r
1850         JMP L_158\r
1851 L_157:\r
1852         XOR EAX,EAX\r
1853         PUSH EAX\r
1854         CALL _lookup_macro\r
1855         CMP EAX,-1\r
1856         SETE AL\r
1857         AND AL,AL\r
1858         JZ L_159\r
1859         MOV EAX,128\r
1860         MOV _if_flag, AL\r
1861 L_159:\r
1862 L_158:\r
1863         JMP L_160\r
1864 L_156:\r
1865         PUSH OFFSET L_lit+1764\r
1866         CALL _match\r
1867         AND EAX,EAX\r
1868         JZ L_161\r
1869         MOV EAX,-1\r
1870         MOV BYTE PTR [EBP-7], AL\r
1871         MOVSX EAX,_if_flag\r
1872         AND EAX,EAX\r
1873         JZ L_162\r
1874         INC _if_flag\r
1875         MOVSX EAX,_if_flag\r
1876         JMP L_163\r
1877 L_162:\r
1878         XOR EAX,EAX\r
1879         PUSH EAX\r
1880         CALL _lookup_macro\r
1881         CMP EAX,-1\r
1882         SETNE AL\r
1883         AND AL,AL\r
1884         JZ L_164\r
1885         MOV EAX,128\r
1886         MOV _if_flag, AL\r
1887 L_164:\r
1888 L_163:\r
1889         JMP L_165\r
1890 L_161:\r
1891         PUSH OFFSET L_lit+1772\r
1892         CALL _match\r
1893         AND EAX,EAX\r
1894         JZ L_166\r
1895         MOV EAX,-1\r
1896         MOV BYTE PTR [EBP-7], AL\r
1897         MOVSX EAX,_if_flag\r
1898         MOV ECX,127\r
1899         AND EAX,ECX\r
1900         JNZ L_167\r
1901         MOVSX EAX,_if_flag\r
1902         MOV ECX,128\r
1903         XOR EAX,ECX\r
1904         MOV _if_flag, AL\r
1905 L_167:\r
1906         JMP L_168\r
1907 L_166:\r
1908         PUSH OFFSET L_lit+1778\r
1909         CALL _match\r
1910         AND EAX,EAX\r
1911         JZ L_169\r
1912         MOV EAX,-1\r
1913         MOV BYTE PTR [EBP-7], AL\r
1914         MOVSX EAX,_if_flag\r
1915         MOV ECX,127\r
1916         AND EAX,ECX\r
1917         JZ L_170\r
1918         DEC _if_flag\r
1919         MOVSX EAX,_if_flag\r
1920         JMP L_171\r
1921 L_170:\r
1922         XOR EAX,EAX\r
1923         MOV _if_flag, AL\r
1924 L_171:\r
1925         JMP L_172\r
1926 L_169:\r
1927         PUSH OFFSET L_lit+1785\r
1928         CALL _match\r
1929         AND EAX,EAX\r
1930         JZ L_173\r
1931         MOV EAX,-1\r
1932         MOV BYTE PTR [EBP-7], AL\r
1933 L_173:\r
1934 L_172:\r
1935 L_168:\r
1936 L_165:\r
1937 L_160:\r
1938 L_155:\r
1939 L_153:\r
1940 L_151:\r
1941         MOVSX EAX,BYTE PTR [EBP-7]\r
1942         AND EAX,EAX\r
1943         SETZ AL\r
1944         AND AL,AL\r
1945         JZ L_174\r
1946         MOVSX EAX,_if_flag\r
1947         AND EAX,EAX\r
1948         SETZ AL\r
1949         AND AL,AL\r
1950 L_174:\r
1951         JZ L_175\r
1952         MOVSX EAX,BYTE PTR [EBP-6]\r
1953         CMP EAX,35\r
1954         SETE AL\r
1955         AND AL,AL\r
1956         JZ L_176\r
1957         PUSH OFFSET L_lit+1793\r
1958         CALL _match\r
1959         AND EAX,EAX\r
1960         JZ L_177\r
1961         MOV EAX,_macro\r
1962         CMP EAX,500\r
1963         SETAE AL\r
1964         AND AL,AL\r
1965         JZ L_178\r
1966         PUSH OFFSET L_lit+1801\r
1967         CALL _fatal_error\r
1968         PUSH -1\r
1969         CALL _exit\r
1970 L_178:\r
1971         MOV EAX,_macro\r
1972         INC _macro\r
1973         SHL EAX,2\r
1974         MOV ESI,OFFSET _define_index\r
1975         ADD ESI,EAX\r
1976         MOV EAX,_define_ptr\r
1977         MOV DWORD PTR [ESI], EAX\r
1978         MOV _buffout_ptr, EAX\r
1979         MOV ESI,_buffin_ptr\r
1980         MOVSX EAX,BYTE PTR [ESI]\r
1981         PUSH EAX\r
1982         CALL _is_alpha\r
1983         AND EAX,EAX\r
1984         JNZ L_179\r
1985         PUSH OFFSET L_lit+1828\r
1986         CALL _line_error\r
1987         JMP L_146\r
1988 L_179:\r
1989         CALL _copy_name\r
1990         MOV EAX,_buffout_ptr\r
1991         MOV _define_ptr, EAX\r
1992         MOV ESI,_define_ptr\r
1993         INC _define_ptr\r
1994         XOR EAX,EAX\r
1995         MOV BYTE PTR [ESI], AL\r
1996         XOR EAX,EAX\r
1997         MOV _parm, AX\r
1998         MOV EAX,OFFSET _parm_pool\r
1999         MOV _parm_ptr, EAX\r
2000         MOV ESI,_buffin_ptr\r
2001         MOVSX EAX,BYTE PTR [ESI]\r
2002         CMP EAX,40\r
2003         SETE AL\r
2004         AND AL,AL\r
2005         JZ L_180\r
2006         MOV ESI,_define_ptr\r
2007         INC _define_ptr\r
2008         MOV EAX,1\r
2009         MOV BYTE PTR [ESI], AL\r
2010         INC _buffin_ptr\r
2011         MOV EAX,_buffin_ptr\r
2012 L_181:\r
2013         MOVZX EAX,_parm\r
2014         CMP EAX,10\r
2015         SETAE AL\r
2016         AND AL,AL\r
2017         JZ L_184\r
2018         PUSH OFFSET L_lit+1847\r
2019         CALL _line_error\r
2020         JMP L_183\r
2021 L_184:\r
2022         MOVZX EAX,_parm\r
2023         INC _parm\r
2024         SHL EAX,2\r
2025         MOV ESI,OFFSET _parm_index\r
2026         ADD ESI,EAX\r
2027         MOV EAX,_parm_ptr\r
2028         MOV _buffout_ptr, EAX\r
2029         MOV DWORD PTR [ESI], EAX\r
2030         CALL _skip_blanks\r
2031         CALL _copy_name\r
2032         MOV EAX,_buffout_ptr\r
2033         ADD EAX,1\r
2034         MOV _parm_ptr, EAX\r
2035 L_182:\r
2036         CALL _more_parms\r
2037         AND EAX,EAX\r
2038         JNZ L_181\r
2039 L_183:\r
2040         JMP L_185\r
2041 L_180:\r
2042         MOV ESI,_define_ptr\r
2043         INC _define_ptr\r
2044         XOR EAX,EAX\r
2045         MOV BYTE PTR [ESI], AL\r
2046 L_185:\r
2047         CALL _skip_blanks\r
2048 L_186:\r
2049         MOV ESI,_buffin_ptr\r
2050         MOVSX EAX,BYTE PTR [ESI]\r
2051         MOV BYTE PTR [EBP-5], AL\r
2052         AND EAX,EAX\r
2053         JZ L_187\r
2054         MOV EAX,_define_ptr\r
2055         MOV _buffout_ptr, EAX\r
2056         MOVSX EAX,BYTE PTR [EBP-5]\r
2057         PUSH EAX\r
2058         CALL _is_alpha\r
2059         AND EAX,EAX\r
2060         JZ L_188\r
2061         CALL _resolve_macro\r
2062         XOR EAX,EAX\r
2063         MOV DWORD PTR [EBP-4], EAX\r
2064 L_189:\r
2065         MOV EAX,DWORD PTR [EBP-4]\r
2066         MOVZX ECX,_parm\r
2067         CMP EAX,ECX\r
2068         SETB AL\r
2069         AND AL,AL\r
2070         JZ L_190\r
2071         JMP SHORT L_191\r
2072 L_192:\r
2073         INC DWORD PTR [EBP-4]\r
2074         MOV EAX,DWORD PTR [EBP-4]\r
2075         JMP SHORT L_189\r
2076 L_191:\r
2077         PUSH _define_ptr\r
2078         MOV EAX,DWORD PTR [EBP-4]\r
2079         SHL EAX,2\r
2080         MOV ESI,OFFSET _parm_index\r
2081         ADD ESI,EAX\r
2082         PUSH DWORD PTR [ESI]\r
2083         CALL _strcmp\r
2084         AND EAX,EAX\r
2085         JNZ L_193\r
2086         MOV ESI,_define_ptr\r
2087         INC _define_ptr\r
2088         MOV EAX,DWORD PTR [EBP-4]\r
2089         ADD EAX,128\r
2090         MOV BYTE PTR [ESI], AL\r
2091         MOV EAX,_define_ptr\r
2092         MOV _buffout_ptr, EAX\r
2093         JMP L_190\r
2094 L_193:\r
2095         JMP L_192\r
2096 L_190:\r
2097         MOV EAX,_buffout_ptr\r
2098         MOV _define_ptr, EAX\r
2099         JMP L_194\r
2100 L_188:\r
2101         MOVSX EAX,BYTE PTR [EBP-5]\r
2102         CMP EAX,34\r
2103         SETE AL\r
2104         AND AL,AL\r
2105         JNZ L_195\r
2106         MOVSX EAX,BYTE PTR [EBP-5]\r
2107         CMP EAX,39\r
2108         SETE AL\r
2109         AND AL,AL\r
2110 L_195:\r
2111         JZ L_196\r
2112         CALL _copy_string\r
2113         MOV EAX,_buffout_ptr\r
2114         MOV _define_ptr, EAX\r
2115         JMP L_197\r
2116 L_196:\r
2117         INC _buffin_ptr\r
2118         MOV ESI,_buffin_ptr\r
2119         MOVSX EAX,BYTE PTR [ESI]\r
2120         CMP EAX,42\r
2121         SETE AL\r
2122         AND AL,AL\r
2123         JZ L_198\r
2124         MOVSX EAX,BYTE PTR [EBP-5]\r
2125         CMP EAX,47\r
2126         SETE AL\r
2127         AND AL,AL\r
2128 L_198:\r
2129         JZ L_199\r
2130         INC _buffin_ptr\r
2131         MOV EAX,_line_number\r
2132         MOV _begin_comment, EAX\r
2133         CALL _skip_comment\r
2134         JMP L_200\r
2135 L_199:\r
2136         MOV ESI,_define_ptr\r
2137         INC _define_ptr\r
2138         MOVSX EAX,BYTE PTR [EBP-5]\r
2139         MOV BYTE PTR [ESI], AL\r
2140 L_200:\r
2141 L_197:\r
2142 L_194:\r
2143         JMP L_186\r
2144 L_187:\r
2145         MOV ESI,_define_ptr\r
2146         INC _define_ptr\r
2147         XOR EAX,EAX\r
2148         MOV BYTE PTR [ESI], AL\r
2149         JMP L_201\r
2150 L_177:\r
2151         PUSH OFFSET L_lit+1873\r
2152         CALL _match\r
2153         AND EAX,EAX\r
2154         JZ L_202\r
2155         PUSH -1\r
2156         CALL _lookup_macro\r
2157         MOV DWORD PTR [EBP-4], EAX\r
2158         CMP EAX,-1\r
2159         SETNE AL\r
2160         AND AL,AL\r
2161         JZ L_203\r
2162         MOV EAX,_macro\r
2163         SUB EAX,1\r
2164         CMP EAX,DWORD PTR [EBP-4]\r
2165         SETE AL\r
2166         AND AL,AL\r
2167         JZ L_204\r
2168         MOV EAX,DWORD PTR [EBP-4]\r
2169         SHL EAX,2\r
2170         MOV ESI,OFFSET _define_index\r
2171         ADD ESI,EAX\r
2172         MOV EAX,DWORD PTR [ESI]\r
2173         MOV _define_ptr, EAX\r
2174         JMP L_205\r
2175 L_204:\r
2176         MOV EAX,DWORD PTR [EBP-4]\r
2177         ADD EAX,1\r
2178         SHL EAX,2\r
2179         MOV ESI,OFFSET _define_index\r
2180         ADD ESI,EAX\r
2181         MOV EAX,DWORD PTR [ESI]\r
2182         MOV _buffin_ptr, EAX\r
2183         MOV EBX,EAX\r
2184         MOV EAX,DWORD PTR [EBP-4]\r
2185         SHL EAX,2\r
2186         MOV ESI,OFFSET _define_index\r
2187         ADD ESI,EAX\r
2188         MOV EAX,DWORD PTR [ESI]\r
2189         MOV _parm_ptr, EAX\r
2190         MOV ECX,EAX\r
2191         MOV EAX,EBX\r
2192         SUB EAX,ECX\r
2193         MOV _parm, AX\r
2194         MOV ECX,EAX\r
2195         MOV EAX,_define_ptr\r
2196         SUB EAX,ECX\r
2197         MOV _define_ptr, EAX\r
2198 L_206:\r
2199         MOV EAX,_parm_ptr\r
2200         CMP EAX,_define_ptr\r
2201         SETB AL\r
2202         AND AL,AL\r
2203         JZ L_207\r
2204         MOV ESI,_parm_ptr\r
2205         INC _parm_ptr\r
2206         MOV EBX,ESI\r
2207         MOV ESI,_buffin_ptr\r
2208         INC _buffin_ptr\r
2209         MOVSX EAX,BYTE PTR [ESI]\r
2210         MOV BYTE PTR [EBX], AL\r
2211         JMP L_206\r
2212 L_207:\r
2213 L_208:\r
2214         MOV EAX,DWORD PTR [EBP-4]\r
2215         CMP EAX,_macro\r
2216         SETB AL\r
2217         AND AL,AL\r
2218         JZ L_209\r
2219         MOV EAX,DWORD PTR [EBP-4]\r
2220         SHL EAX,2\r
2221         MOV ESI,OFFSET _define_index\r
2222         ADD ESI,EAX\r
2223         MOV EAX,DWORD PTR [EBP-4]\r
2224         ADD EAX,1\r
2225         SHL EAX,2\r
2226         MOV EBX,ESI\r
2227         MOV ESI,OFFSET _define_index\r
2228         ADD ESI,EAX\r
2229         MOV EAX,DWORD PTR [ESI]\r
2230         MOVZX ECX,_parm\r
2231         SUB EAX,ECX\r
2232         MOV DWORD PTR [EBX], EAX\r
2233         INC DWORD PTR [EBP-4]\r
2234         MOV EAX,DWORD PTR [EBP-4]\r
2235         JMP L_208\r
2236 L_209:\r
2237 L_205:\r
2238         DEC _macro\r
2239         MOV EAX,_macro\r
2240 L_203:\r
2241         JMP L_210\r
2242 L_202:\r
2243         PUSH OFFSET L_lit+1880\r
2244         CALL _match\r
2245         AND EAX,EAX\r
2246         JZ L_211\r
2247         MOV EAX,_include\r
2248         CMP EAX,5\r
2249         SETGE AL\r
2250         AND AL,AL\r
2251         JZ L_212\r
2252         PUSH OFFSET L_lit+1889\r
2253         CALL _fatal_error\r
2254 L_212:\r
2255         CALL _skip_blanks\r
2256         MOV BYTE PTR [EBP-5], AL\r
2257         CMP EAX,60\r
2258         SETE AL\r
2259         AND AL,AL\r
2260         JZ L_213\r
2261         MOV EAX,_incdir\r
2262         MOV _parm_ptr, EAX\r
2263 L_214:\r
2264         MOV ESI,_parm_ptr\r
2265         MOVSX EAX,BYTE PTR [ESI]\r
2266         AND EAX,EAX\r
2267         JZ L_215\r
2268         JMP SHORT L_216\r
2269 L_217:\r
2270         INC _parm_ptr\r
2271         MOV EAX,_parm_ptr\r
2272         JMP SHORT L_214\r
2273 L_216:\r
2274         MOV ESI,_buffout_ptr\r
2275         INC _buffout_ptr\r
2276         MOV EBX,ESI\r
2277         MOV ESI,_parm_ptr\r
2278         MOVSX EAX,BYTE PTR [ESI]\r
2279         MOV BYTE PTR [EBX], AL\r
2280         JMP L_217\r
2281 L_215:\r
2282         MOV ESI,_buffout_ptr\r
2283         INC _buffout_ptr\r
2284         MOV EAX,92\r
2285         MOV BYTE PTR [ESI], AL\r
2286         MOV EAX,62\r
2287         MOV BYTE PTR [EBP-5], AL\r
2288         JMP L_218\r
2289 L_213:\r
2290         MOVSX EAX,BYTE PTR [EBP-5]\r
2291         CMP EAX,34\r
2292         SETNE AL\r
2293         AND AL,AL\r
2294         JZ L_219\r
2295         PUSH OFFSET L_lit+1912\r
2296         CALL _line_error\r
2297         JMP L_146\r
2298 L_219:\r
2299 L_218:\r
2300 L_220:\r
2301         INC _buffin_ptr\r
2302         MOV ESI,_buffin_ptr\r
2303         MOVSX EAX,BYTE PTR [ESI]\r
2304         AND EAX,EAX\r
2305         JZ L_222\r
2306         MOV ESI,_buffin_ptr\r
2307         MOVSX EAX,BYTE PTR [ESI]\r
2308         CMP AL,BYTE PTR [EBP-5]\r
2309         SETNE AL\r
2310         AND AL,AL\r
2311 L_222:\r
2312         JZ L_221\r
2313         MOV ESI,_buffout_ptr\r
2314         INC _buffout_ptr\r
2315         MOV EBX,ESI\r
2316         MOV ESI,_buffin_ptr\r
2317         MOVSX EAX,BYTE PTR [ESI]\r
2318         MOV BYTE PTR [EBX], AL\r
2319         JMP L_220\r
2320 L_221:\r
2321         MOV ESI,_buffout_ptr\r
2322         XOR EAX,EAX\r
2323         MOV BYTE PTR [ESI], AL\r
2324         MOV EAX,_include\r
2325         SHL EAX,2\r
2326         MOV ESI,OFFSET _incl_fh\r
2327         ADD ESI,EAX\r
2328         MOV EAX,_source_fh\r
2329         MOV DWORD PTR [ESI], EAX\r
2330         MOV EAX,_include\r
2331         SHL EAX,2\r
2332         MOV ESI,OFFSET _incl_line\r
2333         ADD ESI,EAX\r
2334         MOV EAX,_line_number\r
2335         MOV DWORD PTR [ESI], EAX\r
2336         PUSH OFFSET _line_in\r
2337         PUSH OFFSET L_lit+1938\r
2338         CALL _fopen\r
2339         MOV _source_fh, EAX\r
2340         AND EAX,EAX\r
2341         JZ L_223\r
2342         XOR EAX,EAX\r
2343         MOV _line_number, EAX\r
2344         INC _include\r
2345         MOV EAX,_include\r
2346         JMP L_224\r
2347 L_223:\r
2348         PUSH OFFSET L_lit+1940\r
2349         CALL _line_error\r
2350         MOV EAX,_include\r
2351         SHL EAX,2\r
2352         MOV ESI,OFFSET _incl_fh\r
2353         ADD ESI,EAX\r
2354         MOV EAX,DWORD PTR [ESI]\r
2355         MOV _source_fh, EAX\r
2356 L_224:\r
2357         JMP L_225\r
2358 L_211:\r
2359         PUSH OFFSET L_lit+1965\r
2360         CALL _line_error\r
2361 L_225:\r
2362 L_210:\r
2363 L_201:\r
2364         JMP L_226\r
2365 L_176:\r
2366         MOVSX EAX,_asm_flag\r
2367         AND EAX,EAX\r
2368         JZ L_227\r
2369         PUSH OFFSET _buffer\r
2370         CALL _do_asm\r
2371         JMP L_228\r
2372 L_227:\r
2373 L_229:\r
2374         MOV ESI,_buffin_ptr\r
2375         MOVSX EAX,BYTE PTR [ESI]\r
2376         MOV BYTE PTR [EBP-5], AL\r
2377         AND EAX,EAX\r
2378         JZ L_230\r
2379         MOVSX EAX,BYTE PTR [EBP-5]\r
2380         PUSH EAX\r
2381         CALL _is_alpha\r
2382         AND EAX,EAX\r
2383         JZ L_231\r
2384         CALL _resolve_macro\r
2385         JMP L_232\r
2386 L_231:\r
2387         MOVSX EAX,BYTE PTR [EBP-5]\r
2388         CMP EAX,34\r
2389         SETE AL\r
2390         AND AL,AL\r
2391         JNZ L_233\r
2392         MOVSX EAX,BYTE PTR [EBP-5]\r
2393         CMP EAX,39\r
2394         SETE AL\r
2395         AND AL,AL\r
2396 L_233:\r
2397         JZ L_234\r
2398         CALL _copy_string\r
2399         JMP L_235\r
2400 L_234:\r
2401         INC _buffin_ptr\r
2402         MOV ESI,_buffin_ptr\r
2403         MOVSX EAX,BYTE PTR [ESI]\r
2404         CMP EAX,42\r
2405         SETE AL\r
2406         AND AL,AL\r
2407         JZ L_236\r
2408         MOVSX EAX,BYTE PTR [EBP-5]\r
2409         CMP EAX,47\r
2410         SETE AL\r
2411         AND AL,AL\r
2412         JZ L_237\r
2413         MOVSX EAX,_comment_flag\r
2414 L_237:\r
2415 L_236:\r
2416         AND EAX,EAX\r
2417         JZ L_238\r
2418         INC _buffin_ptr\r
2419         MOV EAX,_line_number\r
2420         MOV _begin_comment, EAX\r
2421         CALL _skip_comment\r
2422         JMP L_239\r
2423 L_238:\r
2424         MOV ESI,_buffout_ptr\r
2425         INC _buffout_ptr\r
2426         MOVSX EAX,BYTE PTR [EBP-5]\r
2427         MOV BYTE PTR [ESI], AL\r
2428 L_239:\r
2429 L_235:\r
2430 L_232:\r
2431         JMP L_229\r
2432 L_230:\r
2433 L_228:\r
2434         MOVSX EAX,_fSource\r
2435         AND EAX,EAX\r
2436         JZ L_240\r
2437         PUSH 59\r
2438         CALL _code_chr\r
2439         PUSH OFFSET _buffer\r
2440         CALL _code_str\r
2441 L_240:\r
2442         MOV EAX,OFFSET _line_in\r
2443         MOV _input_ptr, EAX\r
2444         MOV ESI,_buffout_ptr\r
2445         XOR EAX,EAX\r
2446         MOV BYTE PTR [ESI], AL\r
2447         MOV EAX,-1\r
2448         JMP L_150\r
2449 L_226:\r
2450 L_175:\r
2451         JMP L_146\r
2452 L_147:\r
2453 L_150:\r
2454         MOV ESP,EBP\r
2455         POP EBP\r
2456         RETN\r
2457 _test_exit:\r
2458         PUSH EBP\r
2459         MOV EBP,ESP\r
2460         MOV EAX,_exit_flag\r
2461         AND EAX,EAX\r
2462         JZ L_241\r
2463         PUSH _exit_flag\r
2464         PUSH -1\r
2465         CALL _jump\r
2466         MOV EAX,-1\r
2467         MOV _exit_used, EAX\r
2468         XOR EAX,EAX\r
2469         MOV _exit_flag, EAX\r
2470         JMP L_242\r
2471 L_241:\r
2472         MOV EAX,-1\r
2473 L_242:\r
2474         POP EBP\r
2475         RETN\r
2476 _t_warn:\r
2477         PUSH EBP\r
2478         MOV EBP,ESP\r
2479         SUB ESP,2\r
2480         INC _warn_count\r
2481         MOV EAX,_warn_count\r
2482         MOVSX EAX,_fWarnings\r
2483         AND EAX,EAX\r
2484         JNZ L_243\r
2485         JMP L_244\r
2486 L_243:\r
2487         MOV EAX,_include\r
2488         SHL EAX,2\r
2489         MOV ESI,OFFSET _incl_line\r
2490         ADD ESI,EAX\r
2491         MOV EAX,_line_number\r
2492         MOV DWORD PTR [ESI], EAX\r
2493         XOR EAX,EAX\r
2494         MOV WORD PTR [EBP-2], AX\r
2495 L_245:\r
2496         MOVSX EAX,WORD PTR [EBP-2]\r
2497         CMP EAX,_include\r
2498         SETLE AL\r
2499         AND AL,AL\r
2500         JZ L_246\r
2501         JMP SHORT L_247\r
2502 L_248:\r
2503         INC WORD PTR [EBP-2]\r
2504         MOVSX EAX,WORD PTR [EBP-2]\r
2505         JMP SHORT L_245\r
2506 L_247:\r
2507         MOVSX EAX,WORD PTR [EBP-2]\r
2508         SHL EAX,2\r
2509         MOV ESI,OFFSET _incl_line\r
2510         ADD ESI,EAX\r
2511         PUSH DWORD PTR [ESI]\r
2512         PUSH _list_fh\r
2513         CALL _put_num\r
2514         PUSH 58\r
2515         PUSH _list_fh\r
2516         CALL _fputc\r
2517         JMP L_248\r
2518 L_246:\r
2519         PUSH 32\r
2520         PUSH _list_fh\r
2521         CALL _fputc\r
2522         PUSH OFFSET L_lit+1996\r
2523         PUSH _list_fh\r
2524         CALL _fputs\r
2525         PUSH DWORD PTR [EBP+12]\r
2526         PUSH _list_fh\r
2527         CALL _fputs\r
2528         PUSH 32\r
2529         PUSH _list_fh\r
2530         CALL _fputc\r
2531         PUSH 39\r
2532         PUSH _list_fh\r
2533         CALL _fputc\r
2534         PUSH DWORD PTR [EBP+8]\r
2535         PUSH _list_fh\r
2536         CALL _fputs\r
2537         PUSH 39\r
2538         PUSH _list_fh\r
2539         CALL _fputc\r
2540         PUSH 13\r
2541         PUSH _list_fh\r
2542         CALL _fputc\r
2543         PUSH 10\r
2544         PUSH _list_fh\r
2545         CALL _fputc\r
2546 L_244:\r
2547         MOV ESP,EBP\r
2548         POP EBP\r
2549         RETN 8\r
2550 _t_error:\r
2551         PUSH EBP\r
2552         MOV EBP,ESP\r
2553         SUB ESP,54\r
2554         LEA EAX,DWORD PTR [EBP-50]\r
2555         MOV DWORD PTR [EBP-54], EAX\r
2556 L_249:\r
2557         MOV ESI,DWORD PTR [EBP+12]\r
2558         MOVSX EAX,BYTE PTR [ESI]\r
2559         AND EAX,EAX\r
2560         JZ L_250\r
2561         MOV ESI,DWORD PTR [EBP-54]\r
2562         INC DWORD PTR [EBP-54]\r
2563         MOV EBX,ESI\r
2564         MOV ESI,DWORD PTR [EBP+12]\r
2565         INC DWORD PTR [EBP+12]\r
2566         MOVSX EAX,BYTE PTR [ESI]\r
2567         MOV BYTE PTR [EBX], AL\r
2568         JMP L_249\r
2569 L_250:\r
2570         MOV ESI,DWORD PTR [EBP-54]\r
2571         INC DWORD PTR [EBP-54]\r
2572         MOV EAX,58\r
2573         MOV BYTE PTR [ESI], AL\r
2574         MOV ESI,DWORD PTR [EBP-54]\r
2575         INC DWORD PTR [EBP-54]\r
2576         MOV EAX,32\r
2577         MOV BYTE PTR [ESI], AL\r
2578         MOV ESI,DWORD PTR [EBP-54]\r
2579         INC DWORD PTR [EBP-54]\r
2580         MOV EAX,39\r
2581         MOV BYTE PTR [ESI], AL\r
2582 L_251:\r
2583         MOV ESI,DWORD PTR [EBP+8]\r
2584         MOVSX EAX,BYTE PTR [ESI]\r
2585         AND EAX,EAX\r
2586         JZ L_252\r
2587         MOV ESI,DWORD PTR [EBP-54]\r
2588         INC DWORD PTR [EBP-54]\r
2589         MOV EBX,ESI\r
2590         MOV ESI,DWORD PTR [EBP+8]\r
2591         INC DWORD PTR [EBP+8]\r
2592         MOVSX EAX,BYTE PTR [ESI]\r
2593         MOV BYTE PTR [EBX], AL\r
2594         JMP L_251\r
2595 L_252:\r
2596         MOV ESI,DWORD PTR [EBP-54]\r
2597         INC DWORD PTR [EBP-54]\r
2598         MOV EAX,39\r
2599         MOV BYTE PTR [ESI], AL\r
2600         MOV ESI,DWORD PTR [EBP-54]\r
2601         XOR EAX,EAX\r
2602         MOV BYTE PTR [ESI], AL\r
2603         LEA EAX,DWORD PTR [EBP-50]\r
2604         PUSH EAX\r
2605         CALL _line_error\r
2606         MOV ESP,EBP\r
2607         POP EBP\r
2608         RETN 8\r
2609 _symbol_error:\r
2610         PUSH EBP\r
2611         MOV EBP,ESP\r
2612         PUSH DWORD PTR [EBP+8]\r
2613         PUSH OFFSET _gst\r
2614         CALL _t_error\r
2615         POP EBP\r
2616         RETN 4\r
2617 _syntax_error:\r
2618         PUSH EBP\r
2619         MOV EBP,ESP\r
2620         PUSH OFFSET L_lit+2006\r
2621         CALL _line_error\r
2622         POP EBP\r
2623         RETN\r
2624 _type_error:\r
2625         PUSH EBP\r
2626         MOV EBP,ESP\r
2627         PUSH OFFSET L_lit+2019\r
2628         CALL _line_error\r
2629         POP EBP\r
2630         RETN\r
2631 _index_error:\r
2632         PUSH EBP\r
2633         MOV EBP,ESP\r
2634         PUSH OFFSET L_lit+2034\r
2635         CALL _line_error\r
2636         POP EBP\r
2637         RETN\r
2638 _test_token:\r
2639         PUSH EBP\r
2640         MOV EBP,ESP\r
2641         SUB ESP,4\r
2642         CALL _get_token\r
2643         MOV DWORD PTR [EBP-4], EAX\r
2644         CMP EAX,DWORD PTR [EBP+8]\r
2645         SETE AL\r
2646         AND AL,AL\r
2647         JZ L_253\r
2648         MOV EAX,-1\r
2649         JMP L_254\r
2650 L_253:\r
2651         PUSH DWORD PTR [EBP-4]\r
2652         CALL _unget_token\r
2653         XOR EAX,EAX\r
2654 L_254:\r
2655         MOV ESP,EBP\r
2656         POP EBP\r
2657         RETN 4\r
2658 _expect:\r
2659         PUSH EBP\r
2660         MOV EBP,ESP\r
2661         PUSH DWORD PTR [EBP+8]\r
2662         CALL _test_token\r
2663         AND EAX,EAX\r
2664         JNZ L_255\r
2665         PUSH OFFSET L_lit+2054\r
2666         MOV EAX,DWORD PTR [EBP+8]\r
2667         SHL EAX,2\r
2668         MOV ESI,OFFSET _tokens\r
2669         ADD ESI,EAX\r
2670         PUSH DWORD PTR [ESI]\r
2671         CALL _t_error\r
2672 L_255:\r
2673         POP EBP\r
2674         RETN 4\r
2675 _UTC_error:\r
2676         PUSH EBP\r
2677         MOV EBP,ESP\r
2678         SUB ESP,4\r
2679         MOV EAX,_include\r
2680         SHL EAX,2\r
2681         MOV ESI,OFFSET _incl_line\r
2682         ADD ESI,EAX\r
2683         MOV EAX,_line_number\r
2684         MOV DWORD PTR [ESI], EAX\r
2685         XOR EAX,EAX\r
2686         MOV DWORD PTR [EBP-4], EAX\r
2687 L_256:\r
2688         MOV EAX,DWORD PTR [EBP-4]\r
2689         CMP EAX,_include\r
2690         SETBE AL\r
2691         AND AL,AL\r
2692         JZ L_257\r
2693         JMP SHORT L_258\r
2694 L_259:\r
2695         INC DWORD PTR [EBP-4]\r
2696         MOV EAX,DWORD PTR [EBP-4]\r
2697         JMP SHORT L_256\r
2698 L_258:\r
2699         MOV EAX,DWORD PTR [EBP-4]\r
2700         SHL EAX,2\r
2701         MOV ESI,OFFSET _incl_line\r
2702         ADD ESI,EAX\r
2703         PUSH DWORD PTR [ESI]\r
2704         PUSH _list_fh\r
2705         CALL _put_num\r
2706         PUSH 58\r
2707         PUSH _list_fh\r
2708         CALL _fputc\r
2709         JMP L_259\r
2710 L_257:\r
2711         PUSH 32\r
2712         PUSH _list_fh\r
2713         CALL _fputc\r
2714         PUSH OFFSET L_lit+2063\r
2715         PUSH _list_fh\r
2716         CALL _fputs\r
2717         PUSH _begin_comment\r
2718         PUSH _list_fh\r
2719         CALL _put_num\r
2720         PUSH 13\r
2721         PUSH _list_fh\r
2722         CALL _fputc\r
2723         PUSH 10\r
2724         PUSH _list_fh\r
2725         CALL _fputc\r
2726         INC _error_count\r
2727         MOV EAX,_error_count\r
2728         CMP EAX,15\r
2729         SETE AL\r
2730         AND AL,AL\r
2731         JZ L_260\r
2732         PUSH OFFSET L_lit+2096\r
2733         CALL _fatal_error\r
2734 L_260:\r
2735         MOV ESP,EBP\r
2736         POP EBP\r
2737         RETN\r
2738 _line_error:\r
2739         PUSH EBP\r
2740         MOV EBP,ESP\r
2741         SUB ESP,4\r
2742         MOV EAX,_include\r
2743         SHL EAX,2\r
2744         MOV ESI,OFFSET _incl_line\r
2745         ADD ESI,EAX\r
2746         MOV EAX,_line_number\r
2747         MOV DWORD PTR [ESI], EAX\r
2748         XOR EAX,EAX\r
2749         MOV DWORD PTR [EBP-4], EAX\r
2750 L_261:\r
2751         MOV EAX,DWORD PTR [EBP-4]\r
2752         CMP EAX,_include\r
2753         SETBE AL\r
2754         AND AL,AL\r
2755         JZ L_262\r
2756         JMP SHORT L_263\r
2757 L_264:\r
2758         INC DWORD PTR [EBP-4]\r
2759         MOV EAX,DWORD PTR [EBP-4]\r
2760         JMP SHORT L_261\r
2761 L_263:\r
2762         MOV EAX,DWORD PTR [EBP-4]\r
2763         SHL EAX,2\r
2764         MOV ESI,OFFSET _incl_line\r
2765         ADD ESI,EAX\r
2766         PUSH DWORD PTR [ESI]\r
2767         PUSH _list_fh\r
2768         CALL _put_num\r
2769         PUSH 58\r
2770         PUSH _list_fh\r
2771         CALL _fputc\r
2772         JMP L_264\r
2773 L_262:\r
2774         PUSH 32\r
2775         PUSH _list_fh\r
2776         CALL _fputc\r
2777         PUSH DWORD PTR [EBP+8]\r
2778         PUSH _list_fh\r
2779         CALL _fputs\r
2780         PUSH 13\r
2781         PUSH _list_fh\r
2782         CALL _fputc\r
2783         PUSH 10\r
2784         PUSH _list_fh\r
2785         CALL _fputc\r
2786         INC _error_count\r
2787         MOV EAX,_error_count\r
2788         CMP EAX,15\r
2789         SETE AL\r
2790         AND AL,AL\r
2791         JZ L_265\r
2792         PUSH OFFSET L_lit+2112\r
2793         CALL _fatal_error\r
2794 L_265:\r
2795         MOV ESP,EBP\r
2796         POP EBP\r
2797         RETN 4\r
2798 _fatal_error:\r
2799         PUSH EBP\r
2800         MOV EBP,ESP\r
2801         PUSH DWORD PTR [EBP+8]\r
2802         CALL _line_error\r
2803         PUSH OFFSET L_lit+2128\r
2804         PUSH 2\r
2805         CALL _fputs\r
2806         MOVSX EAX,_fList\r
2807         AND EAX,EAX\r
2808         JZ L_266\r
2809         PUSH OFFSET L_lit+2163\r
2810         PUSH _list_fh\r
2811         CALL _fputs\r
2812         MOVSX EAX,_fLISTOpen\r
2813         AND EAX,EAX\r
2814         JZ L_267\r
2815         PUSH _list_fh\r
2816         CALL _fclose\r
2817 L_267:\r
2818 L_266:\r
2819         MOVSX EAX,_fASMOpen\r
2820         AND EAX,EAX\r
2821         JZ L_268\r
2822         PUSH _asm_fh\r
2823         CALL _fclose\r
2824 L_268:\r
2825         PUSH -1\r
2826         CALL _exit\r
2827         POP EBP\r
2828         RETN 4\r
2829 _check_loop:\r
2830         PUSH EBP\r
2831         MOV EBP,ESP\r
2832         PUSH 25\r
2833         CALL _expect\r
2834         MOV EAX,_loop_ptr\r
2835         AND EAX,EAX\r
2836         JZ L_269\r
2837         MOV EAX,_loop_ptr\r
2838         SUB EAX,1\r
2839         SHL EAX,2\r
2840         MOV ESI,DWORD PTR [EBP+8]\r
2841         ADD ESI,EAX\r
2842         MOV EAX,DWORD PTR [ESI]\r
2843         MOV _exit_flag, EAX\r
2844         JMP L_270\r
2845 L_269:\r
2846         PUSH OFFSET L_lit+2198\r
2847         CALL _line_error\r
2848 L_270:\r
2849         POP EBP\r
2850         RETN 4\r
2851 _check_switch:\r
2852         PUSH EBP\r
2853         MOV EBP,ESP\r
2854         MOV EAX,_sdefault\r
2855         AND EAX,EAX\r
2856         JNZ L_271\r
2857         PUSH OFFSET L_lit+2213\r
2858         CALL _line_error\r
2859 L_271:\r
2860         INC _next_lab\r
2861         PUSH _next_lab\r
2862         CALL _gen_label\r
2863         MOV EAX,_next_lab\r
2864         POP EBP\r
2865         RETN\r
2866 _test_jump:\r
2867         PUSH EBP\r
2868         MOV EBP,ESP\r
2869         CALL _test_exit\r
2870         AND EAX,EAX\r
2871         JZ L_273\r
2872         PUSH DWORD PTR [EBP+8]\r
2873         PUSH -1\r
2874         CALL _jump\r
2875 L_273:\r
2876         POP EBP\r
2877         RETN 4\r
2878 _cond_jump:\r
2879         PUSH EBP\r
2880         MOV EBP,ESP\r
2881         MOVSX EAX,_zero_flag\r
2882         AND EAX,EAX\r
2883         JZ L_274\r
2884         PUSH OFFSET L_lit+2230\r
2885         CALL _out_inst\r
2886         XOR EAX,EAX\r
2887         MOV _zero_flag, AL\r
2888 L_274:\r
2889         MOVSX EAX,BYTE PTR [EBP+16]\r
2890         MOVSX ECX,_not_flag\r
2891         XOR EAX,ECX\r
2892         PUSH EAX\r
2893         PUSH DWORD PTR [EBP+12]\r
2894         MOVSX EAX,BYTE PTR [EBP+8]\r
2895         PUSH EAX\r
2896         CALL _jump_if\r
2897         XOR EAX,EAX\r
2898         MOV _not_flag, AL\r
2899         POP EBP\r
2900         RETN 12\r
2901 _get_number:\r
2902         PUSH EBP\r
2903         MOV EBP,ESP\r
2904         SUB ESP,5\r
2905         XOR EAX,EAX\r
2906         MOV DWORD PTR [EBP-4], EAX\r
2907 L_275:\r
2908         MOV ESI,_input_ptr\r
2909         MOVSX EAX,BYTE PTR [ESI]\r
2910         MOV BYTE PTR [EBP-5], AL\r
2911         PUSH EAX\r
2912         CALL _is_digit\r
2913         AND EAX,EAX\r
2914         JZ L_278\r
2915         MOVSX EAX,BYTE PTR [EBP-5]\r
2916         MOV ECX,48\r
2917         SUB EAX,ECX\r
2918         MOV BYTE PTR [EBP-5], AL\r
2919         JMP L_279\r
2920 L_278:\r
2921         MOVSX EAX,BYTE PTR [EBP-5]\r
2922         CMP EAX,97\r
2923         SETGE AL\r
2924         AND AL,AL\r
2925         JZ L_280\r
2926         MOVSX EAX,BYTE PTR [EBP-5]\r
2927         MOV ECX,87\r
2928         SUB EAX,ECX\r
2929         MOV BYTE PTR [EBP-5], AL\r
2930         JMP L_281\r
2931 L_280:\r
2932         MOVSX EAX,BYTE PTR [EBP-5]\r
2933         CMP EAX,65\r
2934         SETGE AL\r
2935         AND AL,AL\r
2936         JZ L_282\r
2937         MOVSX EAX,BYTE PTR [EBP-5]\r
2938         MOV ECX,55\r
2939         SUB EAX,ECX\r
2940         MOV BYTE PTR [EBP-5], AL\r
2941         JMP L_283\r
2942 L_282:\r
2943         JMP L_277\r
2944 L_283:\r
2945 L_281:\r
2946 L_279:\r
2947         MOVSX EAX,BYTE PTR [EBP-5]\r
2948         CMP EAX,DWORD PTR [EBP+12]\r
2949         SETAE AL\r
2950         AND AL,AL\r
2951         JZ L_284\r
2952         JMP L_277\r
2953 L_284:\r
2954         MOV EAX,DWORD PTR [EBP-4]\r
2955         MOV ECX,DWORD PTR [EBP+12]\r
2956         MUL ECX\r
2957         MOVSX ECX,BYTE PTR [EBP-5]\r
2958         ADD EAX,ECX\r
2959         MOV DWORD PTR [EBP-4], EAX\r
2960         INC _input_ptr\r
2961         MOV EAX,_input_ptr\r
2962 L_276:\r
2963         DEC DWORD PTR [EBP+8]\r
2964         MOV EAX,DWORD PTR [EBP+8]\r
2965         AND EAX,EAX\r
2966         JNZ L_275\r
2967 L_277:\r
2968         MOV EAX,DWORD PTR [EBP-4]\r
2969 L_285:\r
2970         MOV ESP,EBP\r
2971         POP EBP\r
2972         RETN 8\r
2973 _clean_up:\r
2974         PUSH EBP\r
2975         MOV EBP,ESP\r
2976         SUB ESP,16\r
2977         MOV EAX,_in_function\r
2978         AND EAX,EAX\r
2979         JZ L_286\r
2980         PUSH OFFSET L_lit+2242\r
2981         CALL _fatal_error\r
2982 L_286:\r
2983         XOR EAX,EAX\r
2984         MOV _sptr, EAX\r
2985 L_287:\r
2986         MOV EAX,_sptr\r
2987         CMP EAX,_global_top\r
2988         SETB AL\r
2989         AND AL,AL\r
2990         JZ L_288\r
2991         JMP SHORT L_289\r
2992 L_290:\r
2993         INC _sptr\r
2994         MOV EAX,_sptr\r
2995         JMP SHORT L_287\r
2996 L_289:\r
2997         MOV EAX,_sptr\r
2998         MOV ECX,24\r
2999         MUL ECX\r
3000         MOV ESI,OFFSET _symtab\r
3001         ADD ESI,EAX\r
3002         MOV EAX,DWORD PTR [ESI]\r
3003         MOV DWORD PTR [EBP-4], EAX\r
3004         AND EAX,16384\r
3005         JZ L_291\r
3006         MOV EAX,DWORD PTR [EBP-4]\r
3007         AND EAX,4194304\r
3008         JZ L_292\r
3009         PUSH _sptr\r
3010         CALL _gen_ext_data_DASM\r
3011 L_292:\r
3012 L_291:\r
3013         JMP L_290\r
3014 L_288:\r
3015         PUSH OFFSET _literal_pool\r
3016         PUSH _literal_top\r
3017         CALL _gen_literal\r
3018         XOR EAX,EAX\r
3019         MOV _sptr, EAX\r
3020 L_293:\r
3021         MOV EAX,_sptr\r
3022         CMP EAX,_global_top\r
3023         SETB AL\r
3024         AND AL,AL\r
3025         JZ L_294\r
3026         JMP SHORT L_295\r
3027 L_296:\r
3028         INC _sptr\r
3029         MOV EAX,_sptr\r
3030         JMP SHORT L_293\r
3031 L_295:\r
3032         MOV EAX,_sptr\r
3033         MOV ECX,24\r
3034         MUL ECX\r
3035         MOV ESI,OFFSET _symtab\r
3036         ADD ESI,EAX\r
3037         MOV EAX,DWORD PTR [ESI]\r
3038         MOV DWORD PTR [EBP-4], EAX\r
3039         MOV EAX,DWORD PTR [EBP-4]\r
3040         AND EAX,18104320\r
3041         JNZ L_297\r
3042         MOV EAX,DWORD PTR [EBP-4]\r
3043         AND EAX,71\r
3044         JZ L_298\r
3045         MOV EAX,4\r
3046         MOV DWORD PTR [EBP-8], EAX\r
3047         JMP L_299\r
3048 L_298:\r
3049         MOV EAX,DWORD PTR [EBP-4]\r
3050         AND EAX,32\r
3051         JZ L_300\r
3052         MOV EAX,2\r
3053         MOV DWORD PTR [EBP-8], EAX\r
3054         JMP L_301\r
3055 L_300:\r
3056         MOV EAX,DWORD PTR [EBP-4]\r
3057         AND EAX,16\r
3058         JZ L_302\r
3059         MOV EAX,1\r
3060         MOV DWORD PTR [EBP-8], EAX\r
3061         JMP L_303\r
3062 L_302:\r
3063         MOV EAX,DWORD PTR [EBP-4]\r
3064         AND EAX,512\r
3065         JZ L_304\r
3066         MOV EAX,_sptr\r
3067         MOV ECX,24\r
3068         MUL ECX\r
3069         MOV ESI,OFFSET _symtab\r
3070         ADD ESI,EAX\r
3071         MOV EAX,DWORD PTR [ESI+16]\r
3072         MOV DWORD PTR [EBP-8], EAX\r
3073         JMP L_305\r
3074 L_304:\r
3075         MOV EAX,1\r
3076         MOV DWORD PTR [EBP-8], EAX\r
3077 L_305:\r
3078 L_303:\r
3079 L_301:\r
3080 L_299:\r
3081         MOV EAX,DWORD PTR [EBP-4]\r
3082         AND EAX,256\r
3083         JZ L_306\r
3084         MOV EAX,_sptr\r
3085         MOV ECX,24\r
3086         MUL ECX\r
3087         MOV ESI,OFFSET _symtab\r
3088         ADD ESI,EAX\r
3089         MOV EAX,DWORD PTR [ESI+20]\r
3090         MOV DWORD PTR [EBP-12], EAX\r
3091         MOV EAX,DWORD PTR [EBP-12]\r
3092         INC DWORD PTR [EBP-12]\r
3093         SHL EAX,2\r
3094         MOV ESI,OFFSET _dim_pool\r
3095         ADD ESI,EAX\r
3096         MOV EAX,DWORD PTR [ESI]\r
3097         MOV DWORD PTR [EBP-16], EAX\r
3098 L_307:\r
3099         MOV EAX,DWORD PTR [EBP-16]\r
3100         DEC DWORD PTR [EBP-16]\r
3101         AND EAX,EAX\r
3102         JZ L_308\r
3103         MOV EAX,DWORD PTR [EBP-12]\r
3104         INC DWORD PTR [EBP-12]\r
3105         SHL EAX,2\r
3106         MOV ESI,OFFSET _dim_pool\r
3107         ADD ESI,EAX\r
3108         MOV EAX,DWORD PTR [EBP-8]\r
3109         MOV ECX,DWORD PTR [ESI]\r
3110         MUL ECX\r
3111         MOV DWORD PTR [EBP-8], EAX\r
3112         JMP L_307\r
3113 L_308:\r
3114 L_306:\r
3115         PUSH _sptr\r
3116         PUSH DWORD PTR [EBP-8]\r
3117         CALL _gen_global\r
3118 L_297:\r
3119         JMP L_296\r
3120 L_294:\r
3121         MOV EAX,_pd\r
3122         AND EAX,EAX\r
3123         JZ L_309\r
3124         PUSH OFFSET _databuf\r
3125         PUSH _pd\r
3126         PUSH 1\r
3127         PUSH _asm_fh\r
3128         CALL _fwrite\r
3129         XOR EAX,EAX\r
3130         MOV _pd, EAX\r
3131 L_309:\r
3132         MOV EAX,_error_count\r
3133         AND EAX,EAX\r
3134         JNZ L_310\r
3135         MOVSX EAX,_fNoOpt\r
3136         AND EAX,EAX\r
3137         JZ L_311\r
3138 L_312:\r
3139         PUSH OFFSET _buffer\r
3140         PUSH 200\r
3141         CALL _fgetcode\r
3142         AND EAX,EAX\r
3143         JZ L_313\r
3144         MOVSX EAX,_fGen\r
3145         AND EAX,EAX\r
3146         JZ L_314\r
3147         PUSH OFFSET _buffer\r
3148         PUSH _code_fh\r
3149         CALL _fputs\r
3150         JMP L_315\r
3151 L_314:\r
3152         PUSH OFFSET _buffer\r
3153         PUSH _asm_fh\r
3154         CALL _fputs\r
3155 L_315:\r
3156         JMP L_312\r
3157 L_313:\r
3158         JMP L_316\r
3159 L_311:\r
3160         CALL _optimize\r
3161 L_316:\r
3162 L_310:\r
3163         PUSH _asm_fh\r
3164         CALL _fclose\r
3165         MOVSX EAX,_fLISTOpen\r
3166         AND EAX,EAX\r
3167         JZ L_317\r
3168         PUSH _list_fh\r
3169         CALL _fclose\r
3170 L_317:\r
3171         MOVSX EAX,_fCODEOpen\r
3172         AND EAX,EAX\r
3173         JZ L_318\r
3174         PUSH _code_fh\r
3175         CALL _fclose\r
3176 L_318:\r
3177         MOVSX EAX,_fQuiet\r
3178         AND EAX,EAX\r
3179         JNZ L_319\r
3180         PUSH _error_count\r
3181         PUSH 2\r
3182         CALL _put_num\r
3183         PUSH OFFSET L_lit+2264\r
3184         PUSH 2\r
3185         CALL _fputs\r
3186         PUSH _warn_count\r
3187         PUSH 2\r
3188         CALL _put_num\r
3189         PUSH OFFSET L_lit+2274\r
3190         PUSH 2\r
3191         CALL _fputs\r
3192 L_319:\r
3193         XOR EAX,EAX\r
3194         PUSH EAX\r
3195         CALL _exit\r
3196         MOV ESP,EBP\r
3197         POP EBP\r
3198         RETN\r
3199 _read_char:\r
3200         PUSH EBP\r
3201         MOV EBP,ESP\r
3202         SUB ESP,1\r
3203 L_320:\r
3204         MOV ESI,_input_ptr\r
3205         INC _input_ptr\r
3206         MOVSX EAX,BYTE PTR [ESI]\r
3207         MOV BYTE PTR [EBP-1], AL\r
3208         AND EAX,EAX\r
3209         JNZ L_321\r
3210         CALL _readline\r
3211         AND EAX,EAX\r
3212         JNZ L_322\r
3213         CALL _clean_up\r
3214         PUSH _error_count\r
3215         CALL _exit\r
3216 L_322:\r
3217         JMP L_320\r
3218 L_321:\r
3219         MOVSX EAX,BYTE PTR [EBP-1]\r
3220         MOV ESP,EBP\r
3221         POP EBP\r
3222         RETN\r
3223 _unget_token:\r
3224         PUSH EBP\r
3225         MOV EBP,ESP\r
3226         MOV EAX,DWORD PTR [EBP+8]\r
3227         MOV _ungot_token, EAX\r
3228         POP EBP\r
3229         RETN 4\r
3230 _read_special:\r
3231         PUSH EBP\r
3232         MOV EBP,ESP\r
3233         SUB ESP,4\r
3234         CALL _read_char\r
3235         MOV DWORD PTR [EBP-4], EAX\r
3236         CMP AL,BYTE PTR [EBP+8]\r
3237         SETE AL\r
3238         AND AL,AL\r
3239         JZ L_324\r
3240         MOV EAX,65280\r
3241         JMP L_325\r
3242 L_324:\r
3243         MOV EAX,DWORD PTR [EBP-4]\r
3244         CMP EAX,92\r
3245         SETE AL\r
3246         AND AL,AL\r
3247         JZ L_326\r
3248         CALL _read_char\r
3249         MOV DWORD PTR [EBP-4], EAX\r
3250         JMP L_328\r
3251 L_329:\r
3252         MOV EAX,10\r
3253         MOV DWORD PTR [EBP-4], EAX\r
3254         JMP L_327\r
3255 L_330:\r
3256         MOV EAX,13\r
3257         MOV DWORD PTR [EBP-4], EAX\r
3258         JMP L_327\r
3259 L_331:\r
3260         MOV EAX,9\r
3261         MOV DWORD PTR [EBP-4], EAX\r
3262         JMP L_327\r
3263 L_332:\r
3264         MOV EAX,12\r
3265         MOV DWORD PTR [EBP-4], EAX\r
3266         JMP L_327\r
3267 L_333:\r
3268         MOV EAX,8\r
3269         MOV DWORD PTR [EBP-4], EAX\r
3270         JMP L_327\r
3271 L_334:\r
3272         MOV EAX,11\r
3273         MOV DWORD PTR [EBP-4], EAX\r
3274         JMP L_327\r
3275 L_335:\r
3276         PUSH 16\r
3277         PUSH 2\r
3278         CALL _get_number\r
3279         MOV DWORD PTR [EBP-4], EAX\r
3280         JMP L_327\r
3281 L_336:\r
3282         PUSH DWORD PTR [EBP-4]\r
3283         CALL _is_digit\r
3284         AND EAX,EAX\r
3285         JZ L_337\r
3286         DEC _input_ptr\r
3287         PUSH 8\r
3288         PUSH 3\r
3289         CALL _get_number\r
3290         MOV DWORD PTR [EBP-4], EAX\r
3291 L_337:\r
3292         JMP L_327\r
3293 L_328:\r
3294         CMP EAX,120\r
3295         JE L_335\r
3296         CMP EAX,118\r
3297         JE L_334\r
3298         CMP EAX,98\r
3299         JE L_333\r
3300         CMP EAX,102\r
3301         JE L_332\r
3302         CMP EAX,116\r
3303         JE L_331\r
3304         CMP EAX,114\r
3305         JE L_330\r
3306         CMP EAX,110\r
3307         JE L_329\r
3308         JMP L_336\r
3309 L_327:\r
3310 L_326:\r
3311         MOV EAX,DWORD PTR [EBP-4]\r
3312         AND EAX,255\r
3313 L_325:\r
3314         MOV ESP,EBP\r
3315         POP EBP\r
3316         RETN 4\r
3317 _get_token:\r
3318         PUSH EBP\r
3319         MOV EBP,ESP\r
3320         SUB ESP,13\r
3321         MOV EAX,_ungot_token\r
3322         AND EAX,EAX\r
3323         JZ L_338\r
3324         MOV EAX,_ungot_token\r
3325         MOV DWORD PTR [EBP-4], EAX\r
3326         XOR EAX,EAX\r
3327         MOV _ungot_token, EAX\r
3328         MOV EAX,DWORD PTR [EBP-4]\r
3329         JMP L_339\r
3330 L_338:\r
3331 L_340:\r
3332         CALL _read_char\r
3333         MOV BYTE PTR [EBP-13], AL\r
3334 L_341:\r
3335         MOVSX EAX,BYTE PTR [EBP-13]\r
3336         CMP EAX,32\r
3337         SETE AL\r
3338         AND AL,AL\r
3339         JNZ L_343\r
3340         MOVSX EAX,BYTE PTR [EBP-13]\r
3341         CMP EAX,9\r
3342         SETE AL\r
3343         AND AL,AL\r
3344         JNZ L_344\r
3345         MOVSX EAX,BYTE PTR [EBP-13]\r
3346         CMP EAX,10\r
3347         SETE AL\r
3348         AND AL,AL\r
3349         JNZ L_345\r
3350         MOVSX EAX,BYTE PTR [EBP-13]\r
3351         CMP EAX,13\r
3352         SETE AL\r
3353         AND AL,AL\r
3354 L_345:\r
3355 L_344:\r
3356 L_343:\r
3357         JNZ L_340\r
3358 L_342:\r
3359         DEC _input_ptr\r
3360         MOV EAX,_input_ptr\r
3361         MOV DWORD PTR [EBP-12], EAX\r
3362         MOV ESI,_input_ptr\r
3363         MOVSX EAX,BYTE PTR [ESI]\r
3364         MOV ESI,OFFSET _itoken\r
3365         ADD ESI,EAX\r
3366         XOR EAX,EAX\r
3367         MOV AL,BYTE PTR [ESI]\r
3368         XOR ECX,ECX\r
3369         CMP EAX,ECX\r
3370         SETNE AL\r
3371         AND AL,AL\r
3372         JZ L_346\r
3373         MOV ESI,_input_ptr\r
3374         MOVSX EAX,BYTE PTR [ESI]\r
3375         MOV ESI,OFFSET _itoken\r
3376         ADD ESI,EAX\r
3377         XOR EAX,EAX\r
3378         MOV AL,BYTE PTR [ESI]\r
3379         MOV DWORD PTR [EBP-4], EAX\r
3380 L_347:\r
3381         MOV EAX,DWORD PTR [EBP-4]\r
3382         SHL EAX,2\r
3383         MOV ESI,OFFSET _tokens\r
3384         ADD ESI,EAX\r
3385         MOV EAX,DWORD PTR [ESI]\r
3386         MOV DWORD PTR [EBP-8], EAX\r
3387         AND EAX,EAX\r
3388         JZ L_348\r
3389         JMP SHORT L_349\r
3390 L_350:\r
3391         INC DWORD PTR [EBP-4]\r
3392         MOV EAX,DWORD PTR [EBP-4]\r
3393         JMP SHORT L_347\r
3394 L_349:\r
3395         MOV ESI,_input_ptr\r
3396         MOV EBX,ESI\r
3397         MOV ESI,DWORD PTR [EBP-8]\r
3398         MOVSX EAX,BYTE PTR [EBX]\r
3399         CMP AL,BYTE PTR [ESI]\r
3400         SETNE AL\r
3401         AND AL,AL\r
3402         JZ L_351\r
3403         JMP L_348\r
3404 L_351:\r
3405 L_352:\r
3406         MOV ESI,_input_ptr\r
3407         MOVSX EAX,BYTE PTR [ESI]\r
3408         MOV BYTE PTR [EBP-13], AL\r
3409         AND EAX,EAX\r
3410         JZ L_354\r
3411         MOV ESI,DWORD PTR [EBP-8]\r
3412         MOVSX EAX,BYTE PTR [ESI]\r
3413         CMP AL,BYTE PTR [EBP-13]\r
3414         SETE AL\r
3415         AND AL,AL\r
3416 L_354:\r
3417         JZ L_353\r
3418         INC DWORD PTR [EBP-8]\r
3419         MOV EAX,DWORD PTR [EBP-8]\r
3420         INC _input_ptr\r
3421         MOV EAX,_input_ptr\r
3422         JMP L_352\r
3423 L_353:\r
3424         MOV ESI,DWORD PTR [EBP-8]\r
3425         MOVSX EAX,BYTE PTR [ESI]\r
3426         AND EAX,EAX\r
3427         JNZ L_355\r
3428         MOV EAX,DWORD PTR [EBP-8]\r
3429         SUB EAX,1\r
3430         MOV ESI,EAX ;IndexPtr\r
3431         MOVSX EAX,BYTE PTR [ESI]\r
3432         PUSH EAX\r
3433         CALL _is_alpha\r
3434         AND EAX,EAX\r
3435         JZ L_356\r
3436         MOV ESI,_input_ptr\r
3437         MOVSX EAX,BYTE PTR [ESI]\r
3438         PUSH EAX\r
3439         CALL _is_alpha\r
3440 L_356:\r
3441         AND EAX,EAX\r
3442         JZ L_357\r
3443         JMP L_350\r
3444 L_357:\r
3445         MOV EAX,DWORD PTR [EBP-4]\r
3446         JMP L_339\r
3447 L_355:\r
3448         MOV EAX,DWORD PTR [EBP-12]\r
3449         MOV _input_ptr, EAX\r
3450         JMP L_350\r
3451 L_348:\r
3452 L_346:\r
3453         MOV EAX,DWORD PTR [EBP-12]\r
3454         MOV _input_ptr, EAX\r
3455         MOV ESI,_input_ptr\r
3456         MOVSX EAX,BYTE PTR [ESI]\r
3457         MOV BYTE PTR [EBP-13], AL\r
3458         CMP EAX,34\r
3459         SETE AL\r
3460         AND AL,AL\r
3461         JZ L_358\r
3462         INC _input_ptr\r
3463         MOV EAX,_literal_top\r
3464         MOV _gvalue, EAX\r
3465 L_359:\r
3466         MOV EAX,_literal_top\r
3467         CMP EAX,10000\r
3468         SETAE AL\r
3469         AND AL,AL\r
3470         JZ L_362\r
3471         PUSH OFFSET L_lit+2286\r
3472         CALL _fatal_error\r
3473 L_362:\r
3474         MOV EAX,_literal_top\r
3475         INC _literal_top\r
3476         MOV ESI,OFFSET _literal_pool\r
3477         ADD ESI,EAX\r
3478         MOV EBX,ESI\r
3479         PUSH EBX\r
3480         PUSH 34\r
3481         CALL _read_special\r
3482         MOV DWORD PTR [EBP-4], EAX\r
3483         POP EDX\r
3484         MOV BYTE PTR [EDX], AL\r
3485 L_360:\r
3486         MOV EAX,DWORD PTR [EBP-4]\r
3487         AND EAX,65280\r
3488         JZ L_359\r
3489 L_361:\r
3490         MOV EAX,101\r
3491         JMP L_339\r
3492 L_358:\r
3493         MOVSX EAX,BYTE PTR [EBP-13]\r
3494         CMP EAX,39\r
3495         SETE AL\r
3496         AND AL,AL\r
3497         JZ L_363\r
3498         INC _input_ptr\r
3499         MOV EAX,_input_ptr\r
3500 L_364:\r
3501         PUSH 39\r
3502         CALL _read_special\r
3503         MOV DWORD PTR [EBP-4], EAX\r
3504         AND EAX,65280\r
3505         JNZ L_365\r
3506         MOV EAX,DWORD PTR [EBP-4]\r
3507         AND EAX,255\r
3508         MOV _gvalue, EAX\r
3509         JMP L_364\r
3510 L_365:\r
3511         MOV EAX,100\r
3512         JMP L_339\r
3513 L_363:\r
3514         MOVSX EAX,BYTE PTR [EBP-13]\r
3515         PUSH EAX\r
3516         CALL _is_digit\r
3517         AND EAX,EAX\r
3518         JZ L_366\r
3519         MOVSX EAX,BYTE PTR [EBP-13]\r
3520         CMP EAX,48\r
3521         SETE AL\r
3522         AND AL,AL\r
3523         JZ L_367\r
3524         INC _input_ptr\r
3525         MOV EAX,_input_ptr\r
3526         MOV ESI,_input_ptr\r
3527         MOVSX EAX,BYTE PTR [ESI]\r
3528         CMP EAX,120\r
3529         SETE AL\r
3530         AND AL,AL\r
3531         JNZ L_368\r
3532         MOV ESI,_input_ptr\r
3533         MOVSX EAX,BYTE PTR [ESI]\r
3534         CMP EAX,88\r
3535         SETE AL\r
3536         AND AL,AL\r
3537 L_368:\r
3538         JZ L_369\r
3539         INC _input_ptr\r
3540         PUSH 16\r
3541         XOR EAX,EAX\r
3542         PUSH EAX\r
3543         CALL _get_number\r
3544         MOV _gvalue, EAX\r
3545         JMP L_370\r
3546 L_369:\r
3547         PUSH 8\r
3548         XOR EAX,EAX\r
3549         PUSH EAX\r
3550         CALL _get_number\r
3551         MOV _gvalue, EAX\r
3552 L_370:\r
3553         JMP L_371\r
3554 L_367:\r
3555         PUSH 10\r
3556         XOR EAX,EAX\r
3557         PUSH EAX\r
3558         CALL _get_number\r
3559         MOV _gvalue, EAX\r
3560 L_371:\r
3561         MOV ESI,_input_ptr\r
3562         MOVSX EAX,BYTE PTR [ESI]\r
3563         CMP EAX,85\r
3564         SETE AL\r
3565         AND AL,AL\r
3566         JNZ L_372\r
3567         MOV ESI,_input_ptr\r
3568         MOVSX EAX,BYTE PTR [ESI]\r
3569         CMP EAX,117\r
3570         SETE AL\r
3571         AND AL,AL\r
3572 L_372:\r
3573         JZ L_373\r
3574         INC _input_ptr\r
3575         MOV EAX,_input_ptr\r
3576         MOV ESI,_input_ptr\r
3577         MOVSX EAX,BYTE PTR [ESI]\r
3578         CMP EAX,76\r
3579         SETE AL\r
3580         AND AL,AL\r
3581         JNZ L_374\r
3582         MOV ESI,_input_ptr\r
3583         MOVSX EAX,BYTE PTR [ESI]\r
3584         CMP EAX,108\r
3585         SETE AL\r
3586         AND AL,AL\r
3587 L_374:\r
3588         JZ L_375\r
3589         INC _input_ptr\r
3590         MOV EAX,_input_ptr\r
3591 L_375:\r
3592         JMP L_376\r
3593 L_373:\r
3594         MOV ESI,_input_ptr\r
3595         MOVSX EAX,BYTE PTR [ESI]\r
3596         CMP EAX,76\r
3597         SETE AL\r
3598         AND AL,AL\r
3599         JNZ L_377\r
3600         MOV ESI,_input_ptr\r
3601         MOVSX EAX,BYTE PTR [ESI]\r
3602         CMP EAX,108\r
3603         SETE AL\r
3604         AND AL,AL\r
3605 L_377:\r
3606         JZ L_378\r
3607         INC _input_ptr\r
3608         MOV EAX,_input_ptr\r
3609 L_378:\r
3610 L_376:\r
3611         MOV EAX,100\r
3612         JMP L_339\r
3613 L_366:\r
3614         MOVSX EAX,BYTE PTR [EBP-13]\r
3615         PUSH EAX\r
3616         CALL _is_alpha\r
3617         AND EAX,EAX\r
3618         JZ L_379\r
3619         XOR EAX,EAX\r
3620         MOV _gvalue, EAX\r
3621 L_380:\r
3622         MOV ESI,_input_ptr\r
3623         MOVSX EAX,BYTE PTR [ESI]\r
3624         MOV BYTE PTR [EBP-13], AL\r
3625         PUSH EAX\r
3626         CALL _is_alpha\r
3627         AND EAX,EAX\r
3628         JNZ L_382\r
3629         MOV ESI,_input_ptr\r
3630         MOVSX EAX,BYTE PTR [ESI]\r
3631         MOV BYTE PTR [EBP-13], AL\r
3632         PUSH EAX\r
3633         CALL _is_digit\r
3634 L_382:\r
3635         AND EAX,EAX\r
3636         JZ L_381\r
3637         MOV EAX,_gvalue\r
3638         CMP EAX,31\r
3639         SETB AL\r
3640         AND AL,AL\r
3641         JZ L_383\r
3642         MOV EAX,_gvalue\r
3643         INC _gvalue\r
3644         MOV ESI,OFFSET _gst\r
3645         ADD ESI,EAX\r
3646         MOVSX EAX,BYTE PTR [EBP-13]\r
3647         MOV BYTE PTR [ESI], AL\r
3648 L_383:\r
3649         INC _input_ptr\r
3650         MOV EAX,_input_ptr\r
3651         JMP L_380\r
3652 L_381:\r
3653         MOV EAX,_gvalue\r
3654         MOV ESI,OFFSET _gst\r
3655         ADD ESI,EAX\r
3656         XOR EAX,EAX\r
3657         MOV BYTE PTR [ESI], AL\r
3658         MOV EAX,_gvalue\r
3659         MOV _namesize, AL\r
3660         MOV EAX,103\r
3661         JMP L_339\r
3662 L_379:\r
3663         INC _input_ptr\r
3664         MOV EAX,-1\r
3665 L_339:\r
3666         MOV ESP,EBP\r
3667         POP EBP\r
3668         RETN\r
3669 _lookup_local:\r
3670         PUSH EBP\r
3671         MOV EBP,ESP\r
3672         SUB ESP,4\r
3673         MOV EAX,299\r
3674         MOV WORD PTR [EBP-2], AX\r
3675 L_384:\r
3676         MOV EAX,_local_top\r
3677         SUB EAX,1\r
3678         MOVZX ECX,WORD PTR [EBP-2]\r
3679         CMP EAX,ECX\r
3680         SETB AL\r
3681         AND AL,AL\r
3682         JZ L_385\r
3683         MOVZX EAX,WORD PTR [EBP-2]\r
3684         MOV ECX,24\r
3685         MUL ECX\r
3686         MOV ESI,OFFSET _symtab\r
3687         ADD ESI,EAX\r
3688         MOV EAX,DWORD PTR [ESI+8]\r
3689         MOV WORD PTR [EBP-4], AX\r
3690         PUSH OFFSET _gst\r
3691         MOVZX EAX,WORD PTR [EBP-4]\r
3692         MOV ESI,OFFSET _LPool\r
3693         ADD ESI,EAX\r
3694         PUSH ESI\r
3695         CALL _equal_string\r
3696         AND EAX,EAX\r
3697         JZ L_386\r
3698         MOVZX EAX,WORD PTR [EBP-2]\r
3699         MOV _sptr, EAX\r
3700         MOV ECX,24\r
3701         MUL ECX\r
3702         MOV ESI,OFFSET _symtab\r
3703         ADD ESI,EAX\r
3704         MOV EAX,DWORD PTR [ESI]\r
3705         OR EAX,4194304\r
3706         MOV DWORD PTR [ESI], EAX\r
3707         JMP L_387\r
3708 L_386:\r
3709         MOVZX EAX,WORD PTR [EBP-2]\r
3710         DEC WORD PTR [EBP-2]\r
3711         JMP L_384\r
3712 L_385:\r
3713         XOR EAX,EAX\r
3714 L_387:\r
3715         MOV ESP,EBP\r
3716         POP EBP\r
3717         RETN\r
3718 _lookup_global:\r
3719         PUSH EBP\r
3720         MOV EBP,ESP\r
3721         SUB ESP,4\r
3722         XOR EAX,EAX\r
3723         MOV WORD PTR [EBP-2], AX\r
3724 L_388:\r
3725         MOVZX EAX,WORD PTR [EBP-2]\r
3726         CMP EAX,_global_top\r
3727         SETB AL\r
3728         AND AL,AL\r
3729         JZ L_389\r
3730         JMP SHORT L_390\r
3731 L_391:\r
3732         MOVZX EAX,WORD PTR [EBP-2]\r
3733         INC WORD PTR [EBP-2]\r
3734         JMP SHORT L_388\r
3735 L_390:\r
3736         MOVZX EAX,WORD PTR [EBP-2]\r
3737         MOV ECX,24\r
3738         MUL ECX\r
3739         MOV ESI,OFFSET _symtab\r
3740         ADD ESI,EAX\r
3741         MOV EAX,DWORD PTR [ESI+8]\r
3742         MOV WORD PTR [EBP-4], AX\r
3743         PUSH OFFSET _gst\r
3744         MOVZX EAX,WORD PTR [EBP-4]\r
3745         MOV ESI,OFFSET _GPool\r
3746         ADD ESI,EAX\r
3747         PUSH ESI\r
3748         CALL _equal_string\r
3749         AND EAX,EAX\r
3750         JZ L_392\r
3751         MOVZX EAX,WORD PTR [EBP-2]\r
3752         MOV _sptr, EAX\r
3753         MOV ECX,24\r
3754         MUL ECX\r
3755         MOV ESI,OFFSET _symtab\r
3756         ADD ESI,EAX\r
3757         MOV EAX,DWORD PTR [ESI]\r
3758         OR EAX,4194304\r
3759         MOV DWORD PTR [ESI], EAX\r
3760         JMP L_393\r
3761 L_392:\r
3762         JMP L_391\r
3763 L_389:\r
3764         XOR EAX,EAX\r
3765 L_393:\r
3766         MOV ESP,EBP\r
3767         POP EBP\r
3768         RETN\r
3769 _lookup_member:\r
3770         PUSH EBP\r
3771         MOV EBP,ESP\r
3772         SUB ESP,6\r
3773         MOV EAX,31\r
3774         MOV WORD PTR [EBP-2], AX\r
3775 L_394:\r
3776         MOVZX EAX,WORD PTR [EBP-2]\r
3777         XOR ECX,ECX\r
3778         CMP EAX,ECX\r
3779         SETA AL\r
3780         AND AL,AL\r
3781         JZ L_395\r
3782         JMP SHORT L_396\r
3783 L_397:\r
3784         MOVZX EAX,WORD PTR [EBP-2]\r
3785         DEC WORD PTR [EBP-2]\r
3786         JMP SHORT L_394\r
3787 L_396:\r
3788         MOVZX EAX,WORD PTR [EBP-2]\r
3789         MOV ESI,OFFSET _gst\r
3790         ADD ESI,EAX\r
3791         MOVZX EAX,WORD PTR [EBP-2]\r
3792         MOV ECX,1\r
3793         SUB EAX,ECX\r
3794         MOV EBX,ESI\r
3795         MOV ESI,OFFSET _gst\r
3796         ADD ESI,EAX\r
3797         MOVSX EAX,BYTE PTR [ESI]\r
3798         MOV BYTE PTR [EBX], AL\r
3799         JMP L_397\r
3800 L_395:\r
3801         MOV ESI,OFFSET _gst\r
3802         MOV EAX,48\r
3803         MOV BYTE PTR [ESI], AL\r
3804         INC _namesize\r
3805         XOR EAX,EAX\r
3806         MOV AL,_namesize\r
3807         MOV EAX,DWORD PTR [EBP+8]\r
3808         MOV ECX,24\r
3809         MUL ECX\r
3810         MOV ESI,OFFSET _symtab\r
3811         ADD ESI,EAX\r
3812         MOV EAX,DWORD PTR [ESI+4]\r
3813         MOV WORD PTR [EBP-6], AX\r
3814         MOVZX EAX,WORD PTR [EBP-6]\r
3815         MOV ECX,24\r
3816         MUL ECX\r
3817         MOV ESI,OFFSET _symtab\r
3818         ADD ESI,EAX\r
3819         MOV EAX,DWORD PTR [ESI]\r
3820         AND EAX,2097152\r
3821         JZ L_398\r
3822         MOVZX EAX,WORD PTR [EBP-6]\r
3823         MOV ECX,1\r
3824         ADD EAX,ECX\r
3825         MOV WORD PTR [EBP-2], AX\r
3826 L_399:\r
3827         MOVZX EAX,WORD PTR [EBP-2]\r
3828         CMP EAX,_global_top\r
3829         SETB AL\r
3830         AND AL,AL\r
3831         JZ L_400\r
3832         JMP SHORT L_401\r
3833 L_402:\r
3834         MOVZX EAX,WORD PTR [EBP-2]\r
3835         INC WORD PTR [EBP-2]\r
3836         JMP SHORT L_399\r
3837 L_401:\r
3838         MOVZX EAX,WORD PTR [EBP-2]\r
3839         MOV ECX,24\r
3840         MUL ECX\r
3841         MOV ESI,OFFSET _symtab\r
3842         ADD ESI,EAX\r
3843         MOV EAX,DWORD PTR [ESI]\r
3844         AND EAX,67108864\r
3845         JNZ L_403\r
3846         JMP L_400\r
3847 L_403:\r
3848         MOVZX EAX,WORD PTR [EBP-2]\r
3849         MOV ECX,24\r
3850         MUL ECX\r
3851         MOV ESI,OFFSET _symtab\r
3852         ADD ESI,EAX\r
3853         MOV EAX,DWORD PTR [ESI+8]\r
3854         MOV WORD PTR [EBP-4], AX\r
3855         PUSH OFFSET _gst\r
3856         MOVZX EAX,WORD PTR [EBP-4]\r
3857         MOV ESI,OFFSET _GPool\r
3858         ADD ESI,EAX\r
3859         PUSH ESI\r
3860         CALL _equal_string\r
3861         AND EAX,EAX\r
3862         JZ L_404\r
3863         MOVZX EAX,WORD PTR [EBP-2]\r
3864         MOV _sptr, EAX\r
3865         MOV ECX,24\r
3866         MUL ECX\r
3867         MOV ESI,OFFSET _symtab\r
3868         ADD ESI,EAX\r
3869         MOV EAX,DWORD PTR [ESI]\r
3870         OR EAX,4194304\r
3871         MOV DWORD PTR [ESI], EAX\r
3872         JMP L_405\r
3873 L_404:\r
3874         JMP L_402\r
3875 L_400:\r
3876         JMP L_406\r
3877 L_398:\r
3878         MOVZX EAX,WORD PTR [EBP-6]\r
3879         MOV ECX,1\r
3880         SUB EAX,ECX\r
3881         MOV WORD PTR [EBP-2], AX\r
3882 L_407:\r
3883         MOV EAX,_local_top\r
3884         SUB EAX,1\r
3885         MOVZX ECX,WORD PTR [EBP-2]\r
3886         CMP EAX,ECX\r
3887         SETB AL\r
3888         AND AL,AL\r
3889         JZ L_408\r
3890         JMP SHORT L_409\r
3891 L_410:\r
3892         MOVZX EAX,WORD PTR [EBP-2]\r
3893         DEC WORD PTR [EBP-2]\r
3894         JMP SHORT L_407\r
3895 L_409:\r
3896         MOVZX EAX,WORD PTR [EBP-2]\r
3897         MOV ECX,24\r
3898         MUL ECX\r
3899         MOV ESI,OFFSET _symtab\r
3900         ADD ESI,EAX\r
3901         MOV EAX,DWORD PTR [ESI]\r
3902         AND EAX,67108864\r
3903         JNZ L_411\r
3904         JMP L_408\r
3905 L_411:\r
3906         MOVZX EAX,WORD PTR [EBP-2]\r
3907         MOV ECX,24\r
3908         MUL ECX\r
3909         MOV ESI,OFFSET _symtab\r
3910         ADD ESI,EAX\r
3911         MOV EAX,DWORD PTR [ESI+8]\r
3912         MOV WORD PTR [EBP-4], AX\r
3913         PUSH OFFSET _gst\r
3914         MOVZX EAX,WORD PTR [EBP-4]\r
3915         MOV ESI,OFFSET _LPool\r
3916         ADD ESI,EAX\r
3917         PUSH ESI\r
3918         CALL _equal_string\r
3919         AND EAX,EAX\r
3920         JZ L_412\r
3921         MOVZX EAX,WORD PTR [EBP-2]\r
3922         MOV _sptr, EAX\r
3923         MOV ECX,24\r
3924         MUL ECX\r
3925         MOV ESI,OFFSET _symtab\r
3926         ADD ESI,EAX\r
3927         MOV EAX,DWORD PTR [ESI]\r
3928         OR EAX,4194304\r
3929         MOV DWORD PTR [ESI], EAX\r
3930         JMP L_405\r
3931 L_412:\r
3932         JMP L_410\r
3933 L_408:\r
3934 L_406:\r
3935         XOR EAX,EAX\r
3936 L_405:\r
3937         MOV ESP,EBP\r
3938         POP EBP\r
3939         RETN 4\r
3940 _define_symbol:\r
3941         PUSH EBP\r
3942         MOV EBP,ESP\r
3943         SUB ESP,6\r
3944         MOV EAX,_in_function\r
3945         AND EAX,EAX\r
3946         JZ L_413\r
3947         MOV EAX,DWORD PTR [EBP+12]\r
3948         AND EAX,131072\r
3949         JZ L_414\r
3950         MOV ESI,OFFSET _gst\r
3951         MOV EAX,95\r
3952         MOV BYTE PTR [ESI], AL\r
3953         MOV EAX,1\r
3954         MOV ESI,OFFSET _gst\r
3955         ADD ESI,EAX\r
3956         MOV EAX,45\r
3957         MOV BYTE PTR [ESI], AL\r
3958         MOV EAX,2\r
3959         MOV ESI,OFFSET _gst\r
3960         ADD ESI,EAX\r
3961         MOV EAX,_arg_count\r
3962         ADD EAX,65\r
3963         MOV BYTE PTR [ESI], AL\r
3964         MOV EAX,3\r
3965         MOV ESI,OFFSET _gst\r
3966         ADD ESI,EAX\r
3967         XOR EAX,EAX\r
3968         MOV BYTE PTR [ESI], AL\r
3969         MOV EAX,3\r
3970         MOV _namesize, AL\r
3971         JMP L_415\r
3972 L_414:\r
3973         CALL _lookup_local\r
3974         AND EAX,EAX\r
3975         JZ L_416\r
3976         PUSH OFFSET L_lit+2308\r
3977         CALL _symbol_error\r
3978         JMP L_417\r
3979 L_416:\r
3980 L_415:\r
3981         DEC _local_top\r
3982         MOV EAX,_local_top\r
3983         MOV _sptr, EAX\r
3984         MOV EAX,DWORD PTR [EBP+12]\r
3985         AND EAX,32768\r
3986         JZ L_418\r
3987         MOV EAX,DWORD PTR [EBP+12]\r
3988         AND EAX,-131073\r
3989         MOV DWORD PTR [EBP+12], EAX\r
3990         MOV EAX,_icrntpro\r
3991         AND EAX,EAX\r
3992         JZ L_419\r
3993         MOV EAX,_icrntpro\r
3994         INC _icrntpro\r
3995         SHL EAX,2\r
3996         MOV ESI,OFFSET _proto_list\r
3997         ADD ESI,EAX\r
3998         MOV EAX,DWORD PTR [ESI]\r
3999         CMP EAX,DWORD PTR [EBP+12]\r
4000         SETNE AL\r
4001         AND AL,AL\r
4002         JZ L_420\r
4003         MOV EAX,_fptr\r
4004         MOV ECX,24\r
4005         MUL ECX\r
4006         MOV ESI,OFFSET _symtab\r
4007         ADD ESI,EAX\r
4008         MOV EAX,DWORD PTR [ESI+8]\r
4009         MOV WORD PTR [EBP-6], AX\r
4010         PUSH OFFSET L_lit+2331\r
4011         MOVZX EAX,WORD PTR [EBP-6]\r
4012         MOV ESI,OFFSET _GPool\r
4013         ADD ESI,EAX\r
4014         PUSH ESI\r
4015         CALL _t_warn\r
4016 L_420:\r
4017         JMP L_421\r
4018 L_419:\r
4019         MOV EAX,_iproto_next\r
4020         INC _iproto_next\r
4021         SHL EAX,2\r
4022         MOV ESI,OFFSET _proto_list\r
4023         ADD ESI,EAX\r
4024         MOV EAX,DWORD PTR [EBP+12]\r
4025         MOV DWORD PTR [ESI], EAX\r
4026 L_421:\r
4027         MOV EAX,_iproto_next\r
4028         CMP EAX,700\r
4029         SETA AL\r
4030         AND AL,AL\r
4031         JZ L_422\r
4032         PUSH OFFSET L_lit+2366\r
4033         CALL _fatal_error\r
4034 L_422:\r
4035         JMP L_423\r
4036 L_418:\r
4037         MOV EAX,_local_stack\r
4038         MOV DWORD PTR [EBP-4], EAX\r
4039 L_423:\r
4040         MOV EAX,_global_top\r
4041         CMP EAX,_local_top\r
4042         SETA AL\r
4043         AND AL,AL\r
4044         JZ L_424\r
4045         PUSH OFFSET L_lit+2387\r
4046         CALL _fatal_error\r
4047 L_424:\r
4048         MOV EAX,_oNextLName\r
4049         ADD EAX,31\r
4050         CMP EAX,300\r
4051         SETA AL\r
4052         AND AL,AL\r
4053         JZ L_425\r
4054         PUSH OFFSET L_lit+2405\r
4055         CALL _fatal_error\r
4056 L_425:\r
4057         MOV EAX,_sptr\r
4058         MOV ECX,24\r
4059         MUL ECX\r
4060         MOV ESI,OFFSET _symtab\r
4061         ADD ESI,EAX\r
4062         MOV EAX,_oNextLName\r
4063         MOV DWORD PTR [ESI+8], EAX\r
4064         MOV EAX,_oNextLName\r
4065         MOV ESI,OFFSET _LPool\r
4066         ADD ESI,EAX\r
4067         PUSH ESI\r
4068         PUSH OFFSET _gst\r
4069         CALL _copystring\r
4070         MOV EAX,_oNextLName\r
4071         XOR ECX,ECX\r
4072         MOV CL,_namesize\r
4073         ADD EAX,ECX\r
4074         MOV _oNextLName, EAX\r
4075         MOV EAX,_oNextLName\r
4076         INC _oNextLName\r
4077         MOV EAX,_sptr\r
4078         MOV ECX,24\r
4079         MUL ECX\r
4080         MOV ESI,OFFSET _symtab\r
4081         ADD ESI,EAX\r
4082         MOV EAX,DWORD PTR [EBP+12]\r
4083         MOV DWORD PTR [ESI], EAX\r
4084         MOV EAX,_sptr\r
4085         MOV ECX,24\r
4086         MUL ECX\r
4087         MOV ESI,OFFSET _symtab\r
4088         ADD ESI,EAX\r
4089         MOV EAX,DWORD PTR [EBP-4]\r
4090         MOV DWORD PTR [ESI+12], EAX\r
4091         MOV EAX,_sptr\r
4092         MOV ECX,24\r
4093         MUL ECX\r
4094         MOV ESI,OFFSET _symtab\r
4095         ADD ESI,EAX\r
4096         MOV EAX,DWORD PTR [EBP+8]\r
4097         MOV DWORD PTR [ESI+20], EAX\r
4098         JMP L_426\r
4099 L_413:\r
4100         MOV EAX,DWORD PTR [EBP+12]\r
4101         OR EAX,2097152\r
4102         MOV DWORD PTR [EBP+12], EAX\r
4103         CALL _lookup_global\r
4104         MOV DWORD PTR [EBP-4], EAX\r
4105         AND EAX,EAX\r
4106         JZ L_427\r
4107         MOV EAX,DWORD PTR [EBP-4]\r
4108         AND EAX,393216\r
4109         JZ L_428\r
4110         MOV EAX,DWORD PTR [EBP-4]\r
4111         OR EAX,5390336\r
4112         MOV EBX,EAX\r
4113         MOV EAX,DWORD PTR [EBP+12]\r
4114         OR EAX,5390336\r
4115         CMP EAX,EBX\r
4116         SETNE AL\r
4117         AND AL,AL\r
4118         JZ L_429\r
4119         PUSH OFFSET L_lit+2433\r
4120         CALL _symbol_error\r
4121 L_429:\r
4122         MOV EAX,_sptr\r
4123         MOV ECX,24\r
4124         MUL ECX\r
4125         MOV ESI,OFFSET _symtab\r
4126         ADD ESI,EAX\r
4127         MOV EAX,DWORD PTR [EBP+12]\r
4128         MOV DWORD PTR [ESI], EAX\r
4129         JMP L_417\r
4130 L_428:\r
4131         MOV EAX,DWORD PTR [EBP+12]\r
4132         AND EAX,67108864\r
4133         JZ L_431\r
4134         JMP L_432\r
4135 L_431:\r
4136         MOV EAX,DWORD PTR [EBP+12]\r
4137         AND EAX,33554432\r
4138         JZ L_433\r
4139         PUSH OFFSET _structname\r
4140         MOV EAX,_sptr\r
4141         MOV ECX,24\r
4142         MUL ECX\r
4143         MOV ESI,OFFSET _symtab\r
4144         ADD ESI,EAX\r
4145         MOV EAX,DWORD PTR [ESI+8]\r
4146         MOV ESI,OFFSET _GPool\r
4147         ADD ESI,EAX\r
4148         PUSH ESI\r
4149         CALL _equal_string\r
4150 L_433:\r
4151         AND EAX,EAX\r
4152         JZ L_434\r
4153         JMP L_435\r
4154 L_434:\r
4155         PUSH OFFSET L_lit+2461\r
4156         CALL _symbol_error\r
4157         JMP L_417\r
4158 L_435:\r
4159 L_432:\r
4160 L_430:\r
4161 L_427:\r
4162         MOV EAX,_global_top\r
4163         INC _global_top\r
4164         MOV _sptr, EAX\r
4165         MOV EAX,_global_count\r
4166         INC _global_count\r
4167         MOV DWORD PTR [EBP-4], EAX\r
4168         MOV EAX,_global_top\r
4169         CMP EAX,_local_top\r
4170         SETA AL\r
4171         AND AL,AL\r
4172         JZ L_436\r
4173         PUSH OFFSET L_lit+2478\r
4174         CALL _fatal_error\r
4175 L_436:\r
4176         MOV EAX,_oNextGName\r
4177         ADD EAX,31\r
4178         CMP EAX,15000\r
4179         SETA AL\r
4180         AND AL,AL\r
4181         JZ L_437\r
4182         PUSH OFFSET L_lit+2496\r
4183         CALL _fatal_error\r
4184 L_437:\r
4185         MOV EAX,_sptr\r
4186         MOV ECX,24\r
4187         MUL ECX\r
4188         MOV ESI,OFFSET _symtab\r
4189         ADD ESI,EAX\r
4190         MOV EAX,_oNextGName\r
4191         MOV DWORD PTR [ESI+8], EAX\r
4192         MOV EAX,_oNextGName\r
4193         MOV ESI,OFFSET _GPool\r
4194         ADD ESI,EAX\r
4195         PUSH ESI\r
4196         PUSH OFFSET _gst\r
4197         CALL _copystring\r
4198         MOV EAX,_oNextGName\r
4199         XOR ECX,ECX\r
4200         MOV CL,_namesize\r
4201         ADD EAX,ECX\r
4202         MOV _oNextGName, EAX\r
4203         MOV EAX,_oNextGName\r
4204         INC _oNextGName\r
4205         MOV EAX,_sptr\r
4206         MOV ECX,24\r
4207         MUL ECX\r
4208         MOV ESI,OFFSET _symtab\r
4209         ADD ESI,EAX\r
4210         MOV EAX,DWORD PTR [EBP+12]\r
4211         MOV DWORD PTR [ESI], EAX\r
4212         MOV EAX,_sptr\r
4213         MOV ECX,24\r
4214         MUL ECX\r
4215         MOV ESI,OFFSET _symtab\r
4216         ADD ESI,EAX\r
4217         MOV EAX,DWORD PTR [EBP-4]\r
4218         MOV DWORD PTR [ESI+12], EAX\r
4219         MOV EAX,_sptr\r
4220         MOV ECX,24\r
4221         MUL ECX\r
4222         MOV ESI,OFFSET _symtab\r
4223         ADD ESI,EAX\r
4224         MOV EAX,DWORD PTR [EBP+8]\r
4225         MOV DWORD PTR [ESI+20], EAX\r
4226 L_426:\r
4227 L_417:\r
4228         MOV ESP,EBP\r
4229         POP EBP\r
4230         RETN 8\r
4231 _push:\r
4232         PUSH EBP\r
4233         MOV EBP,ESP\r
4234         MOV EAX,_expr_ptr\r
4235         CMP EAX,20\r
4236         SETAE AL\r
4237         AND AL,AL\r
4238         JZ L_438\r
4239         PUSH OFFSET L_lit+2525\r
4240         CALL _fatal_error\r
4241 L_438:\r
4242         MOV EAX,_expr_ptr\r
4243         SHL EAX,4\r
4244         MOV ESI,OFFSET _expstk\r
4245         ADD ESI,EAX\r
4246         MOV EAX,DWORD PTR [EBP+20]\r
4247         MOV DWORD PTR [ESI], EAX\r
4248         MOV EAX,_expr_ptr\r
4249         SHL EAX,4\r
4250         MOV ESI,OFFSET _expstk\r
4251         ADD ESI,EAX\r
4252         MOV EAX,DWORD PTR [EBP+16]\r
4253         MOV DWORD PTR [ESI+4], EAX\r
4254         MOV EAX,_expr_ptr\r
4255         SHL EAX,4\r
4256         MOV ESI,OFFSET _expstk\r
4257         ADD ESI,EAX\r
4258         MOV EAX,DWORD PTR [EBP+12]\r
4259         MOV DWORD PTR [ESI+8], EAX\r
4260         MOV EAX,_expr_ptr\r
4261         SHL EAX,4\r
4262         MOV ESI,OFFSET _expstk\r
4263         ADD ESI,EAX\r
4264         MOV EAX,DWORD PTR [EBP+8]\r
4265         MOV DWORD PTR [ESI+12], EAX\r
4266         MOV EAX,_expr_ptr\r
4267         INC _expr_ptr\r
4268         POP EBP\r
4269         RETN 16\r
4270 _pop:\r
4271         PUSH EBP\r
4272         MOV EBP,ESP\r
4273         MOV EAX,_expr_ptr\r
4274         AND EAX,EAX\r
4275         JNZ L_439\r
4276         PUSH OFFSET L_lit+2551\r
4277         CALL _fatal_error\r
4278 L_439:\r
4279         MOV EAX,_expr_ptr\r
4280         DEC _expr_ptr\r
4281         MOV ESI,DWORD PTR [EBP+20]\r
4282         MOV EAX,_expr_ptr\r
4283         SHL EAX,4\r
4284         MOV EBX,ESI\r
4285         MOV ESI,OFFSET _expstk\r
4286         ADD ESI,EAX\r
4287         MOV EAX,DWORD PTR [ESI]\r
4288         MOV DWORD PTR [EBX], EAX\r
4289         MOV ESI,DWORD PTR [EBP+16]\r
4290         MOV EAX,_expr_ptr\r
4291         SHL EAX,4\r
4292         MOV EBX,ESI\r
4293         MOV ESI,OFFSET _expstk\r
4294         ADD ESI,EAX\r
4295         MOV EAX,DWORD PTR [ESI+4]\r
4296         MOV DWORD PTR [EBX], EAX\r
4297         MOV ESI,DWORD PTR [EBP+12]\r
4298         MOV EAX,_expr_ptr\r
4299         SHL EAX,4\r
4300         MOV EBX,ESI\r
4301         MOV ESI,OFFSET _expstk\r
4302         ADD ESI,EAX\r
4303         MOV EAX,DWORD PTR [ESI+8]\r
4304         MOV DWORD PTR [EBX], EAX\r
4305         MOV ESI,DWORD PTR [EBP+8]\r
4306         MOV EAX,_expr_ptr\r
4307         SHL EAX,4\r
4308         MOV EBX,ESI\r
4309         MOV ESI,OFFSET _expstk\r
4310         ADD ESI,EAX\r
4311         MOV EAX,DWORD PTR [ESI+12]\r
4312         MOV DWORD PTR [EBX], EAX\r
4313         POP EBP\r
4314         RETN 16\r
4315 _get_constant:\r
4316         PUSH EBP\r
4317         MOV EBP,ESP\r
4318         SUB ESP,8\r
4319         XOR EAX,EAX\r
4320         MOV _expr_ptr, EAX\r
4321         PUSH 25\r
4322         CALL _do_oper\r
4323         PUSH EAX\r
4324         CALL _unget_token\r
4325         PUSH DWORD PTR [EBP+12]\r
4326         PUSH DWORD PTR [EBP+8]\r
4327         LEA EAX,DWORD PTR [EBP-4]\r
4328         PUSH EAX\r
4329         LEA EAX,DWORD PTR [EBP-8]\r
4330         PUSH EAX\r
4331         CALL _pop\r
4332         MOV ESI,DWORD PTR [EBP+12]\r
4333         MOV EAX,DWORD PTR [ESI]\r
4334         CMP EAX,100\r
4335         SETNE AL\r
4336         AND AL,AL\r
4337         JZ L_440\r
4338         MOV ESI,DWORD PTR [EBP+12]\r
4339         MOV EAX,DWORD PTR [ESI]\r
4340         CMP EAX,101\r
4341         SETNE AL\r
4342         AND AL,AL\r
4343 L_440:\r
4344         JZ L_441\r
4345         PUSH OFFSET L_lit+2578\r
4346         CALL _line_error\r
4347 L_441:\r
4348         MOV ESP,EBP\r
4349         POP EBP\r
4350         RETN 8\r
4351 _define_var:\r
4352         PUSH EBP\r
4353         MOV EBP,ESP\r
4354         SUB ESP,54\r
4355         MOV EAX,_in_function\r
4356         CMP EAX,1\r
4357         SETA AL\r
4358         AND AL,AL\r
4359         JZ L_442\r
4360         PUSH OFFSET L_lit+2607\r
4361         CALL _line_error\r
4362 L_442:\r
4363         MOV EAX,DWORD PTR [EBP+8]\r
4364         AND EAX,16\r
4365         JZ L_443\r
4366         MOV EAX,1\r
4367         MOV DWORD PTR [EBP-24], EAX\r
4368         JMP L_444\r
4369 L_443:\r
4370         MOV EAX,DWORD PTR [EBP+8]\r
4371         AND EAX,32\r
4372         JZ L_445\r
4373         MOV EAX,2\r
4374         MOV DWORD PTR [EBP-24], EAX\r
4375         JMP L_446\r
4376 L_445:\r
4377         MOV EAX,DWORD PTR [EBP+8]\r
4378         AND EAX,64\r
4379         JZ L_447\r
4380         MOV EAX,4\r
4381         MOV DWORD PTR [EBP-24], EAX\r
4382         JMP L_448\r
4383 L_447:\r
4384         MOV EAX,DWORD PTR [EBP+8]\r
4385         AND EAX,512\r
4386         JZ L_449\r
4387         MOV EAX,_CrntStrucDef\r
4388         MOV ECX,24\r
4389         MUL ECX\r
4390         MOV ESI,OFFSET _symtab\r
4391         ADD ESI,EAX\r
4392         MOV EAX,DWORD PTR [ESI+16]\r
4393         MOV DWORD PTR [EBP-24], EAX\r
4394         JMP L_450\r
4395 L_449:\r
4396         PUSH OFFSET L_lit+2637\r
4397         CALL _line_error\r
4398 L_450:\r
4399 L_448:\r
4400 L_446:\r
4401 L_444:\r
4402         MOV EAX,DWORD PTR [EBP+8]\r
4403         AND EAX,32775\r
4404         JZ L_451\r
4405         MOV EAX,4\r
4406         MOV DWORD PTR [EBP-24], EAX\r
4407 L_451:\r
4408         MOV EAX,DWORD PTR [EBP-24]\r
4409         MOV DWORD PTR [EBP-32], EAX\r
4410         MOVSX EAX,_fInStruct\r
4411         AND EAX,EAX\r
4412         JZ L_452\r
4413         MOV EAX,DWORD PTR [EBP+8]\r
4414         OR EAX,83886080\r
4415         MOV DWORD PTR [EBP+8], EAX\r
4416         MOV EAX,31\r
4417         MOV DWORD PTR [EBP-28], EAX\r
4418 L_453:\r
4419         MOV EAX,DWORD PTR [EBP-28]\r
4420         CMP EAX,0\r
4421         SETA AL\r
4422         AND AL,AL\r
4423         JZ L_454\r
4424         JMP SHORT L_455\r
4425 L_456:\r
4426         MOV EAX,DWORD PTR [EBP-28]\r
4427         DEC DWORD PTR [EBP-28]\r
4428         JMP SHORT L_453\r
4429 L_455:\r
4430         MOV EAX,DWORD PTR [EBP-28]\r
4431         MOV ESI,OFFSET _gst\r
4432         ADD ESI,EAX\r
4433         MOV EAX,DWORD PTR [EBP-28]\r
4434         SUB EAX,1\r
4435         MOV EBX,ESI\r
4436         MOV ESI,OFFSET _gst\r
4437         ADD ESI,EAX\r
4438         MOVSX EAX,BYTE PTR [ESI]\r
4439         MOV BYTE PTR [EBX], AL\r
4440         JMP L_456\r
4441 L_454:\r
4442         MOV ESI,OFFSET _gst\r
4443         MOV EAX,48\r
4444         MOV BYTE PTR [ESI], AL\r
4445         INC _namesize\r
4446         XOR EAX,EAX\r
4447         MOV AL,_namesize\r
4448 L_452:\r
4449         MOV EAX,_dim_top\r
4450         MOV DWORD PTR [EBP-48], EAX\r
4451         XOR EAX,EAX\r
4452         MOV BYTE PTR [EBP-54], AL\r
4453         XOR EAX,EAX\r
4454         MOV DWORD PTR [EBP-44], EAX\r
4455 L_457:\r
4456         PUSH 37\r
4457         CALL _test_token\r
4458         AND EAX,EAX\r
4459         JZ L_458\r
4460         INC DWORD PTR [EBP-44]\r
4461         MOV EAX,DWORD PTR [EBP-44]\r
4462         INC _dim_top\r
4463         PUSH 38\r
4464         CALL _test_token\r
4465         AND EAX,EAX\r
4466         JZ L_459\r
4467         MOVSX EAX,BYTE PTR [EBP-54]\r
4468         AND EAX,EAX\r
4469         JNZ L_460\r
4470         MOV EAX,DWORD PTR [EBP-44]\r
4471         CMP EAX,1\r
4472         SETA AL\r
4473         AND AL,AL\r
4474 L_460:\r
4475         JZ L_461\r
4476         PUSH OFFSET L_lit+2660\r
4477         CALL _line_error\r
4478 L_461:\r
4479         DEC BYTE PTR [EBP-54]\r
4480         MOVSX EAX,BYTE PTR [EBP-54]\r
4481         MOV EAX,_dim_top\r
4482         SHL EAX,2\r
4483         MOV ESI,OFFSET _dim_pool\r
4484         ADD ESI,EAX\r
4485         MOV EAX,1\r
4486         MOV DWORD PTR [ESI], EAX\r
4487         MOV ECX,DWORD PTR [EBP-24]\r
4488         MUL ECX\r
4489         MOV DWORD PTR [EBP-24], EAX\r
4490         JMP L_457\r
4491 L_459:\r
4492         LEA EAX,DWORD PTR [EBP-4]\r
4493         PUSH EAX\r
4494         LEA EAX,DWORD PTR [EBP-16]\r
4495         PUSH EAX\r
4496         CALL _get_constant\r
4497         MOV EAX,DWORD PTR [EBP-4]\r
4498         CMP EAX,100\r
4499         SETNE AL\r
4500         AND AL,AL\r
4501         JZ L_462\r
4502         PUSH OFFSET L_lit+2693\r
4503         CALL _line_error\r
4504 L_462:\r
4505         MOV EAX,_dim_top\r
4506         SHL EAX,2\r
4507         MOV ESI,OFFSET _dim_pool\r
4508         ADD ESI,EAX\r
4509         MOV EAX,DWORD PTR [EBP-16]\r
4510         MOV DWORD PTR [ESI], EAX\r
4511         MOV ECX,DWORD PTR [EBP-24]\r
4512         MUL ECX\r
4513         MOV DWORD PTR [EBP-24], EAX\r
4514         PUSH 38\r
4515         CALL _expect\r
4516         JMP L_457\r
4517 L_458:\r
4518         MOV EAX,DWORD PTR [EBP-44]\r
4519         AND EAX,EAX\r
4520         JZ L_463\r
4521         MOV EAX,DWORD PTR [EBP+8]\r
4522         OR EAX,256\r
4523         MOV DWORD PTR [EBP+8], EAX\r
4524         MOV EAX,DWORD PTR [EBP-48]\r
4525         SHL EAX,2\r
4526         MOV ESI,OFFSET _dim_pool\r
4527         ADD ESI,EAX\r
4528         MOV EAX,DWORD PTR [EBP-44]\r
4529         MOV DWORD PTR [ESI], EAX\r
4530         INC _dim_top\r
4531         MOV EAX,_dim_top\r
4532         CMP EAX,100\r
4533         SETA AL\r
4534         AND AL,AL\r
4535         JZ L_464\r
4536         PUSH OFFSET L_lit+2719\r
4537         CALL _fatal_error\r
4538 L_464:\r
4539 L_463:\r
4540         PUSH 31\r
4541         CALL _test_token\r
4542         AND EAX,EAX\r
4543         JZ L_465\r
4544         MOV EAX,DWORD PTR [EBP+8]\r
4545         OR EAX,1048576\r
4546         MOV DWORD PTR [EBP+8], EAX\r
4547 L_465:\r
4548         MOV EAX,_local_stack\r
4549         ADD EAX,DWORD PTR [EBP-24]\r
4550         MOV _local_stack, EAX\r
4551         PUSH DWORD PTR [EBP+8]\r
4552         PUSH DWORD PTR [EBP-48]\r
4553         CALL _define_symbol\r
4554         MOV EAX,DWORD PTR [EBP+8]\r
4555         AND EAX,83886080\r
4556         JZ L_466\r
4557         MOV EAX,_sptr\r
4558         MOV ECX,24\r
4559         MUL ECX\r
4560         MOV ESI,OFFSET _symtab\r
4561         ADD ESI,EAX\r
4562         MOV EAX,_CrntStrucDef\r
4563         MOV DWORD PTR [ESI+4], EAX\r
4564         MOV EAX,_sptr\r
4565         MOV ECX,24\r
4566         MUL ECX\r
4567         MOV ESI,OFFSET _symtab\r
4568         ADD ESI,EAX\r
4569         MOV EAX,_CrntStrucDef\r
4570         MOV ECX,24\r
4571         MUL ECX\r
4572         MOV EBX,ESI\r
4573         MOV ESI,OFFSET _symtab\r
4574         ADD ESI,EAX\r
4575         MOV EAX,DWORD PTR [ESI+16]\r
4576         MOV DWORD PTR [EBX+16], EAX\r
4577         MOV EAX,_CrntStrucDef\r
4578         MOV ECX,24\r
4579         MUL ECX\r
4580         MOV ESI,OFFSET _symtab\r
4581         ADD ESI,EAX\r
4582         MOV EAX,DWORD PTR [ESI+16]\r
4583         ADD EAX,DWORD PTR [EBP-24]\r
4584         MOV DWORD PTR [ESI+16], EAX\r
4585 L_466:\r
4586         MOV EAX,DWORD PTR [EBP+8]\r
4587         AND EAX,512\r
4588         JZ L_467\r
4589         MOV EAX,_sptr\r
4590         MOV ECX,24\r
4591         MUL ECX\r
4592         MOV ESI,OFFSET _symtab\r
4593         ADD ESI,EAX\r
4594         MOV EAX,_CrntStrucDef\r
4595         MOV DWORD PTR [ESI+4], EAX\r
4596         MOV EAX,_sptr\r
4597         MOV ECX,24\r
4598         MUL ECX\r
4599         MOV ESI,OFFSET _symtab\r
4600         ADD ESI,EAX\r
4601         MOV EAX,_CrntStrucDef\r
4602         MOV ECX,24\r
4603         MUL ECX\r
4604         MOV EBX,ESI\r
4605         MOV ESI,OFFSET _symtab\r
4606         ADD ESI,EAX\r
4607         MOV EAX,DWORD PTR [ESI+16]\r
4608         MOV DWORD PTR [EBX+16], EAX\r
4609 L_467:\r
4610         MOV EAX,-1\r
4611         MOV BYTE PTR [EBP-53], AL\r
4612         XOR EAX,EAX\r
4613         MOV DWORD PTR [EBP-40], EAX\r
4614         XOR EAX,EAX\r
4615         MOV DWORD PTR [EBP-52], EAX\r
4616         MOV EAX,DWORD PTR [EBP+8]\r
4617         AND EAX,1048576\r
4618         JZ L_468\r
4619         MOV EAX,_in_function\r
4620         AND EAX,EAX\r
4621         JNZ L_469\r
4622         MOVSX EAX,_fInStruct\r
4623 L_469:\r
4624         AND EAX,EAX\r
4625         JZ L_470\r
4626         PUSH OFFSET L_lit+2740\r
4627         CALL _line_error\r
4628 L_470:\r
4629         PUSH _sptr\r
4630         CALL _data_global\r
4631         XOR EAX,EAX\r
4632         MOV DWORD PTR [EBP-36], EAX\r
4633         XOR EAX,EAX\r
4634         MOV DWORD PTR [EBP-20], EAX\r
4635 L_471:\r
4636         CALL _get_token\r
4637         MOV DWORD PTR [EBP-4], EAX\r
4638         JMP L_475\r
4639 L_476:\r
4640         MOVSX EAX,BYTE PTR [EBP-54]\r
4641         AND EAX,EAX\r
4642         JZ L_477\r
4643         MOV EAX,DWORD PTR [EBP-36]\r
4644         CMP EAX,1\r
4645         SETE AL\r
4646         AND AL,AL\r
4647 L_477:\r
4648         JZ L_478\r
4649         INC DWORD PTR [EBP-40]\r
4650         MOV EAX,DWORD PTR [EBP-40]\r
4651 L_478:\r
4652         MOV EAX,DWORD PTR [EBP-36]\r
4653         INC DWORD PTR [EBP-36]\r
4654         MOV EAX,DWORD PTR [EBP-36]\r
4655         CMP EAX,DWORD PTR [EBP-44]\r
4656         SETA AL\r
4657         AND AL,AL\r
4658         JZ L_479\r
4659         PUSH OFFSET L_lit+2763\r
4660         CALL _line_error\r
4661 L_479:\r
4662         MOV EAX,70\r
4663         MOV DWORD PTR [EBP-12], EAX\r
4664         MOV EAX,-1\r
4665         MOV BYTE PTR [EBP-53], AL\r
4666         JMP L_474\r
4667 L_480:\r
4668         MOV EAX,DWORD PTR [EBP-36]\r
4669         AND EAX,EAX\r
4670         JZ L_481\r
4671         DEC DWORD PTR [EBP-36]\r
4672         MOV EAX,DWORD PTR [EBP-36]\r
4673         JMP L_482\r
4674 L_481:\r
4675         PUSH OFFSET L_lit+2784\r
4676         CALL _line_error\r
4677 L_482:\r
4678         MOV EAX,DWORD PTR [EBP-44]\r
4679         CMP EAX,1\r
4680         SETA AL\r
4681         AND AL,AL\r
4682         JZ L_483\r
4683         MOV EAX,DWORD PTR [EBP-36]\r
4684 L_483:\r
4685         AND EAX,EAX\r
4686         JZ L_484\r
4687 L_485:\r
4688         MOV EAX,_dim_top\r
4689         SUB EAX,1\r
4690         SHL EAX,2\r
4691         MOV ESI,OFFSET _dim_pool\r
4692         ADD ESI,EAX\r
4693         MOV EAX,DWORD PTR [EBP-20]\r
4694         CMP EAX,DWORD PTR [ESI]\r
4695         SETB AL\r
4696         AND AL,AL\r
4697         JZ L_486\r
4698         PUSH 100\r
4699         XOR EAX,EAX\r
4700         PUSH EAX\r
4701         PUSH DWORD PTR [EBP-32]\r
4702         CALL _init_static\r
4703         INC DWORD PTR [EBP-20]\r
4704         MOV EAX,DWORD PTR [EBP-20]\r
4705         JMP L_485\r
4706 L_486:\r
4707 L_484:\r
4708         MOV EAX,DWORD PTR [EBP-52]\r
4709         ADD EAX,DWORD PTR [EBP-20]\r
4710         MOV DWORD PTR [EBP-52], EAX\r
4711         XOR EAX,EAX\r
4712         MOV DWORD PTR [EBP-20], EAX\r
4713         XOR EAX,EAX\r
4714         MOV BYTE PTR [EBP-53], AL\r
4715         MOV EAX,74\r
4716         MOV DWORD PTR [EBP-12], EAX\r
4717         JMP L_474\r
4718 L_487:\r
4719         MOV EAX,DWORD PTR [EBP-44]\r
4720         CMP EAX,1\r
4721         SETA AL\r
4722         AND AL,AL\r
4723         JZ L_488\r
4724         MOV EAX,DWORD PTR [EBP-36]\r
4725         CMP EAX,1\r
4726         SETE AL\r
4727         AND AL,AL\r
4728         JZ L_489\r
4729         MOV EAX,DWORD PTR [EBP-12]\r
4730         CMP EAX,101\r
4731         SETE AL\r
4732         AND AL,AL\r
4733         JZ L_490\r
4734         MOV EAX,DWORD PTR [EBP+8]\r
4735         AND EAX,7\r
4736         AND EAX,EAX\r
4737         SETZ AL\r
4738         AND AL,AL\r
4739 L_490:\r
4740 L_489:\r
4741 L_488:\r
4742         JZ L_491\r
4743 L_492:\r
4744         MOV EAX,_dim_top\r
4745         SUB EAX,1\r
4746         SHL EAX,2\r
4747         MOV ESI,OFFSET _dim_pool\r
4748         ADD ESI,EAX\r
4749         MOV EAX,DWORD PTR [EBP-20]\r
4750         CMP EAX,DWORD PTR [ESI]\r
4751         SETB AL\r
4752         AND AL,AL\r
4753         JZ L_493\r
4754         PUSH 100\r
4755         XOR EAX,EAX\r
4756         PUSH EAX\r
4757         PUSH DWORD PTR [EBP-32]\r
4758         CALL _init_static\r
4759         INC DWORD PTR [EBP-20]\r
4760         MOV EAX,DWORD PTR [EBP-20]\r
4761         JMP L_492\r
4762 L_493:\r
4763         MOV EAX,DWORD PTR [EBP-52]\r
4764         ADD EAX,DWORD PTR [EBP-20]\r
4765         MOV DWORD PTR [EBP-52], EAX\r
4766         XOR EAX,EAX\r
4767         MOV DWORD PTR [EBP-20], EAX\r
4768 L_491:\r
4769         MOV EAX,DWORD PTR [EBP-12]\r
4770         CMP EAX,74\r
4771         SETE AL\r
4772         AND AL,AL\r
4773         JZ L_494\r
4774         XOR EAX,EAX\r
4775         MOV BYTE PTR [EBP-53], AL\r
4776         JMP L_495\r
4777 L_494:\r
4778         MOV EAX,-1\r
4779         MOV BYTE PTR [EBP-53], AL\r
4780 L_495:\r
4781         MOV EAX,15\r
4782         MOV DWORD PTR [EBP-12], EAX\r
4783         JMP L_474\r
4784 L_496:\r
4785         MOV EAX,DWORD PTR [EBP-36]\r
4786         AND EAX,EAX\r
4787         SETZ AL\r
4788         AND AL,AL\r
4789         JZ L_497\r
4790         MOV EAX,DWORD PTR [EBP-44]\r
4791         CMP EAX,1\r
4792         SETE AL\r
4793         AND AL,AL\r
4794 L_497:\r
4795         JZ L_498\r
4796         MOV EAX,-1\r
4797         MOV BYTE PTR [EBP-53], AL\r
4798 L_498:\r
4799 L_499:\r
4800 L_500:\r
4801 L_501:\r
4802 L_502:\r
4803         PUSH DWORD PTR [EBP-4]\r
4804         CALL _unget_token\r
4805         MOVSX EAX,BYTE PTR [EBP-53]\r
4806         AND EAX,EAX\r
4807         JZ L_503\r
4808         MOVSX EAX,BYTE PTR [EBP-54]\r
4809         AND EAX,EAX\r
4810         JZ L_504\r
4811         MOV EAX,DWORD PTR [EBP-36]\r
4812         CMP EAX,1\r
4813         SETE AL\r
4814         AND AL,AL\r
4815 L_504:\r
4816         JZ L_505\r
4817         INC DWORD PTR [EBP-40]\r
4818         MOV EAX,DWORD PTR [EBP-40]\r
4819 L_505:\r
4820         LEA EAX,DWORD PTR [EBP-4]\r
4821         PUSH EAX\r
4822         LEA EAX,DWORD PTR [EBP-16]\r
4823         PUSH EAX\r
4824         CALL _get_constant\r
4825         MOV EAX,DWORD PTR [EBP-4]\r
4826         CMP EAX,101\r
4827         SETE AL\r
4828         AND AL,AL\r
4829         JZ L_506\r
4830         MOV EAX,DWORD PTR [EBP+8]\r
4831         AND EAX,7\r
4832         AND EAX,EAX\r
4833         SETZ AL\r
4834         AND AL,AL\r
4835 L_506:\r
4836         JZ L_507\r
4837 L_508:\r
4838         PUSH 100\r
4839         MOV EAX,DWORD PTR [EBP-16]\r
4840         MOV ESI,OFFSET _literal_pool\r
4841         ADD ESI,EAX\r
4842         MOVSX EAX,BYTE PTR [ESI]\r
4843         PUSH EAX\r
4844         PUSH DWORD PTR [EBP-32]\r
4845         CALL _init_static\r
4846         INC DWORD PTR [EBP-20]\r
4847         MOV EAX,DWORD PTR [EBP-20]\r
4848 L_509:\r
4849         INC DWORD PTR [EBP-16]\r
4850         MOV EAX,DWORD PTR [EBP-16]\r
4851         CMP EAX,_literal_top\r
4852         SETB AL\r
4853         AND AL,AL\r
4854         JNZ L_508\r
4855 L_510:\r
4856         MOV EAX,_gvalue\r
4857         MOV _literal_top, EAX\r
4858         MOV EAX,DWORD PTR [EBP-36]\r
4859         AND EAX,EAX\r
4860         SETZ AL\r
4861         AND AL,AL\r
4862         JZ L_511\r
4863         MOV EAX,DWORD PTR [EBP-44]\r
4864         CMP EAX,1\r
4865         SETE AL\r
4866         AND AL,AL\r
4867 L_511:\r
4868         JZ L_512\r
4869         MOV EAX,DWORD PTR [EBP-20]\r
4870         MOV DWORD PTR [EBP-52], EAX\r
4871         MOV EAX,DWORD PTR [EBP-20]\r
4872         MOV DWORD PTR [EBP-40], EAX\r
4873 L_512:\r
4874         JMP L_513\r
4875 L_507:\r
4876         PUSH DWORD PTR [EBP-4]\r
4877         PUSH DWORD PTR [EBP-16]\r
4878         PUSH DWORD PTR [EBP-32]\r
4879         CALL _init_static\r
4880         MOV EAX,DWORD PTR [EBP-44]\r
4881         AND EAX,EAX\r
4882         JNZ L_514\r
4883         INC DWORD PTR [EBP-52]\r
4884         MOV EAX,DWORD PTR [EBP-52]\r
4885 L_514:\r
4886         INC DWORD PTR [EBP-20]\r
4887         MOV EAX,DWORD PTR [EBP-20]\r
4888 L_513:\r
4889         MOV EAX,DWORD PTR [EBP-4]\r
4890         MOV DWORD PTR [EBP-12], EAX\r
4891         JMP L_515\r
4892 L_503:\r
4893         PUSH OFFSET L_lit+2802\r
4894         CALL _line_error\r
4895 L_515:\r
4896         JMP L_474\r
4897 L_516:\r
4898         MOV EAX,DWORD PTR [EBP-4]\r
4899         MOV DWORD PTR [EBP-12], EAX\r
4900         MOVSX EAX,BYTE PTR [EBP-53]\r
4901         AND EAX,EAX\r
4902         JZ L_517\r
4903         MOV EAX,DWORD PTR [EBP+8]\r
4904         AND EAX,7\r
4905         JZ L_518\r
4906         CALL _lookup_global\r
4907         MOV DWORD PTR [EBP-8], EAX\r
4908         AND EAX,EAX\r
4909         JZ L_519\r
4910         MOV EAX,DWORD PTR [EBP-8]\r
4911         AND EAX,278528\r
4912         JZ L_520\r
4913         PUSH OFFSET L_lit+2836\r
4914         CALL _symbol_error\r
4915         JMP L_521\r
4916 L_520:\r
4917         PUSH 103\r
4918         PUSH _sptr\r
4919         PUSH DWORD PTR [EBP-32]\r
4920         CALL _init_static\r
4921         MOV EAX,DWORD PTR [EBP-20]\r
4922         ADD EAX,DWORD PTR [EBP-32]\r
4923         MOV DWORD PTR [EBP-20], EAX\r
4924 L_521:\r
4925         JMP L_522\r
4926 L_519:\r
4927         PUSH OFFSET L_lit+2854\r
4928         CALL _symbol_error\r
4929 L_522:\r
4930         JMP L_523\r
4931 L_518:\r
4932         PUSH OFFSET L_lit+2864\r
4933         CALL _line_error\r
4934 L_523:\r
4935         JMP L_524\r
4936 L_517:\r
4937         PUSH OFFSET L_lit+2886\r
4938         CALL _line_error\r
4939 L_524:\r
4940         JMP L_474\r
4941 L_525:\r
4942         PUSH OFFSET L_lit+2920\r
4943         CALL _line_error\r
4944         JMP L_474\r
4945 L_475:\r
4946         CMP EAX,103\r
4947         JE L_516\r
4948         CMP EAX,2\r
4949         JE L_502\r
4950         CMP EAX,75\r
4951         JE L_501\r
4952         CMP EAX,19\r
4953         JE L_500\r
4954         CMP EAX,100\r
4955         JE L_499\r
4956         CMP EAX,101\r
4957         JE L_496\r
4958         CMP EAX,15\r
4959         JE L_487\r
4960         CMP EAX,74\r
4961         JE L_480\r
4962         CMP EAX,70\r
4963         JE L_476\r
4964         JMP L_525\r
4965 L_474:\r
4966 L_472:\r
4967         MOV EAX,DWORD PTR [EBP-36]\r
4968         AND EAX,EAX\r
4969         JNZ L_526\r
4970         MOV EAX,DWORD PTR [EBP-12]\r
4971         CMP EAX,15\r
4972         SETE AL\r
4973         AND AL,AL\r
4974 L_526:\r
4975         JZ L_527\r
4976         MOV EAX,DWORD PTR [EBP-4]\r
4977         CMP EAX,25\r
4978         SETNE AL\r
4979         AND AL,AL\r
4980 L_527:\r
4981         JNZ L_471\r
4982 L_473:\r
4983         MOV EAX,DWORD PTR [EBP-36]\r
4984         AND EAX,EAX\r
4985         JZ L_528\r
4986         PUSH 74\r
4987         CALL _expect\r
4988 L_528:\r
4989         MOVSX EAX,BYTE PTR [EBP-54]\r
4990         AND EAX,EAX\r
4991         JZ L_529\r
4992         MOV EAX,DWORD PTR [EBP-48]\r
4993         ADD EAX,1\r
4994         SHL EAX,2\r
4995         MOV ESI,OFFSET _dim_pool\r
4996         ADD ESI,EAX\r
4997         MOV EAX,DWORD PTR [EBP-40]\r
4998         MOV DWORD PTR [ESI], EAX\r
4999 L_529:\r
5000         MOV EAX,1\r
5001         MOV DWORD PTR [EBP-28], EAX\r
5002 L_530:\r
5003         MOV EAX,DWORD PTR [EBP-44]\r
5004         AND EAX,EAX\r
5005         JZ L_531\r
5006         MOV EAX,DWORD PTR [EBP-44]\r
5007         DEC DWORD PTR [EBP-44]\r
5008         ADD EAX,DWORD PTR [EBP-48]\r
5009         SHL EAX,2\r
5010         MOV ESI,OFFSET _dim_pool\r
5011         ADD ESI,EAX\r
5012         MOV EAX,DWORD PTR [EBP-28]\r
5013         MOV ECX,DWORD PTR [ESI]\r
5014         MUL ECX\r
5015         MOV DWORD PTR [EBP-28], EAX\r
5016         JMP L_530\r
5017 L_531:\r
5018 L_532:\r
5019         MOV EAX,DWORD PTR [EBP-52]\r
5020         CMP EAX,DWORD PTR [EBP-28]\r
5021         SETB AL\r
5022         AND AL,AL\r
5023         JZ L_533\r
5024         PUSH 100\r
5025         XOR EAX,EAX\r
5026         PUSH EAX\r
5027         PUSH DWORD PTR [EBP-32]\r
5028         CALL _init_static\r
5029         INC DWORD PTR [EBP-52]\r
5030         MOV EAX,DWORD PTR [EBP-52]\r
5031         JMP L_532\r
5032 L_533:\r
5033         MOV EAX,DWORD PTR [EBP-52]\r
5034         CMP EAX,DWORD PTR [EBP-28]\r
5035         SETA AL\r
5036         AND AL,AL\r
5037         JZ L_534\r
5038         PUSH OFFSET L_lit+2954\r
5039         CALL _line_error\r
5040 L_534:\r
5041         CALL _end_static\r
5042 L_468:\r
5043         MOV ESP,EBP\r
5044         POP EBP\r
5045         RETN 4\r
5046 _check_func:\r
5047         PUSH EBP\r
5048         MOV EBP,ESP\r
5049         MOV EAX,_in_function\r
5050         AND EAX,EAX\r
5051         JZ L_535\r
5052         MOV EAX,_in_function\r
5053         CMP EAX,2\r
5054         SETB AL\r
5055         AND AL,AL\r
5056         JZ L_536\r
5057         MOV EAX,2\r
5058         MOV _in_function, EAX\r
5059         PUSH _fptr\r
5060         PUSH _local_stack\r
5061         CALL _enter_func\r
5062 L_536:\r
5063         JMP L_537\r
5064 L_535:\r
5065         PUSH OFFSET L_lit+2978\r
5066         CALL _line_error\r
5067 L_537:\r
5068         POP EBP\r
5069         RETN\r
5070 _declare:\r
5071         PUSH EBP\r
5072         MOV EBP,ESP\r
5073         XOR EAX,EAX\r
5074         MOV _fInStruct, AL\r
5075 L_538:\r
5076         MOV EAX,DWORD PTR [EBP+12]\r
5077         JMP L_541\r
5078 L_542:\r
5079         MOV EAX,DWORD PTR [EBP+8]\r
5080         AND EAX,-33\r
5081         MOV DWORD PTR [EBP+8], EAX\r
5082         MOV EAX,DWORD PTR [EBP+8]\r
5083         OR EAX,16\r
5084         MOV DWORD PTR [EBP+8], EAX\r
5085         JMP L_540\r
5086 L_543:\r
5087         MOV EAX,DWORD PTR [EBP+8]\r
5088         AND EAX,64\r
5089         JNZ L_544\r
5090         MOV EAX,DWORD PTR [EBP+8]\r
5091         OR EAX,32\r
5092         MOV DWORD PTR [EBP+8], EAX\r
5093 L_544:\r
5094         JMP L_540\r
5095 L_545:\r
5096         MOV EAX,DWORD PTR [EBP+8]\r
5097         OR EAX,32\r
5098         MOV DWORD PTR [EBP+8], EAX\r
5099         JMP L_540\r
5100 L_546:\r
5101         MOV EAX,DWORD PTR [EBP+8]\r
5102         AND EAX,-33\r
5103         MOV DWORD PTR [EBP+8], EAX\r
5104         MOV EAX,DWORD PTR [EBP+8]\r
5105         OR EAX,64\r
5106         MOV DWORD PTR [EBP+8], EAX\r
5107         JMP L_540\r
5108 L_547:\r
5109         MOV EAX,DWORD PTR [EBP+8]\r
5110         OR EAX,32\r
5111         MOV DWORD PTR [EBP+8], EAX\r
5112         MOV EAX,DWORD PTR [EBP+8]\r
5113         OR EAX,128\r
5114         MOV DWORD PTR [EBP+8], EAX\r
5115         JMP L_540\r
5116 L_548:\r
5117         MOV EAX,DWORD PTR [EBP+8]\r
5118         OR EAX,32\r
5119         MOV DWORD PTR [EBP+8], EAX\r
5120         MOV EAX,DWORD PTR [EBP+8]\r
5121         AND EAX,-129\r
5122         MOV DWORD PTR [EBP+8], EAX\r
5123         JMP L_540\r
5124 L_549:\r
5125         MOV EAX,DWORD PTR [EBP+8]\r
5126         OR EAX,4096\r
5127         MOV DWORD PTR [EBP+8], EAX\r
5128         JMP L_540\r
5129 L_550:\r
5130         MOV EAX,DWORD PTR [EBP+8]\r
5131         OR EAX,33554432\r
5132         MOV DWORD PTR [EBP+8], EAX\r
5133         JMP L_540\r
5134 L_551:\r
5135         MOV EAX,DWORD PTR [EBP+8]\r
5136         OR EAX,2048\r
5137         MOV DWORD PTR [EBP+8], EAX\r
5138         JMP L_540\r
5139 L_552:\r
5140         MOV EAX,DWORD PTR [EBP+8]\r
5141         OR EAX,16384\r
5142         MOV DWORD PTR [EBP+8], EAX\r
5143         JMP L_540\r
5144 L_553:\r
5145         MOV EAX,DWORD PTR [EBP+8]\r
5146         OR EAX,1024\r
5147         MOV DWORD PTR [EBP+8], EAX\r
5148         JMP L_540\r
5149 L_554:\r
5150         MOV EAX,DWORD PTR [EBP+8]\r
5151         OR EAX,8388608\r
5152         MOV DWORD PTR [EBP+8], EAX\r
5153         JMP L_540\r
5154 L_555:\r
5155         MOV EAX,DWORD PTR [EBP+8]\r
5156         OR EAX,8\r
5157         MOV DWORD PTR [EBP+8], EAX\r
5158         JMP L_540\r
5159 L_556:\r
5160         MOV EAX,DWORD PTR [EBP+8]\r
5161         OR EAX,8192\r
5162         MOV DWORD PTR [EBP+8], EAX\r
5163         JMP L_540\r
5164 L_557:\r
5165 L_558:\r
5166         INC DWORD PTR [EBP+8]\r
5167         MOV EAX,DWORD PTR [EBP+8]\r
5168 L_559:\r
5169         PUSH 11\r
5170         CALL _test_token\r
5171         AND EAX,EAX\r
5172         JNZ L_558\r
5173 L_560:\r
5174         MOV EAX,DWORD PTR [EBP+8]\r
5175         AND EAX,32768\r
5176         JZ L_561\r
5177         PUSH 15\r
5178         CALL _test_token\r
5179 L_561:\r
5180         AND EAX,EAX\r
5181         JZ L_562\r
5182         MOV EAX,DWORD PTR [EBP+8]\r
5183         OR EAX,131072\r
5184         MOV DWORD PTR [EBP+8], EAX\r
5185         PUSH EAX\r
5186         CALL _define_var\r
5187         JMP L_563\r
5188 L_562:\r
5189         PUSH 103\r
5190         CALL _test_token\r
5191         AND EAX,EAX\r
5192         JNZ L_565\r
5193         CALL _syntax_error\r
5194 L_565:\r
5195 L_564:\r
5196 L_566:\r
5197         MOV EAX,DWORD PTR [EBP+8]\r
5198         AND EAX,33554432\r
5199         JZ L_567\r
5200         CALL _lookup_global\r
5201         AND EAX,EAX\r
5202         JZ L_568\r
5203         MOV EAX,_sptr\r
5204         MOV ECX,24\r
5205         MUL ECX\r
5206         MOV ESI,OFFSET _symtab\r
5207         ADD ESI,EAX\r
5208         MOV EAX,DWORD PTR [ESI]\r
5209         AND EAX,33554432\r
5210         JZ L_569\r
5211         MOV EAX,_sptr\r
5212         MOV _CrntStrucDef, EAX\r
5213         PUSH 11\r
5214         CALL _test_token\r
5215         AND EAX,EAX\r
5216         JZ L_570\r
5217 L_571:\r
5218         INC DWORD PTR [EBP+8]\r
5219         MOV EAX,DWORD PTR [EBP+8]\r
5220 L_572:\r
5221         PUSH 11\r
5222         CALL _test_token\r
5223         AND EAX,EAX\r
5224         JNZ L_571\r
5225 L_573:\r
5226 L_570:\r
5227         PUSH 103\r
5228         CALL _test_token\r
5229         AND EAX,EAX\r
5230         JNZ L_574\r
5231         PUSH OFFSET L_lit+3000\r
5232         CALL _line_error\r
5233         JMP L_563\r
5234 L_574:\r
5235         MOV EAX,DWORD PTR [EBP+8]\r
5236         AND EAX,-33554433\r
5237         MOV DWORD PTR [EBP+8], EAX\r
5238         MOV EAX,DWORD PTR [EBP+8]\r
5239         OR EAX,512\r
5240         MOV DWORD PTR [EBP+8], EAX\r
5241 L_575:\r
5242         JMP L_576\r
5243 L_569:\r
5244         PUSH OFFSET L_lit+3025\r
5245         CALL _line_error\r
5246 L_576:\r
5247         JMP L_577\r
5248 L_568:\r
5249         MOV EAX,DWORD PTR [EBP+8]\r
5250         OR EAX,16777216\r
5251         PUSH EAX\r
5252         XOR EAX,EAX\r
5253         PUSH EAX\r
5254         CALL _define_symbol\r
5255         MOV EAX,_sptr\r
5256         MOV _CrntStrucDef, EAX\r
5257         PUSH 70\r
5258         CALL _test_token\r
5259         AND EAX,EAX\r
5260         JNZ L_578\r
5261         PUSH OFFSET L_lit+3050\r
5262         CALL _line_error\r
5263         JMP L_579\r
5264 L_578:\r
5265         MOV EAX,1\r
5266         MOV _fInStruct, AL\r
5267         XOR EAX,EAX\r
5268         MOV DWORD PTR [EBP+8], EAX\r
5269         JMP L_540\r
5270 L_579:\r
5271 L_577:\r
5272 L_567:\r
5273         MOV EAX,DWORD PTR [EBP+8]\r
5274         AND EAX,32768\r
5275         JZ L_580\r
5276         PUSH DWORD PTR [EBP+8]\r
5277         CALL _define_var\r
5278         JMP L_563\r
5279 L_580:\r
5280         PUSH 8\r
5281         CALL _test_token\r
5282         AND EAX,EAX\r
5283         JZ L_581\r
5284         PUSH DWORD PTR [EBP+8]\r
5285         CALL _define_func\r
5286         JMP L_582\r
5287 L_581:\r
5288         PUSH DWORD PTR [EBP+8]\r
5289         CALL _define_var\r
5290 L_582:\r
5291         PUSH 15\r
5292         CALL _test_token\r
5293         AND EAX,EAX\r
5294         JZ L_583\r
5295         JMP L_540\r
5296 L_583:\r
5297         PUSH 25\r
5298         CALL _test_token\r
5299         MOVSX EAX,_fInStruct\r
5300         AND EAX,EAX\r
5301         JZ L_584\r
5302         XOR EAX,EAX\r
5303         MOV DWORD PTR [EBP+8], EAX\r
5304         JMP L_540\r
5305 L_584:\r
5306         JMP L_563\r
5307 L_585:\r
5308 L_586:\r
5309         MOV EAX,DWORD PTR [EBP+8]\r
5310         AND EAX,33554432\r
5311         JZ L_587\r
5312         PUSH OFFSET _gst\r
5313         PUSH OFFSET _structname\r
5314         CALL _copystring\r
5315         MOV EAX,11\r
5316         MOV _gvalue, EAX\r
5317         MOV EAX,DWORD PTR [EBP+8]\r
5318         OR EAX,16777216\r
5319         PUSH EAX\r
5320         XOR EAX,EAX\r
5321         PUSH EAX\r
5322         CALL _define_symbol\r
5323         MOV EAX,_sptr\r
5324         MOV _CrntStrucDef, EAX\r
5325         MOV EAX,1\r
5326         MOV _fInStruct, AL\r
5327         XOR EAX,EAX\r
5328         MOV DWORD PTR [EBP+8], EAX\r
5329         JMP L_540\r
5330 L_587:\r
5331         CALL _syntax_error\r
5332 L_588:\r
5333         JMP L_540\r
5334 L_589:\r
5335         MOVSX EAX,_fInStruct\r
5336         AND EAX,EAX\r
5337         JNZ L_590\r
5338         CALL _syntax_error\r
5339         JMP L_563\r
5340 L_590:\r
5341         MOV EAX,DWORD PTR [EBP+8]\r
5342         AND EAX,-33554433\r
5343         MOV DWORD PTR [EBP+8], EAX\r
5344         MOV EAX,DWORD PTR [EBP+8]\r
5345         OR EAX,512\r
5346         MOV DWORD PTR [EBP+8], EAX\r
5347         XOR EAX,EAX\r
5348         MOV _fInStruct, AL\r
5349 L_591:\r
5350         PUSH 25\r
5351         CALL _test_token\r
5352         AND EAX,EAX\r
5353         JZ L_592\r
5354         JMP L_563\r
5355 L_592:\r
5356         JMP L_540\r
5357 L_593:\r
5358         PUSH DWORD PTR [EBP+12]\r
5359         CALL _unget_token\r
5360 L_594:\r
5361         MOV EAX,DWORD PTR [EBP+8]\r
5362         AND EAX,32768\r
5363         JZ L_595\r
5364         MOV EAX,DWORD PTR [EBP+8]\r
5365         OR EAX,131072\r
5366         MOV DWORD PTR [EBP+8], EAX\r
5367         PUSH EAX\r
5368         CALL _define_var\r
5369         JMP L_563\r
5370 L_595:\r
5371         JMP L_540\r
5372 L_596:\r
5373         CALL _syntax_error\r
5374         JMP L_540\r
5375 L_541:\r
5376         CMP EAX,15\r
5377         JE L_594\r
5378         CMP EAX,9\r
5379         JE L_593\r
5380         CMP EAX,74\r
5381         JE L_589\r
5382         CMP EAX,70\r
5383         JE L_586\r
5384         CMP EAX,103\r
5385         JE L_566\r
5386         CMP EAX,11\r
5387         JE L_557\r
5388         CMP EAX,50\r
5389         JE L_556\r
5390         CMP EAX,68\r
5391         JE L_555\r
5392         CMP EAX,53\r
5393         JE L_554\r
5394         CMP EAX,57\r
5395         JE L_553\r
5396         CMP EAX,49\r
5397         JE L_552\r
5398         CMP EAX,44\r
5399         JE L_551\r
5400         CMP EAX,62\r
5401         JE L_550\r
5402         CMP EAX,61\r
5403         JE L_549\r
5404         CMP EAX,59\r
5405         JE L_548\r
5406         CMP EAX,66\r
5407         JE L_547\r
5408         CMP EAX,56\r
5409         JE L_546\r
5410         CMP EAX,64\r
5411         JE L_545\r
5412         CMP EAX,54\r
5413         JE L_543\r
5414         CMP EAX,43\r
5415         JE L_542\r
5416         JMP L_596\r
5417 L_540:\r
5418         MOV EAX,DWORD PTR [EBP+8]\r
5419         AND EAX,-264\r
5420         MOV DWORD PTR [EBP+8], EAX\r
5421         CALL _get_token\r
5422         MOV DWORD PTR [EBP+12], EAX\r
5423         JMP L_538\r
5424 L_539:\r
5425 L_563:\r
5426         POP EBP\r
5427         RETN 8\r
5428 _define_func:\r
5429         PUSH EBP\r
5430         MOV EBP,ESP\r
5431         SUB ESP,24\r
5432         XOR EAX,EAX\r
5433         MOV _icrntpro, EAX\r
5434         XOR EAX,EAX\r
5435         MOV DWORD PTR [EBP-16], EAX\r
5436         XOR EAX,EAX\r
5437         MOV _arg_count, EAX\r
5438         XOR EAX,EAX\r
5439         MOV _oNextLName, EAX\r
5440         MOV EAX,_in_function\r
5441         AND EAX,EAX\r
5442         JZ L_597\r
5443         PUSH OFFSET L_lit+3071\r
5444         CALL _line_error\r
5445         JMP L_598\r
5446 L_597:\r
5447         CALL _lookup_global\r
5448         MOV DWORD PTR [EBP-12], EAX\r
5449         AND EAX,EAX\r
5450         JZ L_599\r
5451         MOV EAX,DWORD PTR [EBP-12]\r
5452         AND EAX,131072\r
5453         JZ L_600\r
5454         MOV EAX,_sptr\r
5455         MOV ECX,24\r
5456         MUL ECX\r
5457         MOV ESI,OFFSET _symtab\r
5458         ADD ESI,EAX\r
5459         MOV EAX,DWORD PTR [ESI+20]\r
5460         MOV _icrntpro, EAX\r
5461 L_600:\r
5462         JMP L_601\r
5463 L_599:\r
5464         MOV EAX,DWORD PTR [EBP+8]\r
5465         OR EAX,262144\r
5466         OR EAX,2097152\r
5467         PUSH EAX\r
5468         XOR EAX,EAX\r
5469         PUSH EAX\r
5470         CALL _define_symbol\r
5471         MOV EAX,_sptr\r
5472         MOV ECX,24\r
5473         MUL ECX\r
5474         MOV ESI,OFFSET _symtab\r
5475         ADD ESI,EAX\r
5476         MOV EAX,_iproto_next\r
5477         MOV DWORD PTR [ESI+20], EAX\r
5478 L_601:\r
5479         MOV EAX,_sptr\r
5480         MOV _fptr, EAX\r
5481         MOV EAX,300\r
5482         MOV _local_top, EAX\r
5483         MOV EAX,_dim_top\r
5484         MOV DWORD PTR [EBP-8], EAX\r
5485         MOV EAX,1\r
5486         MOV _in_function, EAX\r
5487 L_602:\r
5488         CALL _get_token\r
5489         MOV DWORD PTR [EBP-4], EAX\r
5490         JMP L_606\r
5491 L_607:\r
5492 L_608:\r
5493 L_609:\r
5494 L_610:\r
5495 L_611:\r
5496 L_612:\r
5497 L_613:\r
5498 L_614:\r
5499 L_615:\r
5500         PUSH DWORD PTR [EBP-4]\r
5501         PUSH 32768\r
5502         CALL _declare\r
5503         MOV EAX,_arg_count\r
5504         ADD EAX,1\r
5505         MOV _arg_count, EAX\r
5506         JMP L_605\r
5507 L_616:\r
5508         JMP L_605\r
5509 L_617:\r
5510         MOV EAX,_iproto_next\r
5511         INC _iproto_next\r
5512         SHL EAX,2\r
5513         MOV ESI,OFFSET _proto_list\r
5514         ADD ESI,EAX\r
5515         MOV EAX,8\r
5516         MOV DWORD PTR [ESI], EAX\r
5517         MOV EAX,-1\r
5518         MOV DWORD PTR [EBP-16], EAX\r
5519         MOV EAX,_fptr\r
5520         MOV ECX,24\r
5521         MUL ECX\r
5522         MOV ESI,OFFSET _symtab\r
5523         ADD ESI,EAX\r
5524         MOV EAX,DWORD PTR [ESI]\r
5525         OR EAX,65536\r
5526         MOV DWORD PTR [ESI], EAX\r
5527         JMP L_605\r
5528 L_618:\r
5529         MOV EAX,_arg_count\r
5530         AND EAX,EAX\r
5531         JZ L_619\r
5532         CALL _syntax_error\r
5533 L_619:\r
5534 L_620:\r
5535         MOV EAX,DWORD PTR [EBP-16]\r
5536         AND EAX,EAX\r
5537         JNZ L_621\r
5538         MOV EAX,_iproto_next\r
5539         INC _iproto_next\r
5540         SHL EAX,2\r
5541         MOV ESI,OFFSET _proto_list\r
5542         ADD ESI,EAX\r
5543         MOV EAX,8\r
5544         MOV DWORD PTR [ESI], EAX\r
5545         MOV EAX,_iproto_next\r
5546         CMP EAX,700\r
5547         SETA AL\r
5548         AND AL,AL\r
5549         JZ L_622\r
5550         PUSH OFFSET L_lit+3110\r
5551         CALL _fatal_error\r
5552 L_622:\r
5553         MOV EAX,-1\r
5554         MOV DWORD PTR [EBP-16], EAX\r
5555         MOV EAX,DWORD PTR [EBP-4]\r
5556         CMP EAX,9\r
5557         SETE AL\r
5558         AND AL,AL\r
5559         JZ L_623\r
5560         PUSH DWORD PTR [EBP-4]\r
5561         CALL _unget_token\r
5562 L_623:\r
5563 L_621:\r
5564         JMP L_605\r
5565 L_606:\r
5566         CMP EAX,68\r
5567         JE L_618\r
5568         CMP EAX,20\r
5569         JE L_617\r
5570         CMP EAX,15\r
5571         JE L_616\r
5572         CMP EAX,62\r
5573         JE L_615\r
5574         CMP EAX,44\r
5575         JE L_614\r
5576         CMP EAX,8192\r
5577         JE L_613\r
5578         CMP EAX,43\r
5579         JE L_612\r
5580         CMP EAX,66\r
5581         JE L_611\r
5582         CMP EAX,59\r
5583         JE L_610\r
5584         CMP EAX,54\r
5585         JE L_609\r
5586         CMP EAX,56\r
5587         JE L_608\r
5588         CMP EAX,64\r
5589         JE L_607\r
5590         JMP L_620\r
5591 L_605:\r
5592 L_603:\r
5593         MOV EAX,DWORD PTR [EBP-16]\r
5594         AND EAX,EAX\r
5595         JZ L_602\r
5596 L_604:\r
5597         CALL _get_token\r
5598         MOV DWORD PTR [EBP-4], EAX\r
5599         MOV EAX,DWORD PTR [EBP-4]\r
5600         CMP EAX,9\r
5601         SETNE AL\r
5602         AND AL,AL\r
5603         JZ L_624\r
5604         CALL _syntax_error\r
5605 L_624:\r
5606         PUSH 25\r
5607         CALL _test_token\r
5608         AND EAX,EAX\r
5609         JZ L_625\r
5610         MOV EAX,_fptr\r
5611         MOV ECX,24\r
5612         MUL ECX\r
5613         MOV ESI,OFFSET _symtab\r
5614         ADD ESI,EAX\r
5615         MOV EAX,DWORD PTR [ESI]\r
5616         OR EAX,131072\r
5617         MOV DWORD PTR [ESI], EAX\r
5618         XOR EAX,EAX\r
5619         MOV _in_function, EAX\r
5620         XOR EAX,EAX\r
5621         MOV _exit_label, EAX\r
5622         XOR EAX,EAX\r
5623         MOV _exit_flag, EAX\r
5624         XOR EAX,EAX\r
5625         MOV _exit_used, EAX\r
5626         MOV EAX,DWORD PTR [EBP-8]\r
5627         MOV _dim_top, EAX\r
5628         MOV EAX,_fptr\r
5629         MOV ECX,24\r
5630         MUL ECX\r
5631         MOV ESI,OFFSET _symtab\r
5632         ADD ESI,EAX\r
5633         MOV EAX,DWORD PTR [ESI]\r
5634         AND EAX,16384\r
5635         JZ L_626\r
5636         PUSH _fptr\r
5637         CALL _gen_extern_DASM\r
5638 L_626:\r
5639         JMP L_627\r
5640 L_625:\r
5641         MOV EAX,_fptr\r
5642         MOV ECX,24\r
5643         MUL ECX\r
5644         MOV ESI,OFFSET _symtab\r
5645         ADD ESI,EAX\r
5646         MOV EAX,DWORD PTR [ESI]\r
5647         AND EAX,-131073\r
5648         MOV DWORD PTR [ESI], EAX\r
5649         MOV EAX,_fptr\r
5650         MOV ECX,24\r
5651         MUL ECX\r
5652         MOV ESI,OFFSET _symtab\r
5653         ADD ESI,EAX\r
5654         MOV EAX,DWORD PTR [ESI]\r
5655         OR EAX,262144\r
5656         MOV DWORD PTR [ESI], EAX\r
5657         XOR EAX,EAX\r
5658         MOV _local_stack, EAX\r
5659         XOR EAX,EAX\r
5660         MOV _exit_label, EAX\r
5661         XOR EAX,EAX\r
5662         MOV _exit_flag, EAX\r
5663         XOR EAX,EAX\r
5664         MOV _exit_used, EAX\r
5665         XOR EAX,EAX\r
5666         MOV DWORD PTR [EBP-24], EAX\r
5667         MOV EAX,_arg_count\r
5668         MOV DWORD PTR [EBP-20], EAX\r
5669 L_628:\r
5670         MOV EAX,DWORD PTR [EBP-20]\r
5671         CMP EAX,0\r
5672         SETA AL\r
5673         AND AL,AL\r
5674         JZ L_629\r
5675         JMP SHORT L_630\r
5676 L_631:\r
5677         MOV EAX,DWORD PTR [EBP-20]\r
5678         DEC DWORD PTR [EBP-20]\r
5679         JMP SHORT L_628\r
5680 L_630:\r
5681         MOV EAX,_fptr\r
5682         MOV ECX,24\r
5683         MUL ECX\r
5684         MOV ESI,OFFSET _symtab\r
5685         ADD ESI,EAX\r
5686         MOV EAX,DWORD PTR [ESI]\r
5687         AND EAX,8192\r
5688         JZ L_632\r
5689         MOV EAX,300\r
5690         SUB EAX,DWORD PTR [EBP-20]\r
5691         MOV ECX,24\r
5692         MUL ECX\r
5693         MOV ESI,OFFSET _symtab\r
5694         ADD ESI,EAX\r
5695         MOV EAX,DWORD PTR [EBP-24]\r
5696         ADD EAX,12\r
5697         MOV DWORD PTR [ESI+12], EAX\r
5698         JMP L_633\r
5699 L_632:\r
5700         MOV EAX,300\r
5701         SUB EAX,DWORD PTR [EBP-20]\r
5702         MOV ECX,24\r
5703         MUL ECX\r
5704         MOV ESI,OFFSET _symtab\r
5705         ADD ESI,EAX\r
5706         MOV EAX,DWORD PTR [EBP-24]\r
5707         ADD EAX,8\r
5708         MOV DWORD PTR [ESI+12], EAX\r
5709 L_633:\r
5710         MOV EAX,DWORD PTR [EBP-24]\r
5711         ADD EAX,4\r
5712         MOV DWORD PTR [EBP-24], EAX\r
5713         JMP L_631\r
5714 L_629:\r
5715         CALL _get_token\r
5716         MOV DWORD PTR [EBP-4], EAX\r
5717         PUSH EAX\r
5718         CALL _statement\r
5719         CALL _check_func\r
5720         MOV EAX,_exit_label\r
5721         AND EAX,EAX\r
5722         JZ L_634\r
5723         MOV EAX,_exit_used\r
5724 L_634:\r
5725         AND EAX,EAX\r
5726         JZ L_635\r
5727         PUSH _exit_label\r
5728         CALL _gen_label\r
5729 L_635:\r
5730         MOV EAX,_fptr\r
5731         MOV ECX,24\r
5732         MUL ECX\r
5733         MOV ESI,OFFSET _symtab\r
5734         ADD ESI,EAX\r
5735         MOV EAX,DWORD PTR [ESI]\r
5736         AND EAX,65536\r
5737         JZ L_636\r
5738         XOR EAX,EAX\r
5739         PUSH EAX\r
5740         CALL _end_func\r
5741         JMP L_637\r
5742 L_636:\r
5743         PUSH DWORD PTR [EBP-24]\r
5744         CALL _end_func\r
5745 L_637:\r
5746         XOR EAX,EAX\r
5747         MOV _in_function, EAX\r
5748         XOR EAX,EAX\r
5749         MOV _exit_label, EAX\r
5750         XOR EAX,EAX\r
5751         MOV _exit_flag, EAX\r
5752         XOR EAX,EAX\r
5753         MOV _exit_used, EAX\r
5754         MOV EAX,DWORD PTR [EBP-8]\r
5755         MOV _dim_top, EAX\r
5756 L_638:\r
5757         MOV EAX,_local_top\r
5758         CMP EAX,300\r
5759         SETB AL\r
5760         AND AL,AL\r
5761         JZ L_639\r
5762         MOV EAX,_local_top\r
5763         MOV ECX,24\r
5764         MUL ECX\r
5765         MOV ESI,OFFSET _symtab\r
5766         ADD ESI,EAX\r
5767         MOV EAX,DWORD PTR [ESI]\r
5768         MOV DWORD PTR [EBP-4], EAX\r
5769         AND EAX,16384\r
5770         JZ L_640\r
5771         PUSH OFFSET L_lit+3131\r
5772         MOV EAX,_local_top\r
5773         MOV ECX,24\r
5774         MUL ECX\r
5775         MOV ESI,OFFSET _symtab\r
5776         ADD ESI,EAX\r
5777         MOV EAX,DWORD PTR [ESI+8]\r
5778         MOV ESI,OFFSET _LPool\r
5779         ADD ESI,EAX\r
5780         PUSH ESI\r
5781         CALL _t_error\r
5782 L_640:\r
5783         MOV EAX,DWORD PTR [EBP-4]\r
5784         AND EAX,4194304\r
5785         JNZ L_641\r
5786         PUSH OFFSET L_lit+3142\r
5787         MOV EAX,_local_top\r
5788         MOV ECX,24\r
5789         MUL ECX\r
5790         MOV ESI,OFFSET _symtab\r
5791         ADD ESI,EAX\r
5792         MOV EAX,DWORD PTR [ESI+8]\r
5793         MOV ESI,OFFSET _LPool\r
5794         ADD ESI,EAX\r
5795         PUSH ESI\r
5796         CALL _t_warn\r
5797 L_641:\r
5798         INC _local_top\r
5799         MOV EAX,_local_top\r
5800         JMP L_638\r
5801 L_639:\r
5802 L_627:\r
5803 L_598:\r
5804         MOV ESP,EBP\r
5805         POP EBP\r
5806         RETN 4\r
5807 _write_oper:\r
5808         PUSH EBP\r
5809         MOV EBP,ESP\r
5810         MOV EAX,DWORD PTR [EBP+20]\r
5811         JMP L_643\r
5812 L_644:\r
5813         PUSH OFFSET L_lit+3155\r
5814         CALL _code_str\r
5815         JMP L_642\r
5816 L_645:\r
5817         PUSH DWORD PTR [EBP+16]\r
5818         CALL _code_num\r
5819         JMP L_642\r
5820 L_646:\r
5821         PUSH OFFSET L_lit+3159\r
5822         CALL _code_str\r
5823         MOVSX EAX,_prefix\r
5824         PUSH EAX\r
5825         CALL _code_chr\r
5826         PUSH OFFSET L_lit+3167\r
5827         CALL _code_str\r
5828         PUSH DWORD PTR [EBP+16]\r
5829         CALL _code_num\r
5830         JMP L_642\r
5831 L_647:\r
5832         MOV EAX,DWORD PTR [EBP+12]\r
5833         AND EAX,2097152\r
5834         JZ L_648\r
5835         PUSH 95\r
5836         CALL _code_chr\r
5837         MOV EAX,DWORD PTR [EBP+16]\r
5838         MOV ECX,24\r
5839         MUL ECX\r
5840         MOV ESI,OFFSET _symtab\r
5841         ADD ESI,EAX\r
5842         MOV EAX,DWORD PTR [ESI+8]\r
5843         MOV ESI,OFFSET _GPool\r
5844         ADD ESI,EAX\r
5845         PUSH ESI\r
5846         CALL _code_str\r
5847         JMP L_642\r
5848 L_648:\r
5849         MOV EAX,DWORD PTR [EBP+12]\r
5850         AND EAX,32768\r
5851         JZ L_649\r
5852         MOV EAX,_fptr\r
5853         MOV ECX,24\r
5854         MUL ECX\r
5855         MOV ESI,OFFSET _symtab\r
5856         ADD ESI,EAX\r
5857         MOV EAX,DWORD PTR [ESI]\r
5858         AND EAX,65536\r
5859         JZ L_650\r
5860         MOV EAX,DWORD PTR [EBP+12]\r
5861         AND EAX,71\r
5862         JZ L_651\r
5863         PUSH OFFSET L_lit+3173\r
5864         CALL _code_str\r
5865         JMP L_652\r
5866 L_651:\r
5867         MOV EAX,DWORD PTR [EBP+12]\r
5868         AND EAX,32\r
5869         JZ L_653\r
5870         PUSH OFFSET L_lit+3193\r
5871         CALL _code_str\r
5872         JMP L_654\r
5873 L_653:\r
5874         PUSH OFFSET L_lit+3212\r
5875         CALL _code_str\r
5876 L_654:\r
5877 L_652:\r
5878         MOV EAX,DWORD PTR [EBP+16]\r
5879         MOV ECX,24\r
5880         MUL ECX\r
5881         MOV ESI,OFFSET _symtab\r
5882         ADD ESI,EAX\r
5883         PUSH DWORD PTR [ESI+12]\r
5884         CALL _code_num\r
5885         PUSH 93\r
5886         CALL _code_chr\r
5887         JMP L_655\r
5888 L_650:\r
5889         MOV EAX,DWORD PTR [EBP+12]\r
5890         AND EAX,71\r
5891         JZ L_656\r
5892         PUSH OFFSET L_lit+3231\r
5893         CALL _code_str\r
5894         JMP L_657\r
5895 L_656:\r
5896         MOV EAX,DWORD PTR [EBP+12]\r
5897         AND EAX,32\r
5898         JZ L_658\r
5899         PUSH OFFSET L_lit+3247\r
5900         CALL _code_str\r
5901         JMP L_659\r
5902 L_658:\r
5903         PUSH OFFSET L_lit+3262\r
5904         CALL _code_str\r
5905 L_659:\r
5906 L_657:\r
5907         MOV EAX,DWORD PTR [EBP+16]\r
5908         MOV ECX,24\r
5909         MUL ECX\r
5910         MOV ESI,OFFSET _symtab\r
5911         ADD ESI,EAX\r
5912         PUSH DWORD PTR [ESI+12]\r
5913         CALL _code_num\r
5914         PUSH 93\r
5915         CALL _code_chr\r
5916 L_655:\r
5917         JMP L_660\r
5918 L_649:\r
5919         MOV EAX,DWORD PTR [EBP+12]\r
5920         AND EAX,71\r
5921         JZ L_661\r
5922         PUSH OFFSET L_lit+3277\r
5923         CALL _code_str\r
5924         JMP L_662\r
5925 L_661:\r
5926         MOV EAX,DWORD PTR [EBP+12]\r
5927         AND EAX,32\r
5928         JZ L_663\r
5929         PUSH OFFSET L_lit+3293\r
5930         CALL _code_str\r
5931         JMP L_664\r
5932 L_663:\r
5933         PUSH OFFSET L_lit+3308\r
5934         CALL _code_str\r
5935 L_664:\r
5936 L_662:\r
5937         MOV EAX,DWORD PTR [EBP+16]\r
5938         MOV ECX,24\r
5939         MUL ECX\r
5940         MOV ESI,OFFSET _symtab\r
5941         ADD ESI,EAX\r
5942         PUSH DWORD PTR [ESI+12]\r
5943         CALL _code_num\r
5944         PUSH 93\r
5945         CALL _code_chr\r
5946 L_660:\r
5947         JMP L_642\r
5948 L_665:\r
5949         PUSH OFFSET L_lit+3323\r
5950         CALL _code_str\r
5951         JMP L_642\r
5952 L_666:\r
5953         PUSH OFFSET L_lit+3327\r
5954         CALL _code_str\r
5955         JMP L_642\r
5956 L_667:\r
5957 L_668:\r
5958 L_669:\r
5959 L_670:\r
5960         MOV EAX,DWORD PTR [EBP+12]\r
5961         AND EAX,71\r
5962         JZ L_671\r
5963         PUSH OFFSET L_lit+3331\r
5964         CALL _code_str\r
5965         JMP L_672\r
5966 L_671:\r
5967         MOV EAX,DWORD PTR [EBP+12]\r
5968         AND EAX,32\r
5969         JZ L_673\r
5970         PUSH OFFSET L_lit+3342\r
5971         CALL _code_str\r
5972         JMP L_674\r
5973 L_673:\r
5974         PUSH OFFSET L_lit+3352\r
5975         CALL _code_str\r
5976 L_674:\r
5977 L_672:\r
5978         MOV EAX,DWORD PTR [EBP+8]\r
5979         AND EAX,EAX\r
5980         JZ L_675\r
5981         MOV EAX,DWORD PTR [EBP+20]\r
5982         CMP EAX,109\r
5983         SETE AL\r
5984         AND AL,AL\r
5985         JZ L_676\r
5986         PUSH OFFSET L_lit+3362\r
5987         CALL _code_str\r
5988         JMP L_677\r
5989 L_676:\r
5990         MOV EAX,DWORD PTR [EBP+20]\r
5991         CMP EAX,107\r
5992         SETE AL\r
5993         AND AL,AL\r
5994         JZ L_678\r
5995         PUSH OFFSET L_lit+3368\r
5996         CALL _code_str\r
5997         JMP L_679\r
5998 L_678:\r
5999         MOV EAX,DWORD PTR [EBP+20]\r
6000         CMP EAX,108\r
6001         SETE AL\r
6002         AND AL,AL\r
6003         JZ L_680\r
6004         PUSH OFFSET L_lit+3374\r
6005         CALL _code_str\r
6006         JMP L_681\r
6007 L_680:\r
6008         PUSH OFFSET L_lit+3380\r
6009         CALL _code_str\r
6010 L_681:\r
6011 L_679:\r
6012 L_677:\r
6013         PUSH DWORD PTR [EBP+8]\r
6014         CALL _code_num\r
6015         PUSH 93\r
6016         CALL _code_chr\r
6017         JMP L_682\r
6018 L_675:\r
6019         MOV EAX,DWORD PTR [EBP+20]\r
6020         CMP EAX,109\r
6021         SETE AL\r
6022         AND AL,AL\r
6023         JZ L_683\r
6024         PUSH OFFSET L_lit+3386\r
6025         CALL _code_str\r
6026         JMP L_684\r
6027 L_683:\r
6028         MOV EAX,DWORD PTR [EBP+20]\r
6029         CMP EAX,108\r
6030         SETE AL\r
6031         AND AL,AL\r
6032         JZ L_685\r
6033         PUSH OFFSET L_lit+3392\r
6034         CALL _code_str\r
6035         JMP L_686\r
6036 L_685:\r
6037         MOV EAX,DWORD PTR [EBP+20]\r
6038         CMP EAX,107\r
6039         SETE AL\r
6040         AND AL,AL\r
6041         JZ L_687\r
6042         PUSH OFFSET L_lit+3398\r
6043         CALL _code_str\r
6044         JMP L_688\r
6045 L_687:\r
6046         PUSH OFFSET L_lit+3404\r
6047         CALL _code_str\r
6048 L_688:\r
6049 L_686:\r
6050 L_684:\r
6051 L_682:\r
6052         JMP L_642\r
6053 L_689:\r
6054         PUSH OFFSET L_lit+3410\r
6055         CALL _code_str\r
6056         JMP L_642\r
6057 L_690:\r
6058 L_691:\r
6059 L_692:\r
6060         PUSH DWORD PTR [EBP+20]\r
6061         CALL _code_num\r
6062         PUSH OFFSET L_lit+3414\r
6063         CALL _code_str\r
6064         JMP L_642\r
6065 L_643:\r
6066         CMP EAX,112\r
6067         JE L_691\r
6068         CMP EAX,113\r
6069         JE L_690\r
6070         CMP EAX,110\r
6071         JE L_689\r
6072         CMP EAX,111\r
6073         JE L_670\r
6074         CMP EAX,107\r
6075         JE L_669\r
6076         CMP EAX,108\r
6077         JE L_668\r
6078         CMP EAX,109\r
6079         JE L_667\r
6080         CMP EAX,106\r
6081         JE L_666\r
6082         CMP EAX,105\r
6083         JE L_665\r
6084         CMP EAX,103\r
6085         JE L_647\r
6086         CMP EAX,101\r
6087         JE L_646\r
6088         CMP EAX,100\r
6089         JE L_645\r
6090         CMP EAX,104\r
6091         JE L_644\r
6092         JMP L_692\r
6093 L_642:\r
6094         POP EBP\r
6095         RETN 16\r
6096 _GenCodeOper:\r
6097         PUSH EBP\r
6098         MOV EBP,ESP\r
6099         PUSH 9\r
6100         CALL _code_chr\r
6101 L_693:\r
6102         MOV ESI,DWORD PTR [EBP+24]\r
6103         MOVSX EAX,BYTE PTR [ESI]\r
6104         AND EAX,EAX\r
6105         JZ L_694\r
6106         MOV ESI,DWORD PTR [EBP+24]\r
6107         MOVSX EAX,BYTE PTR [ESI]\r
6108         CMP EAX,124\r
6109         SETE AL\r
6110         AND AL,AL\r
6111         JZ L_695\r
6112         PUSH DWORD PTR [EBP+20]\r
6113         PUSH DWORD PTR [EBP+16]\r
6114         PUSH DWORD PTR [EBP+12]\r
6115         PUSH DWORD PTR [EBP+8]\r
6116         CALL _write_oper\r
6117         JMP L_696\r
6118 L_695:\r
6119         MOV ESI,DWORD PTR [EBP+24]\r
6120         MOVSX EAX,BYTE PTR [ESI]\r
6121         PUSH EAX\r
6122         CALL _code_chr\r
6123 L_696:\r
6124         INC DWORD PTR [EBP+24]\r
6125         MOV EAX,DWORD PTR [EBP+24]\r
6126         JMP L_693\r
6127 L_694:\r
6128         PUSH 10\r
6129         CALL _code_chr\r
6130         POP EBP\r
6131         RETN 20\r
6132 _StackEAX:\r
6133         PUSH EBP\r
6134         MOV EBP,ESP\r
6135         SUB ESP,8\r
6136         XOR EAX,EAX\r
6137         MOV DWORD PTR [EBP-4], EAX\r
6138 L_697:\r
6139         MOV EAX,DWORD PTR [EBP-4]\r
6140         CMP EAX,_expr_ptr\r
6141         SETB AL\r
6142         AND AL,AL\r
6143         JZ L_698\r
6144         JMP SHORT L_699\r
6145 L_700:\r
6146         INC DWORD PTR [EBP-4]\r
6147         MOV EAX,DWORD PTR [EBP-4]\r
6148         JMP SHORT L_697\r
6149 L_699:\r
6150         MOV EAX,DWORD PTR [EBP-4]\r
6151         SHL EAX,4\r
6152         MOV ESI,OFFSET _expstk\r
6153         ADD ESI,EAX\r
6154         MOV EAX,DWORD PTR [ESI]\r
6155         CMP EAX,104\r
6156         SETE AL\r
6157         AND AL,AL\r
6158         JZ L_701\r
6159         XOR EAX,EAX\r
6160         MOV DWORD PTR [EBP-8], EAX\r
6161 L_702:\r
6162         MOV EAX,DWORD PTR [EBP-8]\r
6163         CMP EAX,_expr_ptr\r
6164         SETB AL\r
6165         AND AL,AL\r
6166         JZ L_703\r
6167         JMP SHORT L_704\r
6168 L_705:\r
6169         INC DWORD PTR [EBP-8]\r
6170         MOV EAX,DWORD PTR [EBP-8]\r
6171         JMP SHORT L_702\r
6172 L_704:\r
6173         MOV EAX,DWORD PTR [EBP-8]\r
6174         SHL EAX,4\r
6175         MOV ESI,OFFSET _expstk\r
6176         ADD ESI,EAX\r
6177         MOV EAX,DWORD PTR [ESI]\r
6178         CMP EAX,110\r
6179         SETE AL\r
6180         AND AL,AL\r
6181         JNZ L_706\r
6182         MOV EAX,DWORD PTR [EBP-8]\r
6183         SHL EAX,4\r
6184         MOV ESI,OFFSET _expstk\r
6185         ADD ESI,EAX\r
6186         MOV EAX,DWORD PTR [ESI]\r
6187         CMP EAX,111\r
6188         SETE AL\r
6189         AND AL,AL\r
6190 L_706:\r
6191         JZ L_707\r
6192         PUSH OFFSET L_lit+3436\r
6193         CALL _out_inst\r
6194         MOV EAX,DWORD PTR [EBP-8]\r
6195         SHL EAX,4\r
6196         MOV ESI,OFFSET _expstk\r
6197         ADD ESI,EAX\r
6198         MOV EAX,DWORD PTR [ESI]\r
6199         CMP EAX,110\r
6200         SETE AL\r
6201         AND AL,AL\r
6202         JZ L_708\r
6203         MOV EAX,DWORD PTR [EBP-8]\r
6204         SHL EAX,4\r
6205         MOV ESI,OFFSET _expstk\r
6206         ADD ESI,EAX\r
6207         MOV EAX,112\r
6208         MOV DWORD PTR [ESI], EAX\r
6209         JMP L_709\r
6210 L_708:\r
6211         MOV EAX,DWORD PTR [EBP-8]\r
6212         SHL EAX,4\r
6213         MOV ESI,OFFSET _expstk\r
6214         ADD ESI,EAX\r
6215         MOV EAX,113\r
6216         MOV DWORD PTR [ESI], EAX\r
6217 L_709:\r
6218         JMP L_703\r
6219 L_707:\r
6220         JMP L_705\r
6221 L_703:\r
6222         CALL _test_not\r
6223         PUSH OFFSET L_lit+3445\r
6224         CALL _out_inst\r
6225         MOV EAX,DWORD PTR [EBP-4]\r
6226         SHL EAX,4\r
6227         MOV ESI,OFFSET _expstk\r
6228         ADD ESI,EAX\r
6229         MOV EAX,110\r
6230         MOV DWORD PTR [ESI], EAX\r
6231 L_701:\r
6232         JMP L_700\r
6233 L_698:\r
6234         MOV ESP,EBP\r
6235         POP EBP\r
6236         RETN\r
6237 _CheckStack:\r
6238         PUSH EBP\r
6239         MOV EBP,ESP\r
6240         MOV EAX,DWORD PTR [EBP+8]\r
6241         CMP EAX,113\r
6242         SETE AL\r
6243         AND AL,AL\r
6244         JZ L_710\r
6245         PUSH OFFSET L_lit+3457\r
6246         CALL _out_inst\r
6247         MOV EAX,108\r
6248         MOV DWORD PTR [EBP+8], EAX\r
6249         JMP L_711\r
6250 L_710:\r
6251         MOV EAX,DWORD PTR [EBP+8]\r
6252         CMP EAX,112\r
6253         SETE AL\r
6254         AND AL,AL\r
6255         JZ L_712\r
6256         PUSH OFFSET L_lit+3465\r
6257         CALL _out_inst\r
6258         MOV EAX,106\r
6259         MOV DWORD PTR [EBP+8], EAX\r
6260 L_712:\r
6261 L_711:\r
6262         MOV EAX,DWORD PTR [EBP+8]\r
6263         POP EBP\r
6264         RETN 4\r
6265 _LoadEAX:\r
6266         PUSH EBP\r
6267         MOV EBP,ESP\r
6268         MOV EAX,DWORD PTR [EBP+12]\r
6269         AND EAX,262144\r
6270         JZ L_714\r
6271         CALL _type_error\r
6272 L_714:\r
6273         MOV EAX,DWORD PTR [EBP+20]\r
6274         CMP EAX,104\r
6275         SETE AL\r
6276         AND AL,AL\r
6277         JZ L_715\r
6278         CALL _test_not\r
6279         JMP L_716\r
6280 L_715:\r
6281         PUSH DWORD PTR [EBP+20]\r
6282         CALL _CheckStack\r
6283         MOV DWORD PTR [EBP+20], EAX\r
6284         CALL _StackEAX\r
6285         XOR EAX,EAX\r
6286         MOV _not_flag, AL\r
6287         MOV EAX,DWORD PTR [EBP+20]\r
6288         CMP EAX,100\r
6289         SETE AL\r
6290         AND AL,AL\r
6291         JZ L_717\r
6292         MOV EAX,DWORD PTR [EBP+16]\r
6293         AND EAX,EAX\r
6294         SETZ AL\r
6295         AND AL,AL\r
6296 L_717:\r
6297         JZ L_718\r
6298         CALL _test_not\r
6299         PUSH OFFSET L_lit+3473\r
6300         CALL _code_str\r
6301         JMP L_716\r
6302 L_718:\r
6303         MOV EAX,DWORD PTR [EBP+12]\r
6304         AND EAX,71\r
6305         JNZ L_719\r
6306         MOV EAX,DWORD PTR [EBP+20]\r
6307         CMP EAX,100\r
6308         SETE AL\r
6309         AND AL,AL\r
6310         JNZ L_720\r
6311         MOV EAX,DWORD PTR [EBP+20]\r
6312         CMP EAX,106\r
6313         SETE AL\r
6314         AND AL,AL\r
6315         JNZ L_721\r
6316         MOV EAX,DWORD PTR [EBP+20]\r
6317         CMP EAX,110\r
6318         SETE AL\r
6319         AND AL,AL\r
6320         JNZ L_722\r
6321         MOV EAX,DWORD PTR [EBP+20]\r
6322         CMP EAX,105\r
6323         SETE AL\r
6324         AND AL,AL\r
6325 L_722:\r
6326 L_721:\r
6327 L_720:\r
6328 L_719:\r
6329         JZ L_723\r
6330         PUSH OFFSET L_lit+3487\r
6331         PUSH DWORD PTR [EBP+20]\r
6332         PUSH DWORD PTR [EBP+16]\r
6333         PUSH DWORD PTR [EBP+12]\r
6334         PUSH DWORD PTR [EBP+8]\r
6335         CALL _GenCodeOper\r
6336         JMP L_724\r
6337 L_723:\r
6338         MOV EAX,DWORD PTR [EBP+12]\r
6339         AND EAX,32\r
6340         JZ L_725\r
6341         MOV EAX,DWORD PTR [EBP+12]\r
6342         AND EAX,128\r
6343         JZ L_726\r
6344         PUSH OFFSET L_lit+3497\r
6345         PUSH DWORD PTR [EBP+20]\r
6346         PUSH DWORD PTR [EBP+16]\r
6347         PUSH DWORD PTR [EBP+12]\r
6348         PUSH DWORD PTR [EBP+8]\r
6349         CALL _GenCodeOper\r
6350         JMP L_727\r
6351 L_726:\r
6352         PUSH OFFSET L_lit+3509\r
6353         PUSH DWORD PTR [EBP+20]\r
6354         PUSH DWORD PTR [EBP+16]\r
6355         PUSH DWORD PTR [EBP+12]\r
6356         PUSH DWORD PTR [EBP+8]\r
6357         CALL _GenCodeOper\r
6358 L_727:\r
6359         JMP L_728\r
6360 L_725:\r
6361         MOV EAX,DWORD PTR [EBP+12]\r
6362         AND EAX,128\r
6363         JZ L_729\r
6364         PUSH OFFSET L_lit+3521\r
6365         CALL _code_str\r
6366         PUSH OFFSET L_lit+3535\r
6367         PUSH DWORD PTR [EBP+20]\r
6368         PUSH DWORD PTR [EBP+16]\r
6369         PUSH DWORD PTR [EBP+12]\r
6370         PUSH DWORD PTR [EBP+8]\r
6371         CALL _GenCodeOper\r
6372         JMP L_730\r
6373 L_729:\r
6374         PUSH OFFSET L_lit+3544\r
6375         PUSH DWORD PTR [EBP+20]\r
6376         PUSH DWORD PTR [EBP+16]\r
6377         PUSH DWORD PTR [EBP+12]\r
6378         PUSH DWORD PTR [EBP+8]\r
6379         CALL _GenCodeOper\r
6380 L_730:\r
6381 L_728:\r
6382 L_724:\r
6383         MOV EAX,-1\r
6384         MOV _zero_flag, AL\r
6385 L_716:\r
6386         POP EBP\r
6387         RETN 16\r
6388 _LoadECX:\r
6389         PUSH EBP\r
6390         MOV EBP,ESP\r
6391         MOV EAX,DWORD PTR [EBP+12]\r
6392         AND EAX,262144\r
6393         JZ L_731\r
6394         CALL _type_error\r
6395 L_731:\r
6396         MOV EAX,DWORD PTR [EBP+20]\r
6397         CMP EAX,105\r
6398         SETE AL\r
6399         AND AL,AL\r
6400         JZ L_732\r
6401         JMP L_733\r
6402 L_732:\r
6403         PUSH DWORD PTR [EBP+20]\r
6404         CALL _CheckStack\r
6405         MOV DWORD PTR [EBP+20], EAX\r
6406         MOV EAX,DWORD PTR [EBP+20]\r
6407         CMP EAX,100\r
6408         SETE AL\r
6409         AND AL,AL\r
6410         JZ L_734\r
6411         MOV EAX,DWORD PTR [EBP+16]\r
6412         AND EAX,EAX\r
6413         SETZ AL\r
6414         AND AL,AL\r
6415 L_734:\r
6416         JZ L_735\r
6417         PUSH OFFSET L_lit+3556\r
6418         CALL _code_str\r
6419         JMP L_733\r
6420 L_735:\r
6421         MOV EAX,DWORD PTR [EBP+12]\r
6422         AND EAX,71\r
6423         JNZ L_736\r
6424         MOV EAX,DWORD PTR [EBP+20]\r
6425         CMP EAX,100\r
6426         SETE AL\r
6427         AND AL,AL\r
6428         JNZ L_737\r
6429         MOV EAX,DWORD PTR [EBP+20]\r
6430         CMP EAX,106\r
6431         SETE AL\r
6432         AND AL,AL\r
6433         JNZ L_738\r
6434         MOV EAX,DWORD PTR [EBP+20]\r
6435         CMP EAX,110\r
6436         SETE AL\r
6437         AND AL,AL\r
6438         JNZ L_739\r
6439         MOV EAX,DWORD PTR [EBP+20]\r
6440         CMP EAX,104\r
6441         SETE AL\r
6442         AND AL,AL\r
6443 L_739:\r
6444 L_738:\r
6445 L_737:\r
6446 L_736:\r
6447         JZ L_740\r
6448         PUSH OFFSET L_lit+3570\r
6449         PUSH DWORD PTR [EBP+20]\r
6450         PUSH DWORD PTR [EBP+16]\r
6451         PUSH DWORD PTR [EBP+12]\r
6452         PUSH DWORD PTR [EBP+8]\r
6453         CALL _GenCodeOper\r
6454         JMP L_741\r
6455 L_740:\r
6456         MOV EAX,DWORD PTR [EBP+12]\r
6457         AND EAX,32\r
6458         JZ L_742\r
6459         MOV EAX,DWORD PTR [EBP+12]\r
6460         AND EAX,128\r
6461         JZ L_743\r
6462         PUSH OFFSET L_lit+3580\r
6463         PUSH DWORD PTR [EBP+20]\r
6464         PUSH DWORD PTR [EBP+16]\r
6465         PUSH DWORD PTR [EBP+12]\r
6466         PUSH DWORD PTR [EBP+8]\r
6467         CALL _GenCodeOper\r
6468         JMP L_744\r
6469 L_743:\r
6470         PUSH OFFSET L_lit+3592\r
6471         PUSH DWORD PTR [EBP+20]\r
6472         PUSH DWORD PTR [EBP+16]\r
6473         PUSH DWORD PTR [EBP+12]\r
6474         PUSH DWORD PTR [EBP+8]\r
6475         CALL _GenCodeOper\r
6476 L_744:\r
6477         JMP L_745\r
6478 L_742:\r
6479         MOV EAX,DWORD PTR [EBP+12]\r
6480         AND EAX,128\r
6481         JZ L_746\r
6482         PUSH OFFSET L_lit+3604\r
6483         CALL _code_str\r
6484         PUSH OFFSET L_lit+3618\r
6485         PUSH DWORD PTR [EBP+20]\r
6486         PUSH DWORD PTR [EBP+16]\r
6487         PUSH DWORD PTR [EBP+12]\r
6488         PUSH DWORD PTR [EBP+8]\r
6489         CALL _GenCodeOper\r
6490         JMP L_747\r
6491 L_746:\r
6492         PUSH OFFSET L_lit+3627\r
6493         PUSH DWORD PTR [EBP+20]\r
6494         PUSH DWORD PTR [EBP+16]\r
6495         PUSH DWORD PTR [EBP+12]\r
6496         PUSH DWORD PTR [EBP+8]\r
6497         CALL _GenCodeOper\r
6498 L_747:\r
6499 L_745:\r
6500 L_741:\r
6501 L_733:\r
6502         POP EBP\r
6503         RETN 16\r
6504 _sub_eval:\r
6505         PUSH EBP\r
6506         MOV EBP,ESP\r
6507         SUB ESP,4\r
6508 L_748:\r
6509         PUSH 25\r
6510         CALL _do_oper\r
6511         MOV DWORD PTR [EBP-4], EAX\r
6512         CMP EAX,15\r
6513         SETNE AL\r
6514         AND AL,AL\r
6515         JZ L_750\r
6516         PUSH DWORD PTR [EBP-4]\r
6517         CALL _unget_token\r
6518         PUSH DWORD PTR [EBP+8]\r
6519         CALL _expect\r
6520         JMP L_751\r
6521 L_750:\r
6522         LEA EAX,DWORD PTR [EBP-4]\r
6523         PUSH EAX\r
6524         LEA EAX,DWORD PTR [EBP-4]\r
6525         PUSH EAX\r
6526         LEA EAX,DWORD PTR [EBP-4]\r
6527         PUSH EAX\r
6528         LEA EAX,DWORD PTR [EBP-4]\r
6529         PUSH EAX\r
6530         CALL _pop\r
6531         JMP L_748\r
6532 L_749:\r
6533 L_751:\r
6534         MOV ESP,EBP\r
6535         POP EBP\r
6536         RETN 4\r
6537 _eval:\r
6538         PUSH EBP\r
6539         MOV EBP,ESP\r
6540         SUB ESP,16\r
6541         XOR EAX,EAX\r
6542         MOV _expr_ptr, EAX\r
6543         XOR EAX,EAX\r
6544         MOV _not_flag, AL\r
6545         PUSH DWORD PTR [EBP+12]\r
6546         CALL _sub_eval\r
6547         LEA EAX,DWORD PTR [EBP-4]\r
6548         PUSH EAX\r
6549         LEA EAX,DWORD PTR [EBP-8]\r
6550         PUSH EAX\r
6551         LEA EAX,DWORD PTR [EBP-12]\r
6552         PUSH EAX\r
6553         LEA EAX,DWORD PTR [EBP-16]\r
6554         PUSH EAX\r
6555         CALL _pop\r
6556         MOV EAX,DWORD PTR [EBP-4]\r
6557         CMP EAX,104\r
6558         SETNE AL\r
6559         AND AL,AL\r
6560         JNZ L_752\r
6561         MOVSX EAX,BYTE PTR [EBP+8]\r
6562 L_752:\r
6563         AND EAX,EAX\r
6564         JZ L_753\r
6565         PUSH DWORD PTR [EBP-4]\r
6566         PUSH DWORD PTR [EBP-8]\r
6567         PUSH DWORD PTR [EBP-12]\r
6568         PUSH DWORD PTR [EBP-16]\r
6569         CALL _LoadEAX\r
6570 L_753:\r
6571         MOV ESP,EBP\r
6572         POP EBP\r
6573         RETN 8\r
6574 _out_inst:\r
6575         PUSH EBP\r
6576         MOV EBP,ESP\r
6577         PUSH 9\r
6578         CALL _code_chr\r
6579         PUSH DWORD PTR [EBP+8]\r
6580         CALL _code_str\r
6581         PUSH 10\r
6582         CALL _code_chr\r
6583         POP EBP\r
6584         RETN 4\r
6585 _StackTop:\r
6586         PUSH EBP\r
6587         MOV EBP,ESP\r
6588         SUB ESP,4\r
6589         XOR EAX,EAX\r
6590         MOV DWORD PTR [EBP-4], EAX\r
6591 L_754:\r
6592         MOV EAX,DWORD PTR [EBP-4]\r
6593         CMP EAX,_expr_ptr\r
6594         SETB AL\r
6595         AND AL,AL\r
6596         JZ L_755\r
6597         JMP SHORT L_756\r
6598 L_757:\r
6599         INC DWORD PTR [EBP-4]\r
6600         MOV EAX,DWORD PTR [EBP-4]\r
6601         JMP SHORT L_754\r
6602 L_756:\r
6603         MOV EAX,DWORD PTR [EBP-4]\r
6604         SHL EAX,4\r
6605         MOV ESI,OFFSET _expstk\r
6606         ADD ESI,EAX\r
6607         MOV EAX,DWORD PTR [ESI]\r
6608         CMP EAX,110\r
6609         SETE AL\r
6610         AND AL,AL\r
6611         JNZ L_758\r
6612         MOV EAX,DWORD PTR [EBP-4]\r
6613         SHL EAX,4\r
6614         MOV ESI,OFFSET _expstk\r
6615         ADD ESI,EAX\r
6616         MOV EAX,DWORD PTR [ESI]\r
6617         CMP EAX,111\r
6618         SETE AL\r
6619         AND AL,AL\r
6620 L_758:\r
6621         JZ L_759\r
6622         PUSH OFFSET L_lit+3639\r
6623         CALL _out_inst\r
6624         MOV EAX,DWORD PTR [EBP-4]\r
6625         SHL EAX,4\r
6626         MOV ESI,OFFSET _expstk\r
6627         ADD ESI,EAX\r
6628         MOV EAX,DWORD PTR [ESI]\r
6629         CMP EAX,110\r
6630         SETE AL\r
6631         AND AL,AL\r
6632         JZ L_760\r
6633         MOV EAX,DWORD PTR [EBP-4]\r
6634         SHL EAX,4\r
6635         MOV ESI,OFFSET _expstk\r
6636         ADD ESI,EAX\r
6637         MOV EAX,112\r
6638         MOV DWORD PTR [ESI], EAX\r
6639         JMP L_761\r
6640 L_760:\r
6641         MOV EAX,DWORD PTR [EBP-4]\r
6642         SHL EAX,4\r
6643         MOV ESI,OFFSET _expstk\r
6644         ADD ESI,EAX\r
6645         MOV EAX,113\r
6646         MOV DWORD PTR [ESI], EAX\r
6647 L_761:\r
6648         JMP L_755\r
6649 L_759:\r
6650         JMP L_757\r
6651 L_755:\r
6652         MOV ESP,EBP\r
6653         POP EBP\r
6654         RETN\r
6655 _StackESI:\r
6656         PUSH EBP\r
6657         MOV EBP,ESP\r
6658         SUB ESP,8\r
6659         XOR EAX,EAX\r
6660         MOV DWORD PTR [EBP-4], EAX\r
6661 L_762:\r
6662         MOV EAX,DWORD PTR [EBP-4]\r
6663         CMP EAX,_expr_ptr\r
6664         SETB AL\r
6665         AND AL,AL\r
6666         JZ L_763\r
6667         JMP SHORT L_764\r
6668 L_765:\r
6669         INC DWORD PTR [EBP-4]\r
6670         MOV EAX,DWORD PTR [EBP-4]\r
6671         JMP SHORT L_762\r
6672 L_764:\r
6673         MOV EAX,DWORD PTR [EBP-4]\r
6674         SHL EAX,4\r
6675         MOV ESI,OFFSET _expstk\r
6676         ADD ESI,EAX\r
6677         MOV EAX,DWORD PTR [ESI]\r
6678         CMP EAX,109\r
6679         SETE AL\r
6680         AND AL,AL\r
6681         JZ L_766\r
6682         XOR EAX,EAX\r
6683         MOV DWORD PTR [EBP-8], EAX\r
6684 L_767:\r
6685         MOV EAX,DWORD PTR [EBP-8]\r
6686         CMP EAX,_expr_ptr\r
6687         SETB AL\r
6688         AND AL,AL\r
6689         JZ L_768\r
6690         JMP SHORT L_769\r
6691 L_770:\r
6692         INC DWORD PTR [EBP-8]\r
6693         MOV EAX,DWORD PTR [EBP-8]\r
6694         JMP SHORT L_767\r
6695 L_769:\r
6696         MOV EAX,DWORD PTR [EBP-8]\r
6697         SHL EAX,4\r
6698         MOV ESI,OFFSET _expstk\r
6699         ADD ESI,EAX\r
6700         MOV EAX,DWORD PTR [ESI]\r
6701         CMP EAX,110\r
6702         SETE AL\r
6703         AND AL,AL\r
6704         JNZ L_771\r
6705         MOV EAX,DWORD PTR [EBP-8]\r
6706         SHL EAX,4\r
6707         MOV ESI,OFFSET _expstk\r
6708         ADD ESI,EAX\r
6709         MOV EAX,DWORD PTR [ESI]\r
6710         CMP EAX,111\r
6711         SETE AL\r
6712         AND AL,AL\r
6713 L_771:\r
6714         JZ L_772\r
6715         PUSH OFFSET L_lit+3648\r
6716         CALL _out_inst\r
6717         MOV EAX,DWORD PTR [EBP-8]\r
6718         SHL EAX,4\r
6719         MOV ESI,OFFSET _expstk\r
6720         ADD ESI,EAX\r
6721         MOV EAX,DWORD PTR [ESI]\r
6722         CMP EAX,110\r
6723         SETE AL\r
6724         AND AL,AL\r
6725         JZ L_773\r
6726         MOV EAX,DWORD PTR [EBP-8]\r
6727         SHL EAX,4\r
6728         MOV ESI,OFFSET _expstk\r
6729         ADD ESI,EAX\r
6730         MOV EAX,112\r
6731         MOV DWORD PTR [ESI], EAX\r
6732         JMP L_774\r
6733 L_773:\r
6734         MOV EAX,DWORD PTR [EBP-8]\r
6735         SHL EAX,4\r
6736         MOV ESI,OFFSET _expstk\r
6737         ADD ESI,EAX\r
6738         MOV EAX,113\r
6739         MOV DWORD PTR [ESI], EAX\r
6740 L_774:\r
6741         JMP L_768\r
6742 L_772:\r
6743         JMP L_770\r
6744 L_768:\r
6745         PUSH OFFSET L_lit+3657\r
6746         CALL _out_inst\r
6747         MOV EAX,DWORD PTR [EBP-4]\r
6748         SHL EAX,4\r
6749         MOV ESI,OFFSET _expstk\r
6750         ADD ESI,EAX\r
6751         MOV EAX,111\r
6752         MOV DWORD PTR [ESI], EAX\r
6753 L_766:\r
6754         JMP L_765\r
6755 L_763:\r
6756         MOV ESP,EBP\r
6757         POP EBP\r
6758         RETN\r
6759 _load_index:\r
6760         PUSH EBP\r
6761         MOV EBP,ESP\r
6762         CALL _StackESI\r
6763         MOV EAX,DWORD PTR [EBP+12]\r
6764         AND EAX,32768\r
6765         JNZ L_775\r
6766         MOV EAX,DWORD PTR [EBP+12]\r
6767         AND EAX,256\r
6768         AND EAX,EAX\r
6769         SETZ AL\r
6770         AND AL,AL\r
6771 L_775:\r
6772         JZ L_776\r
6773         PUSH DWORD PTR [EBP+20]\r
6774         PUSH DWORD PTR [EBP+16]\r
6775         PUSH DWORD PTR [EBP+12]\r
6776         PUSH DWORD PTR [EBP+8]\r
6777         CALL _index_ptr\r
6778         JMP L_777\r
6779 L_776:\r
6780         PUSH DWORD PTR [EBP+20]\r
6781         PUSH DWORD PTR [EBP+16]\r
6782         PUSH DWORD PTR [EBP+12]\r
6783         PUSH DWORD PTR [EBP+8]\r
6784         CALL _index_adr\r
6785 L_777:\r
6786         POP EBP\r
6787         RETN 16\r
6788 _do_unary:\r
6789         PUSH EBP\r
6790         MOV EBP,ESP\r
6791         SUB ESP,17\r
6792         LEA EAX,DWORD PTR [EBP-4]\r
6793         PUSH EAX\r
6794         LEA EAX,DWORD PTR [EBP-8]\r
6795         PUSH EAX\r
6796         LEA EAX,DWORD PTR [EBP-12]\r
6797         PUSH EAX\r
6798         LEA EAX,DWORD PTR [EBP-16]\r
6799         PUSH EAX\r
6800         CALL _pop\r
6801         XOR EAX,EAX\r
6802         MOV BYTE PTR [EBP-17], AL\r
6803         MOV EAX,DWORD PTR [EBP-4]\r
6804         CMP EAX,100\r
6805         SETE AL\r
6806         AND AL,AL\r
6807         JZ L_778\r
6808         MOV EAX,-1\r
6809         MOV BYTE PTR [EBP-17], AL\r
6810         MOV EAX,DWORD PTR [EBP+8]\r
6811         JMP L_780\r
6812 L_781:\r
6813         NEG DWORD PTR [EBP-8]\r
6814         MOV EAX,DWORD PTR [EBP-8]\r
6815         JMP L_779\r
6816 L_782:\r
6817         NOT DWORD PTR [EBP-8]\r
6818         MOV EAX,DWORD PTR [EBP-8]\r
6819         JMP L_779\r
6820 L_783:\r
6821         MOV EAX,DWORD PTR [EBP-8]\r
6822         MOV DWORD PTR [EBP-8], EAX\r
6823         AND EAX,EAX\r
6824         SETZ AL\r
6825         AND AL,AL\r
6826         JMP L_779\r
6827 L_784:\r
6828         XOR EAX,EAX\r
6829         MOV BYTE PTR [EBP-17], AL\r
6830         JMP L_779\r
6831 L_780:\r
6832         CMP EAX,2\r
6833         JE L_783\r
6834         CMP EAX,75\r
6835         JE L_782\r
6836         CMP EAX,19\r
6837         JE L_781\r
6838         JMP L_784\r
6839 L_779:\r
6840 L_778:\r
6841         MOVSX EAX,BYTE PTR [EBP-17]\r
6842         AND EAX,EAX\r
6843         JNZ L_785\r
6844         MOV EAX,DWORD PTR [EBP+8]\r
6845         JMP L_787\r
6846 L_788:\r
6847         PUSH OFFSET L_lit+3669\r
6848         PUSH DWORD PTR [EBP-4]\r
6849         PUSH DWORD PTR [EBP-8]\r
6850         PUSH DWORD PTR [EBP-12]\r
6851         PUSH DWORD PTR [EBP-16]\r
6852         CALL _GenCodeOper\r
6853         JMP L_786\r
6854 L_789:\r
6855         PUSH OFFSET L_lit+3675\r
6856         PUSH DWORD PTR [EBP-4]\r
6857         PUSH DWORD PTR [EBP-8]\r
6858         PUSH DWORD PTR [EBP-12]\r
6859         PUSH DWORD PTR [EBP-16]\r
6860         CALL _GenCodeOper\r
6861         JMP L_786\r
6862 L_790:\r
6863         PUSH DWORD PTR [EBP-4]\r
6864         PUSH DWORD PTR [EBP-8]\r
6865         PUSH DWORD PTR [EBP-12]\r
6866         PUSH DWORD PTR [EBP-16]\r
6867         CALL _LoadEAX\r
6868         MOV EAX,104\r
6869         MOV DWORD PTR [EBP-4], EAX\r
6870         MOV EAX,1\r
6871         MOV _not_flag, AL\r
6872         JMP L_786\r
6873 L_791:\r
6874         PUSH DWORD PTR [EBP-12]\r
6875         PUSH DWORD PTR [EBP-8]\r
6876         CALL _ispStruct\r
6877         AND EAX,EAX\r
6878         JZ L_792\r
6879         PUSH OFFSET L_lit+3681\r
6880         PUSH DWORD PTR [EBP-4]\r
6881         PUSH DWORD PTR [EBP-8]\r
6882         PUSH DWORD PTR [EBP-12]\r
6883         PUSH DWORD PTR [EBP-16]\r
6884         CALL _GenCodeOper\r
6885         JMP L_793\r
6886 L_792:\r
6887         PUSH DWORD PTR [EBP-12]\r
6888         CALL _isp32\r
6889         AND EAX,EAX\r
6890         JZ L_794\r
6891         PUSH OFFSET L_lit+3697\r
6892         PUSH DWORD PTR [EBP-4]\r
6893         PUSH DWORD PTR [EBP-8]\r
6894         PUSH DWORD PTR [EBP-12]\r
6895         PUSH DWORD PTR [EBP-16]\r
6896         CALL _GenCodeOper\r
6897         JMP L_795\r
6898 L_794:\r
6899         PUSH DWORD PTR [EBP-12]\r
6900         CALL _isp16\r
6901         AND EAX,EAX\r
6902         JZ L_796\r
6903         PUSH OFFSET L_lit+3705\r
6904         PUSH DWORD PTR [EBP-4]\r
6905         PUSH DWORD PTR [EBP-8]\r
6906         PUSH DWORD PTR [EBP-12]\r
6907         PUSH DWORD PTR [EBP-16]\r
6908         CALL _GenCodeOper\r
6909         JMP L_797\r
6910 L_796:\r
6911         PUSH OFFSET L_lit+3713\r
6912         PUSH DWORD PTR [EBP-4]\r
6913         PUSH DWORD PTR [EBP-8]\r
6914         PUSH DWORD PTR [EBP-12]\r
6915         PUSH DWORD PTR [EBP-16]\r
6916         CALL _GenCodeOper\r
6917 L_797:\r
6918 L_795:\r
6919 L_793:\r
6920         JMP L_786\r
6921 L_798:\r
6922         PUSH DWORD PTR [EBP-12]\r
6923         PUSH DWORD PTR [EBP-8]\r
6924         CALL _ispStruct\r
6925         AND EAX,EAX\r
6926         JZ L_799\r
6927         PUSH OFFSET L_lit+3719\r
6928         PUSH DWORD PTR [EBP-4]\r
6929         PUSH DWORD PTR [EBP-8]\r
6930         PUSH DWORD PTR [EBP-12]\r
6931         PUSH DWORD PTR [EBP-16]\r
6932         CALL _GenCodeOper\r
6933         JMP L_800\r
6934 L_799:\r
6935         PUSH DWORD PTR [EBP-12]\r
6936         CALL _isp32\r
6937         AND EAX,EAX\r
6938         JZ L_801\r
6939         PUSH OFFSET L_lit+3735\r
6940         PUSH DWORD PTR [EBP-4]\r
6941         PUSH DWORD PTR [EBP-8]\r
6942         PUSH DWORD PTR [EBP-12]\r
6943         PUSH DWORD PTR [EBP-16]\r
6944         CALL _GenCodeOper\r
6945         JMP L_802\r
6946 L_801:\r
6947         PUSH DWORD PTR [EBP-12]\r
6948         CALL _isp16\r
6949         AND EAX,EAX\r
6950         JZ L_803\r
6951         PUSH OFFSET L_lit+3743\r
6952         PUSH DWORD PTR [EBP-4]\r
6953         PUSH DWORD PTR [EBP-8]\r
6954         PUSH DWORD PTR [EBP-12]\r
6955         PUSH DWORD PTR [EBP-16]\r
6956         CALL _GenCodeOper\r
6957         JMP L_804\r
6958 L_803:\r
6959         PUSH OFFSET L_lit+3751\r
6960         PUSH DWORD PTR [EBP-4]\r
6961         PUSH DWORD PTR [EBP-8]\r
6962         PUSH DWORD PTR [EBP-12]\r
6963         PUSH DWORD PTR [EBP-16]\r
6964         CALL _GenCodeOper\r
6965 L_804:\r
6966 L_802:\r
6967 L_800:\r
6968         JMP L_786\r
6969 L_805:\r
6970         CALL _syntax_error\r
6971         JMP L_786\r
6972 L_787:\r
6973         CMP EAX,16\r
6974         JE L_798\r
6975         CMP EAX,12\r
6976         JE L_791\r
6977         CMP EAX,2\r
6978         JE L_790\r
6979         CMP EAX,75\r
6980         JE L_789\r
6981         CMP EAX,19\r
6982         JE L_788\r
6983         JMP L_805\r
6984 L_786:\r
6985 L_785:\r
6986         PUSH DWORD PTR [EBP-4]\r
6987         PUSH DWORD PTR [EBP-8]\r
6988         PUSH DWORD PTR [EBP-12]\r
6989         PUSH DWORD PTR [EBP-16]\r
6990         CALL _push\r
6991         MOV ESP,EBP\r
6992         POP EBP\r
6993         RETN 4\r
6994 _eval_index:\r
6995         PUSH EBP\r
6996         MOV EBP,ESP\r
6997         SUB ESP,25\r
6998         XOR EAX,EAX\r
6999         MOV BYTE PTR [EBP-25], AL\r
7000         MOV EAX,DWORD PTR [EBP+16]\r
7001         AND EAX,256\r
7002         JZ L_806\r
7003         MOV EAX,DWORD PTR [EBP+20]\r
7004         MOV ECX,24\r
7005         MUL ECX\r
7006         MOV ESI,OFFSET _symtab\r
7007         ADD ESI,EAX\r
7008         MOV EAX,DWORD PTR [ESI+20]\r
7009         MOV DWORD PTR [EBP-12], EAX\r
7010         MOV EAX,DWORD PTR [EBP-12]\r
7011         INC DWORD PTR [EBP-12]\r
7012         SHL EAX,2\r
7013         MOV ESI,OFFSET _dim_pool\r
7014         ADD ESI,EAX\r
7015         MOV EAX,DWORD PTR [ESI]\r
7016         MOV DWORD PTR [EBP-4], EAX\r
7017         JMP L_807\r
7018 L_806:\r
7019         MOV EAX,1\r
7020         MOV DWORD PTR [EBP-4], EAX\r
7021         MOV DWORD PTR [EBP-12], EAX\r
7022 L_807:\r
7023         MOV EAX,DWORD PTR [EBP+20]\r
7024         MOV DWORD PTR [EBP-16], EAX\r
7025         PUSH DWORD PTR [EBP+24]\r
7026         PUSH DWORD PTR [EBP+20]\r
7027         PUSH DWORD PTR [EBP+16]\r
7028         PUSH DWORD PTR [EBP+12]\r
7029         CALL _push\r
7030 L_808:\r
7031         MOV EAX,DWORD PTR [EBP+16]\r
7032         AND EAX,263\r
7033         MOV DWORD PTR [EBP+20], EAX\r
7034         MOV EAX,DWORD PTR [EBP+20]\r
7035         CMP EAX,256\r
7036         SETE AL\r
7037         AND AL,AL\r
7038         JNZ L_811\r
7039         MOV EAX,DWORD PTR [EBP+20]\r
7040         CMP EAX,2\r
7041         SETB AL\r
7042         AND AL,AL\r
7043 L_811:\r
7044         JZ L_812\r
7045         MOV EAX,DWORD PTR [EBP+16]\r
7046         AND EAX,16\r
7047         JZ L_813\r
7048         MOV EAX,1\r
7049         MOV DWORD PTR [EBP-20], EAX\r
7050         JMP L_814\r
7051 L_813:\r
7052         MOV EAX,DWORD PTR [EBP+16]\r
7053         AND EAX,32\r
7054         JZ L_815\r
7055         MOV EAX,2\r
7056         MOV DWORD PTR [EBP-20], EAX\r
7057         JMP L_816\r
7058 L_815:\r
7059         MOV EAX,DWORD PTR [EBP+16]\r
7060         AND EAX,64\r
7061         JZ L_817\r
7062         MOV EAX,4\r
7063         MOV DWORD PTR [EBP-20], EAX\r
7064         JMP L_818\r
7065 L_817:\r
7066         MOV EAX,DWORD PTR [EBP+16]\r
7067         AND EAX,512\r
7068         JZ L_819\r
7069         MOV EAX,DWORD PTR [EBP-16]\r
7070         MOV ECX,24\r
7071         MUL ECX\r
7072         MOV ESI,OFFSET _symtab\r
7073         ADD ESI,EAX\r
7074         MOV EAX,DWORD PTR [ESI+16]\r
7075         MOV DWORD PTR [EBP-20], EAX\r
7076 L_819:\r
7077 L_818:\r
7078 L_816:\r
7079 L_814:\r
7080         JMP L_820\r
7081 L_812:\r
7082         MOV EAX,4\r
7083         MOV DWORD PTR [EBP-20], EAX\r
7084 L_820:\r
7085         DEC DWORD PTR [EBP-4]\r
7086         MOV EAX,DWORD PTR [EBP+16]\r
7087         AND EAX,256\r
7088         JZ L_821\r
7089         INC DWORD PTR [EBP-12]\r
7090         MOV EAX,DWORD PTR [EBP-12]\r
7091         MOV DWORD PTR [EBP+24], EAX\r
7092         MOV EAX,DWORD PTR [EBP-4]\r
7093         MOV DWORD PTR [EBP+20], EAX\r
7094         AND EAX,EAX\r
7095         JNZ L_822\r
7096         MOV EAX,DWORD PTR [EBP+16]\r
7097         AND EAX,-257\r
7098         MOV DWORD PTR [EBP+16], EAX\r
7099 L_822:\r
7100 L_823:\r
7101         MOV EAX,DWORD PTR [EBP+20]\r
7102         DEC DWORD PTR [EBP+20]\r
7103         AND EAX,EAX\r
7104         JZ L_824\r
7105         MOV EAX,DWORD PTR [EBP+24]\r
7106         INC DWORD PTR [EBP+24]\r
7107         SHL EAX,2\r
7108         MOV ESI,OFFSET _dim_pool\r
7109         ADD ESI,EAX\r
7110         MOV EAX,DWORD PTR [EBP-20]\r
7111         MOV ECX,DWORD PTR [ESI]\r
7112         MUL ECX\r
7113         MOV DWORD PTR [EBP-20], EAX\r
7114         JMP L_823\r
7115 L_824:\r
7116         JMP L_825\r
7117 L_821:\r
7118         MOV EAX,DWORD PTR [EBP+16]\r
7119         AND EAX,7\r
7120         JZ L_826\r
7121         DEC DWORD PTR [EBP+16]\r
7122         MOV EAX,DWORD PTR [EBP+16]\r
7123         MOVSX EAX,BYTE PTR [EBP-25]\r
7124         AND EAX,EAX\r
7125         JZ L_827\r
7126         LEA EAX,DWORD PTR [EBP+24]\r
7127         PUSH EAX\r
7128         LEA EAX,DWORD PTR [EBP+20]\r
7129         PUSH EAX\r
7130         LEA EAX,DWORD PTR [EBP-8]\r
7131         PUSH EAX\r
7132         LEA EAX,DWORD PTR [EBP-24]\r
7133         PUSH EAX\r
7134         CALL _pop\r
7135         PUSH DWORD PTR [EBP+24]\r
7136         PUSH DWORD PTR [EBP+20]\r
7137         PUSH DWORD PTR [EBP-8]\r
7138         PUSH DWORD PTR [EBP-24]\r
7139         CALL _LoadEAX\r
7140         LEA EAX,DWORD PTR [EBP+24]\r
7141         PUSH EAX\r
7142         LEA EAX,DWORD PTR [EBP+20]\r
7143         PUSH EAX\r
7144         LEA EAX,DWORD PTR [EBP-8]\r
7145         PUSH EAX\r
7146         LEA EAX,DWORD PTR [EBP-24]\r
7147         PUSH EAX\r
7148         CALL _pop\r
7149         PUSH DWORD PTR [EBP+24]\r
7150         PUSH DWORD PTR [EBP+20]\r
7151         PUSH DWORD PTR [EBP-8]\r
7152         PUSH DWORD PTR [EBP-24]\r
7153         CALL _load_index\r
7154         PUSH OFFSET L_lit+3757\r
7155         CALL _out_inst\r
7156         MOV EAX,109\r
7157         MOV DWORD PTR [EBP+24], EAX\r
7158         PUSH EAX\r
7159         PUSH DWORD PTR [EBP+20]\r
7160         PUSH DWORD PTR [EBP+16]\r
7161         PUSH DWORD PTR [EBP-24]\r
7162         CALL _push\r
7163         XOR EAX,EAX\r
7164         MOV BYTE PTR [EBP-25], AL\r
7165 L_827:\r
7166         JMP L_828\r
7167 L_826:\r
7168         CALL _index_error\r
7169 L_828:\r
7170 L_825:\r
7171         PUSH 38\r
7172         CALL _sub_eval\r
7173         MOV EAX,DWORD PTR [EBP-20]\r
7174         CMP EAX,1\r
7175         SETNE AL\r
7176         AND AL,AL\r
7177         JZ L_829\r
7178         PUSH 100\r
7179         PUSH DWORD PTR [EBP-20]\r
7180         PUSH 64\r
7181         XOR EAX,EAX\r
7182         PUSH EAX\r
7183         CALL _push\r
7184         PUSH 11\r
7185         CALL _do_lr2op\r
7186 L_829:\r
7187         MOVSX EAX,BYTE PTR [EBP-25]\r
7188         AND EAX,EAX\r
7189         JZ L_830\r
7190         PUSH 14\r
7191         CALL _do_lr2op\r
7192 L_830:\r
7193         MOV EAX,1\r
7194         MOV BYTE PTR [EBP-25], AL\r
7195 L_809:\r
7196         PUSH 37\r
7197         CALL _test_token\r
7198         AND EAX,EAX\r
7199         JNZ L_808\r
7200 L_810:\r
7201         MOV ESI,DWORD PTR [EBP+8]\r
7202         MOV EAX,DWORD PTR [EBP+16]\r
7203         MOV DWORD PTR [ESI], EAX\r
7204         MOVSX EAX,BYTE PTR [EBP-25]\r
7205         MOV ESP,EBP\r
7206         POP EBP\r
7207         RETN 20\r
7208 _get_value:\r
7209         PUSH EBP\r
7210         MOV EBP,ESP\r
7211         SUB ESP,46\r
7212         CALL _get_token\r
7213         MOV DWORD PTR [EBP-24], EAX\r
7214         JMP L_833\r
7215 L_834:\r
7216         MOV EAX,100\r
7217         MOV DWORD PTR [EBP-28], EAX\r
7218         MOV EAX,_gvalue\r
7219         MOV DWORD PTR [EBP-32], EAX\r
7220         MOV EAX,64\r
7221         MOV DWORD PTR [EBP-36], EAX\r
7222         XOR EAX,EAX\r
7223         MOV DWORD PTR [EBP-44], EAX\r
7224         JMP L_832\r
7225 L_835:\r
7226         MOV EAX,101\r
7227         MOV DWORD PTR [EBP-28], EAX\r
7228         MOV EAX,_gvalue\r
7229         MOV DWORD PTR [EBP-32], EAX\r
7230         MOV EAX,17\r
7231         MOV DWORD PTR [EBP-36], EAX\r
7232         XOR EAX,EAX\r
7233         MOV DWORD PTR [EBP-44], EAX\r
7234         JMP L_832\r
7235 L_836:\r
7236         CALL _lookup_local\r
7237         AND EAX,EAX\r
7238         JNZ L_837\r
7239         CALL _lookup_global\r
7240 L_837:\r
7241         AND EAX,EAX\r
7242         JNZ L_838\r
7243         PUSH 8\r
7244         CALL _test_token\r
7245         AND EAX,EAX\r
7246         JZ L_839\r
7247         PUSH OFFSET L_lit+3769\r
7248         CALL _symbol_error\r
7249         JMP L_840\r
7250 L_839:\r
7251         PUSH OFFSET L_lit+3793\r
7252         CALL _symbol_error\r
7253 L_840:\r
7254 L_838:\r
7255         MOV EAX,103\r
7256         MOV DWORD PTR [EBP-28], EAX\r
7257         MOV EAX,_sptr\r
7258         MOV DWORD PTR [EBP-32], EAX\r
7259         MOV EAX,DWORD PTR [EBP-32]\r
7260         MOV ECX,24\r
7261         MUL ECX\r
7262         MOV ESI,OFFSET _symtab\r
7263         ADD ESI,EAX\r
7264         MOV EAX,DWORD PTR [ESI]\r
7265         MOV DWORD PTR [EBP-36], EAX\r
7266         XOR EAX,EAX\r
7267         MOV DWORD PTR [EBP-44], EAX\r
7268         JMP L_832\r
7269 L_841:\r
7270         CALL _get_value\r
7271         LEA EAX,DWORD PTR [EBP-28]\r
7272         PUSH EAX\r
7273         LEA EAX,DWORD PTR [EBP-32]\r
7274         PUSH EAX\r
7275         LEA EAX,DWORD PTR [EBP-36]\r
7276         PUSH EAX\r
7277         LEA EAX,DWORD PTR [EBP-44]\r
7278         PUSH EAX\r
7279         CALL _pop\r
7280         CALL _StackESI\r
7281         PUSH DWORD PTR [EBP-28]\r
7282         PUSH DWORD PTR [EBP-32]\r
7283         PUSH DWORD PTR [EBP-36]\r
7284         PUSH DWORD PTR [EBP-44]\r
7285         CALL _index_ptr\r
7286         MOV EAX,109\r
7287         MOV DWORD PTR [EBP-28], EAX\r
7288         MOV EAX,DWORD PTR [EBP-36]\r
7289         AND EAX,7\r
7290         JZ L_842\r
7291         DEC DWORD PTR [EBP-36]\r
7292         MOV EAX,DWORD PTR [EBP-36]\r
7293         JMP L_843\r
7294 L_842:\r
7295         CALL _index_error\r
7296 L_843:\r
7297         JMP L_832\r
7298 L_844:\r
7299         CALL _get_value\r
7300         LEA EAX,DWORD PTR [EBP-28]\r
7301         PUSH EAX\r
7302         LEA EAX,DWORD PTR [EBP-32]\r
7303         PUSH EAX\r
7304         LEA EAX,DWORD PTR [EBP-36]\r
7305         PUSH EAX\r
7306         LEA EAX,DWORD PTR [EBP-44]\r
7307         PUSH EAX\r
7308         CALL _pop\r
7309         MOV EAX,DWORD PTR [EBP-28]\r
7310         CMP EAX,103\r
7311         SETE AL\r
7312         AND AL,AL\r
7313         JZ L_845\r
7314         CALL _StackEAX\r
7315         MOV EAX,DWORD PTR [EBP-36]\r
7316         AND EAX,2097152\r
7317         JZ SHORT L_847\r
7318         MOV EAX,OFFSET L_lit+3810\r
7319         JMP SHORT L_846\r
7320 L_847:\r
7321         MOV EAX,OFFSET L_lit+3827\r
7322 L_846:\r
7323         PUSH EAX\r
7324         CALL _code_str\r
7325         PUSH DWORD PTR [EBP-28]\r
7326         PUSH DWORD PTR [EBP-32]\r
7327         PUSH DWORD PTR [EBP-36]\r
7328         PUSH DWORD PTR [EBP-44]\r
7329         CALL _write_oper\r
7330         PUSH 10\r
7331         CALL _code_chr\r
7332         XOR EAX,EAX\r
7333         MOV _not_flag, AL\r
7334         MOV EAX,DWORD PTR [EBP-36]\r
7335         ADD EAX,1\r
7336         AND EAX,-262145\r
7337         MOV DWORD PTR [EBP-36], EAX\r
7338         MOV EAX,104\r
7339         MOV DWORD PTR [EBP-28], EAX\r
7340         JMP L_848\r
7341 L_845:\r
7342         MOV EAX,DWORD PTR [EBP-28]\r
7343         CMP EAX,109\r
7344         SETE AL\r
7345         AND AL,AL\r
7346         JZ L_849\r
7347         CALL _StackEAX\r
7348         XOR EAX,EAX\r
7349         MOV _not_flag, AL\r
7350         PUSH OFFSET L_lit+3837\r
7351         CALL _out_inst\r
7352         MOV EAX,DWORD PTR [EBP-36]\r
7353         ADD EAX,1\r
7354         AND EAX,-262145\r
7355         MOV DWORD PTR [EBP-36], EAX\r
7356         MOV EAX,104\r
7357         MOV DWORD PTR [EBP-28], EAX\r
7358         JMP L_850\r
7359 L_849:\r
7360         MOV EAX,DWORD PTR [EBP-28]\r
7361         CMP EAX,104\r
7362         SETE AL\r
7363         AND AL,AL\r
7364         JZ L_851\r
7365         MOV EAX,DWORD PTR [EBP-36]\r
7366         AND EAX,7\r
7367 L_851:\r
7368         JZ L_852\r
7369         JMP L_853\r
7370 L_852:\r
7371         PUSH OFFSET L_lit+3849\r
7372         CALL _line_error\r
7373 L_853:\r
7374 L_850:\r
7375 L_848:\r
7376         JMP L_832\r
7377 L_854:\r
7378         PUSH 9\r
7379         CALL _sub_eval\r
7380         LEA EAX,DWORD PTR [EBP-28]\r
7381         PUSH EAX\r
7382         LEA EAX,DWORD PTR [EBP-32]\r
7383         PUSH EAX\r
7384         LEA EAX,DWORD PTR [EBP-36]\r
7385         PUSH EAX\r
7386         LEA EAX,DWORD PTR [EBP-44]\r
7387         PUSH EAX\r
7388         CALL _pop\r
7389         JMP L_832\r
7390 L_855:\r
7391         PUSH 8\r
7392         CALL _test_token\r
7393         AND EAX,EAX\r
7394         JZ L_856\r
7395         CALL _get_value\r
7396         LEA EAX,DWORD PTR [EBP-28]\r
7397         PUSH EAX\r
7398         LEA EAX,DWORD PTR [EBP-32]\r
7399         PUSH EAX\r
7400         LEA EAX,DWORD PTR [EBP-36]\r
7401         PUSH EAX\r
7402         LEA EAX,DWORD PTR [EBP-44]\r
7403         PUSH EAX\r
7404         CALL _pop\r
7405         MOV EAX,DWORD PTR [EBP-28]\r
7406         CMP EAX,103\r
7407         SETE AL\r
7408         AND AL,AL\r
7409         JZ L_857\r
7410         MOV EAX,DWORD PTR [EBP-36]\r
7411         AND EAX,7\r
7412         JZ L_858\r
7413         MOV EAX,4\r
7414         MOV DWORD PTR [EBP-20], EAX\r
7415         JMP L_859\r
7416 L_858:\r
7417         MOV EAX,DWORD PTR [EBP-36]\r
7418         AND EAX,16\r
7419         JZ L_860\r
7420         MOV EAX,1\r
7421         MOV DWORD PTR [EBP-20], EAX\r
7422         JMP L_861\r
7423 L_860:\r
7424         MOV EAX,DWORD PTR [EBP-36]\r
7425         AND EAX,32\r
7426         JZ L_862\r
7427         MOV EAX,2\r
7428         MOV DWORD PTR [EBP-20], EAX\r
7429         JMP L_863\r
7430 L_862:\r
7431         MOV EAX,DWORD PTR [EBP-36]\r
7432         AND EAX,64\r
7433         JZ L_864\r
7434         MOV EAX,4\r
7435         MOV DWORD PTR [EBP-20], EAX\r
7436         JMP L_865\r
7437 L_864:\r
7438         MOV EAX,DWORD PTR [EBP-36]\r
7439         AND EAX,512\r
7440         JZ L_866\r
7441         MOV EAX,DWORD PTR [EBP-32]\r
7442         MOV ECX,24\r
7443         MUL ECX\r
7444         MOV ESI,OFFSET _symtab\r
7445         ADD ESI,EAX\r
7446         MOV EAX,DWORD PTR [ESI+16]\r
7447         MOV DWORD PTR [EBP-20], EAX\r
7448         JMP L_867\r
7449 L_866:\r
7450         MOV EAX,4\r
7451         MOV DWORD PTR [EBP-20], EAX\r
7452 L_867:\r
7453 L_865:\r
7454 L_863:\r
7455 L_861:\r
7456 L_859:\r
7457         MOV EAX,DWORD PTR [EBP-36]\r
7458         AND EAX,256\r
7459         JZ L_868\r
7460         MOV EAX,DWORD PTR [EBP-36]\r
7461         AND EAX,7\r
7462         AND EAX,EAX\r
7463         SETZ AL\r
7464         AND AL,AL\r
7465 L_868:\r
7466         JZ L_869\r
7467         MOV EAX,DWORD PTR [EBP-32]\r
7468         MOV ECX,24\r
7469         MUL ECX\r
7470         MOV ESI,OFFSET _symtab\r
7471         ADD ESI,EAX\r
7472         MOV EAX,DWORD PTR [ESI+20]\r
7473         MOV DWORD PTR [EBP-12], EAX\r
7474         MOV EAX,DWORD PTR [EBP-12]\r
7475         INC DWORD PTR [EBP-12]\r
7476         SHL EAX,2\r
7477         MOV ESI,OFFSET _dim_pool\r
7478         ADD ESI,EAX\r
7479         MOV EAX,DWORD PTR [ESI]\r
7480         MOV DWORD PTR [EBP-16], EAX\r
7481 L_870:\r
7482         MOV EAX,DWORD PTR [EBP-16]\r
7483         DEC DWORD PTR [EBP-16]\r
7484         AND EAX,EAX\r
7485         JZ L_871\r
7486         MOV EAX,DWORD PTR [EBP-12]\r
7487         INC DWORD PTR [EBP-12]\r
7488         SHL EAX,2\r
7489         MOV ESI,OFFSET _dim_pool\r
7490         ADD ESI,EAX\r
7491         MOV EAX,DWORD PTR [EBP-20]\r
7492         MOV ECX,DWORD PTR [ESI]\r
7493         MUL ECX\r
7494         MOV DWORD PTR [EBP-20], EAX\r
7495         JMP L_870\r
7496 L_871:\r
7497 L_869:\r
7498         MOV EAX,100\r
7499         MOV DWORD PTR [EBP-28], EAX\r
7500         MOV EAX,64\r
7501         MOV DWORD PTR [EBP-36], EAX\r
7502         MOV EAX,DWORD PTR [EBP-20]\r
7503         MOV DWORD PTR [EBP-32], EAX\r
7504         PUSH DWORD PTR [EBP-28]\r
7505         PUSH DWORD PTR [EBP-32]\r
7506         PUSH DWORD PTR [EBP-36]\r
7507         XOR EAX,EAX\r
7508         PUSH EAX\r
7509         CALL _push\r
7510         PUSH 9\r
7511         CALL _expect\r
7512         JMP L_872\r
7513 L_857:\r
7514         PUSH OFFSET L_lit+3871\r
7515         CALL _line_error\r
7516 L_873:\r
7517         JMP L_874\r
7518 L_856:\r
7519         PUSH OFFSET L_lit+3887\r
7520         CALL _line_error\r
7521 L_874:\r
7522         JMP L_832\r
7523 L_875:\r
7524         CALL _get_value\r
7525         PUSH DWORD PTR [EBP-24]\r
7526         CALL _do_unary\r
7527         JMP L_872\r
7528 L_833:\r
7529         CMP EAX,60\r
7530         JE L_855\r
7531         CMP EAX,8\r
7532         JE L_854\r
7533         CMP EAX,7\r
7534         JE L_844\r
7535         CMP EAX,11\r
7536         JE L_841\r
7537         CMP EAX,103\r
7538         JE L_836\r
7539         CMP EAX,101\r
7540         JE L_835\r
7541         CMP EAX,100\r
7542         JE L_834\r
7543         JMP L_875\r
7544 L_832:\r
7545         PUSH 8\r
7546         CALL _test_token\r
7547         AND EAX,EAX\r
7548         JZ L_876\r
7549         MOV EAX,DWORD PTR [EBP-32]\r
7550         MOV ECX,24\r
7551         MUL ECX\r
7552         MOV ESI,OFFSET _symtab\r
7553         ADD ESI,EAX\r
7554         MOV EAX,DWORD PTR [ESI+20]\r
7555         MOV _iarg, EAX\r
7556         PUSH DWORD PTR [EBP-28]\r
7557         PUSH DWORD PTR [EBP-32]\r
7558         PUSH DWORD PTR [EBP-36]\r
7559         PUSH DWORD PTR [EBP-44]\r
7560         CALL _push\r
7561         CALL _StackEAX\r
7562         CALL _StackESI\r
7563         MOV EAX,DWORD PTR [EBP-36]\r
7564         AND EAX,65536\r
7565         JZ L_877\r
7566         MOV EAX,-1\r
7567         MOV BYTE PTR [EBP-46], AL\r
7568         JMP L_878\r
7569 L_877:\r
7570         XOR EAX,EAX\r
7571         MOV BYTE PTR [EBP-46], AL\r
7572 L_878:\r
7573         XOR EAX,EAX\r
7574         MOV DWORD PTR [EBP-4], EAX\r
7575         MOV DWORD PTR [EBP-8], EAX\r
7576         CALL _StackTop\r
7577         PUSH 9\r
7578         CALL _test_token\r
7579         AND EAX,EAX\r
7580         JNZ L_879\r
7581 L_880:\r
7582         MOV EAX,_iarg\r
7583         SHL EAX,2\r
7584         MOV ESI,OFFSET _proto_list\r
7585         ADD ESI,EAX\r
7586         MOV EAX,DWORD PTR [ESI]\r
7587         MOV _argtype, EAX\r
7588         MOV EAX,_argtype\r
7589         AND EAX,8\r
7590         JNZ L_883\r
7591         MOV EAX,_iarg\r
7592         INC _iarg\r
7593 L_883:\r
7594         PUSH 25\r
7595         CALL _do_oper\r
7596         MOV DWORD PTR [EBP-24], EAX\r
7597         LEA EAX,DWORD PTR [EBP-28]\r
7598         PUSH EAX\r
7599         LEA EAX,DWORD PTR [EBP-32]\r
7600         PUSH EAX\r
7601         LEA EAX,DWORD PTR [EBP-36]\r
7602         PUSH EAX\r
7603         LEA EAX,DWORD PTR [EBP-44]\r
7604         PUSH EAX\r
7605         CALL _pop\r
7606         PUSH DWORD PTR [EBP-28]\r
7607         PUSH DWORD PTR [EBP-32]\r
7608         PUSH DWORD PTR [EBP-36]\r
7609         PUSH DWORD PTR [EBP-44]\r
7610         CALL _LoadEAX\r
7611         MOV EAX,DWORD PTR [EBP-28]\r
7612         CMP EAX,109\r
7613         SETNE AL\r
7614         AND AL,AL\r
7615         JZ L_884\r
7616         MOV EAX,DWORD PTR [EBP-44]\r
7617         AND EAX,EAX\r
7618         JZ L_885\r
7619         MOV EAX,DWORD PTR [EBP-36]\r
7620         AND EAX,7\r
7621 L_885:\r
7622 L_884:\r
7623         JZ L_886\r
7624         PUSH OFFSET L_lit+3900\r
7625         CALL _code_str\r
7626         PUSH DWORD PTR [EBP-44]\r
7627         CALL _code_num\r
7628         PUSH 10\r
7629         CALL _code_chr\r
7630 L_886:\r
7631         PUSH OFFSET L_lit+3910\r
7632         CALL _out_inst\r
7633         INC DWORD PTR [EBP-4]\r
7634         MOV EAX,DWORD PTR [EBP-4]\r
7635         MOVSX EAX,BYTE PTR [EBP-46]\r
7636         AND EAX,EAX\r
7637         SETZ AL\r
7638         AND AL,AL\r
7639         JNZ L_887\r
7640         MOVSX EAX,BYTE PTR [EBP-46]\r
7641         AND EAX,EAX\r
7642         JZ L_888\r
7643         MOV EAX,_argtype\r
7644         CMP EAX,8\r
7645         SETE AL\r
7646         AND AL,AL\r
7647 L_888:\r
7648 L_887:\r
7649         JZ L_889\r
7650         INC DWORD PTR [EBP-8]\r
7651         MOV EAX,DWORD PTR [EBP-8]\r
7652 L_889:\r
7653 L_881:\r
7654         MOV EAX,DWORD PTR [EBP-24]\r
7655         CMP EAX,15\r
7656         SETE AL\r
7657         AND AL,AL\r
7658         JNZ L_880\r
7659 L_882:\r
7660         MOV EAX,DWORD PTR [EBP-24]\r
7661         CMP EAX,9\r
7662         SETNE AL\r
7663         AND AL,AL\r
7664         JZ L_890\r
7665         CALL _syntax_error\r
7666 L_890:\r
7667 L_879:\r
7668         XOR EAX,EAX\r
7669         MOV _iarg, EAX\r
7670         LEA EAX,DWORD PTR [EBP-28]\r
7671         PUSH EAX\r
7672         LEA EAX,DWORD PTR [EBP-32]\r
7673         PUSH EAX\r
7674         LEA EAX,DWORD PTR [EBP-36]\r
7675         PUSH EAX\r
7676         LEA EAX,DWORD PTR [EBP-44]\r
7677         PUSH EAX\r
7678         CALL _pop\r
7679         MOVSX EAX,BYTE PTR [EBP-46]\r
7680         AND EAX,EAX\r
7681         JZ L_891\r
7682         PUSH OFFSET L_lit+3919\r
7683         CALL _code_str\r
7684         MOV EAX,DWORD PTR [EBP-8]\r
7685         SHL EAX,2\r
7686         PUSH EAX\r
7687         CALL _code_num\r
7688         PUSH 10\r
7689         CALL _code_chr\r
7690         JMP L_892\r
7691 L_891:\r
7692         XOR EAX,EAX\r
7693         MOV DWORD PTR [EBP-4], EAX\r
7694 L_892:\r
7695         PUSH DWORD PTR [EBP-28]\r
7696         PUSH DWORD PTR [EBP-32]\r
7697         PUSH DWORD PTR [EBP-36]\r
7698         PUSH DWORD PTR [EBP-44]\r
7699         PUSH DWORD PTR [EBP-4]\r
7700         CALL _call\r
7701         MOV EAX,104\r
7702         MOV DWORD PTR [EBP-28], EAX\r
7703         MOV EAX,DWORD PTR [EBP-36]\r
7704         AND EAX,-262145\r
7705         MOV DWORD PTR [EBP-36], EAX\r
7706 L_876:\r
7707         XOR EAX,EAX\r
7708         MOV BYTE PTR [EBP-45], AL\r
7709         PUSH 37\r
7710         CALL _test_token\r
7711         AND EAX,EAX\r
7712         JZ L_893\r
7713         PUSH DWORD PTR [EBP-28]\r
7714         PUSH DWORD PTR [EBP-32]\r
7715         PUSH DWORD PTR [EBP-36]\r
7716         PUSH DWORD PTR [EBP-44]\r
7717         LEA EAX,DWORD PTR [EBP-36]\r
7718         PUSH EAX\r
7719         CALL _eval_index\r
7720         MOV BYTE PTR [EBP-45], AL\r
7721         LEA EAX,DWORD PTR [EBP-24]\r
7722         PUSH EAX\r
7723         LEA EAX,DWORD PTR [EBP-32]\r
7724         PUSH EAX\r
7725         LEA EAX,DWORD PTR [EBP-28]\r
7726         PUSH EAX\r
7727         LEA EAX,DWORD PTR [EBP-44]\r
7728         PUSH EAX\r
7729         CALL _pop\r
7730         MOV EAX,DWORD PTR [EBP-24]\r
7731         CMP EAX,100\r
7732         SETE AL\r
7733         AND AL,AL\r
7734         MOV EBX,EAX\r
7735         MOV EAX,DWORD PTR [EBP-32]\r
7736         AND EAX,EAX\r
7737         SETZ AL\r
7738         AND AL,AL\r
7739         AND EAX,EBX\r
7740         JZ L_894\r
7741         LEA EAX,DWORD PTR [EBP-28]\r
7742         PUSH EAX\r
7743         LEA EAX,DWORD PTR [EBP-32]\r
7744         PUSH EAX\r
7745         LEA EAX,DWORD PTR [EBP-40]\r
7746         PUSH EAX\r
7747         LEA EAX,DWORD PTR [EBP-44]\r
7748         PUSH EAX\r
7749         CALL _pop\r
7750         MOV EAX,DWORD PTR [EBP-40]\r
7751         AND EAX,263\r
7752         JZ L_895\r
7753         MOV EAX,DWORD PTR [EBP-28]\r
7754         CMP EAX,109\r
7755         SETNE AL\r
7756         AND AL,AL\r
7757 L_895:\r
7758         JZ L_896\r
7759         PUSH DWORD PTR [EBP-28]\r
7760         PUSH DWORD PTR [EBP-32]\r
7761         PUSH DWORD PTR [EBP-40]\r
7762         PUSH DWORD PTR [EBP-44]\r
7763         CALL _load_index\r
7764 L_896:\r
7765         JMP L_897\r
7766 L_894:\r
7767         PUSH DWORD PTR [EBP-24]\r
7768         PUSH DWORD PTR [EBP-32]\r
7769         PUSH DWORD PTR [EBP-28]\r
7770         PUSH DWORD PTR [EBP-44]\r
7771         CALL _LoadEAX\r
7772         LEA EAX,DWORD PTR [EBP-28]\r
7773         PUSH EAX\r
7774         LEA EAX,DWORD PTR [EBP-32]\r
7775         PUSH EAX\r
7776         LEA EAX,DWORD PTR [EBP-40]\r
7777         PUSH EAX\r
7778         LEA EAX,DWORD PTR [EBP-44]\r
7779         PUSH EAX\r
7780         CALL _pop\r
7781         MOV EAX,DWORD PTR [EBP-40]\r
7782         AND EAX,263\r
7783         JZ L_898\r
7784         MOV EAX,DWORD PTR [EBP-28]\r
7785         CMP EAX,109\r
7786         SETNE AL\r
7787         AND AL,AL\r
7788 L_898:\r
7789         JZ L_899\r
7790         PUSH DWORD PTR [EBP-28]\r
7791         PUSH DWORD PTR [EBP-32]\r
7792         PUSH DWORD PTR [EBP-40]\r
7793         PUSH DWORD PTR [EBP-44]\r
7794         CALL _load_index\r
7795 L_899:\r
7796         PUSH OFFSET L_lit+3930\r
7797         CALL _out_inst\r
7798 L_897:\r
7799         MOV EAX,109\r
7800         MOV DWORD PTR [EBP-28], EAX\r
7801 L_893:\r
7802         MOV EAX,DWORD PTR [EBP-36]\r
7803         AND EAX,256\r
7804         JZ L_900\r
7805         MOV EAX,DWORD PTR [EBP-36]\r
7806         AND EAX,67109376\r
7807         AND EAX,EAX\r
7808         SETZ AL\r
7809         AND AL,AL\r
7810 L_900:\r
7811         JZ L_901\r
7812         MOV EAX,DWORD PTR [EBP-36]\r
7813         ADD EAX,1\r
7814         AND EAX,-257\r
7815         MOV DWORD PTR [EBP-36], EAX\r
7816         MOV EAX,DWORD PTR [EBP-36]\r
7817         AND EAX,32768\r
7818         JNZ L_902\r
7819         MOVSX EAX,BYTE PTR [EBP-45]\r
7820         AND EAX,EAX\r
7821         JNZ L_903\r
7822         CALL _StackEAX\r
7823         CALL _StackESI\r
7824         PUSH DWORD PTR [EBP-28]\r
7825         PUSH DWORD PTR [EBP-32]\r
7826         PUSH DWORD PTR [EBP-36]\r
7827         PUSH DWORD PTR [EBP-44]\r
7828         CALL _index_adr\r
7829 L_903:\r
7830         CALL _StackEAX\r
7831         XOR EAX,EAX\r
7832         MOV _not_flag, AL\r
7833         PUSH OFFSET L_lit+3942\r
7834         CALL _out_inst\r
7835         MOV EAX,104\r
7836         MOV DWORD PTR [EBP-28], EAX\r
7837 L_902:\r
7838 L_901:\r
7839         PUSH 18\r
7840         CALL _test_token\r
7841         AND EAX,EAX\r
7842         JZ L_904\r
7843         MOV EAX,DWORD PTR [EBP-36]\r
7844         AND EAX,512\r
7845         JZ L_905\r
7846         MOV EAX,DWORD PTR [EBP-36]\r
7847         AND EAX,7\r
7848         JNZ L_906\r
7849         MOV EAX,DWORD PTR [EBP-28]\r
7850         CMP EAX,109\r
7851         SETE AL\r
7852         AND AL,AL\r
7853 L_906:\r
7854 L_905:\r
7855         JZ L_907\r
7856         MOV EAX,DWORD PTR [EBP-28]\r
7857         CMP EAX,103\r
7858         SETE AL\r
7859         AND AL,AL\r
7860         JZ L_908\r
7861         CALL _StackEAX\r
7862         CALL _StackESI\r
7863         PUSH DWORD PTR [EBP-28]\r
7864         PUSH DWORD PTR [EBP-32]\r
7865         PUSH DWORD PTR [EBP-36]\r
7866         PUSH DWORD PTR [EBP-44]\r
7867         CALL _index_ptr\r
7868         MOV EAX,109\r
7869         MOV DWORD PTR [EBP-28], EAX\r
7870 L_908:\r
7871         PUSH 103\r
7872         CALL _test_token\r
7873         AND EAX,EAX\r
7874         JZ L_909\r
7875         PUSH DWORD PTR [EBP-32]\r
7876         CALL _lookup_member\r
7877         AND EAX,EAX\r
7878         JZ L_910\r
7879         MOV EAX,_sptr\r
7880         MOV ECX,24\r
7881         MUL ECX\r
7882         MOV ESI,OFFSET _symtab\r
7883         ADD ESI,EAX\r
7884         MOV EAX,DWORD PTR [ESI+16]\r
7885         MOV _memoffset, EAX\r
7886         MOV EAX,_sptr\r
7887         MOV ECX,24\r
7888         MUL ECX\r
7889         MOV ESI,OFFSET _symtab\r
7890         ADD ESI,EAX\r
7891         MOV EAX,DWORD PTR [ESI]\r
7892         MOV DWORD PTR [EBP-36], EAX\r
7893         MOV EAX,_sptr\r
7894         MOV DWORD PTR [EBP-32], EAX\r
7895         MOV EAX,_memoffset\r
7896         MOV DWORD PTR [EBP-44], EAX\r
7897         MOV EAX,DWORD PTR [EBP-36]\r
7898         AND EAX,256\r
7899         JZ L_911\r
7900         MOV EAX,DWORD PTR [EBP-36]\r
7901         ADD EAX,1\r
7902         AND EAX,-257\r
7903         MOV DWORD PTR [EBP-36], EAX\r
7904 L_911:\r
7905         MOV EAX,109\r
7906         MOV DWORD PTR [EBP-28], EAX\r
7907         JMP L_912\r
7908 L_910:\r
7909         PUSH OFFSET L_lit+3954\r
7910         CALL _line_error\r
7911 L_912:\r
7912         JMP L_913\r
7913 L_909:\r
7914         PUSH OFFSET L_lit+3977\r
7915         CALL _line_error\r
7916 L_913:\r
7917         JMP L_914\r
7918 L_907:\r
7919         PUSH OFFSET L_lit+4003\r
7920         CALL _line_error\r
7921 L_914:\r
7922 L_904:\r
7923         PUSH 21\r
7924         CALL _test_token\r
7925         AND EAX,EAX\r
7926         JZ L_915\r
7927         MOV EAX,DWORD PTR [EBP-36]\r
7928         AND EAX,512\r
7929         JZ L_916\r
7930         MOV EAX,DWORD PTR [EBP-36]\r
7931         AND EAX,7\r
7932         AND EAX,EAX\r
7933         SETZ AL\r
7934         AND AL,AL\r
7935 L_916:\r
7936         JZ L_917\r
7937         MOV EAX,DWORD PTR [EBP-28]\r
7938         CMP EAX,103\r
7939         SETE AL\r
7940         AND AL,AL\r
7941         JZ L_918\r
7942         CALL _StackEAX\r
7943         CALL _StackESI\r
7944         PUSH DWORD PTR [EBP-28]\r
7945         PUSH DWORD PTR [EBP-32]\r
7946         PUSH DWORD PTR [EBP-36]\r
7947         PUSH DWORD PTR [EBP-44]\r
7948         CALL _index_adr\r
7949         MOV EAX,109\r
7950         MOV DWORD PTR [EBP-28], EAX\r
7951 L_918:\r
7952         PUSH 103\r
7953         CALL _test_token\r
7954         AND EAX,EAX\r
7955         JZ L_919\r
7956         PUSH DWORD PTR [EBP-32]\r
7957         CALL _lookup_member\r
7958         AND EAX,EAX\r
7959         JZ L_920\r
7960         MOV EAX,_sptr\r
7961         MOV ECX,24\r
7962         MUL ECX\r
7963         MOV ESI,OFFSET _symtab\r
7964         ADD ESI,EAX\r
7965         MOV EAX,DWORD PTR [ESI+16]\r
7966         MOV _memoffset, EAX\r
7967         MOV EAX,_sptr\r
7968         MOV ECX,24\r
7969         MUL ECX\r
7970         MOV ESI,OFFSET _symtab\r
7971         ADD ESI,EAX\r
7972         MOV EAX,DWORD PTR [ESI]\r
7973         MOV DWORD PTR [EBP-36], EAX\r
7974         MOV EAX,_sptr\r
7975         MOV DWORD PTR [EBP-32], EAX\r
7976         MOV EAX,_memoffset\r
7977         MOV DWORD PTR [EBP-44], EAX\r
7978         MOV EAX,109\r
7979         MOV DWORD PTR [EBP-28], EAX\r
7980         JMP L_921\r
7981 L_920:\r
7982         PUSH OFFSET L_lit+4030\r
7983         CALL _line_error\r
7984 L_921:\r
7985         JMP L_922\r
7986 L_919:\r
7987         PUSH OFFSET L_lit+4056\r
7988         CALL _line_error\r
7989 L_922:\r
7990         JMP L_923\r
7991 L_917:\r
7992         PUSH OFFSET L_lit+4082\r
7993         CALL _line_error\r
7994 L_923:\r
7995 L_915:\r
7996         XOR EAX,EAX\r
7997         MOV BYTE PTR [EBP-45], AL\r
7998         PUSH 37\r
7999         CALL _test_token\r
8000         AND EAX,EAX\r
8001         JZ L_924\r
8002         PUSH DWORD PTR [EBP-28]\r
8003         PUSH DWORD PTR [EBP-32]\r
8004         PUSH DWORD PTR [EBP-36]\r
8005         PUSH DWORD PTR [EBP-44]\r
8006         LEA EAX,DWORD PTR [EBP-36]\r
8007         PUSH EAX\r
8008         CALL _eval_index\r
8009         MOV BYTE PTR [EBP-45], AL\r
8010         LEA EAX,DWORD PTR [EBP-24]\r
8011         PUSH EAX\r
8012         LEA EAX,DWORD PTR [EBP-32]\r
8013         PUSH EAX\r
8014         LEA EAX,DWORD PTR [EBP-28]\r
8015         PUSH EAX\r
8016         LEA EAX,DWORD PTR [EBP-44]\r
8017         PUSH EAX\r
8018         CALL _pop\r
8019         MOV EAX,DWORD PTR [EBP-24]\r
8020         CMP EAX,100\r
8021         SETE AL\r
8022         AND AL,AL\r
8023         MOV EBX,EAX\r
8024         MOV EAX,DWORD PTR [EBP-32]\r
8025         AND EAX,EAX\r
8026         SETZ AL\r
8027         AND AL,AL\r
8028         AND EAX,EBX\r
8029         JZ L_925\r
8030         LEA EAX,DWORD PTR [EBP-28]\r
8031         PUSH EAX\r
8032         LEA EAX,DWORD PTR [EBP-32]\r
8033         PUSH EAX\r
8034         LEA EAX,DWORD PTR [EBP-40]\r
8035         PUSH EAX\r
8036         LEA EAX,DWORD PTR [EBP-44]\r
8037         PUSH EAX\r
8038         CALL _pop\r
8039         MOV EAX,DWORD PTR [EBP-40]\r
8040         AND EAX,263\r
8041         JZ L_926\r
8042         MOV EAX,DWORD PTR [EBP-28]\r
8043         CMP EAX,109\r
8044         SETNE AL\r
8045         AND AL,AL\r
8046 L_926:\r
8047         JZ L_927\r
8048         PUSH DWORD PTR [EBP-28]\r
8049         PUSH DWORD PTR [EBP-32]\r
8050         PUSH DWORD PTR [EBP-40]\r
8051         PUSH DWORD PTR [EBP-44]\r
8052         CALL _load_index\r
8053         MOV EAX,DWORD PTR [EBP-28]\r
8054         CMP EAX,111\r
8055         SETE AL\r
8056         AND AL,AL\r
8057         JZ L_928\r
8058         MOV EAX,DWORD PTR [EBP-32]\r
8059         MOV ECX,24\r
8060         MUL ECX\r
8061         MOV ESI,OFFSET _symtab\r
8062         ADD ESI,EAX\r
8063         MOV EAX,DWORD PTR [ESI]\r
8064         AND EAX,256\r
8065 L_928:\r
8066         JZ L_929\r
8067         MOV EAX,110\r
8068         MOV DWORD PTR [EBP-28], EAX\r
8069 L_929:\r
8070 L_927:\r
8071         JMP L_930\r
8072 L_925:\r
8073         PUSH DWORD PTR [EBP-24]\r
8074         PUSH DWORD PTR [EBP-32]\r
8075         PUSH DWORD PTR [EBP-28]\r
8076         PUSH DWORD PTR [EBP-44]\r
8077         CALL _LoadEAX\r
8078         LEA EAX,DWORD PTR [EBP-28]\r
8079         PUSH EAX\r
8080         LEA EAX,DWORD PTR [EBP-32]\r
8081         PUSH EAX\r
8082         LEA EAX,DWORD PTR [EBP-40]\r
8083         PUSH EAX\r
8084         LEA EAX,DWORD PTR [EBP-44]\r
8085         PUSH EAX\r
8086         CALL _pop\r
8087         MOV EAX,DWORD PTR [EBP-40]\r
8088         AND EAX,263\r
8089         JZ L_931\r
8090         MOV EAX,DWORD PTR [EBP-28]\r
8091         CMP EAX,109\r
8092         SETNE AL\r
8093         AND AL,AL\r
8094 L_931:\r
8095         JZ L_932\r
8096         MOV EAX,DWORD PTR [EBP-28]\r
8097         CMP EAX,111\r
8098         SETE AL\r
8099         AND AL,AL\r
8100         JZ L_933\r
8101         MOV EAX,DWORD PTR [EBP-32]\r
8102         MOV ECX,24\r
8103         MUL ECX\r
8104         MOV ESI,OFFSET _symtab\r
8105         ADD ESI,EAX\r
8106         MOV EAX,DWORD PTR [ESI]\r
8107         AND EAX,256\r
8108 L_933:\r
8109         JZ L_934\r
8110         MOV EAX,110\r
8111         MOV DWORD PTR [EBP-28], EAX\r
8112 L_934:\r
8113         PUSH DWORD PTR [EBP-28]\r
8114         PUSH DWORD PTR [EBP-32]\r
8115         PUSH DWORD PTR [EBP-40]\r
8116         PUSH DWORD PTR [EBP-44]\r
8117         CALL _load_index\r
8118 L_932:\r
8119         PUSH OFFSET L_lit+4110\r
8120         CALL _out_inst\r
8121 L_930:\r
8122         MOV EAX,109\r
8123         MOV DWORD PTR [EBP-28], EAX\r
8124 L_924:\r
8125         MOV EAX,DWORD PTR [EBP-36]\r
8126         AND EAX,256\r
8127         JZ L_935\r
8128         MOV EAX,DWORD PTR [EBP-36]\r
8129         AND EAX,67108864\r
8130 L_935:\r
8131         JZ L_936\r
8132         MOV EAX,DWORD PTR [EBP-36]\r
8133         ADD EAX,1\r
8134         AND EAX,-257\r
8135         MOV DWORD PTR [EBP-36], EAX\r
8136         MOV EAX,DWORD PTR [EBP-36]\r
8137         AND EAX,32768\r
8138         JNZ L_937\r
8139         MOVSX EAX,BYTE PTR [EBP-45]\r
8140         AND EAX,EAX\r
8141         JNZ L_938\r
8142         CALL _StackEAX\r
8143         CALL _StackESI\r
8144         PUSH DWORD PTR [EBP-28]\r
8145         PUSH DWORD PTR [EBP-32]\r
8146         PUSH DWORD PTR [EBP-36]\r
8147         PUSH DWORD PTR [EBP-44]\r
8148         CALL _index_adr\r
8149 L_938:\r
8150         CALL _StackEAX\r
8151         XOR EAX,EAX\r
8152         MOV _not_flag, AL\r
8153         PUSH OFFSET L_lit+4122\r
8154         CALL _out_inst\r
8155         MOV EAX,104\r
8156         MOV DWORD PTR [EBP-28], EAX\r
8157 L_937:\r
8158 L_936:\r
8159         PUSH 12\r
8160         CALL _test_token\r
8161         AND EAX,EAX\r
8162         JZ L_939\r
8163         MOV EAX,DWORD PTR [EBP-36]\r
8164         AND EAX,7\r
8165         JZ L_940\r
8166         PUSH DWORD PTR [EBP-28]\r
8167         PUSH DWORD PTR [EBP-32]\r
8168         PUSH DWORD PTR [EBP-36]\r
8169         PUSH DWORD PTR [EBP-44]\r
8170         CALL _load_index\r
8171         JMP L_941\r
8172 L_940:\r
8173         PUSH DWORD PTR [EBP-28]\r
8174         PUSH DWORD PTR [EBP-32]\r
8175         PUSH DWORD PTR [EBP-36]\r
8176         PUSH DWORD PTR [EBP-44]\r
8177         CALL _LoadEAX\r
8178 L_941:\r
8179         PUSH DWORD PTR [EBP-36]\r
8180         PUSH DWORD PTR [EBP-32]\r
8181         CALL _ispStruct\r
8182         AND EAX,EAX\r
8183         JZ L_942\r
8184         PUSH OFFSET L_lit+4134\r
8185         PUSH DWORD PTR [EBP-28]\r
8186         PUSH DWORD PTR [EBP-32]\r
8187         PUSH DWORD PTR [EBP-36]\r
8188         PUSH DWORD PTR [EBP-44]\r
8189         CALL _GenCodeOper\r
8190         JMP L_943\r
8191 L_942:\r
8192         PUSH DWORD PTR [EBP-36]\r
8193         CALL _isp32\r
8194         AND EAX,EAX\r
8195         JZ L_944\r
8196         PUSH OFFSET L_lit+4150\r
8197         PUSH DWORD PTR [EBP-28]\r
8198         PUSH DWORD PTR [EBP-32]\r
8199         PUSH DWORD PTR [EBP-36]\r
8200         PUSH DWORD PTR [EBP-44]\r
8201         CALL _GenCodeOper\r
8202         JMP L_945\r
8203 L_944:\r
8204         PUSH DWORD PTR [EBP-36]\r
8205         CALL _isp16\r
8206         AND EAX,EAX\r
8207         JZ L_946\r
8208         PUSH OFFSET L_lit+4158\r
8209         PUSH DWORD PTR [EBP-28]\r
8210         PUSH DWORD PTR [EBP-32]\r
8211         PUSH DWORD PTR [EBP-36]\r
8212         PUSH DWORD PTR [EBP-44]\r
8213         CALL _GenCodeOper\r
8214         JMP L_947\r
8215 L_946:\r
8216         PUSH OFFSET L_lit+4166\r
8217         PUSH DWORD PTR [EBP-28]\r
8218         PUSH DWORD PTR [EBP-32]\r
8219         PUSH DWORD PTR [EBP-36]\r
8220         PUSH DWORD PTR [EBP-44]\r
8221         CALL _GenCodeOper\r
8222 L_947:\r
8223 L_945:\r
8224 L_943:\r
8225         MOV EAX,DWORD PTR [EBP-36]\r
8226         AND EAX,7\r
8227         JZ L_948\r
8228         MOV EAX,109\r
8229         MOV DWORD PTR [EBP-28], EAX\r
8230         JMP L_949\r
8231 L_948:\r
8232         MOV EAX,104\r
8233         MOV DWORD PTR [EBP-28], EAX\r
8234 L_949:\r
8235         JMP L_950\r
8236 L_939:\r
8237         PUSH 16\r
8238         CALL _test_token\r
8239         AND EAX,EAX\r
8240         JZ L_951\r
8241         MOV EAX,DWORD PTR [EBP-36]\r
8242         AND EAX,7\r
8243         JZ L_952\r
8244         PUSH DWORD PTR [EBP-28]\r
8245         PUSH DWORD PTR [EBP-32]\r
8246         PUSH DWORD PTR [EBP-36]\r
8247         PUSH DWORD PTR [EBP-44]\r
8248         CALL _load_index\r
8249         JMP L_953\r
8250 L_952:\r
8251         PUSH DWORD PTR [EBP-28]\r
8252         PUSH DWORD PTR [EBP-32]\r
8253         PUSH DWORD PTR [EBP-36]\r
8254         PUSH DWORD PTR [EBP-44]\r
8255         CALL _LoadEAX\r
8256 L_953:\r
8257         PUSH DWORD PTR [EBP-36]\r
8258         PUSH DWORD PTR [EBP-32]\r
8259         CALL _ispStruct\r
8260         AND EAX,EAX\r
8261         JZ L_954\r
8262         PUSH OFFSET L_lit+4172\r
8263         PUSH DWORD PTR [EBP-28]\r
8264         PUSH DWORD PTR [EBP-32]\r
8265         PUSH DWORD PTR [EBP-36]\r
8266         PUSH DWORD PTR [EBP-44]\r
8267         CALL _GenCodeOper\r
8268         JMP L_955\r
8269 L_954:\r
8270         PUSH DWORD PTR [EBP-36]\r
8271         CALL _isp32\r
8272         AND EAX,EAX\r
8273         JZ L_956\r
8274         PUSH OFFSET L_lit+4188\r
8275         PUSH DWORD PTR [EBP-28]\r
8276         PUSH DWORD PTR [EBP-32]\r
8277         PUSH DWORD PTR [EBP-36]\r
8278         PUSH DWORD PTR [EBP-44]\r
8279         CALL _GenCodeOper\r
8280         JMP L_957\r
8281 L_956:\r
8282         PUSH DWORD PTR [EBP-36]\r
8283         CALL _isp16\r
8284         AND EAX,EAX\r
8285         JZ L_958\r
8286         PUSH OFFSET L_lit+4196\r
8287         PUSH DWORD PTR [EBP-28]\r
8288         PUSH DWORD PTR [EBP-32]\r
8289         PUSH DWORD PTR [EBP-36]\r
8290         PUSH DWORD PTR [EBP-44]\r
8291         CALL _GenCodeOper\r
8292         JMP L_959\r
8293 L_958:\r
8294         PUSH OFFSET L_lit+4204\r
8295         PUSH DWORD PTR [EBP-28]\r
8296         PUSH DWORD PTR [EBP-32]\r
8297         PUSH DWORD PTR [EBP-36]\r
8298         PUSH DWORD PTR [EBP-44]\r
8299         CALL _GenCodeOper\r
8300 L_959:\r
8301 L_957:\r
8302 L_955:\r
8303         MOV EAX,DWORD PTR [EBP-36]\r
8304         AND EAX,7\r
8305         JZ L_960\r
8306         MOV EAX,109\r
8307         MOV DWORD PTR [EBP-28], EAX\r
8308         JMP L_961\r
8309 L_960:\r
8310         MOV EAX,104\r
8311         MOV DWORD PTR [EBP-28], EAX\r
8312 L_961:\r
8313 L_951:\r
8314 L_950:\r
8315         PUSH DWORD PTR [EBP-28]\r
8316         PUSH DWORD PTR [EBP-32]\r
8317         PUSH DWORD PTR [EBP-36]\r
8318         PUSH DWORD PTR [EBP-44]\r
8319         CALL _push\r
8320 L_872:\r
8321         MOV ESP,EBP\r
8322         POP EBP\r
8323         RETN\r
8324 _combine:\r
8325         PUSH EBP\r
8326         MOV EBP,ESP\r
8327         SUB ESP,4\r
8328         MOV EAX,DWORD PTR [EBP+12]\r
8329         AND EAX,7\r
8330         MOV EBX,EAX\r
8331         MOV EAX,DWORD PTR [EBP+8]\r
8332         AND EAX,7\r
8333         CMP EAX,EBX\r
8334         SETBE AL\r
8335         AND AL,AL\r
8336         JZ L_962\r
8337         MOV EAX,DWORD PTR [EBP+12]\r
8338         AND EAX,7\r
8339         MOV DWORD PTR [EBP-4], EAX\r
8340         JMP L_963\r
8341 L_962:\r
8342         MOV EAX,DWORD PTR [EBP+8]\r
8343         AND EAX,7\r
8344         MOV DWORD PTR [EBP-4], EAX\r
8345 L_963:\r
8346         MOV EAX,DWORD PTR [EBP+12]\r
8347         AND EAX,64\r
8348         JNZ L_964\r
8349         MOV EAX,DWORD PTR [EBP+8]\r
8350         AND EAX,64\r
8351 L_964:\r
8352         JZ L_965\r
8353         MOV EAX,DWORD PTR [EBP-4]\r
8354         OR EAX,64\r
8355         MOV DWORD PTR [EBP-4], EAX\r
8356         JMP L_966\r
8357 L_965:\r
8358         MOV EAX,DWORD PTR [EBP+12]\r
8359         AND EAX,32\r
8360         JNZ L_967\r
8361         MOV EAX,DWORD PTR [EBP+8]\r
8362         AND EAX,32\r
8363 L_967:\r
8364         JZ L_968\r
8365         MOV EAX,DWORD PTR [EBP-4]\r
8366         OR EAX,32\r
8367         MOV DWORD PTR [EBP-4], EAX\r
8368         JMP L_969\r
8369 L_968:\r
8370         MOV EAX,DWORD PTR [EBP-4]\r
8371         OR EAX,16\r
8372         MOV DWORD PTR [EBP-4], EAX\r
8373 L_969:\r
8374 L_966:\r
8375         MOV EAX,DWORD PTR [EBP+12]\r
8376         AND EAX,DWORD PTR [EBP+8]\r
8377         AND EAX,128\r
8378         JNZ L_970\r
8379         MOV EAX,DWORD PTR [EBP-4]\r
8380         JMP L_971\r
8381 L_970:\r
8382         MOV EAX,DWORD PTR [EBP+12]\r
8383         AND EAX,128\r
8384         JZ L_972\r
8385         MOV EAX,DWORD PTR [EBP+8]\r
8386         AND EAX,128\r
8387 L_972:\r
8388         JZ L_973\r
8389         MOV EAX,DWORD PTR [EBP-4]\r
8390         OR EAX,128\r
8391         MOV DWORD PTR [EBP-4], EAX\r
8392         MOV EAX,DWORD PTR [EBP-4]\r
8393         JMP L_971\r
8394 L_973:\r
8395         MOV EAX,DWORD PTR [EBP+12]\r
8396         AND EAX,112\r
8397         MOV EBX,EAX\r
8398         MOV EAX,DWORD PTR [EBP+8]\r
8399         AND EAX,112\r
8400         CMP EAX,EBX\r
8401         SETBE AL\r
8402         AND AL,AL\r
8403         JZ L_974\r
8404         MOV EAX,DWORD PTR [EBP+8]\r
8405         AND EAX,128\r
8406 L_974:\r
8407         JZ L_975\r
8408         MOV EAX,DWORD PTR [EBP-4]\r
8409         OR EAX,128\r
8410         MOV DWORD PTR [EBP-4], EAX\r
8411         JMP L_976\r
8412 L_975:\r
8413         MOV EAX,DWORD PTR [EBP+12]\r
8414         AND EAX,112\r
8415         MOV EBX,EAX\r
8416         MOV EAX,DWORD PTR [EBP+8]\r
8417         AND EAX,112\r
8418         CMP EAX,EBX\r
8419         SETAE AL\r
8420         AND AL,AL\r
8421         JZ L_977\r
8422         MOV EAX,DWORD PTR [EBP+12]\r
8423         AND EAX,128\r
8424 L_977:\r
8425         JZ L_978\r
8426         MOV EAX,DWORD PTR [EBP-4]\r
8427         OR EAX,128\r
8428         MOV DWORD PTR [EBP-4], EAX\r
8429 L_978:\r
8430 L_976:\r
8431         MOV EAX,DWORD PTR [EBP-4]\r
8432 L_971:\r
8433         MOV ESP,EBP\r
8434         POP EBP\r
8435         RETN 8\r
8436 _do_oper:\r
8437         PUSH EBP\r
8438         MOV EBP,ESP\r
8439         SUB ESP,32\r
8440         MOV EAX,DWORD PTR [EBP+8]\r
8441         CMP EAX,5\r
8442         SETE AL\r
8443         AND AL,AL\r
8444         JNZ L_979\r
8445         MOV EAX,DWORD PTR [EBP+8]\r
8446         CMP EAX,71\r
8447         SETE AL\r
8448         AND AL,AL\r
8449         JNZ L_980\r
8450         MOV EAX,DWORD PTR [EBP+8]\r
8451         CMP EAX,36\r
8452         SETE AL\r
8453         AND AL,AL\r
8454 L_980:\r
8455 L_979:\r
8456         JZ L_981\r
8457         LEA EAX,DWORD PTR [EBP-8]\r
8458         PUSH EAX\r
8459         LEA EAX,DWORD PTR [EBP-12]\r
8460         PUSH EAX\r
8461         LEA EAX,DWORD PTR [EBP-16]\r
8462         PUSH EAX\r
8463         LEA EAX,DWORD PTR [EBP-24]\r
8464         PUSH EAX\r
8465         CALL _pop\r
8466         CALL _StackEAX\r
8467         CALL _StackESI\r
8468         MOV EAX,DWORD PTR [EBP-8]\r
8469         CMP EAX,104\r
8470         SETNE AL\r
8471         AND AL,AL\r
8472         JZ L_982\r
8473         PUSH DWORD PTR [EBP-8]\r
8474         PUSH DWORD PTR [EBP-12]\r
8475         PUSH DWORD PTR [EBP-16]\r
8476         PUSH DWORD PTR [EBP-24]\r
8477         CALL _LoadEAX\r
8478 L_982:\r
8479         INC _next_lab\r
8480         MOV EAX,_next_lab\r
8481         MOV DWORD PTR [EBP-32], EAX\r
8482         MOV EAX,DWORD PTR [EBP+8]\r
8483         CMP EAX,36\r
8484         SETE AL\r
8485         AND AL,AL\r
8486         JZ L_983\r
8487         XOR EAX,EAX\r
8488         PUSH EAX\r
8489         INC _next_lab\r
8490         MOV EAX,_next_lab\r
8491         MOV DWORD PTR [EBP-4], EAX\r
8492         PUSH EAX\r
8493         XOR EAX,EAX\r
8494         PUSH EAX\r
8495         CALL _cond_jump\r
8496         PUSH 24\r
8497         CALL _sub_eval\r
8498         LEA EAX,DWORD PTR [EBP-8]\r
8499         PUSH EAX\r
8500         LEA EAX,DWORD PTR [EBP-12]\r
8501         PUSH EAX\r
8502         LEA EAX,DWORD PTR [EBP-16]\r
8503         PUSH EAX\r
8504         LEA EAX,DWORD PTR [EBP-24]\r
8505         PUSH EAX\r
8506         CALL _pop\r
8507         PUSH DWORD PTR [EBP-8]\r
8508         PUSH DWORD PTR [EBP-12]\r
8509         PUSH DWORD PTR [EBP-16]\r
8510         PUSH DWORD PTR [EBP-24]\r
8511         CALL _LoadEAX\r
8512         PUSH DWORD PTR [EBP-32]\r
8513         XOR EAX,EAX\r
8514         PUSH EAX\r
8515         CALL _jump\r
8516         PUSH DWORD PTR [EBP-4]\r
8517         CALL _gen_label\r
8518         JMP L_984\r
8519 L_983:\r
8520         CALL _test_not\r
8521         MOV EAX,DWORD PTR [EBP+8]\r
8522         CMP EAX,5\r
8523         SETE AL\r
8524         AND AL,AL\r
8525         JZ L_985\r
8526         XOR EAX,EAX\r
8527         PUSH EAX\r
8528         PUSH DWORD PTR [EBP-32]\r
8529         PUSH -1\r
8530         CALL _cond_jump\r
8531         JMP L_986\r
8532 L_985:\r
8533         PUSH 1\r
8534         PUSH DWORD PTR [EBP-32]\r
8535         PUSH -1\r
8536         CALL _cond_jump\r
8537 L_986:\r
8538 L_984:\r
8539         PUSH 25\r
8540         CALL _do_oper\r
8541         MOV DWORD PTR [EBP-4], EAX\r
8542         LEA EAX,DWORD PTR [EBP-8]\r
8543         PUSH EAX\r
8544         LEA EAX,DWORD PTR [EBP-12]\r
8545         PUSH EAX\r
8546         LEA EAX,DWORD PTR [EBP-20]\r
8547         PUSH EAX\r
8548         LEA EAX,DWORD PTR [EBP-28]\r
8549         PUSH EAX\r
8550         CALL _pop\r
8551         PUSH DWORD PTR [EBP-8]\r
8552         PUSH DWORD PTR [EBP-12]\r
8553         PUSH DWORD PTR [EBP-20]\r
8554         PUSH DWORD PTR [EBP-28]\r
8555         CALL _LoadEAX\r
8556         PUSH DWORD PTR [EBP-32]\r
8557         CALL _gen_label\r
8558         PUSH 104\r
8559         PUSH DWORD PTR [EBP-12]\r
8560         PUSH DWORD PTR [EBP-16]\r
8561         PUSH DWORD PTR [EBP-20]\r
8562         CALL _combine\r
8563         PUSH EAX\r
8564         PUSH DWORD PTR [EBP-28]\r
8565         CALL _push\r
8566         MOV EAX,DWORD PTR [EBP-4]\r
8567         JMP L_987\r
8568 L_981:\r
8569         CALL _get_value\r
8570         CALL _get_token\r
8571         MOV DWORD PTR [EBP-4], EAX\r
8572 L_988:\r
8573         MOV EAX,DWORD PTR [EBP-4]\r
8574         MOV ESI,OFFSET _optype\r
8575         ADD ESI,EAX\r
8576         MOVSX EAX,BYTE PTR [ESI]\r
8577         CMP EAX,1\r
8578         SETG AL\r
8579         AND AL,AL\r
8580         JZ L_990\r
8581         MOV EAX,DWORD PTR [EBP-4]\r
8582         MOV ESI,OFFSET _priority\r
8583         ADD ESI,EAX\r
8584         MOV EAX,DWORD PTR [EBP+8]\r
8585         MOV EBX,ESI\r
8586         MOV ESI,OFFSET _priority\r
8587         ADD ESI,EAX\r
8588         MOVSX EAX,BYTE PTR [EBX]\r
8589         CMP AL,BYTE PTR [ESI]\r
8590         SETGE AL\r
8591         AND AL,AL\r
8592 L_990:\r
8593         JZ L_989\r
8594         MOV EAX,DWORD PTR [EBP-4]\r
8595         MOV ESI,OFFSET _priority\r
8596         ADD ESI,EAX\r
8597         MOV EAX,DWORD PTR [EBP+8]\r
8598         MOV EBX,ESI\r
8599         MOV ESI,OFFSET _priority\r
8600         ADD ESI,EAX\r
8601         MOVSX EAX,BYTE PTR [EBX]\r
8602         CMP AL,BYTE PTR [ESI]\r
8603         SETE AL\r
8604         AND AL,AL\r
8605         JZ L_991\r
8606         MOV EAX,DWORD PTR [EBP+8]\r
8607         MOV ESI,OFFSET _optype\r
8608         ADD ESI,EAX\r
8609         MOVSX EAX,BYTE PTR [ESI]\r
8610         CMP EAX,2\r
8611         SETE AL\r
8612         AND AL,AL\r
8613 L_991:\r
8614         JZ L_992\r
8615         PUSH DWORD PTR [EBP+8]\r
8616         CALL _do_lr2op\r
8617         PUSH DWORD PTR [EBP-4]\r
8618         CALL _do_oper\r
8619         JMP L_987\r
8620 L_992:\r
8621         PUSH DWORD PTR [EBP-4]\r
8622         CALL _do_oper\r
8623         MOV DWORD PTR [EBP-4], EAX\r
8624         JMP L_988\r
8625 L_989:\r
8626         MOV EAX,DWORD PTR [EBP+8]\r
8627         CMP EAX,25\r
8628         SETNE AL\r
8629         AND AL,AL\r
8630         JZ L_993\r
8631         PUSH DWORD PTR [EBP+8]\r
8632         CALL _do_lr2op\r
8633 L_993:\r
8634         MOV EAX,DWORD PTR [EBP-4]\r
8635 L_987:\r
8636         MOV ESP,EBP\r
8637         POP EBP\r
8638         RETN 4\r
8639 _do_lr2op:\r
8640         PUSH EBP\r
8641         MOV EBP,ESP\r
8642         SUB ESP,68\r
8643         LEA EAX,DWORD PTR [EBP-16]\r
8644         PUSH EAX\r
8645         LEA EAX,DWORD PTR [EBP-20]\r
8646         PUSH EAX\r
8647         LEA EAX,DWORD PTR [EBP-24]\r
8648         PUSH EAX\r
8649         LEA EAX,DWORD PTR [EBP-32]\r
8650         PUSH EAX\r
8651         CALL _pop\r
8652         LEA EAX,DWORD PTR [EBP-4]\r
8653         PUSH EAX\r
8654         LEA EAX,DWORD PTR [EBP-8]\r
8655         PUSH EAX\r
8656         LEA EAX,DWORD PTR [EBP-12]\r
8657         PUSH EAX\r
8658         LEA EAX,DWORD PTR [EBP-28]\r
8659         PUSH EAX\r
8660         CALL _pop\r
8661         XOR EAX,EAX\r
8662         MOV DWORD PTR [EBP-36], EAX\r
8663         MOV DWORD PTR [EBP-64], EAX\r
8664         MOV DWORD PTR [EBP-60], EAX\r
8665         MOV DWORD PTR [EBP-56], EAX\r
8666         MOV EAX,DWORD PTR [EBP-4]\r
8667         CMP EAX,100\r
8668         SETE AL\r
8669         AND AL,AL\r
8670         JZ L_994\r
8671         MOV EAX,1\r
8672         MOV DWORD PTR [EBP-60], EAX\r
8673         MOV EAX,DWORD PTR [EBP-24]\r
8674         MOV DWORD PTR [EBP-12], EAX\r
8675 L_994:\r
8676         MOV EAX,DWORD PTR [EBP-16]\r
8677         CMP EAX,100\r
8678         SETE AL\r
8679         AND AL,AL\r
8680         JZ L_995\r
8681         XOR EAX,EAX\r
8682         MOV DWORD PTR [EBP-60], EAX\r
8683         MOV EAX,DWORD PTR [EBP-12]\r
8684         MOV DWORD PTR [EBP-24], EAX\r
8685 L_995:\r
8686         PUSH DWORD PTR [EBP-12]\r
8687         PUSH DWORD PTR [EBP-24]\r
8688         CALL _combine\r
8689         MOV DWORD PTR [EBP-52], EAX\r
8690         MOV EAX,DWORD PTR [EBP-4]\r
8691         CMP EAX,100\r
8692         SETE AL\r
8693         AND AL,AL\r
8694         JZ L_996\r
8695         MOV EAX,DWORD PTR [EBP-16]\r
8696         CMP EAX,100\r
8697         SETE AL\r
8698         AND AL,AL\r
8699         JZ L_997\r
8700         MOV EAX,DWORD PTR [EBP+8]\r
8701         CMP EAX,5\r
8702         SETNE AL\r
8703         AND AL,AL\r
8704         JZ L_998\r
8705         MOV EAX,DWORD PTR [EBP+8]\r
8706         CMP EAX,71\r
8707         SETNE AL\r
8708         AND AL,AL\r
8709 L_998:\r
8710 L_997:\r
8711 L_996:\r
8712         JZ L_999\r
8713         MOV EAX,DWORD PTR [EBP+8]\r
8714         JMP L_1001\r
8715 L_1002:\r
8716         MOV EAX,DWORD PTR [EBP-8]\r
8717         ADD EAX,DWORD PTR [EBP-20]\r
8718         MOV DWORD PTR [EBP-8], EAX\r
8719         JMP L_1000\r
8720 L_1003:\r
8721         MOV EAX,DWORD PTR [EBP-8]\r
8722         SUB EAX,DWORD PTR [EBP-20]\r
8723         MOV DWORD PTR [EBP-8], EAX\r
8724         JMP L_1000\r
8725 L_1004:\r
8726         MOV EAX,DWORD PTR [EBP-8]\r
8727         MOV ECX,DWORD PTR [EBP-20]\r
8728         MUL ECX\r
8729         MOV DWORD PTR [EBP-8], EAX\r
8730         JMP L_1000\r
8731 L_1005:\r
8732         MOV EAX,DWORD PTR [EBP-8]\r
8733         MOV ECX,DWORD PTR [EBP-20]\r
8734         XOR EDX,EDX\r
8735         DIV ECX\r
8736         MOV DWORD PTR [EBP-8], EAX\r
8737         JMP L_1000\r
8738 L_1006:\r
8739         MOV EAX,DWORD PTR [EBP-8]\r
8740         MOV ECX,DWORD PTR [EBP-20]\r
8741         XOR EDX,EDX\r
8742         DIV ECX\r
8743         MOV EAX,EDX\r
8744         MOV DWORD PTR [EBP-8], EAX\r
8745         JMP L_1000\r
8746 L_1007:\r
8747         MOV EAX,DWORD PTR [EBP-8]\r
8748         AND EAX,DWORD PTR [EBP-20]\r
8749         MOV DWORD PTR [EBP-8], EAX\r
8750         JMP L_1000\r
8751 L_1008:\r
8752         MOV EAX,DWORD PTR [EBP-8]\r
8753         OR EAX,DWORD PTR [EBP-20]\r
8754         MOV DWORD PTR [EBP-8], EAX\r
8755         JMP L_1000\r
8756 L_1009:\r
8757         MOV EAX,DWORD PTR [EBP-8]\r
8758         XOR EAX,DWORD PTR [EBP-20]\r
8759         MOV DWORD PTR [EBP-8], EAX\r
8760         JMP L_1000\r
8761 L_1010:\r
8762         MOV EAX,DWORD PTR [EBP-8]\r
8763         MOV ECX,DWORD PTR [EBP-20]\r
8764         SHL EAX,CL\r
8765         MOV DWORD PTR [EBP-8], EAX\r
8766         JMP L_1000\r
8767 L_1011:\r
8768         MOV EAX,DWORD PTR [EBP-8]\r
8769         MOV ECX,DWORD PTR [EBP-20]\r
8770         SHR EAX,CL\r
8771         MOV DWORD PTR [EBP-8], EAX\r
8772         JMP L_1000\r
8773 L_1012:\r
8774         MOV EAX,DWORD PTR [EBP-8]\r
8775         CMP EAX,DWORD PTR [EBP-20]\r
8776         SETE AL\r
8777         AND AL,AL\r
8778         MOV DWORD PTR [EBP-8], EAX\r
8779         JMP L_1000\r
8780 L_1013:\r
8781         MOV EAX,DWORD PTR [EBP-8]\r
8782         CMP EAX,DWORD PTR [EBP-20]\r
8783         SETNE AL\r
8784         AND AL,AL\r
8785         MOV DWORD PTR [EBP-8], EAX\r
8786         JMP L_1000\r
8787 L_1014:\r
8788         MOV EAX,DWORD PTR [EBP-8]\r
8789         CMP EAX,DWORD PTR [EBP-20]\r
8790         SETB AL\r
8791         AND AL,AL\r
8792         MOV DWORD PTR [EBP-8], EAX\r
8793 L_1015:\r
8794         MOV EAX,DWORD PTR [EBP-8]\r
8795         CMP EAX,DWORD PTR [EBP-20]\r
8796         SETBE AL\r
8797         AND AL,AL\r
8798         MOV DWORD PTR [EBP-8], EAX\r
8799         JMP L_1000\r
8800 L_1016:\r
8801         MOV EAX,DWORD PTR [EBP-8]\r
8802         CMP EAX,DWORD PTR [EBP-20]\r
8803         SETA AL\r
8804         AND AL,AL\r
8805         MOV DWORD PTR [EBP-8], EAX\r
8806         JMP L_1000\r
8807 L_1017:\r
8808         MOV EAX,DWORD PTR [EBP-8]\r
8809         CMP EAX,DWORD PTR [EBP-20]\r
8810         SETAE AL\r
8811         AND AL,AL\r
8812         MOV DWORD PTR [EBP-8], EAX\r
8813         JMP L_1000\r
8814 L_1018:\r
8815         CALL _syntax_error\r
8816         JMP L_1000\r
8817 L_1001:\r
8818         CMP EAX,34\r
8819         JE L_1017\r
8820         CMP EAX,35\r
8821         JE L_1016\r
8822         CMP EAX,28\r
8823         JE L_1015\r
8824         CMP EAX,29\r
8825         JE L_1014\r
8826         CMP EAX,1\r
8827         JE L_1013\r
8828         CMP EAX,30\r
8829         JE L_1012\r
8830         CMP EAX,33\r
8831         JE L_1011\r
8832         CMP EAX,27\r
8833         JE L_1010\r
8834         CMP EAX,40\r
8835         JE L_1009\r
8836         CMP EAX,73\r
8837         JE L_1008\r
8838         CMP EAX,7\r
8839         JE L_1007\r
8840         CMP EAX,4\r
8841         JE L_1006\r
8842         CMP EAX,23\r
8843         JE L_1005\r
8844         CMP EAX,11\r
8845         JE L_1004\r
8846         CMP EAX,19\r
8847         JE L_1003\r
8848         CMP EAX,14\r
8849         JE L_1002\r
8850         JMP L_1018\r
8851 L_1000:\r
8852         JMP L_1019\r
8853 L_999:\r
8854         MOV EAX,DWORD PTR [EBP-8]\r
8855         MOV DWORD PTR [EBP-40], EAX\r
8856         MOV EAX,DWORD PTR [EBP-12]\r
8857         MOV DWORD PTR [EBP-44], EAX\r
8858         MOV EAX,104\r
8859         MOV DWORD PTR [EBP-68], EAX\r
8860         MOV EAX,DWORD PTR [EBP-12]\r
8861         OR EAX,DWORD PTR [EBP-24]\r
8862         AND EAX,135\r
8863         JZ L_1020\r
8864         MOV EAX,1\r
8865         MOV DWORD PTR [EBP-56], EAX\r
8866 L_1020:\r
8867         MOV EAX,DWORD PTR [EBP-16]\r
8868         CMP EAX,104\r
8869         SETE AL\r
8870         AND AL,AL\r
8871         JZ L_1021\r
8872         MOV EAX,1\r
8873         MOV DWORD PTR [EBP-60], EAX\r
8874 L_1021:\r
8875         MOV EAX,DWORD PTR [EBP+8]\r
8876         JMP L_1023\r
8877 L_1024:\r
8878 L_1025:\r
8879         PUSH DWORD PTR [EBP-16]\r
8880         PUSH DWORD PTR [EBP-20]\r
8881         PUSH DWORD PTR [EBP-24]\r
8882         PUSH DWORD PTR [EBP-32]\r
8883         CALL _push\r
8884         JMP L_1026\r
8885 L_1027:\r
8886         MOV EAX,DWORD PTR [EBP-4]\r
8887         MOV DWORD PTR [EBP-36], EAX\r
8888         MOV EAX,14\r
8889         MOV DWORD PTR [EBP+8], EAX\r
8890         JMP L_1022\r
8891 L_1028:\r
8892         MOV EAX,DWORD PTR [EBP-4]\r
8893         MOV DWORD PTR [EBP-36], EAX\r
8894         MOV EAX,19\r
8895         MOV DWORD PTR [EBP+8], EAX\r
8896         JMP L_1022\r
8897 L_1029:\r
8898         MOV EAX,DWORD PTR [EBP-4]\r
8899         MOV DWORD PTR [EBP-36], EAX\r
8900         MOV EAX,11\r
8901         MOV DWORD PTR [EBP+8], EAX\r
8902         JMP L_1022\r
8903 L_1030:\r
8904         MOV EAX,23\r
8905         MOV DWORD PTR [EBP+8], EAX\r
8906         MOV EAX,DWORD PTR [EBP-4]\r
8907         MOV DWORD PTR [EBP-36], EAX\r
8908         JMP L_1022\r
8909 L_1031:\r
8910         MOV EAX,4\r
8911         MOV DWORD PTR [EBP+8], EAX\r
8912         MOV EAX,DWORD PTR [EBP-4]\r
8913         MOV DWORD PTR [EBP-36], EAX\r
8914         JMP L_1022\r
8915 L_1032:\r
8916         MOV EAX,27\r
8917         MOV DWORD PTR [EBP+8], EAX\r
8918         MOV EAX,DWORD PTR [EBP-4]\r
8919         MOV DWORD PTR [EBP-36], EAX\r
8920         JMP L_1022\r
8921 L_1033:\r
8922         MOV EAX,33\r
8923         MOV DWORD PTR [EBP+8], EAX\r
8924         MOV EAX,DWORD PTR [EBP-4]\r
8925         MOV DWORD PTR [EBP-36], EAX\r
8926         JMP L_1022\r
8927 L_1034:\r
8928         MOV EAX,7\r
8929         MOV DWORD PTR [EBP+8], EAX\r
8930         MOV EAX,DWORD PTR [EBP-4]\r
8931         MOV DWORD PTR [EBP-36], EAX\r
8932         JMP L_1022\r
8933 L_1035:\r
8934         MOV EAX,73\r
8935         MOV DWORD PTR [EBP+8], EAX\r
8936         MOV EAX,DWORD PTR [EBP-4]\r
8937         MOV DWORD PTR [EBP-36], EAX\r
8938         JMP L_1022\r
8939 L_1036:\r
8940         MOV EAX,40\r
8941         MOV DWORD PTR [EBP+8], EAX\r
8942         MOV EAX,DWORD PTR [EBP-4]\r
8943         MOV DWORD PTR [EBP-36], EAX\r
8944         JMP L_1022\r
8945 L_1023:\r
8946         CMP EAX,39\r
8947         JE L_1036\r
8948         CMP EAX,72\r
8949         JE L_1035\r
8950         CMP EAX,6\r
8951         JE L_1034\r
8952         CMP EAX,32\r
8953         JE L_1033\r
8954         CMP EAX,26\r
8955         JE L_1032\r
8956         CMP EAX,3\r
8957         JE L_1031\r
8958         CMP EAX,22\r
8959         JE L_1030\r
8960         CMP EAX,10\r
8961         JE L_1029\r
8962         CMP EAX,17\r
8963         JE L_1028\r
8964         CMP EAX,13\r
8965         JE L_1027\r
8966         CMP EAX,71\r
8967         JE L_1025\r
8968         CMP EAX,5\r
8969         JE L_1024\r
8970 L_1022:\r
8971         MOV EAX,DWORD PTR [EBP+8]\r
8972         JMP L_1038\r
8973 L_1039:\r
8974 L_1040:\r
8975 L_1041:\r
8976 L_1042:\r
8977 L_1043:\r
8978         MOV EAX,1\r
8979         MOV DWORD PTR [EBP-64], EAX\r
8980         JMP L_1037\r
8981 L_1044:\r
8982         MOV EAX,DWORD PTR [EBP-60]\r
8983         AND EAX,EAX\r
8984         JZ L_1045\r
8985         MOV EAX,DWORD PTR [EBP-56]\r
8986         AND EAX,EAX\r
8987         JZ L_1046\r
8988         MOV EAX,78\r
8989         MOV DWORD PTR [EBP+8], EAX\r
8990         JMP L_1047\r
8991 L_1046:\r
8992         MOV EAX,35\r
8993         MOV DWORD PTR [EBP+8], EAX\r
8994 L_1047:\r
8995         JMP L_1048\r
8996 L_1045:\r
8997         MOV EAX,DWORD PTR [EBP-56]\r
8998         AND EAX,EAX\r
8999         JZ L_1049\r
9000         MOV EAX,76\r
9001         MOV DWORD PTR [EBP+8], EAX\r
9002 L_1049:\r
9003 L_1048:\r
9004         JMP L_1037\r
9005 L_1050:\r
9006         MOV EAX,DWORD PTR [EBP-60]\r
9007         AND EAX,EAX\r
9008         JZ L_1051\r
9009         MOV EAX,DWORD PTR [EBP-56]\r
9010         AND EAX,EAX\r
9011         JZ L_1052\r
9012         MOV EAX,79\r
9013         MOV DWORD PTR [EBP+8], EAX\r
9014         JMP L_1053\r
9015 L_1052:\r
9016         MOV EAX,34\r
9017         MOV DWORD PTR [EBP+8], EAX\r
9018 L_1053:\r
9019         JMP L_1054\r
9020 L_1051:\r
9021         MOV EAX,DWORD PTR [EBP-56]\r
9022         AND EAX,EAX\r
9023         JZ L_1055\r
9024         MOV EAX,77\r
9025         MOV DWORD PTR [EBP+8], EAX\r
9026 L_1055:\r
9027 L_1054:\r
9028         JMP L_1037\r
9029 L_1056:\r
9030         MOV EAX,DWORD PTR [EBP-60]\r
9031         AND EAX,EAX\r
9032         JZ L_1057\r
9033         MOV EAX,DWORD PTR [EBP-56]\r
9034         AND EAX,EAX\r
9035         JZ L_1058\r
9036         MOV EAX,76\r
9037         MOV DWORD PTR [EBP+8], EAX\r
9038         JMP L_1059\r
9039 L_1058:\r
9040         MOV EAX,29\r
9041         MOV DWORD PTR [EBP+8], EAX\r
9042 L_1059:\r
9043         JMP L_1060\r
9044 L_1057:\r
9045         MOV EAX,DWORD PTR [EBP-56]\r
9046         AND EAX,EAX\r
9047         JZ L_1061\r
9048         MOV EAX,78\r
9049         MOV DWORD PTR [EBP+8], EAX\r
9050 L_1061:\r
9051 L_1060:\r
9052         JMP L_1037\r
9053 L_1062:\r
9054         MOV EAX,DWORD PTR [EBP-60]\r
9055         AND EAX,EAX\r
9056         JZ L_1063\r
9057         MOV EAX,DWORD PTR [EBP-56]\r
9058         AND EAX,EAX\r
9059         JZ L_1064\r
9060         MOV EAX,77\r
9061         MOV DWORD PTR [EBP+8], EAX\r
9062         JMP L_1065\r
9063 L_1064:\r
9064         MOV EAX,28\r
9065         MOV DWORD PTR [EBP+8], EAX\r
9066 L_1065:\r
9067         JMP L_1066\r
9068 L_1063:\r
9069         MOV EAX,DWORD PTR [EBP-56]\r
9070         AND EAX,EAX\r
9071         JZ L_1067\r
9072         MOV EAX,79\r
9073         MOV DWORD PTR [EBP+8], EAX\r
9074 L_1067:\r
9075 L_1066:\r
9076         JMP L_1037\r
9077 L_1038:\r
9078         CMP EAX,34\r
9079         JE L_1062\r
9080         CMP EAX,35\r
9081         JE L_1056\r
9082         CMP EAX,28\r
9083         JE L_1050\r
9084         CMP EAX,29\r
9085         JE L_1044\r
9086         CMP EAX,33\r
9087         JE L_1043\r
9088         CMP EAX,27\r
9089         JE L_1042\r
9090         CMP EAX,4\r
9091         JE L_1041\r
9092         CMP EAX,23\r
9093         JE L_1040\r
9094         CMP EAX,19\r
9095         JE L_1039\r
9096 L_1037:\r
9097         MOV EAX,DWORD PTR [EBP-16]\r
9098         CMP EAX,104\r
9099         SETE AL\r
9100         AND AL,AL\r
9101         JZ L_1068\r
9102         MOV EAX,DWORD PTR [EBP-64]\r
9103 L_1068:\r
9104         AND EAX,EAX\r
9105         JZ L_1069\r
9106         CALL _test_not\r
9107         PUSH OFFSET L_lit+4210\r
9108         CALL _out_inst\r
9109         MOV EAX,105\r
9110         MOV DWORD PTR [EBP-16], EAX\r
9111 L_1069:\r
9112         MOV EAX,DWORD PTR [EBP-60]\r
9113         AND EAX,EAX\r
9114         JZ L_1070\r
9115         MOV EAX,DWORD PTR [EBP-64]\r
9116         AND EAX,EAX\r
9117         SETZ AL\r
9118         AND AL,AL\r
9119 L_1070:\r
9120         JZ L_1071\r
9121         MOV EAX,DWORD PTR [EBP-4]\r
9122         MOV DWORD PTR [EBP-48], EAX\r
9123         MOV EAX,DWORD PTR [EBP-16]\r
9124         MOV DWORD PTR [EBP-4], EAX\r
9125         MOV EAX,DWORD PTR [EBP-48]\r
9126         MOV DWORD PTR [EBP-16], EAX\r
9127         MOV EAX,DWORD PTR [EBP-8]\r
9128         MOV DWORD PTR [EBP-48], EAX\r
9129         MOV EAX,DWORD PTR [EBP-20]\r
9130         MOV DWORD PTR [EBP-8], EAX\r
9131         MOV EAX,DWORD PTR [EBP-48]\r
9132         MOV DWORD PTR [EBP-20], EAX\r
9133         MOV EAX,DWORD PTR [EBP-12]\r
9134         MOV DWORD PTR [EBP-48], EAX\r
9135         MOV EAX,DWORD PTR [EBP-24]\r
9136         MOV DWORD PTR [EBP-12], EAX\r
9137         MOV EAX,DWORD PTR [EBP-48]\r
9138         MOV DWORD PTR [EBP-24], EAX\r
9139         MOV EAX,DWORD PTR [EBP-28]\r
9140         MOV DWORD PTR [EBP-48], EAX\r
9141         MOV EAX,DWORD PTR [EBP-32]\r
9142         MOV DWORD PTR [EBP-28], EAX\r
9143         MOV EAX,DWORD PTR [EBP-48]\r
9144         MOV DWORD PTR [EBP-32], EAX\r
9145 L_1071:\r
9146         MOV EAX,DWORD PTR [EBP-24]\r
9147         AND EAX,262144\r
9148         JZ L_1072\r
9149         CALL _type_error\r
9150 L_1072:\r
9151         MOV EAX,DWORD PTR [EBP+8]\r
9152         CMP EAX,31\r
9153         SETNE AL\r
9154         AND AL,AL\r
9155         JZ L_1073\r
9156         PUSH DWORD PTR [EBP-4]\r
9157         PUSH DWORD PTR [EBP-8]\r
9158         PUSH DWORD PTR [EBP-12]\r
9159         PUSH DWORD PTR [EBP-28]\r
9160         CALL _LoadEAX\r
9161 L_1073:\r
9162         PUSH DWORD PTR [EBP-16]\r
9163         CALL _CheckStack\r
9164         MOV DWORD PTR [EBP-16], EAX\r
9165         MOV EAX,DWORD PTR [EBP+8]\r
9166         JMP L_1075\r
9167 L_1076:\r
9168         MOV EAX,DWORD PTR [EBP-16]\r
9169         CMP EAX,DWORD PTR [EBP-4]\r
9170         SETE AL\r
9171         AND AL,AL\r
9172         JZ L_1077\r
9173         MOV EAX,DWORD PTR [EBP-8]\r
9174         CMP EAX,DWORD PTR [EBP-20]\r
9175         SETE AL\r
9176         AND AL,AL\r
9177 L_1077:\r
9178         JZ L_1078\r
9179         MOV EAX,DWORD PTR [EBP-4]\r
9180         MOV DWORD PTR [EBP-68], EAX\r
9181         JMP L_1074\r
9182 L_1078:\r
9183         MOV EAX,DWORD PTR [EBP-60]\r
9184         AND EAX,EAX\r
9185         JZ L_1079\r
9186         PUSH DWORD PTR [EBP-16]\r
9187         PUSH DWORD PTR [EBP-20]\r
9188         PUSH DWORD PTR [EBP-24]\r
9189         PUSH DWORD PTR [EBP-32]\r
9190         CALL _store\r
9191         JMP L_1080\r
9192 L_1079:\r
9193         PUSH DWORD PTR [EBP-16]\r
9194         PUSH DWORD PTR [EBP-20]\r
9195         PUSH DWORD PTR [EBP-24]\r
9196         PUSH DWORD PTR [EBP-32]\r
9197         CALL _LoadEAX\r
9198         PUSH DWORD PTR [EBP-4]\r
9199         PUSH DWORD PTR [EBP-8]\r
9200         PUSH DWORD PTR [EBP-12]\r
9201         PUSH DWORD PTR [EBP-28]\r
9202         CALL _store\r
9203 L_1080:\r
9204         JMP L_1074\r
9205 L_1081:\r
9206         MOV EAX,DWORD PTR [EBP-24]\r
9207         AND EAX,71\r
9208         JZ L_1082\r
9209         PUSH OFFSET L_lit+4222\r
9210         PUSH DWORD PTR [EBP-16]\r
9211         PUSH DWORD PTR [EBP-20]\r
9212         PUSH DWORD PTR [EBP-24]\r
9213         PUSH DWORD PTR [EBP-32]\r
9214         CALL _GenCodeOper\r
9215         JMP L_1083\r
9216 L_1082:\r
9217         PUSH DWORD PTR [EBP-16]\r
9218         PUSH DWORD PTR [EBP-20]\r
9219         PUSH DWORD PTR [EBP-24]\r
9220         PUSH DWORD PTR [EBP-32]\r
9221         CALL _LoadECX\r
9222         PUSH OFFSET L_lit+4232\r
9223         CALL _out_inst\r
9224 L_1083:\r
9225         XOR EAX,EAX\r
9226         MOV _zero_flag, AL\r
9227         JMP L_1074\r
9228 L_1084:\r
9229         MOV EAX,DWORD PTR [EBP-24]\r
9230         AND EAX,71\r
9231         JZ L_1085\r
9232         PUSH OFFSET L_lit+4244\r
9233         PUSH DWORD PTR [EBP-16]\r
9234         PUSH DWORD PTR [EBP-20]\r
9235         PUSH DWORD PTR [EBP-24]\r
9236         PUSH DWORD PTR [EBP-32]\r
9237         CALL _GenCodeOper\r
9238         JMP L_1086\r
9239 L_1085:\r
9240         PUSH DWORD PTR [EBP-16]\r
9241         PUSH DWORD PTR [EBP-20]\r
9242         PUSH DWORD PTR [EBP-24]\r
9243         PUSH DWORD PTR [EBP-32]\r
9244         CALL _LoadECX\r
9245         PUSH OFFSET L_lit+4254\r
9246         CALL _out_inst\r
9247 L_1086:\r
9248         XOR EAX,EAX\r
9249         MOV _zero_flag, AL\r
9250         JMP L_1074\r
9251 L_1087:\r
9252         PUSH DWORD PTR [EBP-16]\r
9253         PUSH DWORD PTR [EBP-20]\r
9254         PUSH DWORD PTR [EBP-24]\r
9255         PUSH DWORD PTR [EBP-32]\r
9256         CALL _LoadECX\r
9257         MOV EAX,DWORD PTR [EBP-52]\r
9258         AND EAX,128\r
9259         JZ L_1088\r
9260         PUSH OFFSET L_lit+4266\r
9261         CALL _out_inst\r
9262         JMP L_1089\r
9263 L_1088:\r
9264         PUSH OFFSET L_lit+4274\r
9265         CALL _out_inst\r
9266 L_1089:\r
9267         MOV EAX,1\r
9268         MOV _zero_flag, AL\r
9269         JMP L_1074\r
9270 L_1090:\r
9271 L_1091:\r
9272         PUSH DWORD PTR [EBP-16]\r
9273         PUSH DWORD PTR [EBP-20]\r
9274         PUSH DWORD PTR [EBP-24]\r
9275         PUSH DWORD PTR [EBP-32]\r
9276         CALL _LoadECX\r
9277         MOV EAX,DWORD PTR [EBP-52]\r
9278         AND EAX,128\r
9279         JZ L_1092\r
9280         PUSH OFFSET L_lit+4283\r
9281         CALL _out_inst\r
9282         PUSH OFFSET L_lit+4295\r
9283         CALL _out_inst\r
9284         JMP L_1093\r
9285 L_1092:\r
9286         PUSH OFFSET L_lit+4303\r
9287         CALL _out_inst\r
9288         PUSH OFFSET L_lit+4307\r
9289         CALL _out_inst\r
9290 L_1093:\r
9291         MOV EAX,-1\r
9292         MOV _zero_flag, AL\r
9293         MOV EAX,DWORD PTR [EBP+8]\r
9294         CMP EAX,4\r
9295         SETE AL\r
9296         AND AL,AL\r
9297         JZ L_1094\r
9298         PUSH OFFSET L_lit+4316\r
9299         CALL _out_inst\r
9300 L_1094:\r
9301         JMP L_1074\r
9302 L_1095:\r
9303         MOV EAX,DWORD PTR [EBP-24]\r
9304         AND EAX,71\r
9305         JZ L_1096\r
9306         PUSH OFFSET L_lit+4328\r
9307         PUSH DWORD PTR [EBP-16]\r
9308         PUSH DWORD PTR [EBP-20]\r
9309         PUSH DWORD PTR [EBP-24]\r
9310         PUSH DWORD PTR [EBP-32]\r
9311         CALL _GenCodeOper\r
9312         JMP L_1097\r
9313 L_1096:\r
9314         PUSH DWORD PTR [EBP-16]\r
9315         PUSH DWORD PTR [EBP-20]\r
9316         PUSH DWORD PTR [EBP-24]\r
9317         PUSH DWORD PTR [EBP-32]\r
9318         CALL _LoadECX\r
9319         PUSH OFFSET L_lit+4338\r
9320         CALL _out_inst\r
9321 L_1097:\r
9322         XOR EAX,EAX\r
9323         MOV _zero_flag, AL\r
9324         JMP L_1074\r
9325 L_1098:\r
9326         MOV EAX,DWORD PTR [EBP-24]\r
9327         AND EAX,71\r
9328         JZ L_1099\r
9329         PUSH OFFSET L_lit+4350\r
9330         PUSH DWORD PTR [EBP-16]\r
9331         PUSH DWORD PTR [EBP-20]\r
9332         PUSH DWORD PTR [EBP-24]\r
9333         PUSH DWORD PTR [EBP-32]\r
9334         CALL _GenCodeOper\r
9335         JMP L_1100\r
9336 L_1099:\r
9337         PUSH DWORD PTR [EBP-16]\r
9338         PUSH DWORD PTR [EBP-20]\r
9339         PUSH DWORD PTR [EBP-24]\r
9340         PUSH DWORD PTR [EBP-32]\r
9341         CALL _LoadECX\r
9342         PUSH OFFSET L_lit+4359\r
9343         CALL _out_inst\r
9344 L_1100:\r
9345         XOR EAX,EAX\r
9346         MOV _zero_flag, AL\r
9347         JMP L_1074\r
9348 L_1101:\r
9349         MOV EAX,DWORD PTR [EBP-24]\r
9350         AND EAX,71\r
9351         JZ L_1102\r
9352         PUSH OFFSET L_lit+4370\r
9353         PUSH DWORD PTR [EBP-16]\r
9354         PUSH DWORD PTR [EBP-20]\r
9355         PUSH DWORD PTR [EBP-24]\r
9356         PUSH DWORD PTR [EBP-32]\r
9357         CALL _GenCodeOper\r
9358         JMP L_1103\r
9359 L_1102:\r
9360         PUSH DWORD PTR [EBP-16]\r
9361         PUSH DWORD PTR [EBP-20]\r
9362         PUSH DWORD PTR [EBP-24]\r
9363         PUSH DWORD PTR [EBP-32]\r
9364         CALL _LoadECX\r
9365         PUSH OFFSET L_lit+4380\r
9366         CALL _out_inst\r
9367 L_1103:\r
9368         XOR EAX,EAX\r
9369         MOV _zero_flag, AL\r
9370         JMP L_1074\r
9371 L_1104:\r
9372         PUSH DWORD PTR [EBP-16]\r
9373         PUSH DWORD PTR [EBP-20]\r
9374         PUSH DWORD PTR [EBP-24]\r
9375         PUSH DWORD PTR [EBP-32]\r
9376         CALL _LoadECX\r
9377         PUSH OFFSET L_lit+4392\r
9378         CALL _out_inst\r
9379         MOV EAX,DWORD PTR [EBP-52]\r
9380         AND EAX,32\r
9381         JZ L_1105\r
9382         PUSH OFFSET L_lit+4403\r
9383         CALL _out_inst\r
9384         JMP L_1106\r
9385 L_1105:\r
9386         MOV EAX,DWORD PTR [EBP-52]\r
9387         AND EAX,16\r
9388         JZ L_1107\r
9389         PUSH OFFSET L_lit+4418\r
9390         CALL _out_inst\r
9391 L_1107:\r
9392 L_1106:\r
9393         XOR EAX,EAX\r
9394         MOV _zero_flag, AL\r
9395         JMP L_1074\r
9396 L_1108:\r
9397         PUSH DWORD PTR [EBP-16]\r
9398         PUSH DWORD PTR [EBP-20]\r
9399         PUSH DWORD PTR [EBP-24]\r
9400         PUSH DWORD PTR [EBP-32]\r
9401         CALL _LoadECX\r
9402         MOV EAX,DWORD PTR [EBP-52]\r
9403         AND EAX,71\r
9404         JZ L_1109\r
9405         PUSH OFFSET L_lit+4431\r
9406         CALL _out_inst\r
9407         JMP L_1110\r
9408 L_1109:\r
9409         MOV EAX,DWORD PTR [EBP-52]\r
9410         AND EAX,32\r
9411         JZ L_1111\r
9412         PUSH OFFSET L_lit+4442\r
9413         CALL _out_inst\r
9414         JMP L_1112\r
9415 L_1111:\r
9416         PUSH OFFSET L_lit+4452\r
9417         CALL _out_inst\r
9418 L_1112:\r
9419 L_1110:\r
9420         XOR EAX,EAX\r
9421         MOV _zero_flag, AL\r
9422         JMP L_1074\r
9423 L_1113:\r
9424 L_1114:\r
9425 L_1115:\r
9426 L_1116:\r
9427 L_1117:\r
9428 L_1118:\r
9429 L_1119:\r
9430 L_1120:\r
9431 L_1121:\r
9432 L_1122:\r
9433         MOV EAX,DWORD PTR [EBP-24]\r
9434         AND EAX,71\r
9435         JZ L_1123\r
9436         PUSH OFFSET L_lit+4462\r
9437         PUSH DWORD PTR [EBP-16]\r
9438         PUSH DWORD PTR [EBP-20]\r
9439         PUSH DWORD PTR [EBP-24]\r
9440         PUSH DWORD PTR [EBP-32]\r
9441         CALL _GenCodeOper\r
9442         JMP L_1124\r
9443 L_1123:\r
9444         PUSH DWORD PTR [EBP-16]\r
9445         PUSH DWORD PTR [EBP-20]\r
9446         PUSH DWORD PTR [EBP-24]\r
9447         PUSH DWORD PTR [EBP-32]\r
9448         CALL _LoadECX\r
9449         PUSH OFFSET L_lit+4472\r
9450         CALL _out_inst\r
9451 L_1124:\r
9452         MOV EAX,DWORD PTR [EBP+8]\r
9453         JMP L_1126\r
9454 L_1127:\r
9455         PUSH OFFSET L_lit+4484\r
9456         CALL _out_inst\r
9457         JMP L_1125\r
9458 L_1128:\r
9459         PUSH OFFSET L_lit+4492\r
9460         CALL _out_inst\r
9461         JMP L_1125\r
9462 L_1129:\r
9463         PUSH OFFSET L_lit+4501\r
9464         CALL _out_inst\r
9465         JMP L_1125\r
9466 L_1130:\r
9467         PUSH OFFSET L_lit+4509\r
9468         CALL _out_inst\r
9469         JMP L_1125\r
9470 L_1131:\r
9471         PUSH OFFSET L_lit+4518\r
9472         CALL _out_inst\r
9473         JMP L_1125\r
9474 L_1132:\r
9475         PUSH OFFSET L_lit+4526\r
9476         CALL _out_inst\r
9477         JMP L_1125\r
9478 L_1133:\r
9479         PUSH OFFSET L_lit+4535\r
9480         CALL _out_inst\r
9481         JMP L_1125\r
9482 L_1134:\r
9483         PUSH OFFSET L_lit+4543\r
9484         CALL _out_inst\r
9485         JMP L_1125\r
9486 L_1135:\r
9487         PUSH OFFSET L_lit+4552\r
9488         CALL _out_inst\r
9489         JMP L_1125\r
9490 L_1136:\r
9491         PUSH OFFSET L_lit+4560\r
9492         CALL _out_inst\r
9493         JMP L_1125\r
9494 L_1126:\r
9495         CMP EAX,79\r
9496         JE L_1136\r
9497         CMP EAX,78\r
9498         JE L_1135\r
9499         CMP EAX,77\r
9500         JE L_1134\r
9501         CMP EAX,76\r
9502         JE L_1133\r
9503         CMP EAX,34\r
9504         JE L_1132\r
9505         CMP EAX,35\r
9506         JE L_1131\r
9507         CMP EAX,28\r
9508         JE L_1130\r
9509         CMP EAX,29\r
9510         JE L_1129\r
9511         CMP EAX,1\r
9512         JE L_1128\r
9513         CMP EAX,30\r
9514         JE L_1127\r
9515 L_1125:\r
9516         PUSH OFFSET L_lit+4569\r
9517         CALL _out_inst\r
9518         XOR EAX,EAX\r
9519         MOV _zero_flag, AL\r
9520         JMP L_1074\r
9521 L_1137:\r
9522         CALL _syntax_error\r
9523         JMP L_1074\r
9524 L_1075:\r
9525         CMP EAX,79\r
9526         JE L_1122\r
9527         CMP EAX,78\r
9528         JE L_1121\r
9529         CMP EAX,77\r
9530         JE L_1120\r
9531         CMP EAX,76\r
9532         JE L_1119\r
9533         CMP EAX,34\r
9534         JE L_1118\r
9535         CMP EAX,35\r
9536         JE L_1117\r
9537         CMP EAX,28\r
9538         JE L_1116\r
9539         CMP EAX,29\r
9540         JE L_1115\r
9541         CMP EAX,1\r
9542         JE L_1114\r
9543         CMP EAX,30\r
9544         JE L_1113\r
9545         CMP EAX,33\r
9546         JE L_1108\r
9547         CMP EAX,27\r
9548         JE L_1104\r
9549         CMP EAX,40\r
9550         JE L_1101\r
9551         CMP EAX,73\r
9552         JE L_1098\r
9553         CMP EAX,7\r
9554         JE L_1095\r
9555         CMP EAX,4\r
9556         JE L_1091\r
9557         CMP EAX,23\r
9558         JE L_1090\r
9559         CMP EAX,11\r
9560         JE L_1087\r
9561         CMP EAX,19\r
9562         JE L_1084\r
9563         CMP EAX,14\r
9564         JE L_1081\r
9565         CMP EAX,31\r
9566         JE L_1076\r
9567         JMP L_1137\r
9568 L_1074:\r
9569         MOV EAX,DWORD PTR [EBP-36]\r
9570         AND EAX,EAX\r
9571         JZ L_1138\r
9572         PUSH DWORD PTR [EBP-36]\r
9573         PUSH DWORD PTR [EBP-40]\r
9574         PUSH DWORD PTR [EBP-44]\r
9575         PUSH DWORD PTR [EBP-28]\r
9576         CALL _store\r
9577 L_1138:\r
9578         MOV EAX,DWORD PTR [EBP-68]\r
9579         MOV DWORD PTR [EBP-4], EAX\r
9580 L_1019:\r
9581         PUSH DWORD PTR [EBP-4]\r
9582         PUSH DWORD PTR [EBP-8]\r
9583         PUSH DWORD PTR [EBP-52]\r
9584         PUSH DWORD PTR [EBP-28]\r
9585         CALL _push\r
9586 L_1026:\r
9587         MOV ESP,EBP\r
9588         POP EBP\r
9589         RETN 4\r
9590 _test_not:\r
9591         PUSH EBP\r
9592         MOV EBP,ESP\r
9593         MOVSX EAX,_not_flag\r
9594         AND EAX,EAX\r
9595         JZ L_1139\r
9596         PUSH OFFSET L_lit+4579\r
9597         CALL _out_inst\r
9598         PUSH OFFSET L_lit+4591\r
9599         CALL _out_inst\r
9600         PUSH OFFSET L_lit+4599\r
9601         CALL _out_inst\r
9602         XOR EAX,EAX\r
9603         MOV _not_flag, AL\r
9604         XOR EAX,EAX\r
9605         MOV _zero_flag, AL\r
9606 L_1139:\r
9607         POP EBP\r
9608         RETN\r
9609 _store:\r
9610         PUSH EBP\r
9611         MOV EBP,ESP\r
9612         PUSH DWORD PTR [EBP+20]\r
9613         CALL _CheckStack\r
9614         MOV DWORD PTR [EBP+20], EAX\r
9615         MOV EAX,DWORD PTR [EBP+20]\r
9616         JMP L_1141\r
9617 L_1142:\r
9618 L_1143:\r
9619 L_1144:\r
9620 L_1145:\r
9621 L_1146:\r
9622         PUSH DWORD PTR [EBP+20]\r
9623         CALL _CheckStack\r
9624         MOV DWORD PTR [EBP+20], EAX\r
9625         MOV EAX,DWORD PTR [EBP+12]\r
9626         AND EAX,71\r
9627         JZ L_1147\r
9628         PUSH OFFSET L_lit+4609\r
9629         PUSH DWORD PTR [EBP+20]\r
9630         PUSH DWORD PTR [EBP+16]\r
9631         PUSH DWORD PTR [EBP+12]\r
9632         PUSH DWORD PTR [EBP+8]\r
9633         CALL _GenCodeOper\r
9634         JMP L_1148\r
9635 L_1147:\r
9636         MOV EAX,DWORD PTR [EBP+12]\r
9637         AND EAX,32\r
9638         JZ L_1149\r
9639         PUSH OFFSET L_lit+4620\r
9640         PUSH DWORD PTR [EBP+20]\r
9641         PUSH DWORD PTR [EBP+16]\r
9642         PUSH DWORD PTR [EBP+12]\r
9643         PUSH DWORD PTR [EBP+8]\r
9644         CALL _GenCodeOper\r
9645         JMP L_1150\r
9646 L_1149:\r
9647         PUSH OFFSET L_lit+4630\r
9648         PUSH DWORD PTR [EBP+20]\r
9649         PUSH DWORD PTR [EBP+16]\r
9650         PUSH DWORD PTR [EBP+12]\r
9651         PUSH DWORD PTR [EBP+8]\r
9652         CALL _GenCodeOper\r
9653 L_1150:\r
9654 L_1148:\r
9655         MOV EAX,-1\r
9656         MOV _zero_flag, AL\r
9657         JMP L_1140\r
9658 L_1151:\r
9659         PUSH OFFSET L_lit+4640\r
9660         CALL _line_error\r
9661         JMP L_1140\r
9662 L_1141:\r
9663         CMP EAX,111\r
9664         JE L_1146\r
9665         CMP EAX,108\r
9666         JE L_1145\r
9667         CMP EAX,107\r
9668         JE L_1144\r
9669         CMP EAX,109\r
9670         JE L_1143\r
9671         CMP EAX,103\r
9672         JE L_1142\r
9673         JMP L_1151\r
9674 L_1140:\r
9675         POP EBP\r
9676         RETN 16\r
9677 _ispStruct:\r
9678         PUSH EBP\r
9679         MOV EBP,ESP\r
9680         MOV EAX,DWORD PTR [EBP+12]\r
9681         AND EAX,7\r
9682         CMP EAX,1\r
9683         SETA AL\r
9684         AND AL,AL\r
9685         JZ L_1152\r
9686         XOR EAX,EAX\r
9687         JMP L_1153\r
9688 L_1152:\r
9689         MOV EAX,DWORD PTR [EBP+12]\r
9690         AND EAX,512\r
9691         JZ L_1154\r
9692         MOV EAX,DWORD PTR [EBP+12]\r
9693         AND EAX,7\r
9694 L_1154:\r
9695         JZ L_1155\r
9696         MOV EAX,DWORD PTR [EBP+8]\r
9697         MOV ECX,24\r
9698         MUL ECX\r
9699         MOV ESI,OFFSET _symtab\r
9700         ADD ESI,EAX\r
9701         MOV EAX,DWORD PTR [ESI+16]\r
9702         MOV _strucsize, EAX\r
9703         MOV EAX,1\r
9704         JMP L_1153\r
9705 L_1155:\r
9706         XOR EAX,EAX\r
9707 L_1153:\r
9708         POP EBP\r
9709         RETN 8\r
9710 _isp32:\r
9711         PUSH EBP\r
9712         MOV EBP,ESP\r
9713         MOV EAX,DWORD PTR [EBP+8]\r
9714         AND EAX,6\r
9715         JZ L_1156\r
9716         MOV EAX,1\r
9717         JMP L_1157\r
9718 L_1156:\r
9719         MOV EAX,DWORD PTR [EBP+8]\r
9720         AND EAX,7\r
9721         JZ L_1158\r
9722         MOV EAX,DWORD PTR [EBP+8]\r
9723         AND EAX,64\r
9724         JMP L_1157\r
9725 L_1158:\r
9726         XOR EAX,EAX\r
9727 L_1157:\r
9728         POP EBP\r
9729         RETN 4\r
9730 _isp16:\r
9731         PUSH EBP\r
9732         MOV EBP,ESP\r
9733         MOV EAX,DWORD PTR [EBP+8]\r
9734         AND EAX,7\r
9735         JZ L_1159\r
9736         MOV EAX,DWORD PTR [EBP+8]\r
9737         AND EAX,32\r
9738         JMP L_1160\r
9739 L_1159:\r
9740         XOR EAX,EAX\r
9741 L_1160:\r
9742         POP EBP\r
9743         RETN 4\r
9744 _do_asm:\r
9745         PUSH EBP\r
9746         MOV EBP,ESP\r
9747         PUSH DWORD PTR [EBP+8]\r
9748         CALL _code_str\r
9749         POP EBP\r
9750         RETN 4\r
9751 _init_static:\r
9752         PUSH EBP\r
9753         MOV EBP,ESP\r
9754         SUB ESP,16\r
9755         MOV EAX,OFFSET L_lit+4655\r
9756         MOV DWORD PTR [EBP-4], EAX\r
9757         MOV EAX,_global_width\r
9758         AND EAX,EAX\r
9759         JZ L_1161\r
9760         MOV EAX,OFFSET L_lit+4656\r
9761         MOV DWORD PTR [EBP-4], EAX\r
9762         JMP L_1162\r
9763 L_1161:\r
9764         MOVSX EAX,BYTE PTR [EBP+8]\r
9765         CMP EAX,1\r
9766         SETE AL\r
9767         AND AL,AL\r
9768         JZ L_1163\r
9769         MOV EAX,OFFSET L_lit+4658\r
9770         MOV DWORD PTR [EBP-4], EAX\r
9771         JMP L_1164\r
9772 L_1163:\r
9773         MOVSX EAX,BYTE PTR [EBP+8]\r
9774         CMP EAX,2\r
9775         SETE AL\r
9776         AND AL,AL\r
9777         JZ L_1165\r
9778         MOV EAX,OFFSET L_lit+4663\r
9779         MOV DWORD PTR [EBP-4], EAX\r
9780         JMP L_1166\r
9781 L_1165:\r
9782         MOVSX EAX,BYTE PTR [EBP+8]\r
9783         CMP EAX,4\r
9784         SETE AL\r
9785         AND AL,AL\r
9786         JZ L_1167\r
9787         MOV EAX,OFFSET L_lit+4668\r
9788         MOV DWORD PTR [EBP-4], EAX\r
9789 L_1167:\r
9790 L_1166:\r
9791 L_1164:\r
9792 L_1162:\r
9793         MOV EAX,DWORD PTR [EBP+16]\r
9794         CMP EAX,103\r
9795         SETE AL\r
9796         AND AL,AL\r
9797         JZ L_1168\r
9798         MOV EAX,OFFSET L_lit+4673\r
9799         MOV DWORD PTR [EBP-8], EAX\r
9800         MOV EAX,_global_width\r
9801         ADD EAX,7\r
9802         MOV _global_width, EAX\r
9803         JMP L_1169\r
9804 L_1168:\r
9805         MOV EAX,DWORD PTR [EBP+16]\r
9806         CMP EAX,101\r
9807         SETE AL\r
9808         AND AL,AL\r
9809         JZ L_1170\r
9810         MOV EAX,OFFSET L_lit+4681\r
9811         MOV DWORD PTR [EBP-8], EAX\r
9812         MOV EAX,DWORD PTR [EBP-8]\r
9813         ADD EAX,7\r
9814         MOV ESI,EAX ;IndexPtr\r
9815         MOVSX EAX,_prefix\r
9816         MOV BYTE PTR [ESI], AL\r
9817         MOV EAX,_global_width\r
9818         ADD EAX,23\r
9819         MOV _global_width, EAX\r
9820         JMP L_1171\r
9821 L_1170:\r
9822         MOV EAX,DWORD PTR [EBP+16]\r
9823         CMP EAX,102\r
9824         SETE AL\r
9825         AND AL,AL\r
9826         JZ L_1172\r
9827         MOV EAX,OFFSET L_lit+4695\r
9828         MOV DWORD PTR [EBP-8], EAX\r
9829         MOV ESI,DWORD PTR [EBP-8]\r
9830         MOVSX EAX,_prefix\r
9831         MOV BYTE PTR [ESI], AL\r
9832         MOV EAX,_global_width\r
9833         ADD EAX,4\r
9834         MOV _global_width, EAX\r
9835         JMP L_1173\r
9836 L_1172:\r
9837         MOV EAX,OFFSET L_lit+4698\r
9838         MOV DWORD PTR [EBP-8], EAX\r
9839         MOV EAX,_global_width\r
9840         ADD EAX,6\r
9841         MOV _global_width, EAX\r
9842 L_1173:\r
9843 L_1171:\r
9844 L_1169:\r
9845         MOV ESI,DWORD PTR [EBP-4]\r
9846         MOVSX EAX,BYTE PTR [ESI]\r
9847         AND EAX,EAX\r
9848         JZ L_1174\r
9849         PUSH DWORD PTR [EBP-4]\r
9850         CALL _data_str\r
9851 L_1174:\r
9852         MOV ESI,DWORD PTR [EBP-8]\r
9853         MOVSX EAX,BYTE PTR [ESI]\r
9854         AND EAX,EAX\r
9855         JZ L_1175\r
9856         PUSH DWORD PTR [EBP-8]\r
9857         CALL _data_str\r
9858 L_1175:\r
9859         MOV EAX,DWORD PTR [EBP+16]\r
9860         CMP EAX,103\r
9861         SETNE AL\r
9862         AND AL,AL\r
9863         JZ L_1176\r
9864         PUSH DWORD PTR [EBP+12]\r
9865         CALL _data_num\r
9866         JMP L_1177\r
9867 L_1176:\r
9868         MOV EAX,DWORD PTR [EBP+12]\r
9869         MOV ECX,24\r
9870         MUL ECX\r
9871         MOV ESI,OFFSET _symtab\r
9872         ADD ESI,EAX\r
9873         MOV EAX,DWORD PTR [ESI+8]\r
9874         MOV ESI,OFFSET _GPool\r
9875         ADD ESI,EAX\r
9876         MOV EAX,ESI\r
9877         MOV DWORD PTR [EBP-12], EAX\r
9878         PUSH DWORD PTR [EBP-12]\r
9879         CALL _data_str\r
9880         XOR EAX,EAX\r
9881         MOV DWORD PTR [EBP-16], EAX\r
9882 L_1178:\r
9883         MOV ESI,DWORD PTR [EBP-12]\r
9884         INC DWORD PTR [EBP-12]\r
9885         MOVSX EAX,BYTE PTR [ESI]\r
9886         AND EAX,EAX\r
9887         JZ L_1179\r
9888         MOV EAX,DWORD PTR [EBP-16]\r
9889         ADD EAX,1\r
9890         MOV DWORD PTR [EBP-16], EAX\r
9891         JMP L_1178\r
9892 L_1179:\r
9893         MOV EAX,_global_width\r
9894         ADD EAX,DWORD PTR [EBP-16]\r
9895         MOV _global_width, EAX\r
9896 L_1177:\r
9897         MOV EAX,_global_width\r
9898         CMP EAX,60\r
9899         SETA AL\r
9900         AND AL,AL\r
9901         JZ L_1180\r
9902         XOR EAX,EAX\r
9903         MOV _global_width, EAX\r
9904         PUSH 10\r
9905         CALL _data_chr\r
9906 L_1180:\r
9907         MOV ESP,EBP\r
9908         POP EBP\r
9909         RETN 12\r
9910 _end_static:\r
9911         PUSH EBP\r
9912         MOV EBP,ESP\r
9913         MOV EAX,_global_width\r
9914         AND EAX,EAX\r
9915         JZ L_1181\r
9916         PUSH 10\r
9917         CALL _data_chr\r
9918         XOR EAX,EAX\r
9919         MOV _global_width, EAX\r
9920 L_1181:\r
9921         POP EBP\r
9922         RETN\r
9923 _gen_global:\r
9924         PUSH EBP\r
9925         MOV EBP,ESP\r
9926         PUSH DWORD PTR [EBP+12]\r
9927         CALL _data_global\r
9928         MOV EAX,DWORD PTR [EBP+12]\r
9929         MOV ECX,24\r
9930         MUL ECX\r
9931         MOV ESI,OFFSET _symtab\r
9932         ADD ESI,EAX\r
9933         MOV EAX,DWORD PTR [ESI]\r
9934         AND EAX,71\r
9935         JZ L_1182\r
9936         MOV EAX,DWORD PTR [EBP+8]\r
9937         CMP EAX,4\r
9938         SETE AL\r
9939         AND AL,AL\r
9940         JZ L_1183\r
9941         PUSH OFFSET L_lit+4699\r
9942         CALL _data_str\r
9943         JMP L_1184\r
9944 L_1183:\r
9945         PUSH OFFSET L_lit+4707\r
9946         CALL _data_str\r
9947         MOV EAX,DWORD PTR [EBP+8]\r
9948         MOV ECX,4\r
9949         XOR EDX,EDX\r
9950         DIV ECX\r
9951         PUSH EAX\r
9952         CALL _data_num\r
9953         PUSH OFFSET L_lit+4712\r
9954         CALL _data_str\r
9955 L_1184:\r
9956         JMP L_1185\r
9957 L_1182:\r
9958         MOV EAX,DWORD PTR [EBP+12]\r
9959         MOV ECX,24\r
9960         MUL ECX\r
9961         MOV ESI,OFFSET _symtab\r
9962         ADD ESI,EAX\r
9963         MOV EAX,DWORD PTR [ESI]\r
9964         AND EAX,32\r
9965         JZ L_1186\r
9966         MOV EAX,DWORD PTR [EBP+8]\r
9967         CMP EAX,2\r
9968         SETE AL\r
9969         AND AL,AL\r
9970         JZ L_1187\r
9971         PUSH OFFSET L_lit+4721\r
9972         CALL _data_str\r
9973         JMP L_1188\r
9974 L_1187:\r
9975         PUSH OFFSET L_lit+4729\r
9976         CALL _data_str\r
9977         MOV EAX,DWORD PTR [EBP+8]\r
9978         MOV ECX,2\r
9979         XOR EDX,EDX\r
9980         DIV ECX\r
9981         PUSH EAX\r
9982         CALL _data_num\r
9983         PUSH OFFSET L_lit+4734\r
9984         CALL _data_str\r
9985 L_1188:\r
9986         JMP L_1189\r
9987 L_1186:\r
9988         MOV EAX,DWORD PTR [EBP+12]\r
9989         MOV ECX,24\r
9990         MUL ECX\r
9991         MOV ESI,OFFSET _symtab\r
9992         ADD ESI,EAX\r
9993         MOV EAX,DWORD PTR [ESI]\r
9994         AND EAX,528\r
9995         JZ L_1190\r
9996         MOV EAX,DWORD PTR [EBP+8]\r
9997         CMP EAX,1\r
9998         SETE AL\r
9999         AND AL,AL\r
10000         JZ L_1191\r
10001         PUSH OFFSET L_lit+4743\r
10002         CALL _data_str\r
10003         JMP L_1192\r
10004 L_1191:\r
10005         PUSH OFFSET L_lit+4751\r
10006         CALL _data_str\r
10007         PUSH DWORD PTR [EBP+8]\r
10008         CALL _data_num\r
10009         PUSH OFFSET L_lit+4756\r
10010         CALL _data_str\r
10011 L_1192:\r
10012 L_1190:\r
10013 L_1189:\r
10014 L_1185:\r
10015         POP EBP\r
10016         RETN 8\r
10017 _gen_extern_DASM:\r
10018         PUSH EBP\r
10019         MOV EBP,ESP\r
10020         SUB ESP,4\r
10021         MOV EAX,DWORD PTR [EBP+8]\r
10022         MOV ECX,24\r
10023         MUL ECX\r
10024         MOV ESI,OFFSET _symtab\r
10025         ADD ESI,EAX\r
10026         MOV EAX,DWORD PTR [ESI]\r
10027         MOV DWORD PTR [EBP-4], EAX\r
10028         MOV EAX,DWORD PTR [EBP-4]\r
10029         AND EAX,8192\r
10030         JZ L_1193\r
10031         PUSH OFFSET L_lit+4765\r
10032         CALL _data_str\r
10033         PUSH 95\r
10034         CALL _data_chr\r
10035         MOV EAX,DWORD PTR [EBP+8]\r
10036         MOV ECX,24\r
10037         MUL ECX\r
10038         MOV ESI,OFFSET _symtab\r
10039         ADD ESI,EAX\r
10040         MOV EAX,DWORD PTR [ESI+8]\r
10041         MOV ESI,OFFSET _GPool\r
10042         ADD ESI,EAX\r
10043         PUSH ESI\r
10044         CALL _data_str\r
10045         PUSH OFFSET L_lit+4772\r
10046         CALL _data_str\r
10047         PUSH 10\r
10048         CALL _data_chr\r
10049         JMP L_1194\r
10050 L_1193:\r
10051         MOV EAX,DWORD PTR [EBP-4]\r
10052         AND EAX,262144\r
10053         JZ L_1195\r
10054         PUSH OFFSET L_lit+4779\r
10055         CALL _code_str\r
10056         PUSH 95\r
10057         CALL _code_chr\r
10058         MOV EAX,DWORD PTR [EBP+8]\r
10059         MOV ECX,24\r
10060         MUL ECX\r
10061         MOV ESI,OFFSET _symtab\r
10062         ADD ESI,EAX\r
10063         MOV EAX,DWORD PTR [ESI+8]\r
10064         MOV ESI,OFFSET _GPool\r
10065         ADD ESI,EAX\r
10066         PUSH ESI\r
10067         CALL _code_str\r
10068         PUSH 58\r
10069         CALL _code_chr\r
10070         PUSH OFFSET L_lit+4786\r
10071         CALL _code_str\r
10072         PUSH 10\r
10073         CALL _code_chr\r
10074 L_1195:\r
10075 L_1194:\r
10076         MOV ESP,EBP\r
10077         POP EBP\r
10078         RETN 4\r
10079 _gen_ext_data_DASM:\r
10080         PUSH EBP\r
10081         MOV EBP,ESP\r
10082         SUB ESP,4\r
10083         MOV EAX,DWORD PTR [EBP+8]\r
10084         MOV ECX,24\r
10085         MUL ECX\r
10086         MOV ESI,OFFSET _symtab\r
10087         ADD ESI,EAX\r
10088         MOV EAX,DWORD PTR [ESI]\r
10089         MOV DWORD PTR [EBP-4], EAX\r
10090         MOV EAX,DWORD PTR [EBP-4]\r
10091         AND EAX,262144\r
10092         JNZ L_1196\r
10093         PUSH OFFSET L_lit+4792\r
10094         CALL _data_str\r
10095         PUSH 95\r
10096         CALL _data_chr\r
10097         MOV EAX,DWORD PTR [EBP+8]\r
10098         MOV ECX,24\r
10099         MUL ECX\r
10100         MOV ESI,OFFSET _symtab\r
10101         ADD ESI,EAX\r
10102         MOV EAX,DWORD PTR [ESI+8]\r
10103         MOV ESI,OFFSET _GPool\r
10104         ADD ESI,EAX\r
10105         PUSH ESI\r
10106         CALL _data_str\r
10107         MOV EAX,DWORD PTR [EBP-4]\r
10108         AND EAX,71\r
10109         JZ L_1197\r
10110         PUSH OFFSET L_lit+4799\r
10111         CALL _data_str\r
10112         JMP L_1198\r
10113 L_1197:\r
10114         MOV EAX,DWORD PTR [EBP-4]\r
10115         AND EAX,32\r
10116         JZ L_1199\r
10117         PUSH OFFSET L_lit+4803\r
10118         CALL _data_str\r
10119         JMP L_1200\r
10120 L_1199:\r
10121         PUSH OFFSET L_lit+4807\r
10122         CALL _data_str\r
10123 L_1200:\r
10124 L_1198:\r
10125         PUSH 10\r
10126         CALL _data_chr\r
10127 L_1196:\r
10128         MOV ESP,EBP\r
10129         POP EBP\r
10130         RETN 4\r
10131 _enter_func:\r
10132         PUSH EBP\r
10133         MOV EBP,ESP\r
10134         PUSH DWORD PTR [EBP+12]\r
10135         CALL _code_global\r
10136         PUSH OFFSET L_lit+4811\r
10137         CALL _code_str\r
10138         MOV EAX,_fptr\r
10139         MOV ECX,24\r
10140         MUL ECX\r
10141         MOV ESI,OFFSET _symtab\r
10142         ADD ESI,EAX\r
10143         MOV EAX,DWORD PTR [ESI]\r
10144         AND EAX,8388608\r
10145         JZ L_1201\r
10146         PUSH OFFSET L_lit+4814\r
10147         CALL _out_inst\r
10148         JMP L_1202\r
10149 L_1201:\r
10150         PUSH OFFSET L_lit+4821\r
10151         CALL _out_inst\r
10152         PUSH OFFSET L_lit+4830\r
10153         CALL _out_inst\r
10154         MOV EAX,DWORD PTR [EBP+8]\r
10155         AND EAX,EAX\r
10156         JZ L_1203\r
10157         PUSH OFFSET L_lit+4842\r
10158         CALL _code_str\r
10159         PUSH DWORD PTR [EBP+8]\r
10160         CALL _code_num\r
10161         PUSH 10\r
10162         CALL _code_chr\r
10163 L_1203:\r
10164 L_1202:\r
10165         POP EBP\r
10166         RETN 8\r
10167 _end_func:\r
10168         PUSH EBP\r
10169         MOV EBP,ESP\r
10170         MOV EAX,_fptr\r
10171         MOV ECX,24\r
10172         MUL ECX\r
10173         MOV ESI,OFFSET _symtab\r
10174         ADD ESI,EAX\r
10175         MOV EAX,DWORD PTR [ESI]\r
10176         AND EAX,8388608\r
10177         JZ L_1204\r
10178         PUSH OFFSET L_lit+4852\r
10179         CALL _out_inst\r
10180         PUSH OFFSET L_lit+4858\r
10181         CALL _out_inst\r
10182         JMP L_1205\r
10183 L_1204:\r
10184         MOV EAX,_local_stack\r
10185         AND EAX,EAX\r
10186         JZ L_1206\r
10187         PUSH OFFSET L_lit+4864\r
10188         CALL _out_inst\r
10189 L_1206:\r
10190         PUSH OFFSET L_lit+4876\r
10191         CALL _out_inst\r
10192         MOV EAX,DWORD PTR [EBP+8]\r
10193         AND EAX,EAX\r
10194         JZ L_1207\r
10195         MOV EAX,_fptr\r
10196         MOV ECX,24\r
10197         MUL ECX\r
10198         MOV ESI,OFFSET _symtab\r
10199         ADD ESI,EAX\r
10200         MOV EAX,DWORD PTR [ESI]\r
10201         AND EAX,8192\r
10202         JZ L_1208\r
10203         PUSH OFFSET L_lit+4884\r
10204         CALL _code_str\r
10205         JMP L_1209\r
10206 L_1208:\r
10207         PUSH OFFSET L_lit+4891\r
10208         CALL _code_str\r
10209 L_1209:\r
10210         PUSH DWORD PTR [EBP+8]\r
10211         CALL _code_num\r
10212         PUSH 10\r
10213         CALL _code_chr\r
10214         JMP L_1210\r
10215 L_1207:\r
10216         MOV EAX,_fptr\r
10217         MOV ECX,24\r
10218         MUL ECX\r
10219         MOV ESI,OFFSET _symtab\r
10220         ADD ESI,EAX\r
10221         MOV EAX,DWORD PTR [ESI]\r
10222         AND EAX,8192\r
10223         JZ L_1211\r
10224         PUSH OFFSET L_lit+4898\r
10225         CALL _out_inst\r
10226         JMP L_1212\r
10227 L_1211:\r
10228         PUSH OFFSET L_lit+4904\r
10229         CALL _out_inst\r
10230 L_1212:\r
10231 L_1210:\r
10232 L_1205:\r
10233         POP EBP\r
10234         RETN 4\r
10235 _gen_label:\r
10236         PUSH EBP\r
10237         MOV EBP,ESP\r
10238         MOVSX EAX,_prefix\r
10239         PUSH EAX\r
10240         CALL _code_chr\r
10241         PUSH 95\r
10242         CALL _code_chr\r
10243         PUSH DWORD PTR [EBP+8]\r
10244         CALL _code_num\r
10245         PUSH OFFSET L_lit+4909\r
10246         CALL _code_str\r
10247         POP EBP\r
10248         RETN 4\r
10249 _gen_literal:\r
10250         PUSH EBP\r
10251         MOV EBP,ESP\r
10252         SUB ESP,4\r
10253         MOV EAX,DWORD PTR [EBP+8]\r
10254         AND EAX,EAX\r
10255         JZ L_1213\r
10256         XOR EAX,EAX\r
10257         MOV DWORD PTR [EBP-4], EAX\r
10258         MOVSX EAX,_prefix\r
10259         PUSH EAX\r
10260         CALL _data_chr\r
10261         PUSH OFFSET L_lit+4912\r
10262         CALL _data_str\r
10263 L_1214:\r
10264         MOV EAX,DWORD PTR [EBP-4]\r
10265         CMP EAX,DWORD PTR [EBP+8]\r
10266         SETB AL\r
10267         AND AL,AL\r
10268         JZ L_1215\r
10269         MOV EAX,DWORD PTR [EBP-4]\r
10270         MOV ECX,16\r
10271         XOR EDX,EDX\r
10272         DIV ECX\r
10273         MOV EAX,EDX\r
10274         AND EAX,EAX\r
10275         JZ SHORT L_1217\r
10276         MOV EAX,OFFSET L_lit+4917\r
10277         JMP SHORT L_1216\r
10278 L_1217:\r
10279         MOV EAX,OFFSET L_lit+4919\r
10280 L_1216:\r
10281         PUSH EAX\r
10282         CALL _data_str\r
10283         MOV ESI,DWORD PTR [EBP+12]\r
10284         INC DWORD PTR [EBP+12]\r
10285         XOR EAX,EAX\r
10286         MOV AL,BYTE PTR [ESI]\r
10287         PUSH EAX\r
10288         CALL _data_num\r
10289         INC DWORD PTR [EBP-4]\r
10290         MOV EAX,DWORD PTR [EBP-4]\r
10291         MOV ECX,16\r
10292         XOR EDX,EDX\r
10293         DIV ECX\r
10294         MOV EAX,EDX\r
10295         AND EAX,EAX\r
10296         JNZ L_1218\r
10297         PUSH 10\r
10298         CALL _data_chr\r
10299 L_1218:\r
10300         JMP L_1214\r
10301 L_1215:\r
10302         MOV EAX,DWORD PTR [EBP-4]\r
10303         MOV ECX,16\r
10304         XOR EDX,EDX\r
10305         DIV ECX\r
10306         MOV EAX,EDX\r
10307         AND EAX,EAX\r
10308         JZ L_1219\r
10309         PUSH 10\r
10310         CALL _data_chr\r
10311 L_1219:\r
10312 L_1213:\r
10313         MOV ESP,EBP\r
10314         POP EBP\r
10315         RETN 8\r
10316 _call:\r
10317         PUSH EBP\r
10318         MOV EBP,ESP\r
10319         PUSH DWORD PTR [EBP+24]\r
10320         CALL _CheckStack\r
10321         MOV DWORD PTR [EBP+24], EAX\r
10322         MOV EAX,DWORD PTR [EBP+16]\r
10323         AND EAX,8192\r
10324         JZ L_1220\r
10325         PUSH OFFSET L_lit+4924\r
10326         CALL _code_str\r
10327         JMP L_1221\r
10328 L_1220:\r
10329         PUSH OFFSET L_lit+4941\r
10330         CALL _code_str\r
10331 L_1221:\r
10332         MOV EAX,DWORD PTR [EBP+24]\r
10333         CMP EAX,100\r
10334         SETE AL\r
10335         AND AL,AL\r
10336         JZ L_1222\r
10337         PUSH DWORD PTR [EBP+20]\r
10338         CALL _code_num\r
10339         JMP L_1223\r
10340 L_1222:\r
10341         PUSH DWORD PTR [EBP+24]\r
10342         PUSH DWORD PTR [EBP+20]\r
10343         PUSH DWORD PTR [EBP+16]\r
10344         PUSH DWORD PTR [EBP+12]\r
10345         CALL _write_oper\r
10346 L_1223:\r
10347         PUSH 10\r
10348         CALL _code_chr\r
10349         MOV EAX,DWORD PTR [EBP+8]\r
10350         AND EAX,EAX\r
10351         JZ L_1224\r
10352         MOV EAX,DWORD PTR [EBP+8]\r
10353         SHL EAX,2\r
10354         MOV DWORD PTR [EBP+8], EAX\r
10355         PUSH OFFSET L_lit+4948\r
10356         CALL _code_str\r
10357         PUSH DWORD PTR [EBP+8]\r
10358         CALL _code_num\r
10359         PUSH 10\r
10360         CALL _code_chr\r
10361 L_1224:\r
10362         MOV EAX,-1\r
10363         MOV _zero_flag, AL\r
10364         POP EBP\r
10365         RETN 20\r
10366 _jump:\r
10367         PUSH EBP\r
10368         MOV EBP,ESP\r
10369         MOVSX EAX,BYTE PTR [EBP+8]\r
10370         AND EAX,EAX\r
10371         JZ SHORT L_1226\r
10372         MOV EAX,OFFSET L_lit+4958\r
10373         JMP SHORT L_1225\r
10374 L_1226:\r
10375         MOV EAX,OFFSET L_lit+4964\r
10376 L_1225:\r
10377         PUSH EAX\r
10378         CALL _code_str\r
10379         MOVSX EAX,_prefix\r
10380         PUSH EAX\r
10381         CALL _code_chr\r
10382         PUSH 95\r
10383         CALL _code_chr\r
10384         PUSH DWORD PTR [EBP+12]\r
10385         CALL _code_num\r
10386         PUSH 10\r
10387         CALL _code_chr\r
10388         POP EBP\r
10389         RETN 8\r
10390 _jump_if:\r
10391         PUSH EBP\r
10392         MOV EBP,ESP\r
10393         MOVSX EAX,BYTE PTR [EBP+8]\r
10394         AND EAX,EAX\r
10395         JZ L_1227\r
10396         MOVSX EAX,BYTE PTR [EBP+16]\r
10397         AND EAX,EAX\r
10398         JZ SHORT L_1229\r
10399         MOV EAX,OFFSET L_lit+4976\r
10400         JMP SHORT L_1228\r
10401 L_1229:\r
10402         MOV EAX,OFFSET L_lit+4982\r
10403 L_1228:\r
10404         PUSH EAX\r
10405         CALL _code_str\r
10406         JMP L_1230\r
10407 L_1227:\r
10408         MOVSX EAX,BYTE PTR [EBP+16]\r
10409         AND EAX,EAX\r
10410         JZ SHORT L_1232\r
10411         MOV EAX,OFFSET L_lit+4987\r
10412         JMP SHORT L_1231\r
10413 L_1232:\r
10414         MOV EAX,OFFSET L_lit+4999\r
10415 L_1231:\r
10416         PUSH EAX\r
10417         CALL _code_str\r
10418 L_1230:\r
10419         MOVSX EAX,_prefix\r
10420         PUSH EAX\r
10421         CALL _code_chr\r
10422         PUSH 95\r
10423         CALL _code_chr\r
10424         PUSH DWORD PTR [EBP+12]\r
10425         CALL _code_num\r
10426         PUSH 10\r
10427         CALL _code_chr\r
10428         POP EBP\r
10429         RETN 12\r
10430 _do_switch:\r
10431         PUSH EBP\r
10432         MOV EBP,ESP\r
10433         PUSH OFFSET L_lit+5010\r
10434         CALL _code_str\r
10435         MOVSX EAX,_prefix\r
10436         PUSH EAX\r
10437         CALL _code_chr\r
10438         PUSH 95\r
10439         CALL _code_chr\r
10440         PUSH DWORD PTR [EBP+8]\r
10441         CALL _code_num\r
10442         PUSH 10\r
10443         CALL _code_chr\r
10444         POP EBP\r
10445         RETN 4\r
10446 _build_switch:\r
10447         PUSH EBP\r
10448         MOV EBP,ESP\r
10449 L_1233:\r
10450         MOV EAX,_switch_ptr\r
10451         CMP EAX,DWORD PTR [EBP+8]\r
10452         SETA AL\r
10453         AND AL,AL\r
10454         JZ L_1234\r
10455         PUSH OFFSET L_lit+5016\r
10456         CALL _code_str\r
10457         DEC _switch_ptr\r
10458         MOV EAX,_switch_ptr\r
10459         SHL EAX,2\r
10460         MOV ESI,OFFSET _switch_stack\r
10461         ADD ESI,EAX\r
10462         PUSH DWORD PTR [ESI]\r
10463         CALL _code_num\r
10464         PUSH 10\r
10465         CALL _code_chr\r
10466         PUSH OFFSET L_lit+5026\r
10467         CALL _code_str\r
10468         MOVSX EAX,_prefix\r
10469         PUSH EAX\r
10470         CALL _code_chr\r
10471         PUSH 95\r
10472         CALL _code_chr\r
10473         DEC _switch_ptr\r
10474         MOV EAX,_switch_ptr\r
10475         SHL EAX,2\r
10476         MOV ESI,OFFSET _switch_stack\r
10477         ADD ESI,EAX\r
10478         PUSH DWORD PTR [ESI]\r
10479         CALL _code_num\r
10480         PUSH 10\r
10481         CALL _code_chr\r
10482         JMP L_1233\r
10483 L_1234:\r
10484         POP EBP\r
10485         RETN 4\r
10486 _index_ptr:\r
10487         PUSH EBP\r
10488         MOV EBP,ESP\r
10489         MOV EAX,DWORD PTR [EBP+20]\r
10490         CMP EAX,104\r
10491         SETE AL\r
10492         AND AL,AL\r
10493         JZ L_1235\r
10494         PUSH OFFSET L_lit+5031\r
10495         CALL _out_inst\r
10496         JMP L_1236\r
10497 L_1235:\r
10498         MOV EAX,DWORD PTR [EBP+20]\r
10499         CMP EAX,109\r
10500         SETE AL\r
10501         AND AL,AL\r
10502         JZ L_1237\r
10503         JMP L_1238\r
10504 L_1237:\r
10505         PUSH DWORD PTR [EBP+20]\r
10506         CALL _CheckStack\r
10507         MOV DWORD PTR [EBP+20], EAX\r
10508         PUSH OFFSET L_lit+5043\r
10509         CALL _code_str\r
10510         PUSH DWORD PTR [EBP+20]\r
10511         PUSH DWORD PTR [EBP+16]\r
10512         PUSH DWORD PTR [EBP+12]\r
10513         PUSH DWORD PTR [EBP+8]\r
10514         CALL _write_oper\r
10515         PUSH OFFSET L_lit+5053\r
10516         CALL _code_str\r
10517 L_1239:\r
10518 L_1236:\r
10519 L_1238:\r
10520         POP EBP\r
10521         RETN 16\r
10522 _index_adr:\r
10523         PUSH EBP\r
10524         MOV EBP,ESP\r
10525         MOV EAX,DWORD PTR [EBP+20]\r
10526         CMP EAX,109\r
10527         SETNE AL\r
10528         AND AL,AL\r
10529         JZ L_1240\r
10530         MOV EAX,DWORD PTR [EBP+12]\r
10531         AND EAX,2097152\r
10532         JZ SHORT L_1242\r
10533         MOV EAX,OFFSET L_lit+5055\r
10534         JMP SHORT L_1241\r
10535 L_1242:\r
10536         MOV EAX,OFFSET L_lit+5072\r
10537 L_1241:\r
10538         PUSH EAX\r
10539         CALL _code_str\r
10540         PUSH DWORD PTR [EBP+20]\r
10541         PUSH DWORD PTR [EBP+16]\r
10542         PUSH DWORD PTR [EBP+12]\r
10543         PUSH DWORD PTR [EBP+8]\r
10544         CALL _write_oper\r
10545         PUSH OFFSET L_lit+5082\r
10546         CALL _code_str\r
10547 L_1240:\r
10548         POP EBP\r
10549         RETN 16\r
10550 _code_global:\r
10551         PUSH EBP\r
10552         MOV EBP,ESP\r
10553         SUB ESP,4\r
10554         MOV EAX,DWORD PTR [EBP+8]\r
10555         MOV ECX,24\r
10556         MUL ECX\r
10557         MOV ESI,OFFSET _symtab\r
10558         ADD ESI,EAX\r
10559         MOV EAX,DWORD PTR [ESI+8]\r
10560         MOV ESI,OFFSET _GPool\r
10561         ADD ESI,EAX\r
10562         MOV EAX,ESI\r
10563         MOV DWORD PTR [EBP-4], EAX\r
10564         MOV EAX,DWORD PTR [EBP+8]\r
10565         MOV ECX,24\r
10566         MUL ECX\r
10567         MOV ESI,OFFSET _symtab\r
10568         ADD ESI,EAX\r
10569         MOV EAX,DWORD PTR [ESI]\r
10570         AND EAX,4096\r
10571         JNZ L_1243\r
10572         PUSH OFFSET L_lit+5084\r
10573         CALL _code_str\r
10574 L_1243:\r
10575         PUSH 95\r
10576         CALL _code_chr\r
10577         PUSH DWORD PTR [EBP-4]\r
10578         CALL _code_str\r
10579         MOV ESP,EBP\r
10580         POP EBP\r
10581         RETN 4\r
10582 _data_global:\r
10583         PUSH EBP\r
10584         MOV EBP,ESP\r
10585         SUB ESP,4\r
10586         MOV EAX,DWORD PTR [EBP+8]\r
10587         MOV ECX,24\r
10588         MUL ECX\r
10589         MOV ESI,OFFSET _symtab\r
10590         ADD ESI,EAX\r
10591         MOV EAX,DWORD PTR [ESI+8]\r
10592         MOV ESI,OFFSET _GPool\r
10593         ADD ESI,EAX\r
10594         MOV EAX,ESI\r
10595         MOV DWORD PTR [EBP-4], EAX\r
10596         MOV EAX,DWORD PTR [EBP+8]\r
10597         MOV ECX,24\r
10598         MUL ECX\r
10599         MOV ESI,OFFSET _symtab\r
10600         ADD ESI,EAX\r
10601         MOV EAX,DWORD PTR [ESI]\r
10602         AND EAX,4096\r
10603         JNZ L_1244\r
10604         PUSH OFFSET L_lit+5092\r
10605         CALL _data_str\r
10606 L_1244:\r
10607         PUSH 95\r
10608         CALL _data_chr\r
10609         PUSH DWORD PTR [EBP-4]\r
10610         CALL _data_str\r
10611         MOV ESP,EBP\r
10612         POP EBP\r
10613         RETN 4\r
10614 _code_chr:\r
10615         PUSH EBP\r
10616         MOV EBP,ESP\r
10617         MOV EAX,_pc\r
10618         INC _pc\r
10619         MOV ESI,_pcodebuf\r
10620         ADD ESI,EAX\r
10621         MOVSX EAX,BYTE PTR [EBP+8]\r
10622         MOV BYTE PTR [ESI], AL\r
10623         MOV EAX,_pc\r
10624         CMP EAX,511999\r
10625         SETAE AL\r
10626         AND AL,AL\r
10627         JZ L_1245\r
10628         PUSH OFFSET L_lit+5100\r
10629         MOV EDI, 0\r
10630         CALL _printf\r
10631         ADD ESP,4\r
10632         PUSH 1\r
10633         CALL _exit\r
10634 L_1245:\r
10635         POP EBP\r
10636         RETN 4\r
10637 _code_str:\r
10638         PUSH EBP\r
10639         MOV EBP,ESP\r
10640 L_1246:\r
10641         MOV ESI,DWORD PTR [EBP+8]\r
10642         MOVSX EAX,BYTE PTR [ESI]\r
10643         AND EAX,EAX\r
10644         JZ L_1247\r
10645         MOV ESI,DWORD PTR [EBP+8]\r
10646         INC DWORD PTR [EBP+8]\r
10647         MOVSX EAX,BYTE PTR [ESI]\r
10648         PUSH EAX\r
10649         CALL _code_chr\r
10650         JMP L_1246\r
10651 L_1247:\r
10652         POP EBP\r
10653         RETN 4\r
10654 _code_num:\r
10655         PUSH EBP\r
10656         MOV EBP,ESP\r
10657         SUB ESP,14\r
10658         MOV EAX,DWORD PTR [EBP+8]\r
10659         AND EAX,-2147483648\r
10660         JZ L_1248\r
10661         PUSH 45\r
10662         CALL _code_chr\r
10663         NEG DWORD PTR [EBP+8]\r
10664         MOV EAX,DWORD PTR [EBP-8]\r
10665 L_1248:\r
10666         XOR EAX,EAX\r
10667         MOV DWORD PTR [EBP-14], EAX\r
10668 L_1249:\r
10669         MOV EAX,DWORD PTR [EBP-14]\r
10670         INC DWORD PTR [EBP-14]\r
10671         LEA ESI,BYTE PTR [EBP-10]\r
10672         ADD ESI,EAX\r
10673         MOV EAX,DWORD PTR [EBP+8]\r
10674         MOV ECX,10\r
10675         XOR EDX,EDX\r
10676         DIV ECX\r
10677         MOV EAX,EDX\r
10678         ADD EAX,48\r
10679         MOV BYTE PTR [ESI], AL\r
10680 L_1250:\r
10681         MOV EAX,DWORD PTR [EBP+8]\r
10682         MOV ECX,10\r
10683         XOR EDX,EDX\r
10684         DIV ECX\r
10685         MOV DWORD PTR [EBP+8], EAX\r
10686         AND EAX,EAX\r
10687         JNZ L_1249\r
10688 L_1251:\r
10689 L_1252:\r
10690         MOV EAX,DWORD PTR [EBP-14]\r
10691         AND EAX,EAX\r
10692         JZ L_1253\r
10693         DEC DWORD PTR [EBP-14]\r
10694         MOV EAX,DWORD PTR [EBP-14]\r
10695         LEA ESI,BYTE PTR [EBP-10]\r
10696         ADD ESI,EAX\r
10697         MOVSX EAX,BYTE PTR [ESI]\r
10698         PUSH EAX\r
10699         CALL _code_chr\r
10700         JMP L_1252\r
10701 L_1253:\r
10702         MOV ESP,EBP\r
10703         POP EBP\r
10704         RETN 4\r
10705 _data_chr:\r
10706         PUSH EBP\r
10707         MOV EBP,ESP\r
10708         MOV EAX,_pd\r
10709         INC _pd\r
10710         MOV ESI,OFFSET _databuf\r
10711         ADD ESI,EAX\r
10712         MOVSX EAX,BYTE PTR [EBP+8]\r
10713         MOV BYTE PTR [ESI], AL\r
10714         MOV EAX,_pd\r
10715         CMP EAX,4095\r
10716         SETA AL\r
10717         AND AL,AL\r
10718         JZ L_1254\r
10719         PUSH OFFSET _databuf\r
10720         PUSH 4096\r
10721         PUSH 1\r
10722         PUSH _asm_fh\r
10723         CALL _fwrite\r
10724         XOR EAX,EAX\r
10725         MOV _pd, EAX\r
10726 L_1254:\r
10727         POP EBP\r
10728         RETN 4\r
10729 _data_str:\r
10730         PUSH EBP\r
10731         MOV EBP,ESP\r
10732 L_1255:\r
10733         MOV ESI,DWORD PTR [EBP+8]\r
10734         MOVSX EAX,BYTE PTR [ESI]\r
10735         AND EAX,EAX\r
10736         JZ L_1256\r
10737         MOV ESI,DWORD PTR [EBP+8]\r
10738         INC DWORD PTR [EBP+8]\r
10739         MOVSX EAX,BYTE PTR [ESI]\r
10740         PUSH EAX\r
10741         CALL _data_chr\r
10742         JMP L_1255\r
10743 L_1256:\r
10744         POP EBP\r
10745         RETN 4\r
10746 _data_num:\r
10747         PUSH EBP\r
10748         MOV EBP,ESP\r
10749         SUB ESP,14\r
10750         MOV EAX,DWORD PTR [EBP+8]\r
10751         AND EAX,-2147483648\r
10752         JZ L_1257\r
10753         PUSH 45\r
10754         CALL _data_chr\r
10755         NEG DWORD PTR [EBP+8]\r
10756         MOV EAX,DWORD PTR [EBP-8]\r
10757 L_1257:\r
10758         XOR EAX,EAX\r
10759         MOV DWORD PTR [EBP-14], EAX\r
10760 L_1258:\r
10761         MOV EAX,DWORD PTR [EBP-14]\r
10762         INC DWORD PTR [EBP-14]\r
10763         LEA ESI,BYTE PTR [EBP-10]\r
10764         ADD ESI,EAX\r
10765         MOV EAX,DWORD PTR [EBP+8]\r
10766         MOV ECX,10\r
10767         XOR EDX,EDX\r
10768         DIV ECX\r
10769         MOV EAX,EDX\r
10770         ADD EAX,48\r
10771         MOV BYTE PTR [ESI], AL\r
10772 L_1259:\r
10773         MOV EAX,DWORD PTR [EBP+8]\r
10774         MOV ECX,10\r
10775         XOR EDX,EDX\r
10776         DIV ECX\r
10777         MOV DWORD PTR [EBP+8], EAX\r
10778         AND EAX,EAX\r
10779         JNZ L_1258\r
10780 L_1260:\r
10781 L_1261:\r
10782         MOV EAX,DWORD PTR [EBP-14]\r
10783         AND EAX,EAX\r
10784         JZ L_1262\r
10785         DEC DWORD PTR [EBP-14]\r
10786         MOV EAX,DWORD PTR [EBP-14]\r
10787         LEA ESI,BYTE PTR [EBP-10]\r
10788         ADD ESI,EAX\r
10789         MOVSX EAX,BYTE PTR [ESI]\r
10790         PUSH EAX\r
10791         CALL _data_chr\r
10792         JMP L_1261\r
10793 L_1262:\r
10794         MOV ESP,EBP\r
10795         POP EBP\r
10796         RETN 4\r
10797 _put_num:\r
10798         PUSH EBP\r
10799         MOV EBP,ESP\r
10800         SUB ESP,14\r
10801         MOV EAX,DWORD PTR [EBP+12]\r
10802         AND EAX,-2147483648\r
10803         JZ L_1263\r
10804         PUSH 45\r
10805         PUSH DWORD PTR [EBP+8]\r
10806         CALL _fputc\r
10807         NEG DWORD PTR [EBP+12]\r
10808         MOV EAX,DWORD PTR [EBP-12]\r
10809 L_1263:\r
10810         XOR EAX,EAX\r
10811         MOV DWORD PTR [EBP-14], EAX\r
10812 L_1264:\r
10813         MOV EAX,DWORD PTR [EBP-14]\r
10814         INC DWORD PTR [EBP-14]\r
10815         LEA ESI,BYTE PTR [EBP-10]\r
10816         ADD ESI,EAX\r
10817         MOV EAX,DWORD PTR [EBP+12]\r
10818         MOV ECX,10\r
10819         XOR EDX,EDX\r
10820         DIV ECX\r
10821         MOV EAX,EDX\r
10822         ADD EAX,48\r
10823         MOV BYTE PTR [ESI], AL\r
10824 L_1265:\r
10825         MOV EAX,DWORD PTR [EBP+12]\r
10826         MOV ECX,10\r
10827         XOR EDX,EDX\r
10828         DIV ECX\r
10829         MOV DWORD PTR [EBP+12], EAX\r
10830         AND EAX,EAX\r
10831         JNZ L_1264\r
10832 L_1266:\r
10833 L_1267:\r
10834         MOV EAX,DWORD PTR [EBP-14]\r
10835         AND EAX,EAX\r
10836         JZ L_1268\r
10837         DEC DWORD PTR [EBP-14]\r
10838         MOV EAX,DWORD PTR [EBP-14]\r
10839         LEA ESI,BYTE PTR [EBP-10]\r
10840         ADD ESI,EAX\r
10841         MOVSX EAX,BYTE PTR [ESI]\r
10842         PUSH EAX\r
10843         PUSH DWORD PTR [EBP+8]\r
10844         CALL _fputc\r
10845         JMP L_1267\r
10846 L_1268:\r
10847         MOV ESP,EBP\r
10848         POP EBP\r
10849         RETN 8\r
10850 _statement:\r
10851         PUSH EBP\r
10852         MOV EBP,ESP\r
10853         SUB ESP,16\r
10854         CALL _test_exit\r
10855         MOV EAX,DWORD PTR [EBP+8]\r
10856         JMP L_1270\r
10857 L_1271:\r
10858         CALL _check_func\r
10859         JMP L_1272\r
10860 L_1273:\r
10861 L_1274:\r
10862         CALL _get_token\r
10863         MOV DWORD PTR [EBP+8], EAX\r
10864         CMP EAX,74\r
10865         SETNE AL\r
10866         AND AL,AL\r
10867         JZ L_1275\r
10868         PUSH DWORD PTR [EBP+8]\r
10869         CALL _statement\r
10870         JMP L_1274\r
10871 L_1275:\r
10872         JMP L_1269\r
10873 L_1276:\r
10874 L_1277:\r
10875 L_1278:\r
10876 L_1279:\r
10877 L_1280:\r
10878 L_1281:\r
10879 L_1282:\r
10880 L_1283:\r
10881 L_1284:\r
10882 L_1285:\r
10883 L_1286:\r
10884 L_1287:\r
10885         PUSH DWORD PTR [EBP+8]\r
10886         XOR EAX,EAX\r
10887         PUSH EAX\r
10888         CALL _declare\r
10889         JMP L_1269\r
10890 L_1288:\r
10891         CALL _check_func\r
10892         PUSH 8\r
10893         CALL _expect\r
10894         PUSH 9\r
10895         XOR EAX,EAX\r
10896         PUSH EAX\r
10897         CALL _eval\r
10898         XOR EAX,EAX\r
10899         PUSH EAX\r
10900         INC _next_lab\r
10901         MOV EAX,_next_lab\r
10902         MOV DWORD PTR [EBP-4], EAX\r
10903         PUSH EAX\r
10904         PUSH -1\r
10905         CALL _cond_jump\r
10906         CALL _get_token\r
10907         PUSH EAX\r
10908         CALL _statement\r
10909         PUSH 48\r
10910         CALL _test_token\r
10911         AND EAX,EAX\r
10912         JZ L_1289\r
10913         INC _next_lab\r
10914         MOV EAX,_next_lab\r
10915         MOV DWORD PTR [EBP-8], EAX\r
10916         PUSH EAX\r
10917         CALL _test_jump\r
10918         PUSH DWORD PTR [EBP-4]\r
10919         CALL _gen_label\r
10920         MOV EAX,DWORD PTR [EBP-8]\r
10921         MOV DWORD PTR [EBP-4], EAX\r
10922         CALL _get_token\r
10923         PUSH EAX\r
10924         CALL _statement\r
10925 L_1289:\r
10926         CALL _test_exit\r
10927         PUSH DWORD PTR [EBP-4]\r
10928         CALL _gen_label\r
10929         JMP L_1269\r
10930 L_1290:\r
10931         CALL _check_func\r
10932         MOV EAX,_loop_ptr\r
10933         SHL EAX,2\r
10934         MOV ESI,OFFSET _continue_stack\r
10935         ADD ESI,EAX\r
10936         INC _next_lab\r
10937         MOV EAX,_next_lab\r
10938         MOV DWORD PTR [EBP-4], EAX\r
10939         MOV DWORD PTR [ESI], EAX\r
10940         PUSH EAX\r
10941         CALL _gen_label\r
10942         MOV EAX,_loop_ptr\r
10943         INC _loop_ptr\r
10944         SHL EAX,2\r
10945         MOV ESI,OFFSET _break_stack\r
10946         ADD ESI,EAX\r
10947         INC _next_lab\r
10948         MOV EAX,_next_lab\r
10949         MOV DWORD PTR [EBP-8], EAX\r
10950         MOV DWORD PTR [ESI], EAX\r
10951         PUSH 8\r
10952         CALL _expect\r
10953         PUSH 9\r
10954         XOR EAX,EAX\r
10955         PUSH EAX\r
10956         CALL _eval\r
10957         XOR EAX,EAX\r
10958         PUSH EAX\r
10959         PUSH DWORD PTR [EBP-8]\r
10960         PUSH -1\r
10961         CALL _cond_jump\r
10962         CALL _get_token\r
10963         PUSH EAX\r
10964         CALL _statement\r
10965         PUSH DWORD PTR [EBP-4]\r
10966         CALL _test_jump\r
10967         PUSH DWORD PTR [EBP-8]\r
10968         CALL _gen_label\r
10969         DEC _loop_ptr\r
10970         MOV EAX,_loop_ptr\r
10971         JMP L_1269\r
10972 L_1291:\r
10973         CALL _check_func\r
10974         INC _next_lab\r
10975         MOV EAX,_next_lab\r
10976         MOV DWORD PTR [EBP-4], EAX\r
10977         PUSH EAX\r
10978         CALL _gen_label\r
10979         MOV EAX,_loop_ptr\r
10980         SHL EAX,2\r
10981         MOV ESI,OFFSET _continue_stack\r
10982         ADD ESI,EAX\r
10983         INC _next_lab\r
10984         MOV EAX,_next_lab\r
10985         MOV DWORD PTR [EBP-8], EAX\r
10986         MOV DWORD PTR [ESI], EAX\r
10987         MOV EAX,_loop_ptr\r
10988         INC _loop_ptr\r
10989         SHL EAX,2\r
10990         MOV ESI,OFFSET _break_stack\r
10991         ADD ESI,EAX\r
10992         INC _next_lab\r
10993         MOV EAX,_next_lab\r
10994         MOV DWORD PTR [EBP-12], EAX\r
10995         MOV DWORD PTR [ESI], EAX\r
10996         CALL _get_token\r
10997         PUSH EAX\r
10998         CALL _statement\r
10999         PUSH DWORD PTR [EBP-8]\r
11000         CALL _gen_label\r
11001         PUSH 69\r
11002         CALL _expect\r
11003         PUSH 25\r
11004         XOR EAX,EAX\r
11005         PUSH EAX\r
11006         CALL _eval\r
11007         PUSH 1\r
11008         PUSH DWORD PTR [EBP-4]\r
11009         PUSH -1\r
11010         CALL _cond_jump\r
11011         PUSH DWORD PTR [EBP-12]\r
11012         CALL _gen_label\r
11013         DEC _loop_ptr\r
11014         MOV EAX,_loop_ptr\r
11015         JMP L_1269\r
11016 L_1292:\r
11017         CALL _check_func\r
11018         PUSH 8\r
11019         CALL _expect\r
11020         PUSH 25\r
11021         CALL _test_token\r
11022         AND EAX,EAX\r
11023         JNZ L_1293\r
11024         PUSH 25\r
11025         PUSH -1\r
11026         CALL _eval\r
11027 L_1293:\r
11028         INC _next_lab\r
11029         MOV EAX,_next_lab\r
11030         MOV DWORD PTR [EBP-4], EAX\r
11031         MOV DWORD PTR [EBP-16], EAX\r
11032         PUSH EAX\r
11033         CALL _gen_label\r
11034         MOV EAX,_loop_ptr\r
11035         SHL EAX,2\r
11036         MOV ESI,OFFSET _break_stack\r
11037         ADD ESI,EAX\r
11038         INC _next_lab\r
11039         MOV EAX,_next_lab\r
11040         MOV DWORD PTR [EBP-8], EAX\r
11041         MOV DWORD PTR [ESI], EAX\r
11042         PUSH 25\r
11043         CALL _test_token\r
11044         AND EAX,EAX\r
11045         JNZ L_1294\r
11046         PUSH 25\r
11047         XOR EAX,EAX\r
11048         PUSH EAX\r
11049         CALL _eval\r
11050         XOR EAX,EAX\r
11051         PUSH EAX\r
11052         PUSH DWORD PTR [EBP-8]\r
11053         PUSH -1\r
11054         CALL _cond_jump\r
11055 L_1294:\r
11056         PUSH 9\r
11057         CALL _test_token\r
11058         AND EAX,EAX\r
11059         JNZ L_1295\r
11060         INC _next_lab\r
11061         MOV EAX,_next_lab\r
11062         MOV DWORD PTR [EBP-12], EAX\r
11063         PUSH EAX\r
11064         XOR EAX,EAX\r
11065         PUSH EAX\r
11066         CALL _jump\r
11067         INC _next_lab\r
11068         MOV EAX,_next_lab\r
11069         MOV DWORD PTR [EBP-16], EAX\r
11070         PUSH EAX\r
11071         CALL _gen_label\r
11072         PUSH 9\r
11073         PUSH -1\r
11074         CALL _eval\r
11075         PUSH DWORD PTR [EBP-4]\r
11076         XOR EAX,EAX\r
11077         PUSH EAX\r
11078         CALL _jump\r
11079         PUSH DWORD PTR [EBP-12]\r
11080         CALL _gen_label\r
11081 L_1295:\r
11082         MOV EAX,_loop_ptr\r
11083         INC _loop_ptr\r
11084         SHL EAX,2\r
11085         MOV ESI,OFFSET _continue_stack\r
11086         ADD ESI,EAX\r
11087         MOV EAX,DWORD PTR [EBP-16]\r
11088         MOV DWORD PTR [ESI], EAX\r
11089         CALL _get_token\r
11090         PUSH EAX\r
11091         CALL _statement\r
11092         PUSH DWORD PTR [EBP-16]\r
11093         CALL _test_jump\r
11094         PUSH DWORD PTR [EBP-8]\r
11095         CALL _gen_label\r
11096         DEC _loop_ptr\r
11097         MOV EAX,_loop_ptr\r
11098         JMP L_1269\r
11099 L_1296:\r
11100         CALL _check_func\r
11101         MOV EAX,_sdefault\r
11102         MOV DWORD PTR [EBP-4], EAX\r
11103         MOV EAX,_loop_ptr\r
11104         INC _loop_ptr\r
11105         SHL EAX,2\r
11106         MOV ESI,OFFSET _break_stack\r
11107         ADD ESI,EAX\r
11108         INC _next_lab\r
11109         MOV EAX,_next_lab\r
11110         MOV DWORD PTR [EBP-8], EAX\r
11111         MOV _sdefault, EAX\r
11112         MOV DWORD PTR [ESI], EAX\r
11113         PUSH 8\r
11114         CALL _expect\r
11115         PUSH 9\r
11116         PUSH -1\r
11117         CALL _eval\r
11118         INC _next_lab\r
11119         MOV EAX,_next_lab\r
11120         MOV DWORD PTR [EBP-12], EAX\r
11121         PUSH EAX\r
11122         CALL _do_switch\r
11123         MOV EAX,_switch_ptr\r
11124         MOV DWORD PTR [EBP-16], EAX\r
11125         CALL _get_token\r
11126         PUSH EAX\r
11127         CALL _statement\r
11128         PUSH DWORD PTR [EBP-8]\r
11129         CALL _test_jump\r
11130         PUSH DWORD PTR [EBP-12]\r
11131         CALL _gen_label\r
11132         PUSH DWORD PTR [EBP-16]\r
11133         CALL _build_switch\r
11134         MOV EAX,_sdefault\r
11135         CMP EAX,DWORD PTR [EBP-4]\r
11136         SETNE AL\r
11137         AND AL,AL\r
11138         JZ L_1297\r
11139         PUSH _sdefault\r
11140         PUSH -1\r
11141         CALL _jump\r
11142 L_1297:\r
11143         PUSH DWORD PTR [EBP-8]\r
11144         CALL _gen_label\r
11145         DEC _loop_ptr\r
11146         MOV EAX,DWORD PTR [EBP-4]\r
11147         MOV _sdefault, EAX\r
11148         JMP L_1269\r
11149 L_1298:\r
11150         CALL _check_switch\r
11151         MOV DWORD PTR [EBP-4], EAX\r
11152         LEA EAX,DWORD PTR [EBP-8]\r
11153         PUSH EAX\r
11154         LEA EAX,DWORD PTR [EBP-12]\r
11155         PUSH EAX\r
11156         CALL _get_constant\r
11157         MOV EAX,_switch_ptr\r
11158         INC _switch_ptr\r
11159         SHL EAX,2\r
11160         MOV ESI,OFFSET _switch_stack\r
11161         ADD ESI,EAX\r
11162         MOV EAX,DWORD PTR [EBP-4]\r
11163         MOV DWORD PTR [ESI], EAX\r
11164         MOV EAX,_switch_ptr\r
11165         INC _switch_ptr\r
11166         SHL EAX,2\r
11167         MOV ESI,OFFSET _switch_stack\r
11168         ADD ESI,EAX\r
11169         MOV EAX,DWORD PTR [EBP-12]\r
11170         MOV DWORD PTR [ESI], EAX\r
11171         MOV EAX,_switch_ptr\r
11172         CMP EAX,160\r
11173         SETAE AL\r
11174         AND AL,AL\r
11175         JZ L_1299\r
11176         PUSH OFFSET L_lit+5141\r
11177         CALL _fatal_error\r
11178 L_1299:\r
11179         PUSH 24\r
11180         CALL _expect\r
11181         JMP L_1269\r
11182 L_1300:\r
11183         CALL _check_switch\r
11184         MOV _sdefault, EAX\r
11185         PUSH 24\r
11186         CALL _expect\r
11187         JMP L_1269\r
11188 L_1301:\r
11189         CALL _check_func\r
11190         PUSH 25\r
11191         CALL _test_token\r
11192         AND EAX,EAX\r
11193         JNZ L_1302\r
11194         PUSH 25\r
11195         PUSH -1\r
11196         CALL _eval\r
11197 L_1302:\r
11198         MOV EAX,_exit_label\r
11199         AND EAX,EAX\r
11200         JZ SHORT L_1304\r
11201         MOV EAX,_exit_label\r
11202         JMP SHORT L_1303\r
11203 L_1304:\r
11204         INC _next_lab\r
11205         MOV EAX,_next_lab\r
11206         MOV _exit_label, EAX\r
11207 L_1303:\r
11208         MOV _exit_flag, EAX\r
11209         JMP L_1269\r
11210 L_1305:\r
11211         PUSH OFFSET _break_stack\r
11212         CALL _check_loop\r
11213         JMP L_1269\r
11214 L_1306:\r
11215         PUSH OFFSET _continue_stack\r
11216         CALL _check_loop\r
11217         JMP L_1269\r
11218 L_1307:\r
11219         CALL _check_func\r
11220         CALL _get_token\r
11221         CMP EAX,103\r
11222         SETNE AL\r
11223         AND AL,AL\r
11224         JZ L_1308\r
11225         CALL _syntax_error\r
11226         JMP L_1269\r
11227 L_1308:\r
11228         CALL _lookup_local\r
11229         MOV DWORD PTR [EBP-4], EAX\r
11230         AND EAX,EAX\r
11231         JZ L_1309\r
11232         MOV EAX,DWORD PTR [EBP-4]\r
11233         AND EAX,524288\r
11234         JNZ L_1310\r
11235         CALL _type_error\r
11236 L_1310:\r
11237         JMP L_1311\r
11238 L_1309:\r
11239         PUSH 4718592\r
11240         INC _next_lab\r
11241         PUSH _next_lab\r
11242         CALL _define_symbol\r
11243 L_1311:\r
11244         MOV EAX,_sptr\r
11245         MOV ECX,24\r
11246         MUL ECX\r
11247         MOV ESI,OFFSET _symtab\r
11248         ADD ESI,EAX\r
11249         PUSH DWORD PTR [ESI+20]\r
11250         PUSH -1\r
11251         CALL _jump\r
11252         JMP L_1269\r
11253 L_1312:\r
11254         MOV EAX,_in_function\r
11255         AND EAX,EAX\r
11256         JNZ L_1313\r
11257         PUSH DWORD PTR [EBP+8]\r
11258         XOR EAX,EAX\r
11259         PUSH EAX\r
11260         CALL _declare\r
11261         JMP L_1269\r
11262 L_1313:\r
11263         MOV ESI,_input_ptr\r
11264         MOVSX EAX,BYTE PTR [ESI]\r
11265         CMP EAX,58\r
11266         SETE AL\r
11267         AND AL,AL\r
11268         JZ L_1314\r
11269         CALL _check_func\r
11270         INC _input_ptr\r
11271         MOV EAX,_input_ptr\r
11272         CALL _lookup_local\r
11273         AND EAX,EAX\r
11274         JZ L_1315\r
11275         MOV EAX,_sptr\r
11276         MOV ECX,24\r
11277         MUL ECX\r
11278         MOV ESI,OFFSET _symtab\r
11279         ADD ESI,EAX\r
11280         MOV EAX,DWORD PTR [ESI]\r
11281         AND EAX,-16385\r
11282         MOV DWORD PTR [ESI], EAX\r
11283         JMP L_1316\r
11284 L_1315:\r
11285         PUSH 524288\r
11286         INC _next_lab\r
11287         PUSH _next_lab\r
11288         CALL _define_symbol\r
11289 L_1316:\r
11290         MOV EAX,_sptr\r
11291         MOV ECX,24\r
11292         MUL ECX\r
11293         MOV ESI,OFFSET _symtab\r
11294         ADD ESI,EAX\r
11295         PUSH DWORD PTR [ESI+20]\r
11296         CALL _gen_label\r
11297         JMP L_1269\r
11298 L_1314:\r
11299 L_1317:\r
11300         CALL _check_func\r
11301         PUSH DWORD PTR [EBP+8]\r
11302         CALL _unget_token\r
11303         PUSH 25\r
11304         PUSH -1\r
11305         CALL _eval\r
11306         JMP L_1269\r
11307 L_1270:\r
11308         CMP EAX,103\r
11309         JE L_1312\r
11310         CMP EAX,52\r
11311         JE L_1307\r
11312         CMP EAX,45\r
11313         JE L_1306\r
11314         CMP EAX,41\r
11315         JE L_1305\r
11316         CMP EAX,58\r
11317         JE L_1301\r
11318         CMP EAX,46\r
11319         JE L_1300\r
11320         CMP EAX,42\r
11321         JE L_1298\r
11322         CMP EAX,63\r
11323         JE L_1296\r
11324         CMP EAX,51\r
11325         JE L_1292\r
11326         CMP EAX,47\r
11327         JE L_1291\r
11328         CMP EAX,69\r
11329         JE L_1290\r
11330         CMP EAX,55\r
11331         JE L_1288\r
11332         CMP EAX,68\r
11333         JE L_1287\r
11334         CMP EAX,53\r
11335         JE L_1286\r
11336         CMP EAX,57\r
11337         JE L_1285\r
11338         CMP EAX,49\r
11339         JE L_1284\r
11340         CMP EAX,62\r
11341         JE L_1283\r
11342         CMP EAX,61\r
11343         JE L_1282\r
11344         CMP EAX,66\r
11345         JE L_1281\r
11346         CMP EAX,59\r
11347         JE L_1280\r
11348         CMP EAX,56\r
11349         JE L_1279\r
11350         CMP EAX,64\r
11351         JE L_1278\r
11352         CMP EAX,43\r
11353         JE L_1277\r
11354         CMP EAX,54\r
11355         JE L_1276\r
11356         CMP EAX,70\r
11357         JE L_1273\r
11358         CMP EAX,25\r
11359         JE L_1271\r
11360         JMP L_1317\r
11361 L_1269:\r
11362 L_1272:\r
11363         MOV ESP,EBP\r
11364         POP EBP\r
11365         RETN 4\r
11366 _compile:\r
11367         PUSH EBP\r
11368         MOV EBP,ESP\r
11369         MOV EAX,OFFSET _define_pool\r
11370         MOV _define_ptr, EAX\r
11371         MOV EAX,OFFSET _line_in\r
11372         MOV _input_ptr, EAX\r
11373         MOV ESI,EAX ;IndexPtr\r
11374         XOR EAX,EAX\r
11375         MOV BYTE PTR [ESI], AL\r
11376         MOVSX EAX,_fGen\r
11377         AND EAX,EAX\r
11378         JNZ L_1318\r
11379         PUSH OFFSET L_lit+5163\r
11380         CALL _code_str\r
11381         PUSH OFFSET L_lit+5172\r
11382         CALL _data_str\r
11383 L_1318:\r
11384 L_1319:\r
11385         CALL _get_token\r
11386         PUSH EAX\r
11387         CALL _statement\r
11388         JMP L_1319\r
11389 L_1320:\r
11390         POP EBP\r
11391         RETN\r
11392 PUBLIC _main:\r
11393         PUSH EBP\r
11394         MOV EBP,ESP\r
11395         SUB ESP,16\r
11396         PUSH 125\r
11397         PUSH OFFSET _pcodebuf\r
11398         CALL FWORD PTR _AllocPage\r
11399         MOV DWORD PTR [EBP-8], EAX\r
11400         MOV EAX,DWORD PTR [EBP-8]\r
11401         AND EAX,EAX\r
11402         JZ L_1321\r
11403         PUSH OFFSET L_lit+5180\r
11404         PUSH 512000\r
11405         MOV EDI, 4\r
11406         CALL _printf\r
11407         ADD ESP,8\r
11408 L_1321:\r
11409         MOV EAX,2\r
11410         MOV _list_fh, EAX\r
11411         MOV EAX,1\r
11412         MOV DWORD PTR [EBP-4], EAX\r
11413 L_1322:\r
11414         MOV EAX,DWORD PTR [EBP-4]\r
11415         CMP EAX,DWORD PTR [EBP+12]\r
11416         SETB AL\r
11417         AND AL,AL\r
11418         JZ L_1323\r
11419         JMP SHORT L_1324\r
11420 L_1325:\r
11421         INC DWORD PTR [EBP-4]\r
11422         MOV EAX,DWORD PTR [EBP-4]\r
11423         JMP SHORT L_1322\r
11424 L_1324:\r
11425         MOV EAX,DWORD PTR [EBP-4]\r
11426         SHL EAX,2\r
11427         MOV ESI,DWORD PTR [EBP+8]\r
11428         ADD ESI,EAX\r
11429         MOV EAX,DWORD PTR [ESI]\r
11430         MOV DWORD PTR [EBP-12], EAX\r
11431         MOV ESI,DWORD PTR [EBP-12]\r
11432         MOVSX EAX,BYTE PTR [ESI]\r
11433         CMP EAX,47\r
11434         SETE AL\r
11435         AND AL,AL\r
11436         JZ L_1326\r
11437         MOV ESI,DWORD PTR [EBP-12]\r
11438         INC DWORD PTR [EBP-12]\r
11439         MOV EAX,DWORD PTR [ESI]\r
11440         MOV ESI,DWORD PTR [EBP-12]\r
11441         MOVSX EAX,BYTE PTR [ESI]\r
11442         JMP L_1328\r
11443 L_1329:\r
11444 L_1330:\r
11445         MOV EAX,1\r
11446         MOV _fQuiet, AL\r
11447         JMP L_1327\r
11448 L_1331:\r
11449 L_1332:\r
11450         MOV EAX,1\r
11451         MOV _fList, AL\r
11452         JMP L_1327\r
11453 L_1333:\r
11454 L_1334:\r
11455         MOV EAX,1\r
11456         MOV _fSource, AL\r
11457         JMP L_1327\r
11458 L_1335:\r
11459 L_1336:\r
11460         MOV EAX,1\r
11461         MOV _fGen, AL\r
11462         JMP L_1327\r
11463 L_1337:\r
11464 L_1338:\r
11465         MOV EAX,1\r
11466         MOV _fNoOpt, AL\r
11467         JMP L_1327\r
11468 L_1339:\r
11469 L_1340:\r
11470         MOV EAX,1\r
11471         MOV _fOptS, AL\r
11472         JMP L_1327\r
11473 L_1341:\r
11474 L_1342:\r
11475         MOV EAX,1\r
11476         MOV _fWarnings, AL\r
11477         JMP L_1327\r
11478 L_1343:\r
11479 L_1344:\r
11480         MOV ESI,DWORD PTR [EBP-12]\r
11481         INC DWORD PTR [EBP-12]\r
11482         MOV EAX,DWORD PTR [ESI]\r
11483         MOV ESI,DWORD PTR [EBP-12]\r
11484         MOVSX EAX,BYTE PTR [ESI]\r
11485         PUSH EAX\r
11486         CALL _is_alpha\r
11487         AND EAX,EAX\r
11488         JNZ L_1345\r
11489         PUSH OFFSET L_lit+5222\r
11490         CALL _fatal_error\r
11491 L_1345:\r
11492         MOV ESI,DWORD PTR [EBP-12]\r
11493         MOVSX EAX,BYTE PTR [ESI]\r
11494         MOV _prefix, AL\r
11495         JMP L_1327\r
11496 L_1346:\r
11497         PUSH OFFSET L_lit+5253\r
11498         CALL _fatal_error\r
11499         JMP L_1327\r
11500 L_1328:\r
11501         CMP EAX,112\r
11502         JE L_1344\r
11503         CMP EAX,80\r
11504         JE L_1343\r
11505         CMP EAX,119\r
11506         JE L_1342\r
11507         CMP EAX,87\r
11508         JE L_1341\r
11509         CMP EAX,111\r
11510         JE L_1340\r
11511         CMP EAX,79\r
11512         JE L_1339\r
11513         CMP EAX,110\r
11514         JE L_1338\r
11515         CMP EAX,78\r
11516         JE L_1337\r
11517         CMP EAX,103\r
11518         JE L_1336\r
11519         CMP EAX,71\r
11520         JE L_1335\r
11521         CMP EAX,101\r
11522         JE L_1334\r
11523         CMP EAX,69\r
11524         JE L_1333\r
11525         CMP EAX,108\r
11526         JE L_1332\r
11527         CMP EAX,76\r
11528         JE L_1331\r
11529         CMP EAX,115\r
11530         JE L_1330\r
11531         CMP EAX,83\r
11532         JE L_1329\r
11533         JMP L_1346\r
11534 L_1327:\r
11535         JMP L_1347\r
11536 L_1326:\r
11537         MOV EAX,_source_fh\r
11538         AND EAX,EAX\r
11539         JNZ L_1348\r
11540         PUSH OFFSET _srcname\r
11541         MOV EAX,DWORD PTR [EBP-4]\r
11542         SHL EAX,2\r
11543         MOV ESI,DWORD PTR [EBP+8]\r
11544         ADD ESI,EAX\r
11545         PUSH DWORD PTR [ESI]\r
11546         CALL _copystring\r
11547         MOV EAX,DWORD PTR [EBP-4]\r
11548         SHL EAX,2\r
11549         MOV ESI,DWORD PTR [EBP+8]\r
11550         ADD ESI,EAX\r
11551         PUSH DWORD PTR [ESI]\r
11552         PUSH OFFSET L_lit+5268\r
11553         CALL _fopen\r
11554         MOV _source_fh, EAX\r
11555         JMP L_1349\r
11556 L_1348:\r
11557         MOV EAX,_asm_fh\r
11558         AND EAX,EAX\r
11559         JNZ L_1350\r
11560         PUSH OFFSET _asmname\r
11561         MOV EAX,DWORD PTR [EBP-4]\r
11562         SHL EAX,2\r
11563         MOV ESI,DWORD PTR [EBP+8]\r
11564         ADD ESI,EAX\r
11565         PUSH DWORD PTR [ESI]\r
11566         CALL _copystring\r
11567         MOV EAX,DWORD PTR [EBP-4]\r
11568         SHL EAX,2\r
11569         MOV ESI,DWORD PTR [EBP+8]\r
11570         ADD ESI,EAX\r
11571         PUSH DWORD PTR [ESI]\r
11572         PUSH OFFSET L_lit+5270\r
11573         CALL _fopen\r
11574         MOV _asm_fh, EAX\r
11575         AND EAX,EAX\r
11576         JNZ L_1351\r
11577         PUSH OFFSET L_lit+5272\r
11578         PUSH 2\r
11579         CALL _fputs\r
11580         PUSH -1\r
11581         CALL _exit\r
11582 L_1351:\r
11583         JMP L_1352\r
11584 L_1350:\r
11585         PUSH OFFSET L_lit+5300\r
11586         CALL _fatal_error\r
11587 L_1352:\r
11588 L_1349:\r
11589 L_1347:\r
11590         JMP L_1325\r
11591 L_1323:\r
11592         MOV EAX,_source_fh\r
11593         AND EAX,EAX\r
11594         JNZ L_1353\r
11595         PUSH OFFSET L_lit+5320\r
11596         PUSH 2\r
11597         CALL _fputs\r
11598         PUSH OFFSET L_lit+5356\r
11599         PUSH 2\r
11600         CALL _fputs\r
11601         PUSH OFFSET L_lit+5405\r
11602         PUSH 2\r
11603         CALL _fputs\r
11604         PUSH OFFSET L_lit+5449\r
11605         PUSH 2\r
11606         CALL _fputs\r
11607         PUSH OFFSET L_lit+5482\r
11608         PUSH 2\r
11609         CALL _fputs\r
11610         PUSH OFFSET L_lit+5524\r
11611         PUSH 2\r
11612         CALL _fputs\r
11613         PUSH OFFSET L_lit+5561\r
11614         PUSH 2\r
11615         CALL _fputs\r
11616         PUSH OFFSET L_lit+5583\r
11617         PUSH 2\r
11618         CALL _fputs\r
11619         PUSH OFFSET L_lit+5609\r
11620         PUSH 2\r
11621         CALL _fputs\r
11622         PUSH OFFSET L_lit+5627\r
11623         PUSH 2\r
11624         CALL _fputs\r
11625         PUSH OFFSET L_lit+5672\r
11626         PUSH 2\r
11627         CALL _fputs\r
11628         PUSH -1\r
11629         CALL _exit\r
11630 L_1353:\r
11631         MOV EAX,_asm_fh\r
11632         AND EAX,EAX\r
11633         JNZ L_1354\r
11634         PUSH OFFSET _asmname\r
11635         PUSH OFFSET _srcname\r
11636         CALL _copystring\r
11637         MOV EAX,OFFSET _asmname\r
11638         MOV DWORD PTR [EBP-16], EAX\r
11639 L_1355:\r
11640         MOV ESI,DWORD PTR [EBP-16]\r
11641         MOVSX EAX,BYTE PTR [ESI]\r
11642         CMP EAX,46\r
11643         SETNE AL\r
11644         AND AL,AL\r
11645         JZ L_1357\r
11646         MOV ESI,DWORD PTR [EBP-16]\r
11647         MOVSX EAX,BYTE PTR [ESI]\r
11648         XOR ECX,ECX\r
11649         CMP EAX,ECX\r
11650         SETNE AL\r
11651         AND AL,AL\r
11652 L_1357:\r
11653         JZ L_1356\r
11654         MOV ESI,DWORD PTR [EBP-16]\r
11655         INC DWORD PTR [EBP-16]\r
11656         MOV EAX,DWORD PTR [ESI]\r
11657         JMP L_1355\r
11658 L_1356:\r
11659         MOVSX EAX,_fGen\r
11660         AND EAX,EAX\r
11661         JZ L_1358\r
11662         MOV ESI,DWORD PTR [EBP-16]\r
11663         INC DWORD PTR [EBP-16]\r
11664         MOV EAX,46\r
11665         MOV BYTE PTR [ESI], AL\r
11666         MOV ESI,DWORD PTR [EBP-16]\r
11667         INC DWORD PTR [EBP-16]\r
11668         MOV EAX,68\r
11669         MOV BYTE PTR [ESI], AL\r
11670         MOV ESI,DWORD PTR [EBP-16]\r
11671         INC DWORD PTR [EBP-16]\r
11672         MOV EAX,65\r
11673         MOV BYTE PTR [ESI], AL\r
11674         MOV ESI,DWORD PTR [EBP-16]\r
11675         INC DWORD PTR [EBP-16]\r
11676         MOV EAX,83\r
11677         MOV BYTE PTR [ESI], AL\r
11678         JMP L_1359\r
11679 L_1358:\r
11680         MOV ESI,DWORD PTR [EBP-16]\r
11681         INC DWORD PTR [EBP-16]\r
11682         MOV EAX,46\r
11683         MOV BYTE PTR [ESI], AL\r
11684         MOV ESI,DWORD PTR [EBP-16]\r
11685         INC DWORD PTR [EBP-16]\r
11686         MOV EAX,65\r
11687         MOV BYTE PTR [ESI], AL\r
11688         MOV ESI,DWORD PTR [EBP-16]\r
11689         INC DWORD PTR [EBP-16]\r
11690         MOV EAX,83\r
11691         MOV BYTE PTR [ESI], AL\r
11692         MOV ESI,DWORD PTR [EBP-16]\r
11693         INC DWORD PTR [EBP-16]\r
11694         MOV EAX,77\r
11695         MOV BYTE PTR [ESI], AL\r
11696 L_1359:\r
11697         MOV ESI,DWORD PTR [EBP-16]\r
11698         XOR EAX,EAX\r
11699         MOV BYTE PTR [ESI], AL\r
11700         PUSH OFFSET _asmname\r
11701         PUSH OFFSET L_lit+5706\r
11702         CALL _fopen\r
11703         MOV _asm_fh, EAX\r
11704         AND EAX,EAX\r
11705         JNZ L_1360\r
11706         PUSH OFFSET L_lit+5708\r
11707         PUSH 2\r
11708         CALL _fputs\r
11709         PUSH -1\r
11710         CALL _exit\r
11711 L_1360:\r
11712 L_1354:\r
11713         MOV EAX,1\r
11714         MOV _fASMOpen, AL\r
11715         MOVSX EAX,_fList\r
11716         AND EAX,EAX\r
11717         JZ L_1361\r
11718         PUSH OFFSET _lstname\r
11719         PUSH OFFSET _srcname\r
11720         CALL _copystring\r
11721         MOV EAX,OFFSET _lstname\r
11722         MOV DWORD PTR [EBP-16], EAX\r
11723 L_1362:\r
11724         MOV ESI,DWORD PTR [EBP-16]\r
11725         MOVSX EAX,BYTE PTR [ESI]\r
11726         CMP EAX,46\r
11727         SETNE AL\r
11728         AND AL,AL\r
11729         JZ L_1364\r
11730         MOV ESI,DWORD PTR [EBP-16]\r
11731         MOVSX EAX,BYTE PTR [ESI]\r
11732         XOR ECX,ECX\r
11733         CMP EAX,ECX\r
11734         SETNE AL\r
11735         AND AL,AL\r
11736 L_1364:\r
11737         JZ L_1363\r
11738         MOV ESI,DWORD PTR [EBP-16]\r
11739         INC DWORD PTR [EBP-16]\r
11740         MOV EAX,DWORD PTR [ESI]\r
11741         JMP L_1362\r
11742 L_1363:\r
11743         MOV ESI,DWORD PTR [EBP-16]\r
11744         INC DWORD PTR [EBP-16]\r
11745         MOV EAX,46\r
11746         MOV BYTE PTR [ESI], AL\r
11747         MOV ESI,DWORD PTR [EBP-16]\r
11748         INC DWORD PTR [EBP-16]\r
11749         MOV EAX,76\r
11750         MOV BYTE PTR [ESI], AL\r
11751         MOV ESI,DWORD PTR [EBP-16]\r
11752         INC DWORD PTR [EBP-16]\r
11753         MOV EAX,83\r
11754         MOV BYTE PTR [ESI], AL\r
11755         MOV ESI,DWORD PTR [EBP-16]\r
11756         INC DWORD PTR [EBP-16]\r
11757         MOV EAX,84\r
11758         MOV BYTE PTR [ESI], AL\r
11759         MOV ESI,DWORD PTR [EBP-16]\r
11760         XOR EAX,EAX\r
11761         MOV BYTE PTR [ESI], AL\r
11762         PUSH OFFSET _lstname\r
11763         PUSH OFFSET L_lit+5737\r
11764         CALL _fopen\r
11765         MOV _list_fh, EAX\r
11766         AND EAX,EAX\r
11767         JNZ L_1365\r
11768         PUSH OFFSET L_lit+5739\r
11769         CALL _fatal_error\r
11770         JMP L_1366\r
11771 L_1365:\r
11772         MOV EAX,1\r
11773         MOV _fLISTOpen, AL\r
11774 L_1366:\r
11775 L_1361:\r
11776         MOVSX EAX,_fGen\r
11777         AND EAX,EAX\r
11778         JZ L_1367\r
11779         PUSH OFFSET _codename\r
11780         PUSH OFFSET _srcname\r
11781         CALL _copystring\r
11782         MOV EAX,OFFSET _codename\r
11783         MOV DWORD PTR [EBP-16], EAX\r
11784 L_1368:\r
11785         MOV ESI,DWORD PTR [EBP-16]\r
11786         MOVSX EAX,BYTE PTR [ESI]\r
11787         CMP EAX,46\r
11788         SETNE AL\r
11789         AND AL,AL\r
11790         JZ L_1370\r
11791         MOV ESI,DWORD PTR [EBP-16]\r
11792         MOVSX EAX,BYTE PTR [ESI]\r
11793         XOR ECX,ECX\r
11794         CMP EAX,ECX\r
11795         SETNE AL\r
11796         AND AL,AL\r
11797 L_1370:\r
11798         JZ L_1369\r
11799         MOV ESI,DWORD PTR [EBP-16]\r
11800         INC DWORD PTR [EBP-16]\r
11801         MOV EAX,DWORD PTR [ESI]\r
11802         JMP L_1368\r
11803 L_1369:\r
11804         MOV ESI,DWORD PTR [EBP-16]\r
11805         INC DWORD PTR [EBP-16]\r
11806         MOV EAX,46\r
11807         MOV BYTE PTR [ESI], AL\r
11808         MOV ESI,DWORD PTR [EBP-16]\r
11809         INC DWORD PTR [EBP-16]\r
11810         MOV EAX,67\r
11811         MOV BYTE PTR [ESI], AL\r
11812         MOV ESI,DWORD PTR [EBP-16]\r
11813         INC DWORD PTR [EBP-16]\r
11814         MOV EAX,65\r
11815         MOV BYTE PTR [ESI], AL\r
11816         MOV ESI,DWORD PTR [EBP-16]\r
11817         INC DWORD PTR [EBP-16]\r
11818         MOV EAX,83\r
11819         MOV BYTE PTR [ESI], AL\r
11820         MOV ESI,DWORD PTR [EBP-16]\r
11821         XOR EAX,EAX\r
11822         MOV BYTE PTR [ESI], AL\r
11823         PUSH OFFSET _codename\r
11824         PUSH OFFSET L_lit+5761\r
11825         CALL _fopen\r
11826         MOV _code_fh, EAX\r
11827         AND EAX,EAX\r
11828         JNZ L_1371\r
11829         PUSH OFFSET L_lit+5763\r
11830         CALL _fatal_error\r
11831         JMP L_1372\r
11832 L_1371:\r
11833         MOV EAX,1\r
11834         MOV _fCODEOpen, AL\r
11835 L_1372:\r
11836 L_1367:\r
11837         MOVSX EAX,_fQuiet\r
11838         AND EAX,EAX\r
11839         JNZ L_1373\r
11840         PUSH OFFSET L_lit+5785\r
11841         PUSH 2\r
11842         CALL _fputs\r
11843 L_1373:\r
11844         CALL _compile\r
11845         MOV ESP,EBP\r
11846         POP EBP\r
11847         RETN 8\r