]> pd.if.org Git - mmurtl/blob - msamples/cli/cli.asm
autocommit for file dated 1995-02-09 16:00:28
[mmurtl] / msamples / cli / cli.asm
1 \r
2 .DATA\r
3 EXTRN _AllocExch FWORD\r
4 EXTRN _DeAllocExch FWORD\r
5 EXTRN _GetTSSExch FWORD\r
6 EXTRN _SetPriority FWORD\r
7 EXTRN _NewTask FWORD\r
8 EXTRN _SpawnTask FWORD\r
9 EXTRN _SendMsg FWORD\r
10 EXTRN _ISendMsg FWORD\r
11 EXTRN _WaitMsg FWORD\r
12 EXTRN _CheckMsg FWORD\r
13 EXTRN _Request FWORD\r
14 EXTRN _MoveRequest FWORD\r
15 EXTRN _Respond FWORD\r
16 EXTRN _AllocPage FWORD\r
17 EXTRN _AllocOSPage FWORD\r
18 EXTRN _AllocDMAPage FWORD\r
19 EXTRN _DeAllocPage FWORD\r
20 EXTRN _QueryPages FWORD\r
21 EXTRN _GetPhyAdd FWORD\r
22 EXTRN _AliasMem FWORD\r
23 EXTRN _DeAliasMem FWORD\r
24 EXTRN _CopyData FWORD\r
25 EXTRN _FillData FWORD\r
26 EXTRN _CompareNCS FWORD\r
27 EXTRN _Compare FWORD\r
28 EXTRN _OutByte FWORD\r
29 EXTRN _OutWord FWORD\r
30 EXTRN _InByte FWORD\r
31 EXTRN _InWord FWORD\r
32 EXTRN _ReadCMOS FWORD\r
33 EXTRN _Alarm FWORD\r
34 EXTRN _KillAlarm FWORD\r
35 EXTRN _Sleep FWORD\r
36 EXTRN _MicroDelay FWORD\r
37 EXTRN _GetCMOSTime FWORD\r
38 EXTRN _GetCMOSDate FWORD\r
39 EXTRN _GetTimerTick FWORD\r
40 EXTRN _Tone FWORD\r
41 EXTRN _Beep FWORD\r
42 EXTRN _SetVidOwner FWORD\r
43 EXTRN _SetNormVid FWORD\r
44 EXTRN _GetNormVid FWORD\r
45 EXTRN _ClrScr FWORD\r
46 EXTRN _GetVidChar FWORD\r
47 EXTRN _SetXY FWORD\r
48 EXTRN _PutVidAttrs FWORD\r
49 EXTRN _PutVidChars FWORD\r
50 EXTRN _GetVidOwner FWORD\r
51 EXTRN _GetXY FWORD\r
52 EXTRN _ScrollVid FWORD\r
53 EXTRN _TTYOut FWORD\r
54 EXTRN _EditLine FWORD\r
55 EXTRN _ReadKbd FWORD\r
56 EXTRN _GetpJCB FWORD\r
57 EXTRN _GetJobNum FWORD\r
58 EXTRN _LoadNewJob FWORD\r
59 EXTRN _Chain FWORD\r
60 EXTRN _ExitJob FWORD\r
61 EXTRN _KillJob FWORD\r
62 EXTRN _SetUserName FWORD\r
63 EXTRN _GetUserName FWORD\r
64 EXTRN _SetCmdLine FWORD\r
65 EXTRN _GetCmdLine FWORD\r
66 EXTRN _SetPath FWORD\r
67 EXTRN _GetPath FWORD\r
68 EXTRN _SetExitJob FWORD\r
69 EXTRN _GetExitJob FWORD\r
70 EXTRN _SetSysIn FWORD\r
71 EXTRN _GetSysIn FWORD\r
72 EXTRN _SetSysOut FWORD\r
73 EXTRN _GetSysOut FWORD\r
74 EXTRN _SetJobName FWORD\r
75 EXTRN _RegisterSvc FWORD\r
76 EXTRN _UnRegisterSvc FWORD\r
77 EXTRN _GetSystemDisk FWORD\r
78 EXTRN _CreateFile FWORD\r
79 EXTRN _CreateDir FWORD\r
80 EXTRN _DeleteDir FWORD\r
81 EXTRN _OpenFile FWORD\r
82 EXTRN _RenameFile FWORD\r
83 EXTRN _GetFileSize FWORD\r
84 EXTRN _SetFileSize FWORD\r
85 EXTRN _ReadBlock FWORD\r
86 EXTRN _WriteBlock FWORD\r
87 EXTRN _ReadBytes FWORD\r
88 EXTRN _WriteBytes FWORD\r
89 EXTRN _GetFileLFA FWORD\r
90 EXTRN _SetFileLFA FWORD\r
91 EXTRN _CloseFile FWORD\r
92 EXTRN _DeleteFile FWORD\r
93 EXTRN _GetDirSector FWORD\r
94 PUBLIC _aStatLine DB 109,109,47,100,100,47,121,121,32,32,48\r
95  DB 48,58,48,48,58,48,48,32,32,67,76\r
96  DB 73,32,32,86,49,46,48,32,32,32,32\r
97  DB 74,111,98,32,32,32,32,32,80,97,116\r
98  DB 104,58,32,32,32,32,32,32,32,32,32\r
99  DB 32,32,32,32,32,32,32,32,32,32,32\r
100  DB 32,32,32,32,32,32,32,32,32,32,32\r
101  DB 32,32,32,0\r
102 PUBLIC _cbCmd DD 0\r
103 PUBLIC _paCmds DB 0,0,0,0,0,0,0,0,0,0,120\r
104  DB 120,120,120,120,0,0,0,0,0,67,108\r
105  DB 115,0,0,0,0,0,0,0,67,111,112\r
106  DB 121,0,0,0,0,0,0,68,101,108,0\r
107  DB 0,0,0,0,0,0,68,105,114,0,0\r
108  DB 0,0,0,0,0,68,101,98,117,103,0\r
109  DB 0,0,0,0,68,117,109,112,0,0,0\r
110  DB 0,0,0,69,120,105,116,0,0,0,0\r
111  DB 0,0,72,101,108,112,0,0,0,0,0\r
112  DB 0,77,68,0,0,0,0,0,0,0,0\r
113  DB 77,111,110,105,116,111,114,0,0,0,80\r
114  DB 97,116,104,0,0,0,0,0,0,82,68\r
115  DB 0,0,0,0,0,0,0,0,82,101,110\r
116  DB 0,0,0,0,0,0,0,82,117,110,0\r
117  DB 0,0,0,0,0,0,84,121,112,101,0\r
118  DB 0,0,0,0,0\r
119 PUBLIC _CmdNum DD 0\r
120 L_lit DB 69,110,100,32,111,102,32,102,105,108,101,0,85,115,101,114\r
121  DB 32,99,97,110,99,101,108,108,101,100,0,73,110,118,97,108\r
122  DB 105,100,32,112,97,114,97,109,101,116,101,114,115,0,79,117\r
123  DB 116,32,111,102,32,109,101,109,111,114,121,32,40,110,101,101\r
124  DB 100,32,109,111,114,101,32,102,111,114,32,116,104,105,115,41\r
125  DB 0,73,110,118,97,108,105,100,32,102,105,108,101,110,97,109\r
126  DB 101,32,40,110,111,116,32,99,111,114,114,101,99,116,32,102\r
127  DB 111,114,109,97,116,41,0,78,111,32,115,117,99,104,32,100\r
128  DB 114,105,118,101,0,84,104,101,32,110,97,109,101,32,105,115\r
129  DB 32,110,111,116,32,97,32,102,105,108,101,32,40,105,116,39\r
130  DB 115,32,97,32,100,105,114,101,99,116,111,114,121,41,0,70\r
131  DB 105,108,101,32,100,111,101,115,110,39,116,32,101,120,105,115\r
132  DB 116,0,68,105,114,101,99,116,111,114,121,32,100,111,101,115\r
133  DB 110,39,116,32,101,120,105,115,116,0,70,105,108,101,32,105\r
134  DB 115,32,82,101,97,100,79,110,108,121,0,70,105,108,101,32\r
135  DB 105,110,32,117,115,101,0,67,97,110,39,116,32,114,101,110\r
136  DB 97,109,101,32,97,99,114,111,115,115,32,100,114,105,118,101\r
137  DB 115,0,67,97,110,39,116,32,114,101,110,97,109,101,32,97\r
138  DB 99,114,111,115,115,32,100,105,114,101,99,116,111,114,105,101\r
139  DB 115,0,70,105,108,101,32,65,108,114,101,97,100,121,32,69\r
140  DB 120,105,115,116,115,32,40,100,117,112,108,105,99,97,116,101\r
141  DB 32,110,97,109,101,41,0,82,111,111,116,32,100,105,114,101\r
142  DB 99,116,111,114,121,32,105,115,32,102,117,108,108,0,68,105\r
143  DB 115,107,32,105,115,32,102,117,108,108,32,40,98,117,109,109\r
144  DB 101,114,41,0,68,105,114,101,99,116,111,114,121,32,105,115\r
145  DB 32,102,117,108,108,0,69,114,114,111,114,32,37,48,53,100\r
146  DB 32,111,110,32,108,97,115,116,32,99,111,109,109,97,110,100\r
147  DB 0,37,115,13,10,0,37,48,56,120,32,0,37,48,50,120\r
148  DB 32,0,37,115,13,10,0,69,83,67,32,116,111,32,99,97\r
149  DB 110,99,101,108,44,32,97,110,121,32,111,116,104,101,114,32\r
150  DB 107,101,121,32,116,111,32,99,111,110,116,105,110,117,101,46\r
151  DB 46,46,0,70,105,108,101,110,97,109,101,32,110,111,116,32\r
152  DB 103,105,118,101,110,13,10,0,69,83,67,32,116,111,32,99\r
153  DB 97,110,99,101,108,44,32,97,110,121,32,111,116,104,101,114\r
154  DB 32,107,101,121,32,116,111,32,99,111,110,116,105,110,117,101\r
155  DB 46,46,46,0,13,10,69,114,114,111,114,58,32,37,100,13\r
156  DB 10,0,70,105,108,101,110,97,109,101,32,110,111,116,32,103\r
157  DB 105,118,101,110,13,10,0,37,48,50,100,58,37,48,50,100\r
158  DB 58,37,48,50,100,0,37,48,50,100,45,37,48,50,100,45\r
159  DB 37,48,50,100,0,70,105,108,101,32,97,108,114,101,97,100\r
160  DB 121,32,101,120,105,115,116,115,46,32,79,118,101,114,119,114\r
161  DB 105,116,101,63,32,40,89,47,78,41,13,10,0,37,56,115\r
162  DB 32,37,51,115,32,32,37,56,100,32,32,120,120,47,120,120\r
163  DB 47,120,120,32,120,120,47,120,120,47,120,120,32,32,37,50\r
164  DB 120,32,32,32,37,48,52,120,13,10,0,37,115,0,69,83\r
165  DB 67,32,116,111,32,99,97,110,99,101,108,44,32,97,110,121\r
166  DB 32,111,116,104,101,114,32,107,101,121,32,116,111,32,99,111\r
167  DB 110,116,105,110,117,101,46,46,46,0,114,0,67,111,109,109\r
168  DB 97,110,100,115,46,67,76,73,32,110,111,116,32,102,111,117\r
169  DB 110,100,46,13,10,0,46,82,85,78,0,46,82,85,78,0\r
170  DB 67,111,109,109,97,110,100,32,110,111,116,32,102,111,117,110\r
171  DB 100,13,10,0,37,48,50,100,0,67,76,73,32,86,49,46\r
172  DB 48,0,92,77,77,83,89,83,92,0,67,76,73,46,82,85\r
173  DB 78,0,67,79,77,77,65,78,68,83,46,67,76,73,0,72\r
174  DB 69,76,80,46,67,76,73,0,62,0,13,10,0,68,111,110\r
175  DB 101,46,13,10,0,0,75,69,89,66,79,65,82,68,0\r
176 PUBLIC _iCol DD 0h\r
177 PUBLIC _iLine DD 0h\r
178 PUBLIC _aPath DB 70 DUP(0)\r
179 PUBLIC _cbPath DD 0h\r
180 PUBLIC _fUpdatePath DB 0h\r
181 PUBLIC _sdisk DB 0h\r
182 PUBLIC _syspath DB 50 DUP(0)\r
183 PUBLIC _hlppath DB 60 DUP(0)\r
184 PUBLIC _clipath DB 60 DUP(0)\r
185 PUBLIC _cmdpath DB 60 DUP(0)\r
186 PUBLIC _aCmd DB 80 DUP(0)\r
187 PUBLIC _Buffer DB 512 DUP(0)\r
188 PUBLIC _bigBuf DB 4096 DUP(0)\r
189 PUBLIC _text DB 70 DUP(0)\r
190 PUBLIC _ExitChar DB 0h\r
191 PUBLIC _GPExch DD 0h\r
192 PUBLIC _GPMsg DD 2 DUP(0)\r
193 PUBLIC _GPHndl DD 0h\r
194 PUBLIC _StatExch DD 0h\r
195 PUBLIC _StatStack DD 256 DUP(0)\r
196 PUBLIC _time DD 0h\r
197 PUBLIC _date DD 0h\r
198 PUBLIC _JobNum DD 0h\r
199 PUBLIC _apParam DD 13 DUP(0)\r
200 PUBLIC _acbParam DD 13 DUP(0)\r
201 PUBLIC _dirent DB 512 DUP(0)\r
202 \r
203 \r
204 .CODE\r
205 EXTRN _fopen: NEAR\r
206 EXTRN _fclose: NEAR\r
207 EXTRN _remove: NEAR\r
208 EXTRN _rename: NEAR\r
209 EXTRN _fgetc: NEAR\r
210 EXTRN _fgets: NEAR\r
211 EXTRN _fputs: NEAR\r
212 EXTRN _fputc: NEAR\r
213 EXTRN _printf: NEAR\r
214 EXTRN _sprintf: NEAR\r
215 EXTRN _fprintf: NEAR\r
216 EXTRN _ftell: NEAR\r
217 EXTRN _rewind: NEAR\r
218 EXTRN _fseek: NEAR\r
219 EXTRN _fread: NEAR\r
220 EXTRN _fwrite: NEAR\r
221 EXTRN _strcpy: NEAR\r
222 EXTRN _strncpy: NEAR\r
223 EXTRN _strcat: NEAR\r
224 EXTRN _strncat: NEAR\r
225 EXTRN _strcmp: NEAR\r
226 EXTRN _strncmp: NEAR\r
227 EXTRN _strlen: NEAR\r
228 EXTRN _strchr: NEAR\r
229 EXTRN _iscntrl: NEAR\r
230 EXTRN _isspace: NEAR\r
231 EXTRN _isdigit: NEAR\r
232 EXTRN _isupper: NEAR\r
233 EXTRN _islower: NEAR\r
234 EXTRN _ispunct: NEAR\r
235 EXTRN _isalpha: NEAR\r
236 EXTRN _isxdigit: NEAR\r
237 EXTRN _isalnum: NEAR\r
238 EXTRN _isgraph: NEAR\r
239 EXTRN _toupper: NEAR\r
240 EXTRN _tolower: NEAR\r
241 PUBLIC _StatTask:\r
242         PUSH EBP\r
243         MOV EBP,ESP\r
244 L_1:\r
245         MOVSX EAX,_fUpdatePath\r
246         AND EAX,EAX\r
247         JZ L_3\r
248         MOV EAX,_cbPath\r
249         CMP EAX,30\r
250         SETG AL\r
251         AND AL,AL\r
252         JZ L_4\r
253         MOV EAX,30\r
254         MOV _cbPath, EAX\r
255 L_4:\r
256         MOV EAX,47\r
257         MOV ESI,OFFSET _aStatLine\r
258         ADD ESI,EAX\r
259         PUSH ESI\r
260         PUSH 30\r
261         PUSH 32\r
262         CALL FWORD PTR _FillData\r
263         PUSH OFFSET _aPath\r
264         MOV EAX,47\r
265         MOV ESI,OFFSET _aStatLine\r
266         ADD ESI,EAX\r
267         PUSH ESI\r
268         PUSH _cbPath\r
269         CALL FWORD PTR _CopyData\r
270         XOR EAX,EAX\r
271         MOV _fUpdatePath, AL\r
272 L_3:\r
273         PUSH OFFSET _date\r
274         CALL FWORD PTR _GetCMOSDate\r
275         MOV ESI,OFFSET _aStatLine\r
276         MOV EAX,_date\r
277         MOV ECX,20\r
278         SHR EAX,CL\r
279         AND EAX,15\r
280         ADD EAX,48\r
281         MOV BYTE PTR [ESI], AL\r
282         MOV EAX,1\r
283         MOV ESI,OFFSET _aStatLine\r
284         ADD ESI,EAX\r
285         MOV EAX,_date\r
286         MOV ECX,16\r
287         SHR EAX,CL\r
288         AND EAX,15\r
289         ADD EAX,48\r
290         MOV BYTE PTR [ESI], AL\r
291         MOV EAX,3\r
292         MOV ESI,OFFSET _aStatLine\r
293         ADD ESI,EAX\r
294         MOV EAX,_date\r
295         MOV ECX,12\r
296         SHR EAX,CL\r
297         AND EAX,15\r
298         ADD EAX,48\r
299         MOV BYTE PTR [ESI], AL\r
300         MOV EAX,4\r
301         MOV ESI,OFFSET _aStatLine\r
302         ADD ESI,EAX\r
303         MOV EAX,_date\r
304         MOV ECX,8\r
305         SHR EAX,CL\r
306         AND EAX,15\r
307         ADD EAX,48\r
308         MOV BYTE PTR [ESI], AL\r
309         MOV EAX,6\r
310         MOV ESI,OFFSET _aStatLine\r
311         ADD ESI,EAX\r
312         MOV EAX,_date\r
313         MOV ECX,28\r
314         SHR EAX,CL\r
315         AND EAX,15\r
316         ADD EAX,48\r
317         MOV BYTE PTR [ESI], AL\r
318         MOV EAX,7\r
319         MOV ESI,OFFSET _aStatLine\r
320         ADD ESI,EAX\r
321         MOV EAX,_date\r
322         MOV ECX,24\r
323         SHR EAX,CL\r
324         AND EAX,15\r
325         ADD EAX,48\r
326         MOV BYTE PTR [ESI], AL\r
327         PUSH OFFSET _time\r
328         CALL FWORD PTR _GetCMOSTime\r
329         MOV EAX,10\r
330         MOV ESI,OFFSET _aStatLine\r
331         ADD ESI,EAX\r
332         MOV EAX,_time\r
333         MOV ECX,20\r
334         SHR EAX,CL\r
335         AND EAX,15\r
336         ADD EAX,48\r
337         MOV BYTE PTR [ESI], AL\r
338         MOV EAX,11\r
339         MOV ESI,OFFSET _aStatLine\r
340         ADD ESI,EAX\r
341         MOV EAX,_time\r
342         MOV ECX,16\r
343         SHR EAX,CL\r
344         AND EAX,15\r
345         ADD EAX,48\r
346         MOV BYTE PTR [ESI], AL\r
347         MOV EAX,13\r
348         MOV ESI,OFFSET _aStatLine\r
349         ADD ESI,EAX\r
350         MOV EAX,_time\r
351         MOV ECX,12\r
352         SHR EAX,CL\r
353         AND EAX,15\r
354         ADD EAX,48\r
355         MOV BYTE PTR [ESI], AL\r
356         MOV EAX,14\r
357         MOV ESI,OFFSET _aStatLine\r
358         ADD ESI,EAX\r
359         MOV EAX,_time\r
360         MOV ECX,8\r
361         SHR EAX,CL\r
362         AND EAX,15\r
363         ADD EAX,48\r
364         MOV BYTE PTR [ESI], AL\r
365         MOV EAX,16\r
366         MOV ESI,OFFSET _aStatLine\r
367         ADD ESI,EAX\r
368         MOV EAX,_time\r
369         MOV ECX,4\r
370         SHR EAX,CL\r
371         AND EAX,15\r
372         ADD EAX,48\r
373         MOV BYTE PTR [ESI], AL\r
374         MOV EAX,17\r
375         MOV ESI,OFFSET _aStatLine\r
376         ADD ESI,EAX\r
377         MOV EAX,_time\r
378         AND EAX,15\r
379         ADD EAX,48\r
380         MOV BYTE PTR [ESI], AL\r
381         XOR EAX,EAX\r
382         PUSH EAX\r
383         XOR EAX,EAX\r
384         PUSH EAX\r
385         PUSH OFFSET _aStatLine\r
386         PUSH 80\r
387         PUSH 48\r
388         CALL FWORD PTR _PutVidChars\r
389         PUSH 100\r
390         CALL FWORD PTR _Sleep\r
391         JMP L_1\r
392 L_2:\r
393         POP EBP\r
394         RETN\r
395 PUBLIC _CheckErc:\r
396         PUSH EBP\r
397         MOV EBP,ESP\r
398         SUB ESP,44\r
399         LEA EAX,DWORD PTR [EBP-44]\r
400         PUSH EAX\r
401         PUSH 40\r
402         XOR EAX,EAX\r
403         PUSH EAX\r
404         CALL FWORD PTR _FillData\r
405         MOV EAX,DWORD PTR [EBP+8]\r
406         JMP L_6\r
407 L_7:\r
408         JMP L_8\r
409 L_9:\r
410         MOV EAX,OFFSET L_lit+0\r
411         MOV DWORD PTR [EBP-4], EAX\r
412         JMP L_5\r
413 L_10:\r
414         MOV EAX,OFFSET L_lit+12\r
415         MOV DWORD PTR [EBP-4], EAX\r
416         JMP L_5\r
417 L_11:\r
418         MOV EAX,OFFSET L_lit+27\r
419         MOV DWORD PTR [EBP-4], EAX\r
420         JMP L_5\r
421 L_12:\r
422         MOV EAX,OFFSET L_lit+46\r
423         MOV DWORD PTR [EBP-4], EAX\r
424         JMP L_5\r
425 L_13:\r
426         MOV EAX,OFFSET L_lit+81\r
427         MOV DWORD PTR [EBP-4], EAX\r
428         JMP L_5\r
429 L_14:\r
430         MOV EAX,OFFSET L_lit+119\r
431         MOV DWORD PTR [EBP-4], EAX\r
432         JMP L_5\r
433 L_15:\r
434         MOV EAX,OFFSET L_lit+133\r
435         MOV DWORD PTR [EBP-4], EAX\r
436         JMP L_5\r
437 L_16:\r
438         MOV EAX,OFFSET L_lit+175\r
439         MOV DWORD PTR [EBP-4], EAX\r
440         JMP L_5\r
441 L_17:\r
442         MOV EAX,OFFSET L_lit+194\r
443         MOV DWORD PTR [EBP-4], EAX\r
444         JMP L_5\r
445 L_18:\r
446         MOV EAX,OFFSET L_lit+218\r
447         MOV DWORD PTR [EBP-4], EAX\r
448         JMP L_5\r
449 L_19:\r
450         MOV EAX,OFFSET L_lit+235\r
451         MOV DWORD PTR [EBP-4], EAX\r
452         JMP L_5\r
453 L_20:\r
454         MOV EAX,OFFSET L_lit+247\r
455         MOV DWORD PTR [EBP-4], EAX\r
456         JMP L_5\r
457 L_21:\r
458         MOV EAX,OFFSET L_lit+274\r
459         MOV DWORD PTR [EBP-4], EAX\r
460         JMP L_5\r
461 L_22:\r
462         MOV EAX,OFFSET L_lit+306\r
463         MOV DWORD PTR [EBP-4], EAX\r
464         JMP L_5\r
465 L_23:\r
466         MOV EAX,OFFSET L_lit+343\r
467         MOV DWORD PTR [EBP-4], EAX\r
468         JMP L_5\r
469 L_24:\r
470         MOV EAX,OFFSET L_lit+366\r
471         MOV DWORD PTR [EBP-4], EAX\r
472         JMP L_5\r
473 L_25:\r
474         MOV EAX,OFFSET L_lit+388\r
475         MOV DWORD PTR [EBP-4], EAX\r
476         JMP L_5\r
477 L_26:\r
478         LEA EAX,DWORD PTR [EBP-44]\r
479         PUSH EAX\r
480         PUSH OFFSET L_lit+406\r
481         PUSH DWORD PTR [EBP+8]\r
482         MOV EDI, 4\r
483         CALL _sprintf\r
484         ADD ESP,12\r
485         LEA EAX,DWORD PTR [EBP-44]\r
486         MOV DWORD PTR [EBP-4], EAX\r
487         JMP L_5\r
488 L_6:\r
489         CMP EAX,231\r
490         JE L_25\r
491         CMP EAX,230\r
492         JE L_24\r
493         CMP EAX,228\r
494         JE L_23\r
495         CMP EAX,226\r
496         JE L_22\r
497         CMP EAX,223\r
498         JE L_21\r
499         CMP EAX,222\r
500         JE L_20\r
501         CMP EAX,208\r
502         JE L_19\r
503         CMP EAX,205\r
504         JE L_18\r
505         CMP EAX,204\r
506         JE L_17\r
507         CMP EAX,203\r
508         JE L_16\r
509         CMP EAX,202\r
510         JE L_15\r
511         CMP EAX,201\r
512         JE L_14\r
513         CMP EAX,200\r
514         JE L_13\r
515         CMP EAX,101\r
516         JE L_12\r
517         CMP EAX,80\r
518         JE L_11\r
519         CMP EAX,4\r
520         JE L_10\r
521         CMP EAX,1\r
522         JE L_9\r
523         CMP EAX,0\r
524         JE L_7\r
525         JMP L_26\r
526 L_5:\r
527         PUSH OFFSET L_lit+433\r
528         PUSH DWORD PTR [EBP-4]\r
529         MOV EDI, 4\r
530         CALL _printf\r
531         ADD ESP,8\r
532 L_8:\r
533         MOV ESP,EBP\r
534         POP EBP\r
535         RETN 4\r
536 PUBLIC _GoDebug:\r
537         PUSH EBP\r
538         MOV EBP,ESP\r
539         INT 03\r
540         POP EBP\r
541         RETN\r
542 PUBLIC _InitScreen:\r
543         PUSH EBP\r
544         MOV EBP,ESP\r
545         PUSH 7\r
546         CALL FWORD PTR _SetNormVid\r
547         PUSH OFFSET _iCol\r
548         PUSH OFFSET _iLine\r
549         CALL FWORD PTR _GetXY\r
550         MOVSX EAX,WORD PTR [EBP+8]\r
551         AND EAX,EAX\r
552         JZ L_28\r
553         XOR EAX,EAX\r
554         MOV _iCol, EAX\r
555         MOV EAX,2\r
556         MOV _iLine, EAX\r
557         CALL FWORD PTR _ClrScr\r
558 L_28:\r
559         PUSH _iCol\r
560         PUSH _iLine\r
561         CALL FWORD PTR _SetXY\r
562         XOR EAX,EAX\r
563         PUSH EAX\r
564         XOR EAX,EAX\r
565         PUSH EAX\r
566         PUSH OFFSET _aStatLine\r
567         PUSH 80\r
568         PUSH 48\r
569         CALL FWORD PTR _PutVidChars\r
570         POP EBP\r
571         RETN 4\r
572 PUBLIC _Dump:\r
573         PUSH EBP\r
574         MOV EBP,ESP\r
575         SUB ESP,33\r
576         XOR EAX,EAX\r
577         MOV DWORD PTR [EBP-4], EAX\r
578         PUSH OFFSET _iCol\r
579         PUSH OFFSET _iLine\r
580         CALL FWORD PTR _GetXY\r
581 L_30:\r
582         MOV EAX,DWORD PTR [EBP+12]\r
583         AND EAX,EAX\r
584         JZ L_31\r
585         PUSH OFFSET L_lit+438\r
586         PUSH DWORD PTR [EBP+8]\r
587         MOV EDI, 4\r
588         CALL _printf\r
589         ADD ESP,8\r
590         MOV EAX,DWORD PTR [EBP+12]\r
591         CMP EAX,15\r
592         SETG AL\r
593         AND AL,AL\r
594         JZ L_32\r
595         MOV EAX,16\r
596         MOV DWORD PTR [EBP-12], EAX\r
597         JMP L_33\r
598 L_32:\r
599         MOV EAX,DWORD PTR [EBP+12]\r
600         MOV DWORD PTR [EBP-12], EAX\r
601 L_33:\r
602         XOR EAX,EAX\r
603         MOV DWORD PTR [EBP-8], EAX\r
604 L_34:\r
605         MOV EAX,DWORD PTR [EBP-8]\r
606         CMP EAX,DWORD PTR [EBP-12]\r
607         SETB AL\r
608         AND AL,AL\r
609         JZ L_35\r
610         JMP SHORT L_36\r
611 L_37:\r
612         MOV EAX,DWORD PTR [EBP-8]\r
613         INC DWORD PTR [EBP-8]\r
614         JMP SHORT L_34\r
615 L_36:\r
616         PUSH OFFSET L_lit+444\r
617         MOV ESI,DWORD PTR [EBP+16]\r
618         XOR EAX,EAX\r
619         MOV AL,BYTE PTR [ESI]\r
620         PUSH EAX\r
621         MOV EDI, 4\r
622         CALL _printf\r
623         ADD ESP,8\r
624         MOV EAX,DWORD PTR [EBP-8]\r
625         LEA ESI,BYTE PTR [EBP-33]\r
626         ADD ESI,EAX\r
627         MOV EBX,ESI\r
628         MOV ESI,DWORD PTR [EBP+16]\r
629         INC DWORD PTR [EBP+16]\r
630         XOR EAX,EAX\r
631         MOV AL,BYTE PTR [ESI]\r
632         MOV BYTE PTR [EBX], AL\r
633         MOV EAX,DWORD PTR [EBP-8]\r
634         LEA ESI,BYTE PTR [EBP-33]\r
635         ADD ESI,EAX\r
636         XOR EAX,EAX\r
637         MOV AL,BYTE PTR [ESI]\r
638         CMP EAX,32\r
639         SETB AL\r
640         AND AL,AL\r
641         JZ L_38\r
642         MOV EAX,DWORD PTR [EBP-8]\r
643         LEA ESI,BYTE PTR [EBP-33]\r
644         ADD ESI,EAX\r
645         MOV EAX,46\r
646         MOV BYTE PTR [ESI], AL\r
647 L_38:\r
648         MOV EAX,DWORD PTR [EBP-8]\r
649         LEA ESI,BYTE PTR [EBP-33]\r
650         ADD ESI,EAX\r
651         XOR EAX,EAX\r
652         MOV AL,BYTE PTR [ESI]\r
653         CMP EAX,127\r
654         SETA AL\r
655         AND AL,AL\r
656         JZ L_39\r
657         MOV EAX,DWORD PTR [EBP-8]\r
658         LEA ESI,BYTE PTR [EBP-33]\r
659         ADD ESI,EAX\r
660         MOV EAX,46\r
661         MOV BYTE PTR [ESI], AL\r
662 L_39:\r
663         JMP L_37\r
664 L_35:\r
665         MOV EAX,DWORD PTR [EBP-8]\r
666         ADD EAX,1\r
667         LEA ESI,BYTE PTR [EBP-33]\r
668         ADD ESI,EAX\r
669         XOR EAX,EAX\r
670         MOV BYTE PTR [ESI], AL\r
671         PUSH OFFSET L_lit+450\r
672         LEA EAX,BYTE PTR [EBP-33]\r
673         PUSH EAX\r
674         MOV EDI, 4\r
675         CALL _printf\r
676         ADD ESP,8\r
677         INC _iLine\r
678         MOV EAX,_iLine\r
679         CMP EAX,22\r
680         SETGE AL\r
681         AND AL,AL\r
682         JZ L_40\r
683         XOR EAX,EAX\r
684         PUSH EAX\r
685         PUSH 23\r
686         CALL FWORD PTR _SetXY\r
687         PUSH OFFSET L_lit+455\r
688         MOV EDI, 0\r
689         CALL _printf\r
690         ADD ESP,4\r
691         LEA EAX,DWORD PTR [EBP-16]\r
692         PUSH EAX\r
693         PUSH 1\r
694         CALL FWORD PTR _ReadKbd\r
695         MOV EAX,DWORD PTR [EBP-16]\r
696         AND EAX,255\r
697         CMP EAX,27\r
698         SETE AL\r
699         AND AL,AL\r
700         JZ L_41\r
701         MOV EAX,4\r
702         JMP L_42\r
703 L_41:\r
704         PUSH 1\r
705         CALL _InitScreen\r
706         XOR EAX,EAX\r
707         PUSH EAX\r
708         PUSH 1\r
709         CALL FWORD PTR _SetXY\r
710         MOV EAX,1\r
711         MOV _iLine, EAX\r
712 L_40:\r
713         MOV EAX,DWORD PTR [EBP+12]\r
714         CMP EAX,15\r
715         SETG AL\r
716         AND AL,AL\r
717         JZ L_43\r
718         MOV EAX,DWORD PTR [EBP+12]\r
719         SUB EAX,16\r
720         MOV DWORD PTR [EBP+12], EAX\r
721         JMP L_44\r
722 L_43:\r
723         XOR EAX,EAX\r
724         MOV DWORD PTR [EBP+12], EAX\r
725 L_44:\r
726         MOV EAX,DWORD PTR [EBP+8]\r
727         ADD EAX,DWORD PTR [EBP-12]\r
728         MOV DWORD PTR [EBP+8], EAX\r
729         JMP L_30\r
730 L_31:\r
731         MOV EAX,DWORD PTR [EBP-4]\r
732 L_42:\r
733         MOV ESP,EBP\r
734         POP EBP\r
735         RETN 12\r
736 PUBLIC _DoDump:\r
737         PUSH EBP\r
738         MOV EBP,ESP\r
739         SUB ESP,24\r
740         XOR EAX,EAX\r
741         MOV DWORD PTR [EBP-16], EAX\r
742         MOV EAX,4\r
743         MOV ESI,OFFSET _apParam\r
744         ADD ESI,EAX\r
745         MOV EAX,DWORD PTR [ESI]\r
746         AND EAX,EAX\r
747         JZ L_45\r
748         MOV EAX,4\r
749         MOV ESI,OFFSET _acbParam\r
750         ADD ESI,EAX\r
751         MOV EAX,DWORD PTR [ESI]\r
752 L_45:\r
753         AND EAX,EAX\r
754         JZ L_46\r
755         MOV EAX,_iLine\r
756         CMP EAX,23\r
757         SETGE AL\r
758         AND AL,AL\r
759         JZ L_47\r
760         XOR EAX,EAX\r
761         PUSH EAX\r
762         PUSH 1\r
763         PUSH 80\r
764         PUSH 23\r
765         PUSH 1\r
766         CALL FWORD PTR _ScrollVid\r
767         XOR EAX,EAX\r
768         PUSH EAX\r
769         PUSH 23\r
770         CALL FWORD PTR _SetXY\r
771 L_47:\r
772         MOV EAX,4\r
773         MOV ESI,OFFSET _apParam\r
774         ADD ESI,EAX\r
775         PUSH DWORD PTR [ESI]\r
776         MOV EAX,4\r
777         MOV ESI,OFFSET _acbParam\r
778         ADD ESI,EAX\r
779         PUSH DWORD PTR [ESI]\r
780         XOR EAX,EAX\r
781         PUSH EAX\r
782         PUSH 1\r
783         LEA EAX,DWORD PTR [EBP-24]\r
784         PUSH EAX\r
785         CALL FWORD PTR _OpenFile\r
786         MOV DWORD PTR [EBP-16], EAX\r
787         MOV EAX,DWORD PTR [EBP-16]\r
788         AND EAX,EAX\r
789         JNZ L_48\r
790         XOR EAX,EAX\r
791         MOV DWORD PTR [EBP-4], EAX\r
792         PUSH DWORD PTR [EBP-24]\r
793         LEA EAX,DWORD PTR [EBP-8]\r
794         PUSH EAX\r
795         CALL FWORD PTR _GetFileSize\r
796 L_49:\r
797         MOV EAX,DWORD PTR [EBP-4]\r
798         CMP EAX,DWORD PTR [EBP-8]\r
799         SETB AL\r
800         AND AL,AL\r
801         JZ L_51\r
802         MOV EAX,DWORD PTR [EBP-16]\r
803         AND EAX,EAX\r
804         SETZ AL\r
805         AND AL,AL\r
806 L_51:\r
807         JZ L_50\r
808         PUSH OFFSET _Buffer\r
809         PUSH 512\r
810         XOR EAX,EAX\r
811         PUSH EAX\r
812         CALL FWORD PTR _FillData\r
813         PUSH DWORD PTR [EBP-24]\r
814         PUSH OFFSET _Buffer\r
815         PUSH 512\r
816         LEA EAX,DWORD PTR [EBP-20]\r
817         PUSH EAX\r
818         CALL FWORD PTR _ReadBytes\r
819         MOV DWORD PTR [EBP-16], EAX\r
820         MOV EAX,DWORD PTR [EBP-8]\r
821         SUB EAX,DWORD PTR [EBP-4]\r
822         CMP EAX,512\r
823         SETA AL\r
824         AND AL,AL\r
825         JZ L_52\r
826         MOV EAX,512\r
827         MOV DWORD PTR [EBP-12], EAX\r
828         JMP L_53\r
829 L_52:\r
830         MOV EAX,DWORD PTR [EBP-8]\r
831         SUB EAX,DWORD PTR [EBP-4]\r
832         MOV DWORD PTR [EBP-12], EAX\r
833 L_53:\r
834         MOV EAX,DWORD PTR [EBP-16]\r
835         CMP EAX,2\r
836         SETB AL\r
837         AND AL,AL\r
838         JZ L_54\r
839         PUSH OFFSET _Buffer\r
840         PUSH DWORD PTR [EBP-20]\r
841         PUSH DWORD PTR [EBP-4]\r
842         CALL _Dump\r
843         MOV DWORD PTR [EBP-16], EAX\r
844 L_54:\r
845         MOV EAX,DWORD PTR [EBP-4]\r
846         ADD EAX,512\r
847         MOV DWORD PTR [EBP-4], EAX\r
848         JMP L_49\r
849 L_50:\r
850         PUSH DWORD PTR [EBP-24]\r
851         CALL FWORD PTR _CloseFile\r
852 L_48:\r
853         JMP L_55\r
854 L_46:\r
855         PUSH OFFSET L_lit+499\r
856         MOV EDI, 0\r
857         CALL _printf\r
858         ADD ESP,4\r
859 L_55:\r
860         MOV EAX,DWORD PTR [EBP-16]\r
861         MOV ESP,EBP\r
862         POP EBP\r
863         RETN\r
864 PUBLIC _DoType:\r
865         PUSH EBP\r
866         MOV EBP,ESP\r
867         SUB ESP,28\r
868         XOR EAX,EAX\r
869         MOV DWORD PTR [EBP-16], EAX\r
870         MOV EAX,DWORD PTR [EBP+12]\r
871         AND EAX,EAX\r
872         JZ L_57\r
873         MOV EAX,DWORD PTR [EBP+8]\r
874 L_57:\r
875         AND EAX,EAX\r
876         JZ L_58\r
877         MOV EAX,_iLine\r
878         CMP EAX,23\r
879         SETGE AL\r
880         AND AL,AL\r
881         JZ L_59\r
882         XOR EAX,EAX\r
883         PUSH EAX\r
884         PUSH 1\r
885         PUSH 80\r
886         PUSH 23\r
887         PUSH 1\r
888         CALL FWORD PTR _ScrollVid\r
889         XOR EAX,EAX\r
890         PUSH EAX\r
891         PUSH 23\r
892         CALL FWORD PTR _SetXY\r
893 L_59:\r
894         PUSH DWORD PTR [EBP+12]\r
895         PUSH DWORD PTR [EBP+8]\r
896         XOR EAX,EAX\r
897         PUSH EAX\r
898         PUSH 1\r
899         LEA EAX,DWORD PTR [EBP-24]\r
900         PUSH EAX\r
901         CALL FWORD PTR _OpenFile\r
902         MOV DWORD PTR [EBP-16], EAX\r
903         MOV EAX,DWORD PTR [EBP-16]\r
904         AND EAX,EAX\r
905         JNZ L_60\r
906         PUSH OFFSET _Buffer\r
907         PUSH 512\r
908         XOR EAX,EAX\r
909         PUSH EAX\r
910         CALL FWORD PTR _FillData\r
911         MOV EAX,1\r
912         MOV DWORD PTR [EBP-20], EAX\r
913 L_61:\r
914         MOV EAX,DWORD PTR [EBP-16]\r
915         CMP EAX,2\r
916         SETL AL\r
917         AND AL,AL\r
918         JZ L_63\r
919         MOV EAX,DWORD PTR [EBP-20]\r
920 L_63:\r
921         AND EAX,EAX\r
922         JZ L_62\r
923         PUSH DWORD PTR [EBP-24]\r
924         LEA EAX,DWORD PTR [EBP-12]\r
925         PUSH EAX\r
926         CALL FWORD PTR _GetFileLFA\r
927         PUSH DWORD PTR [EBP-24]\r
928         PUSH OFFSET _Buffer\r
929         PUSH 78\r
930         LEA EAX,DWORD PTR [EBP-20]\r
931         PUSH EAX\r
932         CALL FWORD PTR _ReadBytes\r
933         MOV DWORD PTR [EBP-16], EAX\r
934         MOV EAX,1\r
935         MOV DWORD PTR [EBP-4], EAX\r
936 L_64:\r
937         MOV EAX,DWORD PTR [EBP-4]\r
938         SUB EAX,1\r
939         MOV ESI,OFFSET _Buffer\r
940         ADD ESI,EAX\r
941         XOR EAX,EAX\r
942         MOV AL,BYTE PTR [ESI]\r
943         CMP EAX,10\r
944         SETNE AL\r
945         AND AL,AL\r
946         JZ L_66\r
947         MOV EAX,DWORD PTR [EBP-4]\r
948         CMP EAX,DWORD PTR [EBP-20]\r
949         SETL AL\r
950         AND AL,AL\r
951 L_66:\r
952         JZ L_65\r
953         MOV EAX,DWORD PTR [EBP-4]\r
954         INC DWORD PTR [EBP-4]\r
955         JMP L_64\r
956 L_65:\r
957         XOR EAX,EAX\r
958         MOV DWORD PTR [EBP-8], EAX\r
959 L_67:\r
960         MOV EAX,DWORD PTR [EBP-8]\r
961         CMP EAX,DWORD PTR [EBP-4]\r
962         SETLE AL\r
963         AND AL,AL\r
964         JZ L_68\r
965         JMP SHORT L_69\r
966 L_70:\r
967         MOV EAX,DWORD PTR [EBP-8]\r
968         INC DWORD PTR [EBP-8]\r
969         JMP SHORT L_67\r
970 L_69:\r
971         MOV EAX,DWORD PTR [EBP-8]\r
972         MOV ESI,OFFSET _Buffer\r
973         ADD ESI,EAX\r
974         XOR EAX,EAX\r
975         MOV AL,BYTE PTR [ESI]\r
976         CMP EAX,9\r
977         SETE AL\r
978         AND AL,AL\r
979         JNZ L_71\r
980         MOV EAX,DWORD PTR [EBP-8]\r
981         MOV ESI,OFFSET _Buffer\r
982         ADD ESI,EAX\r
983         XOR EAX,EAX\r
984         MOV AL,BYTE PTR [ESI]\r
985         CMP EAX,13\r
986         SETE AL\r
987         AND AL,AL\r
988         JNZ L_72\r
989         MOV EAX,DWORD PTR [EBP-8]\r
990         MOV ESI,OFFSET _Buffer\r
991         ADD ESI,EAX\r
992         XOR EAX,EAX\r
993         MOV AL,BYTE PTR [ESI]\r
994         CMP EAX,10\r
995         SETE AL\r
996         AND AL,AL\r
997 L_72:\r
998 L_71:\r
999         JZ L_73\r
1000         MOV EAX,DWORD PTR [EBP-8]\r
1001         MOV ESI,OFFSET _Buffer\r
1002         ADD ESI,EAX\r
1003         MOV EAX,32\r
1004         MOV BYTE PTR [ESI], AL\r
1005 L_73:\r
1006         JMP L_70\r
1007 L_68:\r
1008         MOV EAX,DWORD PTR [EBP-20]\r
1009         AND EAX,EAX\r
1010         JZ L_74\r
1011         XOR EAX,EAX\r
1012         PUSH EAX\r
1013         PUSH _iLine\r
1014         PUSH OFFSET _Buffer\r
1015         PUSH DWORD PTR [EBP-4]\r
1016         PUSH 7\r
1017         CALL FWORD PTR _PutVidChars\r
1018         MOV EAX,_iLine\r
1019         INC _iLine\r
1020 L_74:\r
1021         XOR EAX,EAX\r
1022         PUSH EAX\r
1023         PUSH _iLine\r
1024         CALL FWORD PTR _SetXY\r
1025         PUSH DWORD PTR [EBP-24]\r
1026         MOV EAX,DWORD PTR [EBP-12]\r
1027         ADD EAX,DWORD PTR [EBP-4]\r
1028         PUSH EAX\r
1029         CALL FWORD PTR _SetFileLFA\r
1030         MOV EAX,_iLine\r
1031         CMP EAX,22\r
1032         SETGE AL\r
1033         AND AL,AL\r
1034         JZ L_75\r
1035         XOR EAX,EAX\r
1036         PUSH EAX\r
1037         PUSH 23\r
1038         CALL FWORD PTR _SetXY\r
1039         PUSH OFFSET L_lit+520\r
1040         MOV EDI, 0\r
1041         CALL _printf\r
1042         ADD ESP,4\r
1043         LEA EAX,DWORD PTR [EBP-28]\r
1044         PUSH EAX\r
1045         PUSH 1\r
1046         CALL FWORD PTR _ReadKbd\r
1047         MOV EAX,DWORD PTR [EBP-28]\r
1048         AND EAX,255\r
1049         CMP EAX,27\r
1050         SETE AL\r
1051         AND AL,AL\r
1052         JZ L_76\r
1053         MOV EAX,4\r
1054         JMP L_77\r
1055 L_76:\r
1056         PUSH 1\r
1057         CALL _InitScreen\r
1058         XOR EAX,EAX\r
1059         PUSH EAX\r
1060         PUSH 1\r
1061         CALL FWORD PTR _SetXY\r
1062         MOV EAX,1\r
1063         MOV _iLine, EAX\r
1064 L_75:\r
1065         JMP L_61\r
1066 L_62:\r
1067         PUSH OFFSET L_lit+564\r
1068         PUSH DWORD PTR [EBP-16]\r
1069         MOV EDI, 4\r
1070         CALL _printf\r
1071         ADD ESP,8\r
1072         PUSH DWORD PTR [EBP-24]\r
1073         CALL FWORD PTR _CloseFile\r
1074 L_60:\r
1075         JMP L_78\r
1076 L_58:\r
1077         PUSH OFFSET L_lit+578\r
1078         MOV EDI, 0\r
1079         CALL _printf\r
1080         ADD ESP,4\r
1081 L_78:\r
1082         MOV EAX,DWORD PTR [EBP-16]\r
1083 L_77:\r
1084         MOV ESP,EBP\r
1085         POP EBP\r
1086         RETN 8\r
1087 PUBLIC _CnvrtFATTime:\r
1088         PUSH EBP\r
1089         MOV EBP,ESP\r
1090         SUB ESP,39\r
1091         MOVZX EAX,WORD PTR [EBP+16]\r
1092         MOV ECX,65024\r
1093         AND EAX,ECX\r
1094         MOV ECX,9\r
1095         SHR AX,CL\r
1096         MOV ECX,1980\r
1097         ADD EAX,ECX\r
1098         MOV ECX,1900\r
1099         SUB EAX,ECX\r
1100         MOV DWORD PTR [EBP-4], EAX\r
1101         MOV EAX,DWORD PTR [EBP-4]\r
1102         CMP EAX,99\r
1103         SETA AL\r
1104         AND AL,AL\r
1105         JZ L_79\r
1106         MOV EAX,DWORD PTR [EBP-4]\r
1107         SUB EAX,100\r
1108         MOV DWORD PTR [EBP-4], EAX\r
1109 L_79:\r
1110         MOVZX EAX,WORD PTR [EBP+16]\r
1111         MOV ECX,480\r
1112         AND EAX,ECX\r
1113         MOV ECX,5\r
1114         SHR AX,CL\r
1115         MOV DWORD PTR [EBP-8], EAX\r
1116         MOVZX EAX,WORD PTR [EBP+16]\r
1117         MOV ECX,31\r
1118         AND EAX,ECX\r
1119         MOV DWORD PTR [EBP-12], EAX\r
1120         MOVZX EAX,WORD PTR [EBP+20]\r
1121         MOV ECX,63488\r
1122         AND EAX,ECX\r
1123         MOV ECX,11\r
1124         SHR AX,CL\r
1125         MOV DWORD PTR [EBP-16], EAX\r
1126         MOVZX EAX,WORD PTR [EBP+20]\r
1127         MOV ECX,2016\r
1128         AND EAX,ECX\r
1129         MOV ECX,5\r
1130         SHR AX,CL\r
1131         MOV DWORD PTR [EBP-20], EAX\r
1132         MOVZX EAX,WORD PTR [EBP+20]\r
1133         MOV ECX,31\r
1134         AND EAX,ECX\r
1135         SHL EAX,1\r
1136         MOV DWORD PTR [EBP-24], EAX\r
1137         LEA EAX,DWORD PTR [EBP-39]\r
1138         PUSH EAX\r
1139         PUSH OFFSET L_lit+599\r
1140         PUSH DWORD PTR [EBP-16]\r
1141         PUSH DWORD PTR [EBP-20]\r
1142         PUSH DWORD PTR [EBP-24]\r
1143         MOV EDI, 12\r
1144         CALL _sprintf\r
1145         ADD ESP,20\r
1146         LEA EAX,DWORD PTR [EBP-39]\r
1147         PUSH EAX\r
1148         PUSH DWORD PTR [EBP+12]\r
1149         PUSH 8\r
1150         CALL FWORD PTR _CopyData\r
1151         LEA EAX,DWORD PTR [EBP-39]\r
1152         PUSH EAX\r
1153         PUSH OFFSET L_lit+614\r
1154         PUSH DWORD PTR [EBP-8]\r
1155         PUSH DWORD PTR [EBP-12]\r
1156         PUSH DWORD PTR [EBP-4]\r
1157         MOV EDI, 12\r
1158         CALL _sprintf\r
1159         ADD ESP,20\r
1160         LEA EAX,DWORD PTR [EBP-39]\r
1161         PUSH EAX\r
1162         PUSH DWORD PTR [EBP+8]\r
1163         PUSH 8\r
1164         CALL FWORD PTR _CopyData\r
1165         MOV ESP,EBP\r
1166         POP EBP\r
1167         RETN 16\r
1168 PUBLIC _CopyFile:\r
1169         PUSH EBP\r
1170         MOV EBP,ESP\r
1171         SUB ESP,40\r
1172         PUSH DWORD PTR [EBP+20]\r
1173         PUSH DWORD PTR [EBP+16]\r
1174         XOR EAX,EAX\r
1175         PUSH EAX\r
1176         XOR EAX,EAX\r
1177         PUSH EAX\r
1178         LEA EAX,DWORD PTR [EBP-8]\r
1179         PUSH EAX\r
1180         CALL FWORD PTR _OpenFile\r
1181         MOV DWORD PTR [EBP-24], EAX\r
1182         MOV EAX,DWORD PTR [EBP-24]\r
1183         AND EAX,EAX\r
1184         JNZ L_80\r
1185         PUSH DWORD PTR [EBP+12]\r
1186         PUSH DWORD PTR [EBP+8]\r
1187         XOR EAX,EAX\r
1188         PUSH EAX\r
1189         CALL FWORD PTR _CreateFile\r
1190         MOV DWORD PTR [EBP-24], EAX\r
1191         MOV EAX,DWORD PTR [EBP-24]\r
1192         AND EAX,EAX\r
1193         SETZ AL\r
1194         AND AL,AL\r
1195         JNZ L_81\r
1196         MOV EAX,DWORD PTR [EBP-24]\r
1197         CMP EAX,226\r
1198         SETE AL\r
1199         AND AL,AL\r
1200 L_81:\r
1201         JZ L_82\r
1202         MOV EAX,DWORD PTR [EBP-24]\r
1203         CMP EAX,226\r
1204         SETE AL\r
1205         AND AL,AL\r
1206         JZ L_83\r
1207         PUSH OFFSET L_lit+629\r
1208         MOV EDI, 0\r
1209         CALL _printf\r
1210         ADD ESP,4\r
1211         LEA EAX,DWORD PTR [EBP-40]\r
1212         PUSH EAX\r
1213         PUSH 1\r
1214         CALL FWORD PTR _ReadKbd\r
1215         MOV EAX,DWORD PTR [EBP-40]\r
1216         AND EAX,255\r
1217         CMP EAX,89\r
1218         SETE AL\r
1219         AND AL,AL\r
1220         JNZ L_84\r
1221         MOV EAX,DWORD PTR [EBP-40]\r
1222         AND EAX,255\r
1223         CMP EAX,121\r
1224         SETE AL\r
1225         AND AL,AL\r
1226 L_84:\r
1227         JZ L_85\r
1228         XOR EAX,EAX\r
1229         MOV DWORD PTR [EBP-24], EAX\r
1230 L_85:\r
1231 L_83:\r
1232         MOV EAX,DWORD PTR [EBP-24]\r
1233         AND EAX,EAX\r
1234         JNZ L_86\r
1235         PUSH DWORD PTR [EBP+12]\r
1236         PUSH DWORD PTR [EBP+8]\r
1237         PUSH 1\r
1238         XOR EAX,EAX\r
1239         PUSH EAX\r
1240         LEA EAX,DWORD PTR [EBP-4]\r
1241         PUSH EAX\r
1242         CALL FWORD PTR _OpenFile\r
1243         MOV DWORD PTR [EBP-24], EAX\r
1244         MOV EAX,DWORD PTR [EBP-24]\r
1245         AND EAX,EAX\r
1246         JNZ L_87\r
1247         PUSH DWORD PTR [EBP-8]\r
1248         LEA EAX,DWORD PTR [EBP-32]\r
1249         PUSH EAX\r
1250         CALL FWORD PTR _GetFileSize\r
1251         MOV DWORD PTR [EBP-24], EAX\r
1252         MOV EAX,DWORD PTR [EBP-24]\r
1253         AND EAX,EAX\r
1254         JNZ L_88\r
1255         PUSH DWORD PTR [EBP-4]\r
1256         PUSH DWORD PTR [EBP-32]\r
1257         CALL FWORD PTR _SetFileSize\r
1258         MOV DWORD PTR [EBP-24], EAX\r
1259 L_88:\r
1260         XOR EAX,EAX\r
1261         MOV DWORD PTR [EBP-36], EAX\r
1262         MOV EAX,DWORD PTR [EBP-32]\r
1263         MOV DWORD PTR [EBP-20], EAX\r
1264 L_89:\r
1265         MOV EAX,DWORD PTR [EBP-24]\r
1266         AND EAX,EAX\r
1267         SETZ AL\r
1268         AND AL,AL\r
1269         JZ L_91\r
1270         MOV EAX,DWORD PTR [EBP-20]\r
1271 L_91:\r
1272         AND EAX,EAX\r
1273         JZ L_90\r
1274         MOV EAX,DWORD PTR [EBP-20]\r
1275         CMP EAX,4096\r
1276         SETAE AL\r
1277         AND AL,AL\r
1278         JZ L_92\r
1279         MOV EAX,4096\r
1280         MOV DWORD PTR [EBP-12], EAX\r
1281         JMP L_93\r
1282 L_92:\r
1283         MOV EAX,DWORD PTR [EBP-20]\r
1284         MOV DWORD PTR [EBP-12], EAX\r
1285 L_93:\r
1286         MOV EAX,DWORD PTR [EBP-12]\r
1287         AND EAX,511\r
1288         JZ L_94\r
1289         MOV EAX,DWORD PTR [EBP-12]\r
1290         ADD EAX,512\r
1291         MOV DWORD PTR [EBP-12], EAX\r
1292 L_94:\r
1293         MOV EAX,DWORD PTR [EBP-12]\r
1294         MOV ECX,512\r
1295         XOR EDX,EDX\r
1296         DIV ECX\r
1297         MOV ECX,512\r
1298         MUL ECX\r
1299         MOV DWORD PTR [EBP-12], EAX\r
1300         PUSH DWORD PTR [EBP-8]\r
1301         PUSH OFFSET _bigBuf\r
1302         PUSH DWORD PTR [EBP-12]\r
1303         PUSH DWORD PTR [EBP-36]\r
1304         LEA EAX,DWORD PTR [EBP-16]\r
1305         PUSH EAX\r
1306         CALL FWORD PTR _ReadBlock\r
1307         MOV DWORD PTR [EBP-24], EAX\r
1308         MOV EAX,DWORD PTR [EBP-16]\r
1309         AND EAX,EAX\r
1310         JZ L_95\r
1311         PUSH DWORD PTR [EBP-4]\r
1312         PUSH OFFSET _bigBuf\r
1313         PUSH DWORD PTR [EBP-16]\r
1314         PUSH DWORD PTR [EBP-36]\r
1315         LEA EAX,DWORD PTR [EBP-28]\r
1316         PUSH EAX\r
1317         CALL FWORD PTR _WriteBlock\r
1318         MOV DWORD PTR [EBP-24], EAX\r
1319         MOV EAX,DWORD PTR [EBP-20]\r
1320         CMP EAX,DWORD PTR [EBP-28]\r
1321         SETB AL\r
1322         AND AL,AL\r
1323         JZ L_96\r
1324         XOR EAX,EAX\r
1325         MOV DWORD PTR [EBP-20], EAX\r
1326         JMP L_97\r
1327 L_96:\r
1328         MOV EAX,DWORD PTR [EBP-20]\r
1329         SUB EAX,DWORD PTR [EBP-28]\r
1330         MOV DWORD PTR [EBP-20], EAX\r
1331 L_97:\r
1332 L_95:\r
1333         MOV EAX,DWORD PTR [EBP-36]\r
1334         ADD EAX,DWORD PTR [EBP-16]\r
1335         MOV DWORD PTR [EBP-36], EAX\r
1336         JMP L_89\r
1337 L_90:\r
1338         PUSH DWORD PTR [EBP-4]\r
1339         CALL FWORD PTR _CloseFile\r
1340 L_87:\r
1341 L_86:\r
1342 L_82:\r
1343         PUSH DWORD PTR [EBP-8]\r
1344         CALL FWORD PTR _CloseFile\r
1345 L_80:\r
1346         MOV EAX,DWORD PTR [EBP-24]\r
1347         MOV ESP,EBP\r
1348         POP EBP\r
1349         RETN 16\r
1350 PUBLIC _DoDir:\r
1351         PUSH EBP\r
1352         MOV EBP,ESP\r
1353         SUB ESP,95\r
1354         MOV EAX,_iLine\r
1355         CMP EAX,23\r
1356         SETGE AL\r
1357         AND AL,AL\r
1358         JZ L_99\r
1359         XOR EAX,EAX\r
1360         PUSH EAX\r
1361         PUSH 1\r
1362         PUSH 80\r
1363         PUSH 23\r
1364         PUSH 1\r
1365         CALL FWORD PTR _ScrollVid\r
1366         XOR EAX,EAX\r
1367         PUSH EAX\r
1368         PUSH 23\r
1369         CALL FWORD PTR _SetXY\r
1370 L_99:\r
1371         XOR EAX,EAX\r
1372         MOV BYTE PTR [EBP-1], AL\r
1373         XOR EAX,EAX\r
1374         MOV DWORD PTR [EBP-5], EAX\r
1375 L_100:\r
1376         XOR EAX,EAX\r
1377         MOV AL,BYTE PTR [EBP-1]\r
1378         AND EAX,EAX\r
1379         JNZ L_101\r
1380         MOV EAX,4\r
1381         MOV ESI,OFFSET _apParam\r
1382         ADD ESI,EAX\r
1383         PUSH DWORD PTR [ESI]\r
1384         MOV EAX,4\r
1385         MOV ESI,OFFSET _acbParam\r
1386         ADD ESI,EAX\r
1387         PUSH DWORD PTR [ESI]\r
1388         PUSH OFFSET _dirent\r
1389         PUSH 512\r
1390         PUSH DWORD PTR [EBP-5]\r
1391         CALL FWORD PTR _GetDirSector\r
1392         MOV DWORD PTR [EBP-9], EAX\r
1393         MOV EAX,DWORD PTR [EBP-9]\r
1394         AND EAX,EAX\r
1395         JNZ L_102\r
1396         XOR EAX,EAX\r
1397         MOV DWORD PTR [EBP-17], EAX\r
1398 L_103:\r
1399         MOV EAX,DWORD PTR [EBP-17]\r
1400         CMP EAX,16\r
1401         SETB AL\r
1402         AND AL,AL\r
1403         JZ L_104\r
1404         JMP SHORT L_105\r
1405 L_106:\r
1406         MOV EAX,DWORD PTR [EBP-17]\r
1407         INC DWORD PTR [EBP-17]\r
1408         JMP SHORT L_103\r
1409 L_105:\r
1410         MOV EAX,DWORD PTR [EBP-17]\r
1411         SHL EAX,5\r
1412         MOV ESI,OFFSET _dirent\r
1413         ADD ESI,EAX\r
1414         XOR EAX,EAX\r
1415         MOV AL,BYTE PTR [ESI]\r
1416         AND EAX,EAX\r
1417         JNZ L_107\r
1418         MOV EAX,1\r
1419         MOV DWORD PTR [EBP-9], EAX\r
1420         MOV EAX,1\r
1421         MOV BYTE PTR [EBP-1], AL\r
1422 L_107:\r
1423         MOV EAX,DWORD PTR [EBP-17]\r
1424         SHL EAX,5\r
1425         MOV ESI,OFFSET _dirent\r
1426         ADD ESI,EAX\r
1427         XOR EAX,EAX\r
1428         MOV AL,BYTE PTR [ESI]\r
1429         AND EAX,EAX\r
1430         JZ L_108\r
1431         MOV EAX,DWORD PTR [EBP-17]\r
1432         SHL EAX,5\r
1433         MOV ESI,OFFSET _dirent\r
1434         ADD ESI,EAX\r
1435         XOR EAX,EAX\r
1436         MOV AL,BYTE PTR [ESI]\r
1437         CMP EAX,229\r
1438         SETNE AL\r
1439         AND AL,AL\r
1440 L_108:\r
1441         JZ L_109\r
1442         LEA EAX,DWORD PTR [EBP-95]\r
1443         PUSH EAX\r
1444         PUSH OFFSET L_lit+669\r
1445         MOV EAX,DWORD PTR [EBP-17]\r
1446         SHL EAX,5\r
1447         MOV ESI,OFFSET _dirent\r
1448         ADD ESI,EAX\r
1449         PUSH ESI\r
1450         MOV EAX,DWORD PTR [EBP-17]\r
1451         SHL EAX,5\r
1452         MOV ESI,OFFSET _dirent\r
1453         ADD ESI,EAX\r
1454         MOV EAX,ESI\r
1455         ADD EAX,8\r
1456         PUSH EAX\r
1457         MOV EAX,DWORD PTR [EBP-17]\r
1458         SHL EAX,5\r
1459         MOV ESI,OFFSET _dirent\r
1460         ADD ESI,EAX\r
1461         PUSH DWORD PTR [ESI+28]\r
1462         MOV EAX,DWORD PTR [EBP-17]\r
1463         SHL EAX,5\r
1464         MOV ESI,OFFSET _dirent\r
1465         ADD ESI,EAX\r
1466         XOR EAX,EAX\r
1467         MOV AL,BYTE PTR [ESI+11]\r
1468         PUSH EAX\r
1469         MOV EAX,DWORD PTR [EBP-17]\r
1470         SHL EAX,5\r
1471         MOV ESI,OFFSET _dirent\r
1472         ADD ESI,EAX\r
1473         MOVZX EAX,WORD PTR [ESI+26]\r
1474         PUSH EAX\r
1475         MOV EDI, 20\r
1476         CALL _sprintf\r
1477         ADD ESP,28\r
1478         MOV EAX,DWORD PTR [EBP-17]\r
1479         SHL EAX,5\r
1480         MOV ESI,OFFSET _dirent\r
1481         ADD ESI,EAX\r
1482         MOVZX EAX,WORD PTR [ESI+22]\r
1483         PUSH EAX\r
1484         MOV EAX,DWORD PTR [EBP-17]\r
1485         SHL EAX,5\r
1486         MOV ESI,OFFSET _dirent\r
1487         ADD ESI,EAX\r
1488         MOVZX EAX,WORD PTR [ESI+24]\r
1489         PUSH EAX\r
1490         MOV EAX,33\r
1491         LEA ESI,BYTE PTR [EBP-95]\r
1492         ADD ESI,EAX\r
1493         PUSH ESI\r
1494         MOV EAX,24\r
1495         LEA ESI,BYTE PTR [EBP-95]\r
1496         ADD ESI,EAX\r
1497         PUSH ESI\r
1498         CALL _CnvrtFATTime\r
1499         PUSH OFFSET L_lit+715\r
1500         LEA EAX,DWORD PTR [EBP-95]\r
1501         PUSH EAX\r
1502         MOV EDI, 4\r
1503         CALL _printf\r
1504         ADD ESP,8\r
1505         MOV EAX,_iLine\r
1506         INC _iLine\r
1507         MOV EAX,_iLine\r
1508         CMP EAX,22\r
1509         SETGE AL\r
1510         AND AL,AL\r
1511         JZ L_110\r
1512         XOR EAX,EAX\r
1513         PUSH EAX\r
1514         PUSH 23\r
1515         CALL FWORD PTR _SetXY\r
1516         PUSH OFFSET L_lit+718\r
1517         MOV EDI, 0\r
1518         CALL _printf\r
1519         ADD ESP,4\r
1520         LEA EAX,DWORD PTR [EBP-13]\r
1521         PUSH EAX\r
1522         PUSH 1\r
1523         CALL FWORD PTR _ReadKbd\r
1524         MOV EAX,DWORD PTR [EBP-13]\r
1525         AND EAX,255\r
1526         CMP EAX,27\r
1527         SETE AL\r
1528         AND AL,AL\r
1529         JZ L_111\r
1530         MOV EAX,4\r
1531         MOV DWORD PTR [EBP-9], EAX\r
1532         MOV EAX,1\r
1533         MOV BYTE PTR [EBP-1], AL\r
1534 L_111:\r
1535         PUSH 1\r
1536         CALL _InitScreen\r
1537         XOR EAX,EAX\r
1538         PUSH EAX\r
1539         PUSH 1\r
1540         CALL FWORD PTR _SetXY\r
1541         MOV EAX,1\r
1542         MOV _iLine, EAX\r
1543 L_110:\r
1544 L_109:\r
1545         JMP L_106\r
1546 L_104:\r
1547         JMP L_112\r
1548 L_102:\r
1549         MOV EAX,1\r
1550         MOV BYTE PTR [EBP-1], AL\r
1551 L_112:\r
1552         MOV EAX,DWORD PTR [EBP-5]\r
1553         INC DWORD PTR [EBP-5]\r
1554         JMP L_100\r
1555 L_101:\r
1556         MOV EAX,DWORD PTR [EBP-9]\r
1557         MOV ESP,EBP\r
1558         POP EBP\r
1559         RETN\r
1560 PUBLIC _ParseCmdLine:\r
1561         PUSH EBP\r
1562         MOV EBP,ESP\r
1563         SUB ESP,12\r
1564         XOR EAX,EAX\r
1565         MOV DWORD PTR [EBP-4], EAX\r
1566         XOR EAX,EAX\r
1567         MOV DWORD PTR [EBP-8], EAX\r
1568 L_114:\r
1569         MOV EAX,DWORD PTR [EBP-8]\r
1570         CMP EAX,13\r
1571         SETL AL\r
1572         AND AL,AL\r
1573         JZ L_115\r
1574         JMP SHORT L_116\r
1575 L_117:\r
1576         MOV EAX,DWORD PTR [EBP-8]\r
1577         INC DWORD PTR [EBP-8]\r
1578         JMP SHORT L_114\r
1579 L_116:\r
1580         MOV EAX,DWORD PTR [EBP-8]\r
1581         SHL EAX,2\r
1582         MOV ESI,OFFSET _acbParam\r
1583         ADD ESI,EAX\r
1584         XOR EAX,EAX\r
1585         MOV DWORD PTR [ESI], EAX\r
1586         MOV EAX,DWORD PTR [EBP-8]\r
1587         SHL EAX,2\r
1588         MOV ESI,OFFSET _apParam\r
1589         ADD ESI,EAX\r
1590         XOR EAX,EAX\r
1591         MOV DWORD PTR [ESI], EAX\r
1592         MOV EAX,DWORD PTR [EBP-4]\r
1593         CMP EAX,_cbCmd\r
1594         SETL AL\r
1595         AND AL,AL\r
1596         JZ L_118\r
1597         MOV EAX,DWORD PTR [EBP-4]\r
1598         MOV ESI,OFFSET _aCmd\r
1599         ADD ESI,EAX\r
1600         MOVSX EAX,BYTE PTR [ESI]\r
1601         PUSH EAX\r
1602         CALL _isspace\r
1603         AND EAX,EAX\r
1604         JNZ L_119\r
1605         MOV EAX,DWORD PTR [EBP-8]\r
1606         SHL EAX,2\r
1607         MOV ESI,OFFSET _apParam\r
1608         ADD ESI,EAX\r
1609         MOV EAX,DWORD PTR [EBP-4]\r
1610         INC DWORD PTR [EBP-4]\r
1611         MOV EBX,ESI\r
1612         MOV ESI,OFFSET _aCmd\r
1613         ADD ESI,EAX\r
1614         MOV EAX,ESI\r
1615         MOV DWORD PTR [EBX], EAX\r
1616         MOV EAX,1\r
1617         MOV DWORD PTR [EBP-12], EAX\r
1618 L_120:\r
1619         MOV EAX,DWORD PTR [EBP-4]\r
1620         CMP EAX,_cbCmd\r
1621         SETL AL\r
1622         AND AL,AL\r
1623         JZ L_122\r
1624         MOV EAX,DWORD PTR [EBP-4]\r
1625         MOV ESI,OFFSET _aCmd\r
1626         ADD ESI,EAX\r
1627         MOVSX EAX,BYTE PTR [ESI]\r
1628         PUSH EAX\r
1629         CALL _isspace\r
1630         AND EAX,EAX\r
1631         SETZ AL\r
1632         AND AL,AL\r
1633 L_122:\r
1634         JZ L_121\r
1635         MOV EAX,DWORD PTR [EBP-12]\r
1636         INC DWORD PTR [EBP-12]\r
1637         MOV EAX,DWORD PTR [EBP-4]\r
1638         INC DWORD PTR [EBP-4]\r
1639         JMP L_120\r
1640 L_121:\r
1641         MOV EAX,DWORD PTR [EBP-8]\r
1642         SHL EAX,2\r
1643         MOV ESI,OFFSET _acbParam\r
1644         ADD ESI,EAX\r
1645         MOV EAX,DWORD PTR [EBP-12]\r
1646         MOV DWORD PTR [ESI], EAX\r
1647 L_119:\r
1648 L_123:\r
1649         MOV EAX,DWORD PTR [EBP-4]\r
1650         CMP EAX,_cbCmd\r
1651         SETL AL\r
1652         AND AL,AL\r
1653         JZ L_125\r
1654         MOV EAX,DWORD PTR [EBP-4]\r
1655         MOV ESI,OFFSET _aCmd\r
1656         ADD ESI,EAX\r
1657         MOVSX EAX,BYTE PTR [ESI]\r
1658         PUSH EAX\r
1659         CALL _isspace\r
1660 L_125:\r
1661         AND EAX,EAX\r
1662         JZ L_124\r
1663         MOV EAX,DWORD PTR [EBP-4]\r
1664         INC DWORD PTR [EBP-4]\r
1665         JMP L_123\r
1666 L_124:\r
1667 L_118:\r
1668         JMP L_117\r
1669 L_115:\r
1670         MOV ESP,EBP\r
1671         POP EBP\r
1672         RETN\r
1673 PUBLIC _GetCLICommand:\r
1674         PUSH EBP\r
1675         MOV EBP,ESP\r
1676         SUB ESP,197\r
1677         LEA ESI,BYTE PTR [EBP-196]\r
1678         XOR EAX,EAX\r
1679         MOV BYTE PTR [ESI], AL\r
1680         PUSH OFFSET _cmdpath\r
1681         PUSH OFFSET L_lit+762\r
1682         CALL _fopen\r
1683         MOV DWORD PTR [EBP-16], EAX\r
1684         MOV EAX,DWORD PTR [EBP-16]\r
1685         AND EAX,EAX\r
1686         JZ L_126\r
1687         XOR EAX,EAX\r
1688         MOV BYTE PTR [EBP-197], AL\r
1689 L_127:\r
1690         MOVSX EAX,BYTE PTR [EBP-197]\r
1691         AND EAX,EAX\r
1692         JNZ L_128\r
1693         LEA EAX,DWORD PTR [EBP-106]\r
1694         PUSH EAX\r
1695         PUSH 89\r
1696         PUSH DWORD PTR [EBP-16]\r
1697         CALL _fgets\r
1698         AND EAX,EAX\r
1699         JZ L_129\r
1700         LEA ESI,BYTE PTR [EBP-106]\r
1701         MOVSX EAX,BYTE PTR [ESI]\r
1702         CMP EAX,59\r
1703         SETE AL\r
1704         AND AL,AL\r
1705         JZ L_130\r
1706         JMP L_127\r
1707 L_130:\r
1708         MOV ESI,OFFSET _apParam\r
1709         PUSH DWORD PTR [ESI]\r
1710         LEA EAX,DWORD PTR [EBP-106]\r
1711         PUSH EAX\r
1712         MOV ESI,OFFSET _acbParam\r
1713         PUSH DWORD PTR [ESI]\r
1714         CALL FWORD PTR _CompareNCS\r
1715         MOV DWORD PTR [EBP-8], EAX\r
1716         MOV EAX,DWORD PTR [EBP-8]\r
1717         CMP EAX,-1\r
1718         SETE AL\r
1719         AND AL,AL\r
1720         JZ L_131\r
1721         XOR EAX,EAX\r
1722         MOV DWORD PTR [EBP-4], EAX\r
1723         XOR EAX,EAX\r
1724         MOV DWORD PTR [EBP-8], EAX\r
1725         XOR EAX,EAX\r
1726         MOV DWORD PTR [EBP-12], EAX\r
1727 L_132:\r
1728         MOV EAX,DWORD PTR [EBP-4]\r
1729         LEA ESI,BYTE PTR [EBP-106]\r
1730         ADD ESI,EAX\r
1731         MOVSX EAX,BYTE PTR [ESI]\r
1732         PUSH EAX\r
1733         CALL _isspace\r
1734         AND EAX,EAX\r
1735         JNZ L_133\r
1736         MOV EAX,DWORD PTR [EBP-8]\r
1737         INC DWORD PTR [EBP-8]\r
1738         LEA ESI,BYTE PTR [EBP-196]\r
1739         ADD ESI,EAX\r
1740         MOV EAX,DWORD PTR [EBP-4]\r
1741         INC DWORD PTR [EBP-4]\r
1742         MOV EBX,ESI\r
1743         LEA ESI,BYTE PTR [EBP-106]\r
1744         ADD ESI,EAX\r
1745         MOVSX EAX,BYTE PTR [ESI]\r
1746         MOV BYTE PTR [EBX], AL\r
1747         JMP L_132\r
1748 L_133:\r
1749         MOV EAX,DWORD PTR [EBP-8]\r
1750         INC DWORD PTR [EBP-8]\r
1751         LEA ESI,BYTE PTR [EBP-196]\r
1752         ADD ESI,EAX\r
1753         MOV EAX,32\r
1754         MOV BYTE PTR [ESI], AL\r
1755 L_134:\r
1756         MOV EAX,DWORD PTR [EBP-4]\r
1757         LEA ESI,BYTE PTR [EBP-106]\r
1758         ADD ESI,EAX\r
1759         MOVSX EAX,BYTE PTR [ESI]\r
1760         PUSH EAX\r
1761         CALL _isspace\r
1762         AND EAX,EAX\r
1763         JZ L_135\r
1764         MOV EAX,DWORD PTR [EBP-4]\r
1765         INC DWORD PTR [EBP-4]\r
1766         JMP L_134\r
1767 L_135:\r
1768 L_136:\r
1769         MOV EAX,DWORD PTR [EBP-4]\r
1770         LEA ESI,BYTE PTR [EBP-106]\r
1771         ADD ESI,EAX\r
1772         MOVSX EAX,BYTE PTR [ESI]\r
1773         PUSH EAX\r
1774         CALL _isspace\r
1775         AND EAX,EAX\r
1776         JNZ L_137\r
1777         MOV EAX,DWORD PTR [EBP-12]\r
1778         INC DWORD PTR [EBP-12]\r
1779         MOV ESI,DWORD PTR [EBP+8]\r
1780         ADD ESI,EAX\r
1781         MOV EAX,DWORD PTR [EBP-4]\r
1782         INC DWORD PTR [EBP-4]\r
1783         MOV EBX,ESI\r
1784         LEA ESI,BYTE PTR [EBP-106]\r
1785         ADD ESI,EAX\r
1786         MOVSX EAX,BYTE PTR [ESI]\r
1787         MOV BYTE PTR [EBX], AL\r
1788         JMP L_136\r
1789 L_137:\r
1790         MOV EAX,DWORD PTR [EBP-12]\r
1791         MOV ESI,DWORD PTR [EBP+8]\r
1792         ADD ESI,EAX\r
1793         XOR EAX,EAX\r
1794         MOV BYTE PTR [ESI], AL\r
1795 L_138:\r
1796         MOV EAX,DWORD PTR [EBP-4]\r
1797         LEA ESI,BYTE PTR [EBP-106]\r
1798         ADD ESI,EAX\r
1799         MOVSX EAX,BYTE PTR [ESI]\r
1800         PUSH EAX\r
1801         CALL _isspace\r
1802         AND EAX,EAX\r
1803         JZ L_139\r
1804         MOV EAX,DWORD PTR [EBP-4]\r
1805         INC DWORD PTR [EBP-4]\r
1806         JMP L_138\r
1807 L_139:\r
1808 L_140:\r
1809         MOV EAX,DWORD PTR [EBP-4]\r
1810         LEA ESI,BYTE PTR [EBP-106]\r
1811         ADD ESI,EAX\r
1812         MOVSX EAX,BYTE PTR [ESI]\r
1813         AND EAX,EAX\r
1814         JZ L_141\r
1815         MOV EAX,DWORD PTR [EBP-8]\r
1816         INC DWORD PTR [EBP-8]\r
1817         LEA ESI,BYTE PTR [EBP-196]\r
1818         ADD ESI,EAX\r
1819         MOV EAX,DWORD PTR [EBP-4]\r
1820         INC DWORD PTR [EBP-4]\r
1821         MOV EBX,ESI\r
1822         LEA ESI,BYTE PTR [EBP-106]\r
1823         ADD ESI,EAX\r
1824         MOVSX EAX,BYTE PTR [ESI]\r
1825         MOV BYTE PTR [EBX], AL\r
1826         JMP L_140\r
1827 L_141:\r
1828         MOV EAX,DWORD PTR [EBP-8]\r
1829         LEA ESI,BYTE PTR [EBP-196]\r
1830         ADD ESI,EAX\r
1831         XOR EAX,EAX\r
1832         MOV BYTE PTR [ESI], AL\r
1833         PUSH OFFSET _aCmd\r
1834         LEA EAX,DWORD PTR [EBP-196]\r
1835         PUSH EAX\r
1836         CALL _strcpy\r
1837         PUSH OFFSET _aCmd\r
1838         CALL _strlen\r
1839         MOV _cbCmd, EAX\r
1840         MOV EAX,1\r
1841         JMP L_142\r
1842 L_131:\r
1843         JMP L_143\r
1844 L_129:\r
1845         MOV EAX,1\r
1846         MOV BYTE PTR [EBP-197], AL\r
1847 L_143:\r
1848         JMP L_127\r
1849 L_128:\r
1850         JMP L_144\r
1851 L_126:\r
1852         PUSH OFFSET L_lit+764\r
1853         MOV EDI, 0\r
1854         CALL _printf\r
1855         ADD ESP,4\r
1856 L_144:\r
1857         XOR EAX,EAX\r
1858 L_142:\r
1859         MOV ESP,EBP\r
1860         POP EBP\r
1861         RETN 4\r
1862 PUBLIC _FindRunFile:\r
1863         PUSH EBP\r
1864         MOV EBP,ESP\r
1865         SUB ESP,92\r
1866         MOV ESI,OFFSET _apParam\r
1867         PUSH DWORD PTR [ESI]\r
1868         LEA EAX,DWORD PTR [EBP-80]\r
1869         PUSH EAX\r
1870         MOV ESI,OFFSET _acbParam\r
1871         PUSH DWORD PTR [ESI]\r
1872         CALL FWORD PTR _CopyData\r
1873         MOV ESI,OFFSET _acbParam\r
1874         MOV EAX,DWORD PTR [ESI]\r
1875         LEA ESI,BYTE PTR [EBP-80]\r
1876         ADD ESI,EAX\r
1877         XOR EAX,EAX\r
1878         MOV BYTE PTR [ESI], AL\r
1879         LEA EAX,DWORD PTR [EBP-80]\r
1880         PUSH EAX\r
1881         PUSH OFFSET L_lit+790\r
1882         CALL _strcat\r
1883         LEA EAX,DWORD PTR [EBP-80]\r
1884         PUSH EAX\r
1885         LEA EAX,DWORD PTR [EBP-80]\r
1886         PUSH EAX\r
1887         CALL _strlen\r
1888         PUSH EAX\r
1889         XOR EAX,EAX\r
1890         PUSH EAX\r
1891         PUSH 1\r
1892         LEA EAX,DWORD PTR [EBP-92]\r
1893         PUSH EAX\r
1894         CALL FWORD PTR _OpenFile\r
1895         MOV DWORD PTR [EBP-88], EAX\r
1896         MOV EAX,DWORD PTR [EBP-88]\r
1897         AND EAX,EAX\r
1898         JNZ L_145\r
1899         PUSH DWORD PTR [EBP-92]\r
1900         CALL FWORD PTR _CloseFile\r
1901         PUSH OFFSET _aCmd\r
1902         PUSH _cbCmd\r
1903         CALL FWORD PTR _SetCmdLine\r
1904         LEA EAX,DWORD PTR [EBP-80]\r
1905         PUSH EAX\r
1906         LEA EAX,DWORD PTR [EBP-80]\r
1907         PUSH EAX\r
1908         CALL _strlen\r
1909         PUSH EAX\r
1910         XOR EAX,EAX\r
1911         PUSH EAX\r
1912         CALL FWORD PTR _Chain\r
1913         MOV DWORD PTR [EBP-88], EAX\r
1914         JMP L_146\r
1915 L_145:\r
1916         LEA EAX,DWORD PTR [EBP-80]\r
1917         PUSH EAX\r
1918         PUSH OFFSET _syspath\r
1919         CALL _strcpy\r
1920         LEA EAX,DWORD PTR [EBP-80]\r
1921         PUSH EAX\r
1922         CALL _strlen\r
1923         MOV DWORD PTR [EBP-84], EAX\r
1924         MOV ESI,OFFSET _apParam\r
1925         PUSH DWORD PTR [ESI]\r
1926         MOV EAX,DWORD PTR [EBP-84]\r
1927         LEA ESI,BYTE PTR [EBP-80]\r
1928         ADD ESI,EAX\r
1929         PUSH ESI\r
1930         MOV ESI,OFFSET _acbParam\r
1931         PUSH DWORD PTR [ESI]\r
1932         CALL FWORD PTR _CopyData\r
1933         MOV ESI,OFFSET _acbParam\r
1934         MOV EAX,DWORD PTR [ESI]\r
1935         ADD EAX,DWORD PTR [EBP-84]\r
1936         LEA ESI,BYTE PTR [EBP-80]\r
1937         ADD ESI,EAX\r
1938         XOR EAX,EAX\r
1939         MOV BYTE PTR [ESI], AL\r
1940         LEA EAX,DWORD PTR [EBP-80]\r
1941         PUSH EAX\r
1942         PUSH OFFSET L_lit+795\r
1943         CALL _strcat\r
1944         LEA EAX,DWORD PTR [EBP-80]\r
1945         PUSH EAX\r
1946         LEA EAX,DWORD PTR [EBP-80]\r
1947         PUSH EAX\r
1948         CALL _strlen\r
1949         PUSH EAX\r
1950         XOR EAX,EAX\r
1951         PUSH EAX\r
1952         PUSH 1\r
1953         LEA EAX,DWORD PTR [EBP-92]\r
1954         PUSH EAX\r
1955         CALL FWORD PTR _OpenFile\r
1956         MOV DWORD PTR [EBP-88], EAX\r
1957         MOV EAX,DWORD PTR [EBP-88]\r
1958         AND EAX,EAX\r
1959         JNZ L_147\r
1960         PUSH DWORD PTR [EBP-92]\r
1961         CALL FWORD PTR _CloseFile\r
1962         PUSH OFFSET _aCmd\r
1963         PUSH _cbCmd\r
1964         CALL FWORD PTR _SetCmdLine\r
1965         LEA EAX,DWORD PTR [EBP-80]\r
1966         PUSH EAX\r
1967         LEA EAX,DWORD PTR [EBP-80]\r
1968         PUSH EAX\r
1969         CALL _strlen\r
1970         PUSH EAX\r
1971         XOR EAX,EAX\r
1972         PUSH EAX\r
1973         CALL FWORD PTR _Chain\r
1974         MOV DWORD PTR [EBP-88], EAX\r
1975         JMP L_148\r
1976 L_147:\r
1977         LEA EAX,DWORD PTR [EBP-80]\r
1978         PUSH EAX\r
1979         CALL _GetCLICommand\r
1980         AND EAX,EAX\r
1981         JZ L_149\r
1982         LEA EAX,DWORD PTR [EBP-80]\r
1983         PUSH EAX\r
1984         LEA EAX,DWORD PTR [EBP-80]\r
1985         PUSH EAX\r
1986         CALL _strlen\r
1987         PUSH EAX\r
1988         XOR EAX,EAX\r
1989         PUSH EAX\r
1990         PUSH 1\r
1991         LEA EAX,DWORD PTR [EBP-92]\r
1992         PUSH EAX\r
1993         CALL FWORD PTR _OpenFile\r
1994         MOV DWORD PTR [EBP-88], EAX\r
1995         MOV EAX,DWORD PTR [EBP-88]\r
1996         AND EAX,EAX\r
1997         JNZ L_150\r
1998         PUSH DWORD PTR [EBP-92]\r
1999         CALL FWORD PTR _CloseFile\r
2000         PUSH OFFSET _aCmd\r
2001         PUSH _cbCmd\r
2002         CALL FWORD PTR _SetCmdLine\r
2003         LEA EAX,DWORD PTR [EBP-80]\r
2004         PUSH EAX\r
2005         LEA EAX,DWORD PTR [EBP-80]\r
2006         PUSH EAX\r
2007         CALL _strlen\r
2008         PUSH EAX\r
2009         XOR EAX,EAX\r
2010         PUSH EAX\r
2011         CALL FWORD PTR _Chain\r
2012         MOV DWORD PTR [EBP-88], EAX\r
2013 L_150:\r
2014 L_149:\r
2015 L_148:\r
2016 L_146:\r
2017         PUSH OFFSET L_lit+800\r
2018         MOV EDI, 0\r
2019         CALL _printf\r
2020         ADD ESP,4\r
2021         MOV ESP,EBP\r
2022         POP EBP\r
2023         RETN\r
2024 PUBLIC _main:\r
2025         PUSH EBP\r
2026         MOV EBP,ESP\r
2027         SUB ESP,16\r
2028         PUSH OFFSET _StatExch\r
2029         CALL FWORD PTR _AllocExch\r
2030         MOV DWORD PTR [EBP-4], EAX\r
2031         PUSH OFFSET _GPExch\r
2032         CALL FWORD PTR _AllocExch\r
2033         MOV DWORD PTR [EBP-4], EAX\r
2034         PUSH OFFSET _StatTask\r
2035         PUSH 24\r
2036         XOR EAX,EAX\r
2037         PUSH EAX\r
2038         MOV EAX,1020\r
2039         MOV ESI,OFFSET _StatStack\r
2040         ADD ESI,EAX\r
2041         PUSH ESI\r
2042         XOR EAX,EAX\r
2043         PUSH EAX\r
2044         CALL FWORD PTR _SpawnTask\r
2045         PUSH OFFSET _JobNum\r
2046         CALL FWORD PTR _GetJobNum\r
2047         MOV EAX,37\r
2048         MOV ESI,OFFSET _aStatLine\r
2049         ADD ESI,EAX\r
2050         PUSH ESI\r
2051         PUSH OFFSET L_lit+820\r
2052         PUSH _JobNum\r
2053         MOV EDI, 4\r
2054         CALL _sprintf\r
2055         ADD ESP,12\r
2056         PUSH OFFSET L_lit+825\r
2057         PUSH 8\r
2058         CALL FWORD PTR _SetJobName\r
2059         PUSH OFFSET _sdisk\r
2060         CALL FWORD PTR _GetSystemDisk\r
2061         MOVSX EAX,_sdisk\r
2062         MOV ECX,127\r
2063         AND EAX,ECX\r
2064         MOV _sdisk, AL\r
2065         MOVSX EAX,_sdisk\r
2066         MOV ECX,65\r
2067         ADD EAX,ECX\r
2068         MOV _sdisk, AL\r
2069         MOV ESI,OFFSET _syspath\r
2070         MOVSX EAX,_sdisk\r
2071         MOV BYTE PTR [ESI], AL\r
2072         MOV EAX,1\r
2073         MOV ESI,OFFSET _syspath\r
2074         ADD ESI,EAX\r
2075         MOV EAX,58\r
2076         MOV BYTE PTR [ESI], AL\r
2077         MOV EAX,2\r
2078         MOV ESI,OFFSET _syspath\r
2079         ADD ESI,EAX\r
2080         XOR EAX,EAX\r
2081         MOV BYTE PTR [ESI], AL\r
2082         PUSH OFFSET _syspath\r
2083         PUSH OFFSET L_lit+834\r
2084         CALL _strcat\r
2085         PUSH OFFSET _clipath\r
2086         PUSH OFFSET _syspath\r
2087         CALL _strcpy\r
2088         PUSH OFFSET _clipath\r
2089         PUSH OFFSET L_lit+842\r
2090         CALL _strcat\r
2091         PUSH OFFSET _cmdpath\r
2092         PUSH OFFSET _syspath\r
2093         CALL _strcpy\r
2094         PUSH OFFSET _cmdpath\r
2095         PUSH OFFSET L_lit+850\r
2096         CALL _strcat\r
2097         PUSH OFFSET _hlppath\r
2098         PUSH OFFSET _syspath\r
2099         CALL _strcpy\r
2100         PUSH OFFSET _hlppath\r
2101         PUSH OFFSET L_lit+863\r
2102         CALL _strcat\r
2103         XOR EAX,EAX\r
2104         MOV _cbPath, EAX\r
2105         PUSH _JobNum\r
2106         PUSH OFFSET _aPath\r
2107         PUSH OFFSET _cbPath\r
2108         CALL FWORD PTR _GetPath\r
2109         MOV EAX,_cbPath\r
2110         AND EAX,EAX\r
2111         JZ L_151\r
2112         PUSH OFFSET _iCol\r
2113         PUSH OFFSET _iLine\r
2114         CALL FWORD PTR _GetXY\r
2115         MOV EAX,_iLine\r
2116         CMP EAX,0\r
2117         SETE AL\r
2118         AND AL,AL\r
2119         JZ L_152\r
2120         MOV EAX,1\r
2121         MOV _iLine, EAX\r
2122 L_152:\r
2123         XOR EAX,EAX\r
2124         PUSH EAX\r
2125         CALL _InitScreen\r
2126         XOR EAX,EAX\r
2127         PUSH EAX\r
2128         PUSH _iLine\r
2129         CALL FWORD PTR _SetXY\r
2130         JMP L_153\r
2131 L_151:\r
2132         PUSH OFFSET _aPath\r
2133         PUSH OFFSET _syspath\r
2134         CALL _strcpy\r
2135         PUSH OFFSET _syspath\r
2136         CALL _strlen\r
2137         MOV _cbPath, EAX\r
2138         PUSH OFFSET _syspath\r
2139         PUSH OFFSET _syspath\r
2140         CALL _strlen\r
2141         PUSH EAX\r
2142         CALL FWORD PTR _SetPath\r
2143         PUSH 1\r
2144         CALL _InitScreen\r
2145 L_153:\r
2146         MOV EAX,1\r
2147         MOV _fUpdatePath, AL\r
2148 L_154:\r
2149         MOV EAX,1\r
2150         AND EAX,EAX\r
2151         JZ L_155\r
2152         PUSH OFFSET _aCmd\r
2153         PUSH 79\r
2154         PUSH 32\r
2155         CALL FWORD PTR _FillData\r
2156         MOV EAX,79\r
2157         MOV ESI,OFFSET _aCmd\r
2158         ADD ESI,EAX\r
2159         XOR EAX,EAX\r
2160         MOV BYTE PTR [ESI], AL\r
2161         XOR EAX,EAX\r
2162         MOV _cbCmd, EAX\r
2163         XOR EAX,EAX\r
2164         PUSH EAX\r
2165         PUSH _iLine\r
2166         CALL FWORD PTR _SetXY\r
2167         PUSH OFFSET L_lit+872\r
2168         PUSH 1\r
2169         PUSH 7\r
2170         CALL FWORD PTR _TTYOut\r
2171         PUSH OFFSET _aCmd\r
2172         PUSH _cbCmd\r
2173         PUSH 79\r
2174         PUSH OFFSET _cbCmd\r
2175         PUSH OFFSET _ExitChar\r
2176         PUSH 112\r
2177         CALL FWORD PTR _EditLine\r
2178         PUSH OFFSET L_lit+874\r
2179         PUSH 2\r
2180         PUSH 7\r
2181         CALL FWORD PTR _TTYOut\r
2182         PUSH OFFSET _iCol\r
2183         PUSH OFFSET _iLine\r
2184         CALL FWORD PTR _GetXY\r
2185         MOV ESI,OFFSET _acbParam\r
2186         XOR EAX,EAX\r
2187         MOV DWORD PTR [ESI], EAX\r
2188         MOV ESI,OFFSET _apParam\r
2189         XOR EAX,EAX\r
2190         MOV DWORD PTR [ESI], EAX\r
2191         XOR EAX,EAX\r
2192         MOV _CmdNum, EAX\r
2193         MOVSX EAX,_ExitChar\r
2194         CMP EAX,13\r
2195         SETE AL\r
2196         AND AL,AL\r
2197         JZ L_156\r
2198         CALL _ParseCmdLine\r
2199 L_156:\r
2200         MOV ESI,OFFSET _acbParam\r
2201         MOV EAX,DWORD PTR [ESI]\r
2202         AND EAX,EAX\r
2203         JZ L_157\r
2204         MOV ESI,OFFSET _apParam\r
2205         MOV EAX,DWORD PTR [ESI]\r
2206 L_157:\r
2207         AND EAX,EAX\r
2208         JZ L_158\r
2209         MOV EAX,1\r
2210         MOV DWORD PTR [EBP-8], EAX\r
2211 L_159:\r
2212         MOV EAX,DWORD PTR [EBP-8]\r
2213         CMP EAX,16\r
2214         SETBE AL\r
2215         AND AL,AL\r
2216         JZ L_160\r
2217         MOV EAX,DWORD PTR [EBP-8]\r
2218         MOV ECX,10\r
2219         MUL ECX\r
2220         MOV ESI,OFFSET _paCmds\r
2221         ADD ESI,EAX\r
2222         PUSH ESI\r
2223         CALL _strlen\r
2224         MOV DWORD PTR [EBP-12], EAX\r
2225         MOV ESI,OFFSET _acbParam\r
2226         MOV EAX,DWORD PTR [ESI]\r
2227         CMP EAX,DWORD PTR [EBP-12]\r
2228         SETE AL\r
2229         AND AL,AL\r
2230         JZ L_161\r
2231         MOV ESI,OFFSET _apParam\r
2232         PUSH DWORD PTR [ESI]\r
2233         MOV EAX,DWORD PTR [EBP-8]\r
2234         MOV ECX,10\r
2235         MUL ECX\r
2236         MOV ESI,OFFSET _paCmds\r
2237         ADD ESI,EAX\r
2238         PUSH ESI\r
2239         PUSH DWORD PTR [EBP-12]\r
2240         CALL FWORD PTR _CompareNCS\r
2241         CMP EAX,-1\r
2242         SETE AL\r
2243         AND AL,AL\r
2244 L_161:\r
2245         JZ L_162\r
2246         MOV EAX,DWORD PTR [EBP-8]\r
2247         MOV _CmdNum, EAX\r
2248         JMP L_160\r
2249 L_162:\r
2250         MOV EAX,DWORD PTR [EBP-8]\r
2251         INC DWORD PTR [EBP-8]\r
2252         JMP L_159\r
2253 L_160:\r
2254         XOR EAX,EAX\r
2255         MOV DWORD PTR [EBP-4], EAX\r
2256         MOV EAX,_CmdNum\r
2257         JMP L_164\r
2258 L_165:\r
2259         PUSH OFFSET _clipath\r
2260         PUSH OFFSET _clipath\r
2261         CALL _strlen\r
2262         PUSH EAX\r
2263         CALL FWORD PTR _SetExitJob\r
2264         CALL _FindRunFile\r
2265         JMP L_163\r
2266 L_166:\r
2267         PUSH 1\r
2268         CALL _InitScreen\r
2269         JMP L_163\r
2270 L_167:\r
2271         MOV EAX,4\r
2272         MOV ESI,OFFSET _acbParam\r
2273         ADD ESI,EAX\r
2274         MOV EAX,DWORD PTR [ESI]\r
2275         AND EAX,EAX\r
2276         JZ L_168\r
2277         MOV EAX,8\r
2278         MOV ESI,OFFSET _acbParam\r
2279         ADD ESI,EAX\r
2280         MOV EAX,DWORD PTR [ESI]\r
2281 L_168:\r
2282         AND EAX,EAX\r
2283         JZ L_169\r
2284         MOV EAX,4\r
2285         MOV ESI,OFFSET _apParam\r
2286         ADD ESI,EAX\r
2287         PUSH DWORD PTR [ESI]\r
2288         MOV EAX,4\r
2289         MOV ESI,OFFSET _acbParam\r
2290         ADD ESI,EAX\r
2291         PUSH DWORD PTR [ESI]\r
2292         MOV EAX,8\r
2293         MOV ESI,OFFSET _apParam\r
2294         ADD ESI,EAX\r
2295         PUSH DWORD PTR [ESI]\r
2296         MOV EAX,8\r
2297         MOV ESI,OFFSET _acbParam\r
2298         ADD ESI,EAX\r
2299         PUSH DWORD PTR [ESI]\r
2300         CALL _CopyFile\r
2301         MOV DWORD PTR [EBP-4], EAX\r
2302         JMP L_170\r
2303 L_169:\r
2304         MOV EAX,80\r
2305         MOV DWORD PTR [EBP-4], EAX\r
2306 L_170:\r
2307         JMP L_163\r
2308 L_171:\r
2309         MOV EAX,4\r
2310         MOV ESI,OFFSET _apParam\r
2311         ADD ESI,EAX\r
2312         PUSH DWORD PTR [ESI]\r
2313         MOV EAX,4\r
2314         MOV ESI,OFFSET _acbParam\r
2315         ADD ESI,EAX\r
2316         PUSH DWORD PTR [ESI]\r
2317         PUSH 1\r
2318         XOR EAX,EAX\r
2319         PUSH EAX\r
2320         LEA EAX,DWORD PTR [EBP-16]\r
2321         PUSH EAX\r
2322         CALL FWORD PTR _OpenFile\r
2323         MOV DWORD PTR [EBP-4], EAX\r
2324         MOV EAX,DWORD PTR [EBP-4]\r
2325         AND EAX,EAX\r
2326         JNZ L_172\r
2327         PUSH DWORD PTR [EBP-16]\r
2328         CALL FWORD PTR _DeleteFile\r
2329         MOV DWORD PTR [EBP-4], EAX\r
2330 L_172:\r
2331         MOV EAX,DWORD PTR [EBP-4]\r
2332         AND EAX,EAX\r
2333         JNZ L_173\r
2334         PUSH OFFSET L_lit+877\r
2335         MOV EDI, 0\r
2336         CALL _printf\r
2337         ADD ESP,4\r
2338 L_173:\r
2339         JMP L_163\r
2340 L_174:\r
2341         CALL _DoDir\r
2342         MOV DWORD PTR [EBP-4], EAX\r
2343         JMP L_163\r
2344 L_175:\r
2345         CALL _GoDebug\r
2346         JMP L_163\r
2347 L_176:\r
2348         CALL _DoDump\r
2349         MOV DWORD PTR [EBP-4], EAX\r
2350         JMP L_163\r
2351 L_177:\r
2352         PUSH OFFSET L_lit+885\r
2353         XOR EAX,EAX\r
2354         PUSH EAX\r
2355         CALL FWORD PTR _SetExitJob\r
2356         XOR EAX,EAX\r
2357         PUSH EAX\r
2358         CALL FWORD PTR _ExitJob\r
2359         JMP L_163\r
2360 L_178:\r
2361         PUSH OFFSET _hlppath\r
2362         PUSH OFFSET _hlppath\r
2363         CALL _strlen\r
2364         PUSH EAX\r
2365         CALL _DoType\r
2366         MOV DWORD PTR [EBP-4], EAX\r
2367         JMP L_163\r
2368 L_179:\r
2369         MOV EAX,4\r
2370         MOV ESI,OFFSET _apParam\r
2371         ADD ESI,EAX\r
2372         PUSH DWORD PTR [ESI]\r
2373         MOV EAX,4\r
2374         MOV ESI,OFFSET _acbParam\r
2375         ADD ESI,EAX\r
2376         PUSH DWORD PTR [ESI]\r
2377         CALL FWORD PTR _CreateDir\r
2378         MOV DWORD PTR [EBP-4], EAX\r
2379         JMP L_163\r
2380 L_180:\r
2381         PUSH OFFSET L_lit+886\r
2382         PUSH 4\r
2383         PUSH _GPExch\r
2384         PUSH OFFSET _GPHndl\r
2385         XOR EAX,EAX\r
2386         PUSH EAX\r
2387         XOR EAX,EAX\r
2388         PUSH EAX\r
2389         XOR EAX,EAX\r
2390         PUSH EAX\r
2391         XOR EAX,EAX\r
2392         PUSH EAX\r
2393         XOR EAX,EAX\r
2394         PUSH EAX\r
2395         PUSH 1\r
2396         XOR EAX,EAX\r
2397         PUSH EAX\r
2398         XOR EAX,EAX\r
2399         PUSH EAX\r
2400         CALL FWORD PTR _Request\r
2401         MOV DWORD PTR [EBP-4], EAX\r
2402         PUSH _GPExch\r
2403         PUSH OFFSET _GPMsg\r
2404         CALL FWORD PTR _WaitMsg\r
2405         MOV DWORD PTR [EBP-4], EAX\r
2406         PUSH 1\r
2407         CALL FWORD PTR _SetVidOwner\r
2408         JMP L_163\r
2409 L_181:\r
2410         MOV EAX,4\r
2411         MOV ESI,OFFSET _apParam\r
2412         ADD ESI,EAX\r
2413         PUSH DWORD PTR [ESI]\r
2414         MOV EAX,4\r
2415         MOV ESI,OFFSET _acbParam\r
2416         ADD ESI,EAX\r
2417         PUSH DWORD PTR [ESI]\r
2418         CALL FWORD PTR _SetPath\r
2419         MOV DWORD PTR [EBP-4], EAX\r
2420         MOV EAX,DWORD PTR [EBP-4]\r
2421         AND EAX,EAX\r
2422         JNZ L_182\r
2423         PUSH _JobNum\r
2424         PUSH OFFSET _aPath\r
2425         PUSH OFFSET _cbPath\r
2426         CALL FWORD PTR _GetPath\r
2427         MOV DWORD PTR [EBP-4], EAX\r
2428 L_182:\r
2429         MOV EAX,1\r
2430         MOV _fUpdatePath, AL\r
2431         JMP L_163\r
2432 L_183:\r
2433         MOV EAX,4\r
2434         MOV ESI,OFFSET _apParam\r
2435         ADD ESI,EAX\r
2436         PUSH DWORD PTR [ESI]\r
2437         MOV EAX,4\r
2438         MOV ESI,OFFSET _acbParam\r
2439         ADD ESI,EAX\r
2440         PUSH DWORD PTR [ESI]\r
2441         CALL FWORD PTR _DeleteDir\r
2442         MOV DWORD PTR [EBP-4], EAX\r
2443         JMP L_163\r
2444 L_184:\r
2445         MOV EAX,4\r
2446         MOV ESI,OFFSET _acbParam\r
2447         ADD ESI,EAX\r
2448         MOV EAX,DWORD PTR [ESI]\r
2449         AND EAX,EAX\r
2450         JZ L_185\r
2451         MOV EAX,8\r
2452         MOV ESI,OFFSET _acbParam\r
2453         ADD ESI,EAX\r
2454         MOV EAX,DWORD PTR [ESI]\r
2455 L_185:\r
2456         AND EAX,EAX\r
2457         JZ L_186\r
2458         MOV EAX,4\r
2459         MOV ESI,OFFSET _apParam\r
2460         ADD ESI,EAX\r
2461         PUSH DWORD PTR [ESI]\r
2462         MOV EAX,4\r
2463         MOV ESI,OFFSET _acbParam\r
2464         ADD ESI,EAX\r
2465         PUSH DWORD PTR [ESI]\r
2466         MOV EAX,8\r
2467         MOV ESI,OFFSET _apParam\r
2468         ADD ESI,EAX\r
2469         PUSH DWORD PTR [ESI]\r
2470         MOV EAX,8\r
2471         MOV ESI,OFFSET _acbParam\r
2472         ADD ESI,EAX\r
2473         PUSH DWORD PTR [ESI]\r
2474         CALL FWORD PTR _RenameFile\r
2475         MOV DWORD PTR [EBP-4], EAX\r
2476         JMP L_187\r
2477 L_186:\r
2478         MOV EAX,80\r
2479         MOV DWORD PTR [EBP-4], EAX\r
2480 L_187:\r
2481         JMP L_163\r
2482 L_188:\r
2483         MOV EAX,4\r
2484         MOV ESI,OFFSET _acbParam\r
2485         ADD ESI,EAX\r
2486         MOV EAX,DWORD PTR [ESI]\r
2487         AND EAX,EAX\r
2488         JZ L_189\r
2489         MOV EAX,2\r
2490         MOV DWORD PTR [EBP-8], EAX\r
2491 L_190:\r
2492         MOV EAX,DWORD PTR [EBP-8]\r
2493         MOV ESI,OFFSET _aCmd\r
2494         ADD ESI,EAX\r
2495         MOVSX EAX,BYTE PTR [ESI]\r
2496         CMP EAX,32\r
2497         SETNE AL\r
2498         AND AL,AL\r
2499         JZ L_191\r
2500         MOV EAX,DWORD PTR [EBP-8]\r
2501         INC DWORD PTR [EBP-8]\r
2502         JMP L_190\r
2503 L_191:\r
2504         MOV EAX,DWORD PTR [EBP-8]\r
2505         MOV ESI,OFFSET _aCmd\r
2506         ADD ESI,EAX\r
2507         PUSH ESI\r
2508         MOV EAX,_cbCmd\r
2509         SUB EAX,DWORD PTR [EBP-8]\r
2510         PUSH EAX\r
2511         CALL FWORD PTR _SetCmdLine\r
2512         PUSH OFFSET _clipath\r
2513         PUSH OFFSET _clipath\r
2514         CALL _strlen\r
2515         PUSH EAX\r
2516         CALL FWORD PTR _SetExitJob\r
2517         MOV EAX,4\r
2518         MOV ESI,OFFSET _apParam\r
2519         ADD ESI,EAX\r
2520         PUSH DWORD PTR [ESI]\r
2521         MOV EAX,4\r
2522         MOV ESI,OFFSET _acbParam\r
2523         ADD ESI,EAX\r
2524         PUSH DWORD PTR [ESI]\r
2525         XOR EAX,EAX\r
2526         PUSH EAX\r
2527         CALL FWORD PTR _Chain\r
2528         MOV DWORD PTR [EBP-4], EAX\r
2529 L_189:\r
2530         JMP L_163\r
2531 L_192:\r
2532         MOV EAX,4\r
2533         MOV ESI,OFFSET _apParam\r
2534         ADD ESI,EAX\r
2535         PUSH DWORD PTR [ESI]\r
2536         MOV EAX,4\r
2537         MOV ESI,OFFSET _acbParam\r
2538         ADD ESI,EAX\r
2539         PUSH DWORD PTR [ESI]\r
2540         CALL _DoType\r
2541         MOV DWORD PTR [EBP-4], EAX\r
2542         JMP L_163\r
2543 L_193:\r
2544         JMP L_163\r
2545 L_164:\r
2546         CMP EAX,16\r
2547         JE L_192\r
2548         CMP EAX,15\r
2549         JE L_188\r
2550         CMP EAX,14\r
2551         JE L_184\r
2552         CMP EAX,13\r
2553         JE L_183\r
2554         CMP EAX,12\r
2555         JE L_181\r
2556         CMP EAX,11\r
2557         JE L_180\r
2558         CMP EAX,10\r
2559         JE L_179\r
2560         CMP EAX,9\r
2561         JE L_178\r
2562         CMP EAX,8\r
2563         JE L_177\r
2564         CMP EAX,7\r
2565         JE L_176\r
2566         CMP EAX,6\r
2567         JE L_175\r
2568         CMP EAX,5\r
2569         JE L_174\r
2570         CMP EAX,4\r
2571         JE L_171\r
2572         CMP EAX,3\r
2573         JE L_167\r
2574         CMP EAX,2\r
2575         JE L_166\r
2576         CMP EAX,0\r
2577         JE L_165\r
2578         JMP L_193\r
2579 L_163:\r
2580         PUSH DWORD PTR [EBP-4]\r
2581         CALL _CheckErc\r
2582 L_158:\r
2583         PUSH OFFSET _iCol\r
2584         PUSH OFFSET _iLine\r
2585         CALL FWORD PTR _GetXY\r
2586         MOV EAX,_iLine\r
2587         CMP EAX,23\r
2588         SETGE AL\r
2589         AND AL,AL\r
2590         JZ L_194\r
2591         XOR EAX,EAX\r
2592         PUSH EAX\r
2593         PUSH 1\r
2594         PUSH 80\r
2595         PUSH 23\r
2596         PUSH 1\r
2597         CALL FWORD PTR _ScrollVid\r
2598         XOR EAX,EAX\r
2599         PUSH EAX\r
2600         PUSH 23\r
2601         CALL FWORD PTR _SetXY\r
2602 L_194:\r
2603         JMP L_154\r
2604 L_155:\r
2605         MOV ESP,EBP\r
2606         POP EBP\r
2607         RETN\r