]> pd.if.org Git - mmurtl/blob - msamples/editor/edit.asm
autocommit for file dated 1995-02-03 22:50:48
[mmurtl] / msamples / editor / edit.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 _cbCmd DD 0\r
95 L_lit DB 69,114,114,111,114,32,37,48,53,100,32,111,99,99,117,114\r
96  DB 101,100,32,111,110,32,79,112,101,110,70,105,108,101,0,69\r
97  DB 114,114,111,114,32,37,48,53,100,32,111,99,99,117,114,101\r
98  DB 100,32,111,110,32,82,101,97,100,66,121,116,101,115,0,69\r
99  DB 114,114,111,114,32,37,48,53,100,32,111,99,99,117,114,101\r
100  DB 100,32,111,110,32,87,114,105,116,101,66,121,116,101,115,0\r
101  DB 69,114,114,111,114,32,37,48,53,100,32,111,99,99,117,114\r
102  DB 101,100,32,111,110,32,67,114,101,97,116,101,70,105,108,101\r
103  DB 0,69,114,114,111,114,32,37,48,53,100,32,111,99,99,117\r
104  DB 114,101,100,32,111,110,32,83,101,116,70,105,108,101,83,105\r
105  DB 122,101,0,69,114,114,111,114,32,37,48,53,100,32,111,99\r
106  DB 99,117,114,101,100,32,111,110,32,83,101,116,70,105,108,101\r
107  DB 76,70,65,0,69,114,114,111,114,32,37,48,53,100,32,111\r
108  DB 99,99,117,114,101,100,32,111,110,32,82,101,97,100,75,98\r
109  DB 100,0,69,114,114,111,114,32,37,48,53,100,32,111,99,99\r
110  DB 117,114,101,100,32,111,110,32,108,97,115,116,32,99,111,109\r
111  DB 109,97,110,100,0,84,104,105,115,32,102,105,108,101,32,104\r
112  DB 97,115,32,98,101,101,110,32,109,111,100,105,102,105,101,100\r
113  DB 46,32,83,65,86,69,32,73,84,63,32,40,89,47,78,41\r
114  DB 0,68,79,78,69,46,46,46,32,32,32,0,70,105,108,101\r
115  DB 110,97,109,101,58,32,0,70,105,108,101,32,105,115,32,116\r
116  DB 111,111,32,108,97,114,103,101,32,116,111,32,101,100,105,116\r
117  DB 46,0,68,111,101,115,110,39,116,32,101,120,105,115,116,46\r
118  DB 32,67,114,101,97,116,101,63,63,32,40,89,47,78,41,0\r
119  DB 67,58,32,37,48,50,100,32,32,76,58,32,37,48,53,100\r
120  DB 32,32,110,67,104,97,114,115,58,32,37,48,53,100,0,79\r
121  DB 86,82,0,73,78,83,0,69,100,105,116,111,114,0\r
122 PUBLIC _EdRec DB 178 DUP(0)\r
123 PUBLIC _pEdit DD 0h\r
124 PUBLIC _pBuf1 DD 0h\r
125 PUBLIC _pBuf2 DD 0h\r
126 PUBLIC _b DB 0h\r
127 PUBLIC _b1 DB 0h\r
128 PUBLIC _erc DD 0h\r
129 PUBLIC _fh DD 0h\r
130 PUBLIC _fModified DB 0h\r
131 PUBLIC _fOvertype DB 0h\r
132 PUBLIC _aStat DB 80 DUP(0)\r
133 PUBLIC _aStat1 DB 80 DUP(0)\r
134 PUBLIC _aCmd DB 80 DUP(0)\r
135 PUBLIC _apParam DD 13 DUP(0)\r
136 PUBLIC _acbParam DD 13 DUP(0)\r
137 PUBLIC _Filename DB 60 DUP(0)\r
138 PUBLIC _cbFilename DD 0h\r
139 PUBLIC _filler DB 100 DUP(0)\r
140 \r
141 \r
142 .CODE\r
143 EXTRN _fopen: NEAR\r
144 EXTRN _fclose: NEAR\r
145 EXTRN _remove: NEAR\r
146 EXTRN _rename: NEAR\r
147 EXTRN _fgetc: NEAR\r
148 EXTRN _fgets: NEAR\r
149 EXTRN _fputs: NEAR\r
150 EXTRN _fputc: NEAR\r
151 EXTRN _printf: NEAR\r
152 EXTRN _sprintf: NEAR\r
153 EXTRN _fprintf: NEAR\r
154 EXTRN _ftell: NEAR\r
155 EXTRN _rewind: NEAR\r
156 EXTRN _fseek: NEAR\r
157 EXTRN _fread: NEAR\r
158 EXTRN _fwrite: NEAR\r
159 EXTRN _strcpy: NEAR\r
160 EXTRN _strncpy: NEAR\r
161 EXTRN _strcat: NEAR\r
162 EXTRN _strncat: NEAR\r
163 EXTRN _strcmp: NEAR\r
164 EXTRN _strncmp: NEAR\r
165 EXTRN _strlen: NEAR\r
166 EXTRN _strchr: NEAR\r
167 EXTRN _iscntrl: NEAR\r
168 EXTRN _isspace: NEAR\r
169 EXTRN _isdigit: NEAR\r
170 EXTRN _isupper: NEAR\r
171 EXTRN _islower: NEAR\r
172 EXTRN _ispunct: NEAR\r
173 EXTRN _isalpha: NEAR\r
174 EXTRN _isxdigit: NEAR\r
175 EXTRN _isalnum: NEAR\r
176 EXTRN _isgraph: NEAR\r
177 EXTRN _toupper: NEAR\r
178 EXTRN _tolower: NEAR\r
179 PUBLIC _CheckErc:\r
180         PUSH EBP\r
181         MOV EBP,ESP\r
182         SUB ESP,44\r
183         MOV EAX,DWORD PTR [EBP+8]\r
184         AND EAX,EAX\r
185         JZ L_1\r
186         LEA EAX,DWORD PTR [EBP-40]\r
187         PUSH EAX\r
188         PUSH 40\r
189         XOR EAX,EAX\r
190         PUSH EAX\r
191         CALL FWORD PTR _FillData\r
192         CALL FWORD PTR _Beep\r
193         MOV EAX,DWORD PTR [EBP+12]\r
194         JMP L_3\r
195 L_4:\r
196         LEA EAX,DWORD PTR [EBP-40]\r
197         PUSH EAX\r
198         PUSH OFFSET L_lit+0\r
199         PUSH DWORD PTR [EBP+8]\r
200         MOV EDI, 4\r
201         CALL _sprintf\r
202         ADD ESP,12\r
203         JMP L_2\r
204 L_5:\r
205         LEA EAX,DWORD PTR [EBP-40]\r
206         PUSH EAX\r
207         PUSH OFFSET L_lit+31\r
208         PUSH DWORD PTR [EBP+8]\r
209         MOV EDI, 4\r
210         CALL _sprintf\r
211         ADD ESP,12\r
212         JMP L_2\r
213 L_6:\r
214         LEA EAX,DWORD PTR [EBP-40]\r
215         PUSH EAX\r
216         PUSH OFFSET L_lit+63\r
217         PUSH DWORD PTR [EBP+8]\r
218         MOV EDI, 4\r
219         CALL _sprintf\r
220         ADD ESP,12\r
221         JMP L_2\r
222 L_7:\r
223         LEA EAX,DWORD PTR [EBP-40]\r
224         PUSH EAX\r
225         PUSH OFFSET L_lit+96\r
226         PUSH DWORD PTR [EBP+8]\r
227         MOV EDI, 4\r
228         CALL _sprintf\r
229         ADD ESP,12\r
230         JMP L_2\r
231 L_8:\r
232         LEA EAX,DWORD PTR [EBP-40]\r
233         PUSH EAX\r
234         PUSH OFFSET L_lit+129\r
235         PUSH DWORD PTR [EBP+8]\r
236         MOV EDI, 4\r
237         CALL _sprintf\r
238         ADD ESP,12\r
239         JMP L_2\r
240 L_9:\r
241         LEA EAX,DWORD PTR [EBP-40]\r
242         PUSH EAX\r
243         PUSH OFFSET L_lit+163\r
244         PUSH DWORD PTR [EBP+8]\r
245         MOV EDI, 4\r
246         CALL _sprintf\r
247         ADD ESP,12\r
248         JMP L_2\r
249 L_10:\r
250         LEA EAX,DWORD PTR [EBP-40]\r
251         PUSH EAX\r
252         PUSH OFFSET L_lit+196\r
253         PUSH DWORD PTR [EBP+8]\r
254         MOV EDI, 4\r
255         CALL _sprintf\r
256         ADD ESP,12\r
257         JMP L_2\r
258 L_11:\r
259         LEA EAX,DWORD PTR [EBP-40]\r
260         PUSH EAX\r
261         PUSH OFFSET L_lit+226\r
262         PUSH DWORD PTR [EBP+8]\r
263         MOV EDI, 4\r
264         CALL _sprintf\r
265         ADD ESP,12\r
266         JMP L_2\r
267 L_3:\r
268         CMP EAX,7\r
269         JE L_10\r
270         CMP EAX,6\r
271         JE L_9\r
272         CMP EAX,5\r
273         JE L_8\r
274         CMP EAX,4\r
275         JE L_7\r
276         CMP EAX,3\r
277         JE L_6\r
278         CMP EAX,2\r
279         JE L_5\r
280         CMP EAX,1\r
281         JE L_4\r
282         JMP L_11\r
283 L_2:\r
284         XOR EAX,EAX\r
285         MOV DWORD PTR [EBP-44], EAX\r
286 L_12:\r
287         MOV EAX,DWORD PTR [EBP-44]\r
288         CMP EAX,40\r
289         SETL AL\r
290         AND AL,AL\r
291         JZ L_13\r
292         JMP SHORT L_14\r
293 L_15:\r
294         MOV EAX,DWORD PTR [EBP-44]\r
295         INC DWORD PTR [EBP-44]\r
296         JMP SHORT L_12\r
297 L_14:\r
298         MOV EAX,DWORD PTR [EBP-44]\r
299         LEA ESI,BYTE PTR [EBP-40]\r
300         ADD ESI,EAX\r
301         MOVSX EAX,BYTE PTR [ESI]\r
302         AND EAX,EAX\r
303         JNZ L_16\r
304         MOV EAX,DWORD PTR [EBP-44]\r
305         LEA ESI,BYTE PTR [EBP-40]\r
306         ADD ESI,EAX\r
307         MOV EAX,32\r
308         MOV BYTE PTR [ESI], AL\r
309 L_16:\r
310         JMP L_15\r
311 L_13:\r
312         PUSH 40\r
313         PUSH 24\r
314         LEA EAX,DWORD PTR [EBP-40]\r
315         PUSH EAX\r
316         PUSH 39\r
317         PUSH 48\r
318         CALL FWORD PTR _PutVidChars\r
319 L_1:\r
320         MOV EAX,DWORD PTR [EBP+8]\r
321 L_17:\r
322         MOV ESP,EBP\r
323         POP EBP\r
324         RETN 8\r
325 PUBLIC _ClearStatus:\r
326         PUSH EBP\r
327         MOV EBP,ESP\r
328         SUB ESP,80\r
329         LEA EAX,DWORD PTR [EBP-80]\r
330         PUSH EAX\r
331         PUSH 80\r
332         XOR EAX,EAX\r
333         PUSH EAX\r
334         CALL FWORD PTR _FillData\r
335         XOR EAX,EAX\r
336         PUSH EAX\r
337         PUSH 24\r
338         LEA EAX,DWORD PTR [EBP-80]\r
339         PUSH EAX\r
340         PUSH 80\r
341         PUSH 7\r
342         CALL FWORD PTR _PutVidChars\r
343         MOV ESP,EBP\r
344         POP EBP\r
345         RETN\r
346 PUBLIC _SaveFile:\r
347         PUSH EBP\r
348         MOV EBP,ESP\r
349         SUB ESP,16\r
350         MOV ESI,_pEdit\r
351         MOV EAX,DWORD PTR [ESI]\r
352         MOV DWORD PTR [EBP-16], EAX\r
353         MOV EAX,_fh\r
354         AND EAX,EAX\r
355         JZ L_18\r
356         MOVSX EAX,_fModified\r
357 L_18:\r
358         AND EAX,EAX\r
359         JZ L_19\r
360         MOV ESI,_pEdit\r
361         XOR EAX,EAX\r
362         MOV AL,BYTE PTR [ESI+137]\r
363         AND EAX,EAX\r
364         JZ L_20\r
365         XOR EAX,EAX\r
366         MOV DWORD PTR [EBP-4], EAX\r
367 L_21:\r
368         MOV ESI,_pEdit\r
369         MOV EAX,DWORD PTR [EBP-4]\r
370         CMP EAX,DWORD PTR [ESI+112]\r
371         SETBE AL\r
372         AND AL,AL\r
373         JZ L_22\r
374         JMP SHORT L_23\r
375 L_24:\r
376         MOV EAX,DWORD PTR [EBP-4]\r
377         INC DWORD PTR [EBP-4]\r
378         JMP SHORT L_21\r
379 L_23:\r
380         MOV EAX,DWORD PTR [EBP-4]\r
381         MOV ESI,DWORD PTR [EBP-16]\r
382         ADD ESI,EAX\r
383         XOR EAX,EAX\r
384         MOV AL,BYTE PTR [ESI]\r
385         CMP EAX,7\r
386         SETE AL\r
387         AND AL,AL\r
388         JZ L_25\r
389         MOV EAX,DWORD PTR [EBP-4]\r
390         MOV ESI,DWORD PTR [EBP-16]\r
391         ADD ESI,EAX\r
392         MOV EAX,32\r
393         MOV BYTE PTR [ESI], AL\r
394 L_25:\r
395         JMP L_24\r
396 L_22:\r
397         MOV ESI,_pEdit\r
398         XOR EAX,EAX\r
399         MOV BYTE PTR [ESI+137], AL\r
400 L_20:\r
401         MOV EAX,1\r
402         MOV DWORD PTR [EBP-12], EAX\r
403         MOVSX EAX,WORD PTR [EBP+12]\r
404         AND EAX,EAX\r
405         JZ L_26\r
406         CALL _ClearStatus\r
407         XOR EAX,EAX\r
408         PUSH EAX\r
409         PUSH 24\r
410         CALL FWORD PTR _SetXY\r
411         PUSH OFFSET L_lit+261\r
412         PUSH 43\r
413         PUSH 48\r
414         CALL FWORD PTR _TTYOut\r
415         LEA EAX,DWORD PTR [EBP-8]\r
416         PUSH EAX\r
417         PUSH 1\r
418         CALL FWORD PTR _ReadKbd\r
419         MOV EAX,DWORD PTR [EBP-8]\r
420         AND EAX,255\r
421         CMP EAX,78\r
422         SETE AL\r
423         AND AL,AL\r
424         JNZ L_27\r
425         MOV EAX,DWORD PTR [EBP-8]\r
426         AND EAX,255\r
427         CMP EAX,110\r
428         SETE AL\r
429         AND AL,AL\r
430 L_27:\r
431         JZ L_28\r
432         XOR EAX,EAX\r
433         MOV DWORD PTR [EBP-12], EAX\r
434         CALL _ClearStatus\r
435 L_28:\r
436 L_26:\r
437         MOV EAX,DWORD PTR [EBP-12]\r
438         AND EAX,EAX\r
439         JZ L_29\r
440         PUSH 6\r
441         PUSH _fh\r
442         XOR EAX,EAX\r
443         PUSH EAX\r
444         CALL FWORD PTR _SetFileLFA\r
445         PUSH EAX\r
446         CALL _CheckErc\r
447         MOV _erc, EAX\r
448         MOV EAX,_erc\r
449         AND EAX,EAX\r
450         JNZ L_30\r
451         PUSH 5\r
452         PUSH _fh\r
453         MOV ESI,_pEdit\r
454         PUSH DWORD PTR [ESI+166]\r
455         CALL FWORD PTR _SetFileSize\r
456         PUSH EAX\r
457         CALL _CheckErc\r
458         MOV _erc, EAX\r
459 L_30:\r
460         MOV EAX,_erc\r
461         AND EAX,EAX\r
462         JNZ L_31\r
463         PUSH 3\r
464         PUSH _fh\r
465         PUSH _pBuf1\r
466         MOV ESI,_pEdit\r
467         PUSH DWORD PTR [ESI+166]\r
468         LEA EAX,DWORD PTR [EBP-4]\r
469         PUSH EAX\r
470         CALL FWORD PTR _WriteBytes\r
471         PUSH EAX\r
472         CALL _CheckErc\r
473         MOV _erc, EAX\r
474 L_31:\r
475         XOR EAX,EAX\r
476         MOV _fModified, AL\r
477         CALL _ClearStatus\r
478         XOR EAX,EAX\r
479         PUSH EAX\r
480         PUSH 24\r
481         PUSH OFFSET L_lit+305\r
482         PUSH 10\r
483         PUSH 48\r
484         CALL FWORD PTR _PutVidChars\r
485         PUSH 150\r
486         CALL FWORD PTR _Sleep\r
487         CALL _ClearStatus\r
488 L_29:\r
489 L_19:\r
490         MOV EAX,_fh\r
491         AND EAX,EAX\r
492         JZ L_32\r
493         MOVSX EAX,WORD PTR [EBP+8]\r
494 L_32:\r
495         AND EAX,EAX\r
496         JZ L_33\r
497         PUSH _fh\r
498         CALL FWORD PTR _CloseFile\r
499         XOR EAX,EAX\r
500         MOV _fh, EAX\r
501         XOR EAX,EAX\r
502         MOV _cbFilename, EAX\r
503         CALL _clearbuf\r
504 L_33:\r
505         MOV ESP,EBP\r
506         POP EBP\r
507         RETN 8\r
508 PUBLIC _OpenAFile:\r
509         PUSH EBP\r
510         MOV EBP,ESP\r
511         SUB ESP,12\r
512         XOR EAX,EAX\r
513         MOV _erc, EAX\r
514         XOR EAX,EAX\r
515         MOV _cbFilename, EAX\r
516         MOV EAX,DWORD PTR [EBP+8]\r
517         AND EAX,EAX\r
518         JNZ L_34\r
519         XOR EAX,EAX\r
520         PUSH EAX\r
521         PUSH 24\r
522         CALL FWORD PTR _SetXY\r
523         XOR EAX,EAX\r
524         PUSH EAX\r
525         PUSH 24\r
526         PUSH OFFSET L_lit+316\r
527         PUSH 10\r
528         PUSH 112\r
529         CALL FWORD PTR _PutVidChars\r
530         PUSH 10\r
531         PUSH 24\r
532         CALL FWORD PTR _SetXY\r
533         PUSH OFFSET _Filename\r
534         XOR EAX,EAX\r
535         PUSH EAX\r
536         PUSH 60\r
537         PUSH OFFSET _cbFilename\r
538         PUSH OFFSET _b1\r
539         PUSH 48\r
540         CALL FWORD PTR _EditLine\r
541         XOR EAX,EAX\r
542         PUSH EAX\r
543         XOR EAX,EAX\r
544         PUSH EAX\r
545         CALL FWORD PTR _SetXY\r
546         JMP L_35\r
547 L_34:\r
548         MOV EAX,13\r
549         MOV _b1, AL\r
550         PUSH OFFSET _Filename\r
551         PUSH DWORD PTR [EBP+8]\r
552         PUSH 13\r
553         CALL _strncpy\r
554         PUSH OFFSET _Filename\r
555         CALL _strlen\r
556         MOV _cbFilename, EAX\r
557 L_35:\r
558         XOR EAX,EAX\r
559         MOV AL,_b1\r
560         CMP EAX,13\r
561         SETE AL\r
562         AND AL,AL\r
563         JZ L_36\r
564         MOV EAX,_cbFilename\r
565 L_36:\r
566         AND EAX,EAX\r
567         JZ L_37\r
568         PUSH OFFSET _Filename\r
569         PUSH _cbFilename\r
570         PUSH 1\r
571         PUSH 1\r
572         PUSH OFFSET _fh\r
573         CALL FWORD PTR _OpenFile\r
574         MOV _erc, EAX\r
575         MOV EAX,_erc\r
576         AND EAX,EAX\r
577         JNZ L_38\r
578         PUSH _fh\r
579         LEA EAX,DWORD PTR [EBP-4]\r
580         PUSH EAX\r
581         CALL FWORD PTR _GetFileSize\r
582         MOV EAX,DWORD PTR [EBP-4]\r
583         CMP EAX,131000\r
584         SETB AL\r
585         AND AL,AL\r
586         JZ L_39\r
587         PUSH _fh\r
588         PUSH _pBuf1\r
589         PUSH DWORD PTR [EBP-4]\r
590         LEA EAX,DWORD PTR [EBP-8]\r
591         PUSH EAX\r
592         CALL FWORD PTR _ReadBytes\r
593         MOV _erc, EAX\r
594         MOV EAX,_erc\r
595         CMP EAX,1\r
596         SETG AL\r
597         AND AL,AL\r
598         JZ L_40\r
599         PUSH 2\r
600         PUSH _erc\r
601         CALL _CheckErc\r
602         MOV _erc, EAX\r
603         JMP L_41\r
604 L_40:\r
605         XOR EAX,EAX\r
606         MOV _erc, EAX\r
607 L_41:\r
608         MOV ESI,_pEdit\r
609         MOV EAX,DWORD PTR [EBP-8]\r
610         MOV DWORD PTR [ESI+166], EAX\r
611         MOV ESI,_pEdit\r
612         MOV EAX,DWORD PTR [ESI+166]\r
613         MOV ESI,_pBuf1\r
614         ADD ESI,EAX\r
615         MOV EAX,15\r
616         MOV BYTE PTR [ESI], AL\r
617         JMP L_42\r
618 L_39:\r
619         PUSH _fh\r
620         CALL FWORD PTR _CloseFile\r
621         XOR EAX,EAX\r
622         MOV _fh, EAX\r
623         CALL FWORD PTR _Beep\r
624         PUSH 50\r
625         PUSH 24\r
626         CALL FWORD PTR _SetXY\r
627         PUSH OFFSET L_lit+327\r
628         PUSH 26\r
629         PUSH 48\r
630         CALL FWORD PTR _TTYOut\r
631         LEA EAX,DWORD PTR [EBP-12]\r
632         PUSH EAX\r
633         PUSH 1\r
634         CALL FWORD PTR _ReadKbd\r
635 L_42:\r
636         JMP L_43\r
637 L_38:\r
638         MOV EAX,_erc\r
639         CMP EAX,203\r
640         SETE AL\r
641         AND AL,AL\r
642         JZ L_44\r
643         CALL FWORD PTR _Beep\r
644         PUSH 50\r
645         PUSH 24\r
646         CALL FWORD PTR _SetXY\r
647         PUSH OFFSET L_lit+354\r
648         PUSH 29\r
649         PUSH 48\r
650         CALL FWORD PTR _TTYOut\r
651         LEA EAX,DWORD PTR [EBP-12]\r
652         PUSH EAX\r
653         PUSH 1\r
654         CALL FWORD PTR _ReadKbd\r
655         MOV EAX,DWORD PTR [EBP-12]\r
656         AND EAX,255\r
657         CMP EAX,89\r
658         SETE AL\r
659         AND AL,AL\r
660         JNZ L_45\r
661         MOV EAX,DWORD PTR [EBP-12]\r
662         AND EAX,255\r
663         CMP EAX,121\r
664         SETE AL\r
665         AND AL,AL\r
666 L_45:\r
667         JZ L_46\r
668         PUSH 4\r
669         PUSH OFFSET _Filename\r
670         PUSH _cbFilename\r
671         XOR EAX,EAX\r
672         PUSH EAX\r
673         CALL FWORD PTR _CreateFile\r
674         PUSH EAX\r
675         CALL _CheckErc\r
676         MOV _erc, EAX\r
677         MOV EAX,_erc\r
678         AND EAX,EAX\r
679         JNZ L_47\r
680         PUSH 1\r
681         PUSH OFFSET _Filename\r
682         PUSH _cbFilename\r
683         PUSH 1\r
684         PUSH 1\r
685         PUSH OFFSET _fh\r
686         CALL FWORD PTR _OpenFile\r
687         PUSH EAX\r
688         CALL _CheckErc\r
689         MOV _erc, EAX\r
690 L_47:\r
691         MOV EAX,_erc\r
692         AND EAX,EAX\r
693         JZ L_48\r
694         XOR EAX,EAX\r
695         MOV _fh, EAX\r
696         XOR EAX,EAX\r
697         MOV _cbFilename, EAX\r
698 L_48:\r
699         JMP L_49\r
700 L_46:\r
701         XOR EAX,EAX\r
702         MOV _cbFilename, EAX\r
703         CALL _ClearStatus\r
704 L_49:\r
705         JMP L_50\r
706 L_44:\r
707         PUSH 1\r
708         PUSH _erc\r
709         CALL _CheckErc\r
710 L_50:\r
711 L_43:\r
712 L_37:\r
713         MOV EAX,_erc\r
714         AND EAX,EAX\r
715         JNZ L_51\r
716         CALL _ClearStatus\r
717 L_51:\r
718         MOV ESP,EBP\r
719         POP EBP\r
720         RETN 4\r
721 PUBLIC _CountEols:\r
722         PUSH EBP\r
723         MOV EBP,ESP\r
724         SUB ESP,12\r
725         MOV ESI,_pEdit\r
726         MOV EAX,DWORD PTR [ESI]\r
727         MOV DWORD PTR [EBP-12], EAX\r
728         XOR EAX,EAX\r
729         MOV DWORD PTR [EBP-4], EAX\r
730         XOR EAX,EAX\r
731         MOV DWORD PTR [EBP-8], EAX\r
732 L_52:\r
733         MOV ESI,_pEdit\r
734         MOV EAX,DWORD PTR [EBP-8]\r
735         CMP EAX,DWORD PTR [ESI+150]\r
736         SETB AL\r
737         AND AL,AL\r
738         JZ L_53\r
739         MOV EAX,DWORD PTR [EBP-8]\r
740         INC DWORD PTR [EBP-8]\r
741         MOV ESI,DWORD PTR [EBP-12]\r
742         ADD ESI,EAX\r
743         XOR EAX,EAX\r
744         MOV AL,BYTE PTR [ESI]\r
745         CMP EAX,10\r
746         SETE AL\r
747         AND AL,AL\r
748         JZ L_54\r
749         MOV EAX,DWORD PTR [EBP-4]\r
750         INC DWORD PTR [EBP-4]\r
751 L_54:\r
752         JMP L_52\r
753 L_53:\r
754         MOV EAX,DWORD PTR [EBP-4]\r
755         MOV ESP,EBP\r
756         POP EBP\r
757         RETN\r
758 PUBLIC _findEol:\r
759         PUSH EBP\r
760         MOV EBP,ESP\r
761         SUB ESP,12\r
762         MOV ESI,_pEdit\r
763         MOV EAX,DWORD PTR [ESI]\r
764         MOV DWORD PTR [EBP-12], EAX\r
765         MOV ESI,_pEdit\r
766         MOV EAX,DWORD PTR [EBP+8]\r
767         ADD EAX,DWORD PTR [ESI+132]\r
768         SUB EAX,1\r
769         MOV DWORD PTR [EBP-8], EAX\r
770         MOV ESI,_pEdit\r
771         MOV EAX,DWORD PTR [EBP-8]\r
772         CMP EAX,DWORD PTR [ESI+166]\r
773         SETA AL\r
774         AND AL,AL\r
775         JZ L_56\r
776         MOV ESI,_pEdit\r
777         MOV EAX,DWORD PTR [ESI+166]\r
778         MOV DWORD PTR [EBP-8], EAX\r
779 L_56:\r
780         MOV EAX,DWORD PTR [EBP+8]\r
781         MOV DWORD PTR [EBP-4], EAX\r
782 L_57:\r
783         MOV EAX,DWORD PTR [EBP-4]\r
784         MOV ESI,DWORD PTR [EBP-12]\r
785         ADD ESI,EAX\r
786         XOR EAX,EAX\r
787         MOV AL,BYTE PTR [ESI]\r
788         CMP EAX,10\r
789         SETNE AL\r
790         AND AL,AL\r
791         JZ L_59\r
792         MOV EAX,DWORD PTR [EBP-4]\r
793         CMP EAX,DWORD PTR [EBP-8]\r
794         SETB AL\r
795         AND AL,AL\r
796 L_59:\r
797         JZ L_58\r
798         MOV EAX,DWORD PTR [EBP-4]\r
799         INC DWORD PTR [EBP-4]\r
800         JMP L_57\r
801 L_58:\r
802         MOV EAX,DWORD PTR [EBP-4]\r
803         CMP EAX,DWORD PTR [EBP-8]\r
804         SETE AL\r
805         AND AL,AL\r
806         JZ L_60\r
807         MOV EAX,DWORD PTR [EBP-4]\r
808         MOV ESI,DWORD PTR [EBP-12]\r
809         ADD ESI,EAX\r
810         XOR EAX,EAX\r
811         MOV AL,BYTE PTR [ESI]\r
812         CMP EAX,10\r
813         SETNE AL\r
814         AND AL,AL\r
815 L_60:\r
816         JZ L_61\r
817         MOV EAX,DWORD PTR [EBP-8]\r
818         MOV DWORD PTR [EBP-4], EAX\r
819         MOV ESI,_pEdit\r
820         MOV EAX,DWORD PTR [EBP-8]\r
821         CMP EAX,DWORD PTR [ESI+166]\r
822         SETB AL\r
823         AND AL,AL\r
824         JZ L_62\r
825 L_63:\r
826         MOV EAX,DWORD PTR [EBP-4]\r
827         MOV ESI,DWORD PTR [EBP-12]\r
828         ADD ESI,EAX\r
829         MOV EBX,ESI\r
830         MOV ESI,_pEdit\r
831         XOR EAX,EAX\r
832         MOV AL,BYTE PTR [EBX]\r
833         XOR ECX,ECX\r
834         MOV CL,BYTE PTR [ESI+136]\r
835         CMP EAX,ECX\r
836         SETNE AL\r
837         AND AL,AL\r
838         JZ L_65\r
839         MOV EAX,DWORD PTR [EBP-4]\r
840         CMP EAX,DWORD PTR [EBP+8]\r
841         SETA AL\r
842         AND AL,AL\r
843 L_65:\r
844         JZ L_64\r
845         MOV EAX,DWORD PTR [EBP-4]\r
846         DEC DWORD PTR [EBP-4]\r
847         JMP L_63\r
848 L_64:\r
849         MOV EAX,DWORD PTR [EBP-4]\r
850         CMP EAX,DWORD PTR [EBP+8]\r
851         SETA AL\r
852         AND AL,AL\r
853         JZ L_66\r
854         MOV EAX,DWORD PTR [EBP-4]\r
855         MOV ESI,DWORD PTR [EBP-12]\r
856         ADD ESI,EAX\r
857         MOV EBX,ESI\r
858         MOV ESI,_pEdit\r
859         XOR EAX,EAX\r
860         MOV AL,BYTE PTR [EBX]\r
861         XOR ECX,ECX\r
862         MOV CL,BYTE PTR [ESI+136]\r
863         CMP EAX,ECX\r
864         SETE AL\r
865         AND AL,AL\r
866         JZ L_67\r
867         MOV EAX,DWORD PTR [EBP-4]\r
868         CMP EAX,DWORD PTR [EBP-8]\r
869         SETE AL\r
870         AND AL,AL\r
871 L_67:\r
872 L_66:\r
873         JZ L_68\r
874         MOV EAX,DWORD PTR [EBP-4]\r
875         SUB EAX,1\r
876         MOV ESI,DWORD PTR [EBP-12]\r
877         ADD ESI,EAX\r
878         MOV EBX,ESI\r
879         MOV ESI,_pEdit\r
880         XOR EAX,EAX\r
881         MOV AL,BYTE PTR [EBX]\r
882         XOR ECX,ECX\r
883         MOV CL,BYTE PTR [ESI+136]\r
884         CMP EAX,ECX\r
885         SETE AL\r
886         AND AL,AL\r
887         JNZ L_69\r
888         MOV EAX,DWORD PTR [EBP-4]\r
889         CMP EAX,DWORD PTR [EBP-8]\r
890         SETE AL\r
891         AND AL,AL\r
892         JZ L_70\r
893         MOV EAX,DWORD PTR [EBP-4]\r
894         ADD EAX,1\r
895         MOV ESI,DWORD PTR [EBP-12]\r
896         ADD ESI,EAX\r
897         MOV EBX,ESI\r
898         MOV ESI,_pEdit\r
899         XOR EAX,EAX\r
900         MOV AL,BYTE PTR [EBX]\r
901         XOR ECX,ECX\r
902         MOV CL,BYTE PTR [ESI+136]\r
903         CMP EAX,ECX\r
904         SETE AL\r
905         AND AL,AL\r
906 L_70:\r
907 L_69:\r
908         JZ L_71\r
909 L_72:\r
910         MOV EAX,DWORD PTR [EBP-4]\r
911         MOV ESI,DWORD PTR [EBP-12]\r
912         ADD ESI,EAX\r
913         MOV EBX,ESI\r
914         MOV ESI,_pEdit\r
915         XOR EAX,EAX\r
916         MOV AL,BYTE PTR [EBX]\r
917         XOR ECX,ECX\r
918         MOV CL,BYTE PTR [ESI+136]\r
919         CMP EAX,ECX\r
920         SETE AL\r
921         AND AL,AL\r
922         JZ L_74\r
923         MOV EAX,DWORD PTR [EBP-4]\r
924         CMP EAX,DWORD PTR [EBP+8]\r
925         SETA AL\r
926         AND AL,AL\r
927 L_74:\r
928         JZ L_73\r
929         MOV EAX,DWORD PTR [EBP-4]\r
930         DEC DWORD PTR [EBP-4]\r
931         JMP L_72\r
932 L_73:\r
933 L_75:\r
934         MOV EAX,DWORD PTR [EBP-4]\r
935         MOV ESI,DWORD PTR [EBP-12]\r
936         ADD ESI,EAX\r
937         MOV EBX,ESI\r
938         MOV ESI,_pEdit\r
939         XOR EAX,EAX\r
940         MOV AL,BYTE PTR [EBX]\r
941         XOR ECX,ECX\r
942         MOV CL,BYTE PTR [ESI+136]\r
943         CMP EAX,ECX\r
944         SETNE AL\r
945         AND AL,AL\r
946         JZ L_77\r
947         MOV EAX,DWORD PTR [EBP-4]\r
948         CMP EAX,DWORD PTR [EBP+8]\r
949         SETA AL\r
950         AND AL,AL\r
951 L_77:\r
952         JZ L_76\r
953         MOV EAX,DWORD PTR [EBP-4]\r
954         DEC DWORD PTR [EBP-4]\r
955         JMP L_75\r
956 L_76:\r
957 L_71:\r
958 L_68:\r
959         MOV EAX,DWORD PTR [EBP-4]\r
960         CMP EAX,DWORD PTR [EBP+8]\r
961         SETE AL\r
962         AND AL,AL\r
963         JZ L_78\r
964         MOV EAX,DWORD PTR [EBP+8]\r
965         MOV ESI,DWORD PTR [EBP-12]\r
966         ADD ESI,EAX\r
967         XOR EAX,EAX\r
968         MOV AL,BYTE PTR [ESI]\r
969         XOR ECX,ECX\r
970         CMP EAX,ECX\r
971         SETA AL\r
972         AND AL,AL\r
973         JZ L_79\r
974         MOV EAX,DWORD PTR [EBP-8]\r
975         MOV ESI,DWORD PTR [EBP-12]\r
976         ADD ESI,EAX\r
977         XOR EAX,EAX\r
978         MOV AL,BYTE PTR [ESI]\r
979         XOR ECX,ECX\r
980         CMP EAX,ECX\r
981         SETA AL\r
982         AND AL,AL\r
983 L_79:\r
984 L_78:\r
985         JZ L_80\r
986         MOV EAX,DWORD PTR [EBP-8]\r
987         MOV DWORD PTR [EBP-4], EAX\r
988 L_80:\r
989 L_62:\r
990 L_61:\r
991         MOV EAX,DWORD PTR [EBP-4]\r
992         MOV ESP,EBP\r
993         POP EBP\r
994         RETN 4\r
995 PUBLIC _findPrevLine:\r
996         PUSH EBP\r
997         MOV EBP,ESP\r
998         SUB ESP,12\r
999         MOV ESI,_pEdit\r
1000         MOV EAX,DWORD PTR [ESI]\r
1001         MOV DWORD PTR [EBP-12], EAX\r
1002         XOR EAX,EAX\r
1003         MOV DWORD PTR [EBP-4], EAX\r
1004         MOV EAX,DWORD PTR [EBP+8]\r
1005         AND EAX,EAX\r
1006         JZ L_82\r
1007         MOV EAX,DWORD PTR [EBP+8]\r
1008         SUB EAX,1\r
1009         MOV DWORD PTR [EBP-4], EAX\r
1010 L_82:\r
1011 L_83:\r
1012         MOV EAX,DWORD PTR [EBP-4]\r
1013         AND EAX,EAX\r
1014         JZ L_85\r
1015         MOV EAX,DWORD PTR [EBP-4]\r
1016         MOV ESI,DWORD PTR [EBP-12]\r
1017         ADD ESI,EAX\r
1018         MOVSX EAX,BYTE PTR [ESI]\r
1019         CMP EAX,10\r
1020         SETNE AL\r
1021         AND AL,AL\r
1022 L_85:\r
1023         JZ L_84\r
1024         MOV EAX,DWORD PTR [EBP-4]\r
1025         DEC DWORD PTR [EBP-4]\r
1026         JMP L_83\r
1027 L_84:\r
1028         MOV EAX,DWORD PTR [EBP-4]\r
1029         CMP EAX,0\r
1030         SETA AL\r
1031         AND AL,AL\r
1032         JZ L_86\r
1033         MOV EAX,DWORD PTR [EBP-4]\r
1034         DEC DWORD PTR [EBP-4]\r
1035 L_86:\r
1036 L_87:\r
1037         MOV EAX,DWORD PTR [EBP-4]\r
1038         CMP EAX,0\r
1039         SETA AL\r
1040         AND AL,AL\r
1041         JZ L_89\r
1042         MOV EAX,DWORD PTR [EBP-4]\r
1043         MOV ESI,DWORD PTR [EBP-12]\r
1044         ADD ESI,EAX\r
1045         MOVSX EAX,BYTE PTR [ESI]\r
1046         CMP EAX,10\r
1047         SETNE AL\r
1048         AND AL,AL\r
1049 L_89:\r
1050         JZ L_88\r
1051         MOV EAX,DWORD PTR [EBP-4]\r
1052         DEC DWORD PTR [EBP-4]\r
1053         JMP L_87\r
1054 L_88:\r
1055         MOV EAX,DWORD PTR [EBP-4]\r
1056         AND EAX,EAX\r
1057         JZ L_90\r
1058         MOV EAX,DWORD PTR [EBP-4]\r
1059         INC DWORD PTR [EBP-4]\r
1060 L_90:\r
1061 L_91:\r
1062         MOV EAX,DWORD PTR [EBP-4]\r
1063         MOV DWORD PTR [EBP-8], EAX\r
1064         PUSH DWORD PTR [EBP-8]\r
1065         CALL _findEol\r
1066         ADD EAX,1\r
1067         MOV DWORD PTR [EBP-4], EAX\r
1068 L_92:\r
1069         MOV EAX,DWORD PTR [EBP-4]\r
1070         CMP EAX,DWORD PTR [EBP+8]\r
1071         SETB AL\r
1072         AND AL,AL\r
1073         JNZ L_91\r
1074 L_93:\r
1075         MOV EAX,DWORD PTR [EBP-8]\r
1076         MOV ESP,EBP\r
1077         POP EBP\r
1078         RETN 4\r
1079 PUBLIC _doMark:\r
1080         PUSH EBP\r
1081         MOV EBP,ESP\r
1082         SUB ESP,16\r
1083         MOV ESI,_pEdit\r
1084         MOV EAX,DWORD PTR [ESI+170]\r
1085         CMP EAX,99999\r
1086         SETB AL\r
1087         AND AL,AL\r
1088         JZ L_95\r
1089         MOV ESI,_pEdit\r
1090         MOV EBX,ESI\r
1091         MOV ESI,_pEdit\r
1092         MOV EAX,DWORD PTR [EBX+170]\r
1093         CMP EAX,DWORD PTR [ESI+174]\r
1094         SETBE AL\r
1095         AND AL,AL\r
1096         JZ L_96\r
1097         MOV ESI,_pEdit\r
1098         MOV EAX,DWORD PTR [ESI+170]\r
1099         MOV DWORD PTR [EBP-12], EAX\r
1100         MOV ESI,_pEdit\r
1101         MOV EAX,DWORD PTR [ESI+174]\r
1102         MOV DWORD PTR [EBP-16], EAX\r
1103         JMP L_97\r
1104 L_96:\r
1105         MOV ESI,_pEdit\r
1106         MOV EAX,DWORD PTR [ESI+174]\r
1107         MOV DWORD PTR [EBP-12], EAX\r
1108         MOV ESI,_pEdit\r
1109         MOV EAX,DWORD PTR [ESI+170]\r
1110         MOV DWORD PTR [EBP-16], EAX\r
1111 L_97:\r
1112         MOV ESI,_pEdit\r
1113         MOV EAX,DWORD PTR [EBP+8]\r
1114         SHL EAX,2\r
1115         ADD ESI,EAX\r
1116         MOV EAX,DWORD PTR [EBP-12]\r
1117         CMP EAX,DWORD PTR [ESI+8]\r
1118         SETAE AL\r
1119         AND AL,AL\r
1120         JZ L_98\r
1121         MOV ESI,_pEdit\r
1122         MOV EAX,DWORD PTR [EBP+8]\r
1123         ADD EAX,1\r
1124         SHL EAX,2\r
1125         ADD ESI,EAX\r
1126         MOV EAX,DWORD PTR [EBP-12]\r
1127         CMP EAX,DWORD PTR [ESI+8]\r
1128         SETB AL\r
1129         AND AL,AL\r
1130 L_98:\r
1131         JNZ L_99\r
1132         MOV ESI,_pEdit\r
1133         MOV EAX,DWORD PTR [EBP+8]\r
1134         SHL EAX,2\r
1135         ADD ESI,EAX\r
1136         MOV EAX,DWORD PTR [EBP-16]\r
1137         CMP EAX,DWORD PTR [ESI+8]\r
1138         SETAE AL\r
1139         AND AL,AL\r
1140         JZ L_100\r
1141         MOV ESI,_pEdit\r
1142         MOV EAX,DWORD PTR [EBP+8]\r
1143         ADD EAX,1\r
1144         SHL EAX,2\r
1145         ADD ESI,EAX\r
1146         MOV EAX,DWORD PTR [EBP-16]\r
1147         CMP EAX,DWORD PTR [ESI+8]\r
1148         SETB AL\r
1149         AND AL,AL\r
1150 L_100:\r
1151         JNZ L_101\r
1152         MOV ESI,_pEdit\r
1153         MOV EAX,DWORD PTR [EBP+8]\r
1154         SHL EAX,2\r
1155         ADD ESI,EAX\r
1156         MOV EAX,DWORD PTR [EBP-12]\r
1157         CMP EAX,DWORD PTR [ESI+8]\r
1158         SETB AL\r
1159         AND AL,AL\r
1160         JZ L_102\r
1161         MOV ESI,_pEdit\r
1162         MOV EAX,DWORD PTR [EBP+8]\r
1163         ADD EAX,1\r
1164         SHL EAX,2\r
1165         ADD ESI,EAX\r
1166         MOV EAX,DWORD PTR [EBP-16]\r
1167         CMP EAX,DWORD PTR [ESI+8]\r
1168         SETAE AL\r
1169         AND AL,AL\r
1170 L_102:\r
1171 L_101:\r
1172 L_99:\r
1173         JZ L_103\r
1174         MOV ESI,_pEdit\r
1175         MOV EAX,DWORD PTR [EBP+8]\r
1176         SHL EAX,2\r
1177         ADD ESI,EAX\r
1178         MOV EAX,DWORD PTR [EBP-12]\r
1179         CMP EAX,DWORD PTR [ESI+8]\r
1180         SETAE AL\r
1181         AND AL,AL\r
1182         JZ L_104\r
1183         MOV ESI,_pEdit\r
1184         MOV EAX,DWORD PTR [ESI+116]\r
1185         ADD EAX,DWORD PTR [EBP-12]\r
1186         MOV EBX,EAX\r
1187         MOV ESI,_pEdit\r
1188         MOV EAX,DWORD PTR [EBP+8]\r
1189         SHL EAX,2\r
1190         ADD ESI,EAX\r
1191         MOV EAX,EBX\r
1192         SUB EAX,DWORD PTR [ESI+8]\r
1193         MOV DWORD PTR [EBP-4], EAX\r
1194         JMP L_105\r
1195 L_104:\r
1196         MOV ESI,_pEdit\r
1197         MOV EAX,DWORD PTR [ESI+116]\r
1198         MOV DWORD PTR [EBP-4], EAX\r
1199 L_105:\r
1200         MOV ESI,_pEdit\r
1201         MOV EAX,DWORD PTR [EBP+8]\r
1202         ADD EAX,1\r
1203         SHL EAX,2\r
1204         ADD ESI,EAX\r
1205         MOV EAX,DWORD PTR [EBP-16]\r
1206         CMP EAX,DWORD PTR [ESI+8]\r
1207         SETB AL\r
1208         AND AL,AL\r
1209         JZ L_106\r
1210         MOV ESI,_pEdit\r
1211         MOV EAX,DWORD PTR [ESI+116]\r
1212         ADD EAX,DWORD PTR [EBP-16]\r
1213         MOV EBX,EAX\r
1214         MOV ESI,_pEdit\r
1215         MOV EAX,DWORD PTR [EBP+8]\r
1216         SHL EAX,2\r
1217         ADD ESI,EAX\r
1218         MOV EAX,EBX\r
1219         SUB EAX,DWORD PTR [ESI+8]\r
1220         MOV DWORD PTR [EBP-8], EAX\r
1221         JMP L_107\r
1222 L_106:\r
1223         MOV ESI,_pEdit\r
1224         MOV EBX,ESI\r
1225         MOV ESI,_pEdit\r
1226         MOV EAX,DWORD PTR [EBP+8]\r
1227         ADD EAX,1\r
1228         SHL EAX,2\r
1229         ADD ESI,EAX\r
1230         MOV EAX,DWORD PTR [EBX+116]\r
1231         ADD EAX,DWORD PTR [ESI+8]\r
1232         MOV EBX,EAX\r
1233         MOV ESI,_pEdit\r
1234         MOV EAX,DWORD PTR [EBP+8]\r
1235         SHL EAX,2\r
1236         ADD ESI,EAX\r
1237         MOV EAX,EBX\r
1238         SUB EAX,DWORD PTR [ESI+8]\r
1239         SUB EAX,1\r
1240         MOV DWORD PTR [EBP-8], EAX\r
1241 L_107:\r
1242         MOV ESI,_pEdit\r
1243         MOV EAX,DWORD PTR [EBP-4]\r
1244         CMP EAX,DWORD PTR [ESI+116]\r
1245         SETA AL\r
1246         AND AL,AL\r
1247         JZ L_108\r
1248         MOV ESI,_pEdit\r
1249         PUSH DWORD PTR [ESI+116]\r
1250         PUSH DWORD PTR [EBP+8]\r
1251         MOV ESI,_pEdit\r
1252         MOV EAX,DWORD PTR [EBP-4]\r
1253         SUB EAX,DWORD PTR [ESI+116]\r
1254         PUSH EAX\r
1255         MOV ESI,_pEdit\r
1256         PUSH DWORD PTR [ESI+142]\r
1257         CALL FWORD PTR _PutVidAttrs\r
1258 L_108:\r
1259         PUSH DWORD PTR [EBP-4]\r
1260         PUSH DWORD PTR [EBP+8]\r
1261         MOV EAX,DWORD PTR [EBP-8]\r
1262         SUB EAX,DWORD PTR [EBP-4]\r
1263         ADD EAX,1\r
1264         PUSH EAX\r
1265         MOV ESI,_pEdit\r
1266         PUSH DWORD PTR [ESI+138]\r
1267         CALL FWORD PTR _PutVidAttrs\r
1268         MOV ESI,_pEdit\r
1269         MOV EAX,DWORD PTR [EBP-8]\r
1270         CMP EAX,DWORD PTR [ESI+124]\r
1271         SETB AL\r
1272         AND AL,AL\r
1273         JZ L_109\r
1274         MOV EAX,DWORD PTR [EBP-8]\r
1275         ADD EAX,1\r
1276         PUSH EAX\r
1277         PUSH DWORD PTR [EBP+8]\r
1278         MOV ESI,_pEdit\r
1279         MOV EAX,DWORD PTR [ESI+124]\r
1280         SUB EAX,DWORD PTR [EBP-8]\r
1281         PUSH EAX\r
1282         MOV ESI,_pEdit\r
1283         PUSH DWORD PTR [ESI+142]\r
1284         CALL FWORD PTR _PutVidAttrs\r
1285 L_109:\r
1286         JMP L_110\r
1287 L_103:\r
1288         MOV ESI,_pEdit\r
1289         PUSH DWORD PTR [ESI+116]\r
1290         PUSH DWORD PTR [EBP+8]\r
1291         MOV ESI,_pEdit\r
1292         PUSH DWORD PTR [ESI+132]\r
1293         MOV ESI,_pEdit\r
1294         PUSH DWORD PTR [ESI+142]\r
1295         CALL FWORD PTR _PutVidAttrs\r
1296 L_110:\r
1297 L_95:\r
1298         MOV ESP,EBP\r
1299         POP EBP\r
1300         RETN 4\r
1301 PUBLIC _putInBuf:\r
1302         PUSH EBP\r
1303         MOV EBP,ESP\r
1304         SUB ESP,9\r
1305         MOV EAX,1\r
1306         MOV _fModified, AL\r
1307         MOV ESI,_pEdit\r
1308         MOV EAX,DWORD PTR [ESI]\r
1309         MOV DWORD PTR [EBP-9], EAX\r
1310         MOV ESI,_pEdit\r
1311         MOV EBX,ESI\r
1312         MOV ESI,_pEdit\r
1313         MOV EAX,DWORD PTR [EBX+162]\r
1314         CMP EAX,DWORD PTR [ESI+112]\r
1315         SETB AL\r
1316         AND AL,AL\r
1317         JZ L_111\r
1318         MOV ESI,_pEdit\r
1319         MOV EBX,ESI\r
1320         MOV ESI,_pEdit\r
1321         MOV EAX,DWORD PTR [EBX+166]\r
1322         CMP EAX,DWORD PTR [ESI+112]\r
1323         SETB AL\r
1324         AND AL,AL\r
1325         JNZ L_112\r
1326         MOVSX EAX,BYTE PTR [EBP+12]\r
1327         AND EAX,EAX\r
1328         JZ L_113\r
1329         MOVSX EAX,BYTE PTR [EBP+8]\r
1330         AND EAX,EAX\r
1331         SETZ AL\r
1332         AND AL,AL\r
1333 L_113:\r
1334 L_112:\r
1335 L_111:\r
1336         JZ L_114\r
1337         MOV EAX,1\r
1338         MOV BYTE PTR [EBP-5], AL\r
1339         MOVSX EAX,BYTE PTR [EBP+12]\r
1340         AND EAX,EAX\r
1341         JZ L_115\r
1342         MOVSX EAX,BYTE PTR [EBP+8]\r
1343         AND EAX,EAX\r
1344         SETZ AL\r
1345         AND AL,AL\r
1346 L_115:\r
1347         JZ L_116\r
1348         MOV ESI,_pEdit\r
1349         MOV EAX,DWORD PTR [ESI+162]\r
1350         MOV ESI,DWORD PTR [EBP-9]\r
1351         ADD ESI,EAX\r
1352         XOR EAX,EAX\r
1353         MOV AL,BYTE PTR [EBP+16]\r
1354         MOV BYTE PTR [ESI], AL\r
1355         MOV ESI,_pEdit\r
1356         MOV EBX,ESI\r
1357         MOV ESI,_pEdit\r
1358         MOV EAX,DWORD PTR [EBX+166]\r
1359         CMP EAX,DWORD PTR [ESI+162]\r
1360         SETE AL\r
1361         AND AL,AL\r
1362         JZ L_117\r
1363         MOV ESI,_pEdit\r
1364         MOV EAX,DWORD PTR [ESI+166]\r
1365         INC DWORD PTR [ESI+166]\r
1366 L_117:\r
1367         MOV ESI,_pEdit\r
1368         MOV EAX,DWORD PTR [ESI+162]\r
1369         INC DWORD PTR [ESI+162]\r
1370         JMP L_118\r
1371 L_116:\r
1372         MOV ESI,_pEdit\r
1373         MOV EBX,ESI\r
1374         MOV ESI,_pEdit\r
1375         MOV EAX,DWORD PTR [EBX+166]\r
1376         SUB EAX,DWORD PTR [ESI+162]\r
1377         ADD EAX,1\r
1378         MOV DWORD PTR [EBP-4], EAX\r
1379         MOV ESI,_pEdit\r
1380         MOV EAX,DWORD PTR [ESI+162]\r
1381         MOV ESI,DWORD PTR [EBP-9]\r
1382         ADD ESI,EAX\r
1383         PUSH ESI\r
1384         MOV ESI,_pEdit\r
1385         PUSH DWORD PTR [ESI+4]\r
1386         PUSH DWORD PTR [EBP-4]\r
1387         CALL FWORD PTR _CopyData\r
1388         MOV ESI,_pEdit\r
1389         MOV EAX,DWORD PTR [ESI+162]\r
1390         MOV ESI,DWORD PTR [EBP-9]\r
1391         ADD ESI,EAX\r
1392         XOR EAX,EAX\r
1393         MOV AL,BYTE PTR [EBP+16]\r
1394         MOV BYTE PTR [ESI], AL\r
1395         MOV ESI,_pEdit\r
1396         PUSH DWORD PTR [ESI+4]\r
1397         MOV ESI,_pEdit\r
1398         MOV EAX,DWORD PTR [ESI+162]\r
1399         ADD EAX,1\r
1400         MOV ESI,DWORD PTR [EBP-9]\r
1401         ADD ESI,EAX\r
1402         PUSH ESI\r
1403         PUSH DWORD PTR [EBP-4]\r
1404         CALL FWORD PTR _CopyData\r
1405         MOV ESI,_pEdit\r
1406         MOV EAX,DWORD PTR [ESI+166]\r
1407         INC DWORD PTR [ESI+166]\r
1408         MOV ESI,_pEdit\r
1409         MOV EAX,DWORD PTR [ESI+162]\r
1410         INC DWORD PTR [ESI+162]\r
1411         MOV ESI,_pEdit\r
1412         MOV EAX,DWORD PTR [ESI+170]\r
1413         CMP EAX,99999\r
1414         SETB AL\r
1415         AND AL,AL\r
1416         JZ L_119\r
1417         MOV ESI,_pEdit\r
1418         MOV EAX,DWORD PTR [ESI+162]\r
1419         SUB EAX,1\r
1420         MOV EBX,EAX\r
1421         MOV ESI,_pEdit\r
1422         MOV EAX,EBX\r
1423         CMP EAX,DWORD PTR [ESI+170]\r
1424         SETB AL\r
1425         AND AL,AL\r
1426         JZ L_120\r
1427         MOV ESI,_pEdit\r
1428         MOV EAX,DWORD PTR [ESI+170]\r
1429         INC DWORD PTR [ESI+170]\r
1430 L_120:\r
1431         MOV ESI,_pEdit\r
1432         MOV EAX,DWORD PTR [ESI+162]\r
1433         SUB EAX,1\r
1434         MOV EBX,EAX\r
1435         MOV ESI,_pEdit\r
1436         MOV EAX,EBX\r
1437         CMP EAX,DWORD PTR [ESI+174]\r
1438         SETBE AL\r
1439         AND AL,AL\r
1440         JZ L_121\r
1441         MOV ESI,_pEdit\r
1442         MOV EAX,DWORD PTR [ESI+174]\r
1443         INC DWORD PTR [ESI+174]\r
1444 L_121:\r
1445 L_119:\r
1446 L_118:\r
1447         JMP L_122\r
1448 L_114:\r
1449         XOR EAX,EAX\r
1450         MOV BYTE PTR [EBP-5], AL\r
1451         CALL FWORD PTR _Beep\r
1452         MOV EAX,40400\r
1453         MOV _erc, EAX\r
1454 L_122:\r
1455         MOVSX EAX,BYTE PTR [EBP-5]\r
1456         MOV ESP,EBP\r
1457         POP EBP\r
1458         RETN 12\r
1459 PUBLIC _moveData:\r
1460         PUSH EBP\r
1461         MOV EBP,ESP\r
1462         SUB ESP,20\r
1463         MOV ESI,_pEdit\r
1464         MOV EAX,DWORD PTR [ESI]\r
1465         MOV DWORD PTR [EBP-16], EAX\r
1466         MOV ESI,_pEdit\r
1467         MOV EAX,DWORD PTR [ESI+4]\r
1468         MOV DWORD PTR [EBP-20], EAX\r
1469         MOV ESI,_pEdit\r
1470         MOV EAX,DWORD PTR [ESI+170]\r
1471         CMP EAX,99999\r
1472         SETB AL\r
1473         AND AL,AL\r
1474         JZ L_124\r
1475         MOV EAX,1\r
1476         MOV _fModified, AL\r
1477         MOV ESI,_pEdit\r
1478         MOV EBX,ESI\r
1479         MOV ESI,_pEdit\r
1480         MOV EAX,DWORD PTR [EBX+170]\r
1481         CMP EAX,DWORD PTR [ESI+174]\r
1482         SETBE AL\r
1483         AND AL,AL\r
1484         JZ L_125\r
1485         MOV ESI,_pEdit\r
1486         MOV EAX,DWORD PTR [ESI+170]\r
1487         MOV DWORD PTR [EBP-8], EAX\r
1488         MOV ESI,_pEdit\r
1489         MOV EAX,DWORD PTR [ESI+174]\r
1490         MOV DWORD PTR [EBP-12], EAX\r
1491         JMP L_126\r
1492 L_125:\r
1493         MOV ESI,_pEdit\r
1494         MOV EAX,DWORD PTR [ESI+170]\r
1495         MOV DWORD PTR [EBP-12], EAX\r
1496         MOV ESI,_pEdit\r
1497         MOV EAX,DWORD PTR [ESI+174]\r
1498         MOV DWORD PTR [EBP-8], EAX\r
1499 L_126:\r
1500         MOV ESI,_pEdit\r
1501         MOV EAX,DWORD PTR [ESI+162]\r
1502         CMP EAX,DWORD PTR [EBP-8]\r
1503         SETB AL\r
1504         AND AL,AL\r
1505         JNZ L_127\r
1506         MOV ESI,_pEdit\r
1507         MOV EAX,DWORD PTR [ESI+162]\r
1508         CMP EAX,DWORD PTR [EBP-12]\r
1509         SETA AL\r
1510         AND AL,AL\r
1511 L_127:\r
1512         JZ L_128\r
1513         XOR EAX,EAX\r
1514         MOV DWORD PTR [EBP-4], EAX\r
1515 L_129:\r
1516         MOV ESI,_pEdit\r
1517         MOV EAX,DWORD PTR [EBP-4]\r
1518         CMP EAX,DWORD PTR [ESI+166]\r
1519         SETBE AL\r
1520         AND AL,AL\r
1521         JZ L_130\r
1522         JMP SHORT L_131\r
1523 L_132:\r
1524         MOV EAX,DWORD PTR [EBP-4]\r
1525         INC DWORD PTR [EBP-4]\r
1526         JMP SHORT L_129\r
1527 L_131:\r
1528         MOV EAX,DWORD PTR [EBP-4]\r
1529         MOV ESI,DWORD PTR [EBP-20]\r
1530         ADD ESI,EAX\r
1531         MOV EAX,DWORD PTR [EBP-4]\r
1532         MOV EBX,ESI\r
1533         MOV ESI,DWORD PTR [EBP-16]\r
1534         ADD ESI,EAX\r
1535         MOVSX EAX,BYTE PTR [ESI]\r
1536         MOV BYTE PTR [EBX], AL\r
1537         JMP L_132\r
1538 L_130:\r
1539         MOV ESI,_pEdit\r
1540         MOV EAX,DWORD PTR [ESI+162]\r
1541         CMP EAX,DWORD PTR [EBP-8]\r
1542         SETB AL\r
1543         AND AL,AL\r
1544         JZ L_133\r
1545         XOR EAX,EAX\r
1546         MOV DWORD PTR [EBP-4], EAX\r
1547 L_134:\r
1548         MOV EAX,DWORD PTR [EBP-12]\r
1549         SUB EAX,DWORD PTR [EBP-8]\r
1550         CMP EAX,DWORD PTR [EBP-4]\r
1551         SETAE AL\r
1552         AND AL,AL\r
1553         JZ L_135\r
1554         JMP SHORT L_136\r
1555 L_137:\r
1556         MOV EAX,DWORD PTR [EBP-4]\r
1557         INC DWORD PTR [EBP-4]\r
1558         JMP SHORT L_134\r
1559 L_136:\r
1560         MOV ESI,_pEdit\r
1561         MOV EAX,DWORD PTR [ESI+162]\r
1562         ADD EAX,DWORD PTR [EBP-4]\r
1563         MOV ESI,DWORD PTR [EBP-16]\r
1564         ADD ESI,EAX\r
1565         MOV EAX,DWORD PTR [EBP-8]\r
1566         ADD EAX,DWORD PTR [EBP-4]\r
1567         MOV EBX,ESI\r
1568         MOV ESI,DWORD PTR [EBP-20]\r
1569         ADD ESI,EAX\r
1570         MOVSX EAX,BYTE PTR [ESI]\r
1571         MOV BYTE PTR [EBX], AL\r
1572         JMP L_137\r
1573 L_135:\r
1574         XOR EAX,EAX\r
1575         MOV DWORD PTR [EBP-4], EAX\r
1576 L_138:\r
1577         MOV ESI,_pEdit\r
1578         MOV EAX,DWORD PTR [EBP-8]\r
1579         SUB EAX,DWORD PTR [ESI+162]\r
1580         SUB EAX,1\r
1581         CMP EAX,DWORD PTR [EBP-4]\r
1582         SETAE AL\r
1583         AND AL,AL\r
1584         JZ L_139\r
1585         JMP SHORT L_140\r
1586 L_141:\r
1587         MOV EAX,DWORD PTR [EBP-4]\r
1588         INC DWORD PTR [EBP-4]\r
1589         JMP SHORT L_138\r
1590 L_140:\r
1591         MOV ESI,_pEdit\r
1592         MOV EAX,DWORD PTR [ESI+162]\r
1593         ADD EAX,DWORD PTR [EBP-12]\r
1594         SUB EAX,DWORD PTR [EBP-8]\r
1595         ADD EAX,1\r
1596         ADD EAX,DWORD PTR [EBP-4]\r
1597         MOV ESI,DWORD PTR [EBP-16]\r
1598         ADD ESI,EAX\r
1599         MOV EBX,ESI\r
1600         MOV ESI,_pEdit\r
1601         MOV EAX,DWORD PTR [ESI+162]\r
1602         ADD EAX,DWORD PTR [EBP-4]\r
1603         MOV ESI,DWORD PTR [EBP-20]\r
1604         ADD ESI,EAX\r
1605         MOVSX EAX,BYTE PTR [ESI]\r
1606         MOV BYTE PTR [EBX], AL\r
1607         JMP L_141\r
1608 L_139:\r
1609 L_133:\r
1610         MOV ESI,_pEdit\r
1611         MOV EAX,DWORD PTR [ESI+162]\r
1612         CMP EAX,DWORD PTR [EBP-12]\r
1613         SETA AL\r
1614         AND AL,AL\r
1615         JZ L_142\r
1616         XOR EAX,EAX\r
1617         MOV DWORD PTR [EBP-4], EAX\r
1618 L_143:\r
1619         MOV ESI,_pEdit\r
1620         MOV EAX,DWORD PTR [ESI+162]\r
1621         SUB EAX,DWORD PTR [EBP-12]\r
1622         SUB EAX,1\r
1623         JZ L_144\r
1624         JMP SHORT L_145\r
1625 L_146:\r
1626         MOV EAX,DWORD PTR [EBP-4]\r
1627         INC DWORD PTR [EBP-4]\r
1628         JMP SHORT L_143\r
1629 L_145:\r
1630         MOV EAX,DWORD PTR [EBP-8]\r
1631         ADD EAX,DWORD PTR [EBP-4]\r
1632         MOV ESI,DWORD PTR [EBP-16]\r
1633         ADD ESI,EAX\r
1634         MOV EAX,DWORD PTR [EBP-12]\r
1635         ADD EAX,1\r
1636         ADD EAX,DWORD PTR [EBP-4]\r
1637         MOV EBX,ESI\r
1638         MOV ESI,DWORD PTR [EBP-20]\r
1639         ADD ESI,EAX\r
1640         MOVSX EAX,BYTE PTR [ESI]\r
1641         MOV BYTE PTR [EBX], AL\r
1642         JMP L_146\r
1643 L_144:\r
1644         MOV ESI,_pEdit\r
1645         MOV EBX,ESI\r
1646         MOV ESI,_pEdit\r
1647         MOV EAX,DWORD PTR [ESI+162]\r
1648         SUB EAX,DWORD PTR [EBP-12]\r
1649         ADD EAX,DWORD PTR [EBP-8]\r
1650         SUB EAX,1\r
1651         MOV DWORD PTR [EBX+162], EAX\r
1652         XOR EAX,EAX\r
1653         MOV DWORD PTR [EBP-4], EAX\r
1654 L_147:\r
1655         MOV EAX,DWORD PTR [EBP-12]\r
1656         SUB EAX,DWORD PTR [EBP-8]\r
1657         CMP EAX,DWORD PTR [EBP-4]\r
1658         SETAE AL\r
1659         AND AL,AL\r
1660         JZ L_148\r
1661         JMP SHORT L_149\r
1662 L_150:\r
1663         MOV EAX,DWORD PTR [EBP-4]\r
1664         INC DWORD PTR [EBP-4]\r
1665         JMP SHORT L_147\r
1666 L_149:\r
1667         MOV ESI,_pEdit\r
1668         MOV EAX,DWORD PTR [ESI+162]\r
1669         ADD EAX,DWORD PTR [EBP-4]\r
1670         MOV ESI,DWORD PTR [EBP-16]\r
1671         ADD ESI,EAX\r
1672         MOV EAX,DWORD PTR [EBP-8]\r
1673         ADD EAX,DWORD PTR [EBP-4]\r
1674         MOV EBX,ESI\r
1675         MOV ESI,DWORD PTR [EBP-20]\r
1676         ADD ESI,EAX\r
1677         MOVSX EAX,BYTE PTR [ESI]\r
1678         MOV BYTE PTR [EBX], AL\r
1679         JMP L_150\r
1680 L_148:\r
1681 L_142:\r
1682         MOV ESI,_pEdit\r
1683         MOV EAX,DWORD PTR [ESI+162]\r
1684         ADD EAX,DWORD PTR [EBP-12]\r
1685         SUB EAX,DWORD PTR [EBP-8]\r
1686         MOV DWORD PTR [EBP-12], EAX\r
1687         MOV ESI,_pEdit\r
1688         MOV EAX,DWORD PTR [ESI+162]\r
1689         MOV DWORD PTR [EBP-8], EAX\r
1690         MOV ESI,_pEdit\r
1691         MOV EBX,ESI\r
1692         MOV ESI,_pEdit\r
1693         MOV EAX,DWORD PTR [EBX+174]\r
1694         CMP EAX,DWORD PTR [ESI+170]\r
1695         SETA AL\r
1696         AND AL,AL\r
1697         JZ L_151\r
1698         MOV ESI,_pEdit\r
1699         MOV EAX,DWORD PTR [EBP-12]\r
1700         MOV DWORD PTR [ESI+174], EAX\r
1701         MOV ESI,_pEdit\r
1702         MOV EAX,DWORD PTR [EBP-8]\r
1703         MOV DWORD PTR [ESI+170], EAX\r
1704         JMP L_152\r
1705 L_151:\r
1706         MOV ESI,_pEdit\r
1707         MOV EAX,DWORD PTR [EBP-12]\r
1708         MOV DWORD PTR [ESI+170], EAX\r
1709         MOV ESI,_pEdit\r
1710         MOV EAX,DWORD PTR [EBP-8]\r
1711         MOV DWORD PTR [ESI+174], EAX\r
1712 L_152:\r
1713 L_128:\r
1714         JMP L_153\r
1715 L_124:\r
1716         CALL FWORD PTR _Beep\r
1717 L_153:\r
1718         MOV ESP,EBP\r
1719         POP EBP\r
1720         RETN\r
1721 PUBLIC _CopyIt:\r
1722         PUSH EBP\r
1723         MOV EBP,ESP\r
1724         SUB ESP,16\r
1725         MOV ESI,_pEdit\r
1726         MOV EAX,DWORD PTR [ESI]\r
1727         MOV DWORD PTR [EBP-12], EAX\r
1728         MOV ESI,_pEdit\r
1729         MOV EAX,DWORD PTR [ESI+4]\r
1730         MOV DWORD PTR [EBP-16], EAX\r
1731         MOV ESI,_pEdit\r
1732         MOV EAX,DWORD PTR [ESI+170]\r
1733         CMP EAX,99999\r
1734         SETB AL\r
1735         AND AL,AL\r
1736         JZ L_154\r
1737         MOV EAX,1\r
1738         MOV _fModified, AL\r
1739         MOV ESI,_pEdit\r
1740         MOV EBX,ESI\r
1741         MOV ESI,_pEdit\r
1742         MOV EAX,DWORD PTR [EBX+170]\r
1743         CMP EAX,DWORD PTR [ESI+174]\r
1744         SETBE AL\r
1745         AND AL,AL\r
1746         JZ L_155\r
1747         MOV ESI,_pEdit\r
1748         MOV EAX,DWORD PTR [ESI+170]\r
1749         MOV DWORD PTR [EBP-4], EAX\r
1750         MOV ESI,_pEdit\r
1751         MOV EAX,DWORD PTR [ESI+174]\r
1752         MOV DWORD PTR [EBP-8], EAX\r
1753         JMP L_156\r
1754 L_155:\r
1755         MOV ESI,_pEdit\r
1756         MOV EAX,DWORD PTR [ESI+170]\r
1757         MOV DWORD PTR [EBP-8], EAX\r
1758         MOV ESI,_pEdit\r
1759         MOV EAX,DWORD PTR [ESI+174]\r
1760         MOV DWORD PTR [EBP-4], EAX\r
1761 L_156:\r
1762         MOV ESI,_pEdit\r
1763         MOV EAX,DWORD PTR [ESI+166]\r
1764         ADD EAX,DWORD PTR [EBP-8]\r
1765         SUB EAX,DWORD PTR [EBP-4]\r
1766         ADD EAX,1\r
1767         MOV EBX,EAX\r
1768         MOV ESI,_pEdit\r
1769         MOV EAX,EBX\r
1770         CMP EAX,DWORD PTR [ESI+112]\r
1771         SETB AL\r
1772         AND AL,AL\r
1773         JZ L_157\r
1774         PUSH DWORD PTR [EBP-12]\r
1775         PUSH DWORD PTR [EBP-16]\r
1776         MOV ESI,_pEdit\r
1777         MOV EAX,DWORD PTR [ESI+166]\r
1778         ADD EAX,1\r
1779         PUSH EAX\r
1780         CALL FWORD PTR _CopyData\r
1781         MOV EAX,DWORD PTR [EBP-4]\r
1782         MOV ESI,DWORD PTR [EBP-16]\r
1783         ADD ESI,EAX\r
1784         PUSH ESI\r
1785         MOV ESI,_pEdit\r
1786         MOV EAX,DWORD PTR [ESI+162]\r
1787         MOV ESI,DWORD PTR [EBP-12]\r
1788         ADD ESI,EAX\r
1789         PUSH ESI\r
1790         MOV EAX,DWORD PTR [EBP-8]\r
1791         SUB EAX,DWORD PTR [EBP-4]\r
1792         ADD EAX,1\r
1793         PUSH EAX\r
1794         CALL FWORD PTR _CopyData\r
1795         MOV ESI,_pEdit\r
1796         MOV EBX,ESI\r
1797         MOV ESI,_pEdit\r
1798         MOV EAX,DWORD PTR [EBX+166]\r
1799         CMP EAX,DWORD PTR [ESI+162]\r
1800         SETAE AL\r
1801         AND AL,AL\r
1802         JZ L_158\r
1803         MOV ESI,_pEdit\r
1804         MOV EAX,DWORD PTR [ESI+162]\r
1805         MOV ESI,DWORD PTR [EBP-16]\r
1806         ADD ESI,EAX\r
1807         PUSH ESI\r
1808         MOV ESI,_pEdit\r
1809         MOV EAX,DWORD PTR [ESI+162]\r
1810         ADD EAX,DWORD PTR [EBP-8]\r
1811         SUB EAX,DWORD PTR [EBP-4]\r
1812         ADD EAX,1\r
1813         MOV ESI,DWORD PTR [EBP-12]\r
1814         ADD ESI,EAX\r
1815         PUSH ESI\r
1816         MOV ESI,_pEdit\r
1817         MOV EBX,ESI\r
1818         MOV ESI,_pEdit\r
1819         MOV EAX,DWORD PTR [EBX+166]\r
1820         SUB EAX,DWORD PTR [ESI+162]\r
1821         ADD EAX,1\r
1822         PUSH EAX\r
1823         CALL FWORD PTR _CopyData\r
1824 L_158:\r
1825         MOV ESI,_pEdit\r
1826         MOV EAX,DWORD PTR [ESI+162]\r
1827         ADD EAX,DWORD PTR [EBP-8]\r
1828         SUB EAX,DWORD PTR [EBP-4]\r
1829         MOV DWORD PTR [EBP-8], EAX\r
1830         MOV ESI,_pEdit\r
1831         MOV EAX,DWORD PTR [ESI+162]\r
1832         MOV DWORD PTR [EBP-4], EAX\r
1833         MOV ESI,_pEdit\r
1834         MOV EBX,ESI\r
1835         MOV ESI,_pEdit\r
1836         MOV EAX,DWORD PTR [ESI+162]\r
1837         ADD EAX,DWORD PTR [EBP-8]\r
1838         SUB EAX,DWORD PTR [EBP-4]\r
1839         ADD EAX,1\r
1840         MOV DWORD PTR [EBX+162], EAX\r
1841         MOV ESI,_pEdit\r
1842         MOV EBX,ESI\r
1843         MOV ESI,_pEdit\r
1844         MOV EAX,DWORD PTR [ESI+166]\r
1845         ADD EAX,DWORD PTR [EBP-8]\r
1846         SUB EAX,DWORD PTR [EBP-4]\r
1847         ADD EAX,1\r
1848         MOV DWORD PTR [EBX+166], EAX\r
1849         MOV ESI,_pEdit\r
1850         MOV EBX,ESI\r
1851         MOV ESI,_pEdit\r
1852         MOV EAX,DWORD PTR [EBX+174]\r
1853         CMP EAX,DWORD PTR [ESI+170]\r
1854         SETA AL\r
1855         AND AL,AL\r
1856         JZ L_159\r
1857         MOV ESI,_pEdit\r
1858         MOV EAX,DWORD PTR [EBP-8]\r
1859         MOV DWORD PTR [ESI+174], EAX\r
1860         MOV ESI,_pEdit\r
1861         MOV EAX,DWORD PTR [EBP-4]\r
1862         MOV DWORD PTR [ESI+170], EAX\r
1863         JMP L_160\r
1864 L_159:\r
1865         MOV ESI,_pEdit\r
1866         MOV EAX,DWORD PTR [EBP-8]\r
1867         MOV DWORD PTR [ESI+170], EAX\r
1868         MOV ESI,_pEdit\r
1869         MOV EAX,DWORD PTR [EBP-4]\r
1870         MOV DWORD PTR [ESI+174], EAX\r
1871 L_160:\r
1872 L_157:\r
1873         JMP L_161\r
1874 L_154:\r
1875         CALL FWORD PTR _Beep\r
1876 L_161:\r
1877         MOV ESP,EBP\r
1878         POP EBP\r
1879         RETN\r
1880 PUBLIC _normAttr:\r
1881         PUSH EBP\r
1882         MOV EBP,ESP\r
1883         SUB ESP,4\r
1884         MOV ESI,_pEdit\r
1885         MOV EAX,DWORD PTR [ESI+120]\r
1886         MOV DWORD PTR [EBP-4], EAX\r
1887 L_162:\r
1888         MOV ESI,_pEdit\r
1889         MOV EAX,DWORD PTR [EBP-4]\r
1890         CMP EAX,DWORD PTR [ESI+128]\r
1891         SETBE AL\r
1892         AND AL,AL\r
1893         JZ L_163\r
1894         JMP SHORT L_164\r
1895 L_165:\r
1896         MOV EAX,DWORD PTR [EBP-4]\r
1897         INC DWORD PTR [EBP-4]\r
1898         JMP SHORT L_162\r
1899 L_164:\r
1900         MOV ESI,_pEdit\r
1901         PUSH DWORD PTR [ESI+116]\r
1902         PUSH DWORD PTR [EBP-4]\r
1903         MOV ESI,_pEdit\r
1904         PUSH DWORD PTR [ESI+132]\r
1905         MOV ESI,_pEdit\r
1906         PUSH DWORD PTR [ESI+142]\r
1907         CALL FWORD PTR _PutVidAttrs\r
1908         JMP L_165\r
1909 L_163:\r
1910         MOV ESP,EBP\r
1911         POP EBP\r
1912         RETN\r
1913 PUBLIC _nullMarkBound:\r
1914         PUSH EBP\r
1915         MOV EBP,ESP\r
1916         MOV ESI,_pEdit\r
1917         MOV EAX,99999\r
1918         MOV DWORD PTR [ESI+170], EAX\r
1919         MOV ESI,_pEdit\r
1920         MOV EAX,99999\r
1921         MOV DWORD PTR [ESI+174], EAX\r
1922         CALL _normAttr\r
1923         POP EBP\r
1924         RETN\r
1925 PUBLIC _deleteData:\r
1926         PUSH EBP\r
1927         MOV EBP,ESP\r
1928         SUB ESP,21\r
1929         MOV ESI,_pEdit\r
1930         MOV EAX,DWORD PTR [ESI]\r
1931         MOV DWORD PTR [EBP-17], EAX\r
1932         MOV ESI,_pEdit\r
1933         MOV EAX,DWORD PTR [ESI+4]\r
1934         MOV DWORD PTR [EBP-21], EAX\r
1935         MOV ESI,_pEdit\r
1936         MOV EAX,DWORD PTR [ESI+170]\r
1937         CMP EAX,99999\r
1938         SETB AL\r
1939         AND AL,AL\r
1940         JZ L_166\r
1941         MOV EAX,1\r
1942         MOV _fModified, AL\r
1943         MOV ESI,_pEdit\r
1944         MOV EBX,ESI\r
1945         MOV ESI,_pEdit\r
1946         MOV EAX,DWORD PTR [EBX+170]\r
1947         CMP EAX,DWORD PTR [ESI+174]\r
1948         SETBE AL\r
1949         AND AL,AL\r
1950         JZ L_167\r
1951         MOV ESI,_pEdit\r
1952         MOV EAX,DWORD PTR [ESI+170]\r
1953         MOV DWORD PTR [EBP-8], EAX\r
1954         MOV ESI,_pEdit\r
1955         MOV EAX,DWORD PTR [ESI+174]\r
1956         MOV DWORD PTR [EBP-12], EAX\r
1957         JMP L_168\r
1958 L_167:\r
1959         MOV ESI,_pEdit\r
1960         MOV EAX,DWORD PTR [ESI+170]\r
1961         MOV DWORD PTR [EBP-12], EAX\r
1962         MOV ESI,_pEdit\r
1963         MOV EAX,DWORD PTR [ESI+174]\r
1964         MOV DWORD PTR [EBP-8], EAX\r
1965 L_168:\r
1966         MOV ESI,_pEdit\r
1967         MOV EAX,DWORD PTR [ESI+150]\r
1968         CMP EAX,DWORD PTR [EBP-8]\r
1969         SETAE AL\r
1970         AND AL,AL\r
1971         JZ L_169\r
1972         MOV ESI,_pEdit\r
1973         MOV EAX,DWORD PTR [ESI+150]\r
1974         CMP EAX,DWORD PTR [EBP-12]\r
1975         SETBE AL\r
1976         AND AL,AL\r
1977 L_169:\r
1978         JZ L_170\r
1979         MOV EAX,1\r
1980         MOV BYTE PTR [EBP-13], AL\r
1981         JMP L_171\r
1982 L_170:\r
1983         XOR EAX,EAX\r
1984         MOV BYTE PTR [EBP-13], AL\r
1985 L_171:\r
1986         MOV EAX,DWORD PTR [EBP-12]\r
1987         ADD EAX,1\r
1988         MOV ESI,DWORD PTR [EBP-17]\r
1989         ADD ESI,EAX\r
1990         PUSH ESI\r
1991         MOV EAX,DWORD PTR [EBP-8]\r
1992         MOV ESI,DWORD PTR [EBP-17]\r
1993         ADD ESI,EAX\r
1994         PUSH ESI\r
1995         MOV ESI,_pEdit\r
1996         MOV EAX,DWORD PTR [ESI+166]\r
1997         SUB EAX,DWORD PTR [EBP-12]\r
1998         PUSH EAX\r
1999         CALL FWORD PTR _CopyData\r
2000         MOV ESI,_pEdit\r
2001         MOV EBX,ESI\r
2002         MOV ESI,_pEdit\r
2003         MOV EAX,DWORD PTR [ESI+166]\r
2004         SUB EAX,DWORD PTR [EBP-12]\r
2005         ADD EAX,DWORD PTR [EBP-8]\r
2006         SUB EAX,1\r
2007         MOV DWORD PTR [EBX+166], EAX\r
2008         MOV ESI,_pEdit\r
2009         MOV EAX,DWORD PTR [ESI+162]\r
2010         CMP EAX,DWORD PTR [EBP-12]\r
2011         SETA AL\r
2012         AND AL,AL\r
2013         JZ L_172\r
2014         MOV ESI,_pEdit\r
2015         MOV EBX,ESI\r
2016         MOV ESI,_pEdit\r
2017         MOV EAX,DWORD PTR [ESI+162]\r
2018         SUB EAX,DWORD PTR [EBP-12]\r
2019         ADD EAX,DWORD PTR [EBP-8]\r
2020         MOV DWORD PTR [EBX+162], EAX\r
2021         JMP L_173\r
2022 L_172:\r
2023         MOV ESI,_pEdit\r
2024         MOV EAX,DWORD PTR [ESI+162]\r
2025         CMP EAX,DWORD PTR [EBP-8]\r
2026         SETA AL\r
2027         AND AL,AL\r
2028         JZ L_174\r
2029         MOV ESI,_pEdit\r
2030         MOV EAX,DWORD PTR [ESI+162]\r
2031         CMP EAX,DWORD PTR [EBP-12]\r
2032         SETBE AL\r
2033         AND AL,AL\r
2034 L_174:\r
2035         JZ L_175\r
2036         MOV ESI,_pEdit\r
2037         MOV EAX,DWORD PTR [EBP-8]\r
2038         MOV DWORD PTR [ESI+162], EAX\r
2039 L_175:\r
2040 L_173:\r
2041         MOV ESI,_pEdit\r
2042         MOV EBX,ESI\r
2043         MOV ESI,_pEdit\r
2044         MOV EAX,DWORD PTR [EBX+162]\r
2045         CMP EAX,DWORD PTR [ESI+166]\r
2046         SETA AL\r
2047         AND AL,AL\r
2048         JZ L_176\r
2049         MOV ESI,_pEdit\r
2050         MOV EBX,ESI\r
2051         MOV ESI,_pEdit\r
2052         MOV EAX,DWORD PTR [ESI+166]\r
2053         MOV DWORD PTR [EBX+162], EAX\r
2054 L_176:\r
2055         MOVSX EAX,BYTE PTR [EBP-13]\r
2056         AND EAX,EAX\r
2057         JZ L_177\r
2058         MOV ESI,_pEdit\r
2059         PUSH DWORD PTR [ESI+162]\r
2060         CALL _findPrevLine\r
2061         MOV DWORD PTR [EBP-4], EAX\r
2062         MOV ESI,_pEdit\r
2063         MOV EAX,DWORD PTR [EBP-4]\r
2064         MOV DWORD PTR [ESI+150], EAX\r
2065 L_177:\r
2066         CALL _nullMarkBound\r
2067 L_166:\r
2068         MOV ESP,EBP\r
2069         POP EBP\r
2070         RETN\r
2071 PUBLIC _findCursor:\r
2072         PUSH EBP\r
2073         MOV EBP,ESP\r
2074         SUB ESP,8\r
2075         MOV ESI,_pEdit\r
2076         MOV EAX,DWORD PTR [ESI+120]\r
2077         MOV DWORD PTR [EBP-4], EAX\r
2078 L_178:\r
2079         MOV ESI,_pEdit\r
2080         MOV EAX,DWORD PTR [EBP-4]\r
2081         CMP EAX,DWORD PTR [ESI+128]\r
2082         SETBE AL\r
2083         AND AL,AL\r
2084         JZ L_180\r
2085         MOV ESI,_pEdit\r
2086         MOV EBX,ESI\r
2087         MOV ESI,_pEdit\r
2088         MOV EAX,DWORD PTR [EBP-4]\r
2089         SHL EAX,2\r
2090         ADD ESI,EAX\r
2091         MOV EAX,DWORD PTR [EBX+162]\r
2092         CMP EAX,DWORD PTR [ESI+8]\r
2093         SETAE AL\r
2094         AND AL,AL\r
2095 L_180:\r
2096         JZ L_179\r
2097         MOV EAX,DWORD PTR [EBP-4]\r
2098         INC DWORD PTR [EBP-4]\r
2099         JMP L_178\r
2100 L_179:\r
2101         MOV ESI,_pEdit\r
2102         MOV EAX,DWORD PTR [EBP-4]\r
2103         SUB EAX,1\r
2104         MOV DWORD PTR [ESI+158], EAX\r
2105         MOV ESI,_pEdit\r
2106         MOV EBX,ESI\r
2107         MOV ESI,_pEdit\r
2108         MOV EAX,DWORD PTR [EBX+158]\r
2109         CMP EAX,DWORD PTR [ESI+120]\r
2110         SETB AL\r
2111         AND AL,AL\r
2112         JZ L_181\r
2113         MOV ESI,_pEdit\r
2114         MOV EBX,ESI\r
2115         MOV ESI,_pEdit\r
2116         MOV EAX,DWORD PTR [ESI+120]\r
2117         MOV DWORD PTR [EBX+158], EAX\r
2118 L_181:\r
2119         MOV ESI,_pEdit\r
2120         MOV EAX,DWORD PTR [ESI+158]\r
2121         MOV DWORD PTR [EBP-8], EAX\r
2122         MOV ESI,_pEdit\r
2123         MOV EAX,DWORD PTR [EBP-8]\r
2124         ADD EAX,1\r
2125         SHL EAX,2\r
2126         ADD ESI,EAX\r
2127         MOV EAX,DWORD PTR [ESI+8]\r
2128         CMP EAX,99999\r
2129         SETB AL\r
2130         AND AL,AL\r
2131         JZ L_182\r
2132         MOV ESI,_pEdit\r
2133         MOV EBX,ESI\r
2134         MOV ESI,_pEdit\r
2135         MOV EAX,DWORD PTR [EBP-8]\r
2136         ADD EAX,1\r
2137         SHL EAX,2\r
2138         ADD ESI,EAX\r
2139         MOV EAX,DWORD PTR [EBX+162]\r
2140         CMP EAX,DWORD PTR [ESI+8]\r
2141         SETAE AL\r
2142         AND AL,AL\r
2143 L_182:\r
2144         JZ L_183\r
2145         MOV ESI,_pEdit\r
2146         MOV EBX,ESI\r
2147         MOV ESI,_pEdit\r
2148         MOV EAX,DWORD PTR [ESI+158]\r
2149         ADD EAX,1\r
2150         MOV DWORD PTR [EBX+158], EAX\r
2151 L_183:\r
2152         MOV ESI,_pEdit\r
2153         MOV EAX,DWORD PTR [ESI+158]\r
2154         MOV DWORD PTR [EBP-8], EAX\r
2155         MOV ESI,_pEdit\r
2156         MOV EBX,ESI\r
2157         MOV ESI,_pEdit\r
2158         PUSH EBX\r
2159         MOV EBX,ESI\r
2160         MOV ESI,_pEdit\r
2161         MOV EAX,DWORD PTR [EBP-8]\r
2162         SHL EAX,2\r
2163         ADD ESI,EAX\r
2164         MOV EAX,DWORD PTR [EBX+162]\r
2165         SUB EAX,DWORD PTR [ESI+8]\r
2166         MOV EBX,EAX\r
2167         MOV ESI,_pEdit\r
2168         MOV EAX,EBX\r
2169         ADD EAX,DWORD PTR [ESI+116]\r
2170         POP EDX\r
2171         MOV DWORD PTR [EDX+154], EAX\r
2172         MOV ESI,_pEdit\r
2173         MOV EBX,ESI\r
2174         MOV ESI,_pEdit\r
2175         MOV EAX,DWORD PTR [ESI+128]\r
2176         ADD EAX,1\r
2177         CMP EAX,DWORD PTR [EBX+158]\r
2178         SETB AL\r
2179         AND AL,AL\r
2180         JZ L_184\r
2181         MOV ESI,_pEdit\r
2182         MOV EBX,ESI\r
2183         MOV ESI,_pEdit\r
2184         MOV EAX,DWORD PTR [ESI+128]\r
2185         MOV DWORD PTR [EBX+158], EAX\r
2186 L_184:\r
2187         MOV ESP,EBP\r
2188         POP EBP\r
2189         RETN\r
2190 PUBLIC _coordCursor_oBuf:\r
2191         PUSH EBP\r
2192         MOV EBP,ESP\r
2193         SUB ESP,8\r
2194         MOV ESI,_pEdit\r
2195         MOV EAX,DWORD PTR [ESI+128]\r
2196         ADD EAX,1\r
2197         MOV DWORD PTR [EBP-8], EAX\r
2198         MOV ESI,_pEdit\r
2199         MOV EBX,ESI\r
2200         MOV ESI,_pEdit\r
2201         MOV EAX,DWORD PTR [EBX+162]\r
2202         CMP EAX,DWORD PTR [ESI+150]\r
2203         SETAE AL\r
2204         AND AL,AL\r
2205         JZ L_185\r
2206         MOV ESI,_pEdit\r
2207         MOV EBX,ESI\r
2208         MOV ESI,_pEdit\r
2209         MOV EAX,DWORD PTR [EBP-8]\r
2210         SHL EAX,2\r
2211         ADD ESI,EAX\r
2212         MOV EAX,DWORD PTR [EBX+162]\r
2213         CMP EAX,DWORD PTR [ESI+8]\r
2214         SETB AL\r
2215         AND AL,AL\r
2216 L_185:\r
2217         JZ L_186\r
2218         MOV ESI,_pEdit\r
2219         MOV EAX,DWORD PTR [ESI+158]\r
2220         MOV DWORD PTR [EBP-8], EAX\r
2221         MOV ESI,_pEdit\r
2222         MOV EAX,DWORD PTR [EBP-8]\r
2223         SHL EAX,2\r
2224         ADD ESI,EAX\r
2225         MOV EAX,DWORD PTR [ESI+8]\r
2226         CMP EAX,99999\r
2227         SETE AL\r
2228         AND AL,AL\r
2229         JZ L_187\r
2230         MOV ESI,_pEdit\r
2231         MOV EBX,ESI\r
2232         MOV ESI,_pEdit\r
2233         MOV EAX,DWORD PTR [ESI+124]\r
2234         MOV DWORD PTR [EBX+154], EAX\r
2235 L_187:\r
2236 L_188:\r
2237         MOV ESI,_pEdit\r
2238         MOV EAX,DWORD PTR [EBP-8]\r
2239         SHL EAX,2\r
2240         ADD ESI,EAX\r
2241         MOV EAX,DWORD PTR [ESI+8]\r
2242         CMP EAX,99999\r
2243         SETE AL\r
2244         AND AL,AL\r
2245         JZ L_190\r
2246         MOV ESI,_pEdit\r
2247         MOV EAX,DWORD PTR [EBP-8]\r
2248         CMP EAX,DWORD PTR [ESI+120]\r
2249         SETA AL\r
2250         AND AL,AL\r
2251 L_190:\r
2252         JZ L_189\r
2253         MOV ESI,_pEdit\r
2254         MOV EAX,DWORD PTR [ESI+158]\r
2255         DEC DWORD PTR [ESI+158]\r
2256         MOV ESI,_pEdit\r
2257         MOV EAX,DWORD PTR [ESI+158]\r
2258         MOV DWORD PTR [EBP-8], EAX\r
2259         JMP L_188\r
2260 L_189:\r
2261         MOV ESI,_pEdit\r
2262         MOV EAX,DWORD PTR [ESI+158]\r
2263         MOV DWORD PTR [EBP-8], EAX\r
2264         MOV ESI,_pEdit\r
2265         MOV EBX,ESI\r
2266         MOV ESI,_pEdit\r
2267         MOV EAX,DWORD PTR [EBP-8]\r
2268         SHL EAX,2\r
2269         ADD ESI,EAX\r
2270         PUSH EBX\r
2271         MOV EBX,ESI\r
2272         MOV ESI,_pEdit\r
2273         MOV EAX,DWORD PTR [EBX+8]\r
2274         ADD EAX,DWORD PTR [ESI+154]\r
2275         MOV EBX,EAX\r
2276         MOV ESI,_pEdit\r
2277         MOV EAX,EBX\r
2278         SUB EAX,DWORD PTR [ESI+116]\r
2279         POP EDX\r
2280         MOV DWORD PTR [EDX+162], EAX\r
2281         MOV ESI,_pEdit\r
2282         MOV EBX,ESI\r
2283         MOV ESI,_pEdit\r
2284         MOV EAX,DWORD PTR [EBX+162]\r
2285         CMP EAX,DWORD PTR [ESI+166]\r
2286         SETA AL\r
2287         AND AL,AL\r
2288         JZ L_191\r
2289         MOV ESI,_pEdit\r
2290         MOV EBX,ESI\r
2291         MOV ESI,_pEdit\r
2292         MOV EAX,DWORD PTR [ESI+166]\r
2293         MOV DWORD PTR [EBX+162], EAX\r
2294 L_191:\r
2295         MOV ESI,_pEdit\r
2296         MOV EAX,DWORD PTR [EBP-8]\r
2297         ADD EAX,1\r
2298         SHL EAX,2\r
2299         ADD ESI,EAX\r
2300         MOV EAX,DWORD PTR [ESI+8]\r
2301         MOV DWORD PTR [EBP-4], EAX\r
2302         MOV ESI,_pEdit\r
2303         MOV EAX,DWORD PTR [ESI+162]\r
2304         CMP EAX,DWORD PTR [EBP-4]\r
2305         SETA AL\r
2306         AND AL,AL\r
2307         JZ L_192\r
2308         MOV ESI,_pEdit\r
2309         MOV EAX,DWORD PTR [EBP-4]\r
2310         MOV DWORD PTR [ESI+162], EAX\r
2311 L_192:\r
2312         MOV ESI,_pEdit\r
2313         MOV EAX,DWORD PTR [ESI+162]\r
2314         CMP EAX,DWORD PTR [EBP-4]\r
2315         SETE AL\r
2316         AND AL,AL\r
2317         JZ L_193\r
2318         MOV ESI,_pEdit\r
2319         MOV EAX,DWORD PTR [EBP-4]\r
2320         SUB EAX,1\r
2321         ADD ESI,EAX\r
2322         XOR EAX,EAX\r
2323         MOV AL,BYTE PTR [ESI]\r
2324         CMP EAX,10\r
2325         SETE AL\r
2326         AND AL,AL\r
2327         JZ L_194\r
2328         MOV ESI,_pEdit\r
2329         MOV EAX,DWORD PTR [ESI+162]\r
2330         DEC DWORD PTR [ESI+162]\r
2331 L_194:\r
2332 L_193:\r
2333         MOV ESI,_pEdit\r
2334         MOV EBX,ESI\r
2335         MOV ESI,_pEdit\r
2336         PUSH EBX\r
2337         MOV EBX,ESI\r
2338         MOV ESI,_pEdit\r
2339         MOV EAX,DWORD PTR [EBX+162]\r
2340         ADD EAX,DWORD PTR [ESI+116]\r
2341         MOV EBX,EAX\r
2342         MOV ESI,_pEdit\r
2343         MOV EAX,DWORD PTR [EBP-8]\r
2344         SHL EAX,2\r
2345         ADD ESI,EAX\r
2346         MOV EAX,EBX\r
2347         SUB EAX,DWORD PTR [ESI+8]\r
2348         POP EDX\r
2349         MOV DWORD PTR [EDX+154], EAX\r
2350 L_186:\r
2351         MOV ESP,EBP\r
2352         POP EBP\r
2353         RETN\r
2354 PUBLIC _makeOnScreen:\r
2355         PUSH EBP\r
2356         MOV EBP,ESP\r
2357         SUB ESP,12\r
2358 L_195:\r
2359         MOV ESI,_pEdit\r
2360         MOV EBX,ESI\r
2361         MOV ESI,_pEdit\r
2362         MOV EAX,DWORD PTR [EBX+162]\r
2363         CMP EAX,DWORD PTR [ESI+150]\r
2364         SETB AL\r
2365         AND AL,AL\r
2366         JZ L_196\r
2367         MOV ESI,_pEdit\r
2368         MOV EBX,ESI\r
2369         PUSH EBX\r
2370         MOV ESI,_pEdit\r
2371         PUSH DWORD PTR [ESI+150]\r
2372         CALL _findPrevLine\r
2373         POP EDX\r
2374         MOV DWORD PTR [EDX+150], EAX\r
2375         JMP L_195\r
2376 L_196:\r
2377         MOV ESI,_pEdit\r
2378         MOV EAX,DWORD PTR [ESI+120]\r
2379         MOV DWORD PTR [EBP-12], EAX\r
2380         MOV ESI,_pEdit\r
2381         MOV EAX,DWORD PTR [EBP-12]\r
2382         SHL EAX,2\r
2383         ADD ESI,EAX\r
2384         MOV EBX,ESI\r
2385         MOV ESI,_pEdit\r
2386         MOV EAX,DWORD PTR [ESI+150]\r
2387         MOV DWORD PTR [EBX+8], EAX\r
2388         MOV EAX,DWORD PTR [EBP-12]\r
2389         MOV DWORD PTR [EBP-4], EAX\r
2390 L_197:\r
2391         MOV ESI,_pEdit\r
2392         MOV EAX,DWORD PTR [EBP-4]\r
2393         CMP EAX,DWORD PTR [ESI+128]\r
2394         SETBE AL\r
2395         AND AL,AL\r
2396         JZ L_198\r
2397         JMP SHORT L_199\r
2398 L_200:\r
2399         MOV EAX,DWORD PTR [EBP-4]\r
2400         INC DWORD PTR [EBP-4]\r
2401         JMP SHORT L_197\r
2402 L_199:\r
2403         MOV ESI,_pEdit\r
2404         MOV EAX,DWORD PTR [EBP-4]\r
2405         SHL EAX,2\r
2406         ADD ESI,EAX\r
2407         MOV EAX,DWORD PTR [ESI+8]\r
2408         CMP EAX,99999\r
2409         SETB AL\r
2410         AND AL,AL\r
2411         JZ L_201\r
2412         MOV ESI,_pEdit\r
2413         MOV EAX,DWORD PTR [EBP-4]\r
2414         SHL EAX,2\r
2415         ADD ESI,EAX\r
2416         PUSH DWORD PTR [ESI+8]\r
2417         CALL _findEol\r
2418         MOV DWORD PTR [EBP-8], EAX\r
2419         MOV ESI,_pEdit\r
2420         MOV EAX,DWORD PTR [EBP-8]\r
2421         CMP EAX,DWORD PTR [ESI+166]\r
2422         SETB AL\r
2423         AND AL,AL\r
2424         JZ L_202\r
2425         MOV ESI,_pEdit\r
2426         MOV EAX,DWORD PTR [EBP-4]\r
2427         ADD EAX,1\r
2428         SHL EAX,2\r
2429         ADD ESI,EAX\r
2430         MOV EAX,DWORD PTR [EBP-8]\r
2431         ADD EAX,1\r
2432         MOV DWORD PTR [ESI+8], EAX\r
2433         JMP L_203\r
2434 L_202:\r
2435         MOV EAX,DWORD PTR [EBP-4]\r
2436         ADD EAX,1\r
2437         MOV DWORD PTR [EBP-8], EAX\r
2438 L_204:\r
2439         MOV EAX,DWORD PTR [EBP-8]\r
2440         CMP EAX,26\r
2441         SETB AL\r
2442         AND AL,AL\r
2443         JZ L_205\r
2444         JMP SHORT L_206\r
2445 L_207:\r
2446         MOV EAX,DWORD PTR [EBP-8]\r
2447         INC DWORD PTR [EBP-8]\r
2448         JMP SHORT L_204\r
2449 L_206:\r
2450         MOV ESI,_pEdit\r
2451         MOV EAX,DWORD PTR [EBP-8]\r
2452         SHL EAX,2\r
2453         ADD ESI,EAX\r
2454         MOV EAX,99999\r
2455         MOV DWORD PTR [ESI+8], EAX\r
2456         JMP L_207\r
2457 L_205:\r
2458 L_203:\r
2459 L_201:\r
2460         JMP L_200\r
2461 L_198:\r
2462         MOV ESI,_pEdit\r
2463         MOV EAX,DWORD PTR [ESI+120]\r
2464         MOV DWORD PTR [EBP-8], EAX\r
2465         MOV ESI,_pEdit\r
2466         MOV EAX,DWORD PTR [ESI+128]\r
2467         MOV DWORD PTR [EBP-12], EAX\r
2468 L_208:\r
2469         MOV ESI,_pEdit\r
2470         MOV EBX,ESI\r
2471         MOV ESI,_pEdit\r
2472         MOV EAX,DWORD PTR [EBP-12]\r
2473         ADD EAX,1\r
2474         SHL EAX,2\r
2475         ADD ESI,EAX\r
2476         MOV EAX,DWORD PTR [EBX+162]\r
2477         CMP EAX,DWORD PTR [ESI+8]\r
2478         SETAE AL\r
2479         AND AL,AL\r
2480         JZ L_209\r
2481         MOV EAX,DWORD PTR [EBP-8]\r
2482         MOV DWORD PTR [EBP-4], EAX\r
2483 L_210:\r
2484         MOV EAX,DWORD PTR [EBP-4]\r
2485         CMP EAX,DWORD PTR [EBP-12]\r
2486         SETBE AL\r
2487         AND AL,AL\r
2488         JZ L_211\r
2489         JMP SHORT L_212\r
2490 L_213:\r
2491         MOV EAX,DWORD PTR [EBP-4]\r
2492         INC DWORD PTR [EBP-4]\r
2493         JMP SHORT L_210\r
2494 L_212:\r
2495         MOV ESI,_pEdit\r
2496         MOV EAX,DWORD PTR [EBP-4]\r
2497         SHL EAX,2\r
2498         ADD ESI,EAX\r
2499         MOV EBX,ESI\r
2500         MOV ESI,_pEdit\r
2501         MOV EAX,DWORD PTR [EBP-4]\r
2502         ADD EAX,1\r
2503         SHL EAX,2\r
2504         ADD ESI,EAX\r
2505         MOV EAX,DWORD PTR [ESI+8]\r
2506         MOV DWORD PTR [EBX+8], EAX\r
2507         JMP L_213\r
2508 L_211:\r
2509         MOV ESI,_pEdit\r
2510         MOV EBX,ESI\r
2511         MOV ESI,_pEdit\r
2512         MOV EAX,DWORD PTR [EBP-8]\r
2513         SHL EAX,2\r
2514         ADD ESI,EAX\r
2515         MOV EAX,DWORD PTR [ESI+8]\r
2516         MOV DWORD PTR [EBX+150], EAX\r
2517         MOV ESI,_pEdit\r
2518         MOV EAX,DWORD PTR [EBP-12]\r
2519         SHL EAX,2\r
2520         ADD ESI,EAX\r
2521         PUSH DWORD PTR [ESI+8]\r
2522         CALL _findEol\r
2523         MOV DWORD PTR [EBP-4], EAX\r
2524         MOV ESI,_pEdit\r
2525         MOV EAX,DWORD PTR [EBP-4]\r
2526         CMP EAX,DWORD PTR [ESI+166]\r
2527         SETB AL\r
2528         AND AL,AL\r
2529         JZ L_214\r
2530         MOV ESI,_pEdit\r
2531         MOV EAX,DWORD PTR [EBP-12]\r
2532         ADD EAX,1\r
2533         SHL EAX,2\r
2534         ADD ESI,EAX\r
2535         MOV EAX,DWORD PTR [EBP-4]\r
2536         ADD EAX,1\r
2537         MOV DWORD PTR [ESI+8], EAX\r
2538         JMP L_215\r
2539 L_214:\r
2540         MOV ESI,_pEdit\r
2541         MOV EAX,DWORD PTR [EBP-12]\r
2542         ADD EAX,1\r
2543         SHL EAX,2\r
2544         ADD ESI,EAX\r
2545         MOV EAX,99999\r
2546         MOV DWORD PTR [ESI+8], EAX\r
2547 L_215:\r
2548         JMP L_208\r
2549 L_209:\r
2550         MOV ESP,EBP\r
2551         POP EBP\r
2552         RETN\r
2553 PUBLIC _showScreen:\r
2554         PUSH EBP\r
2555         MOV EBP,ESP\r
2556         SUB ESP,20\r
2557         MOV ESI,_pEdit\r
2558         MOV EAX,DWORD PTR [ESI]\r
2559         MOV DWORD PTR [EBP-20], EAX\r
2560         CALL _makeOnScreen\r
2561         MOV ESI,_pEdit\r
2562         MOV EAX,DWORD PTR [ESI+120]\r
2563         MOV DWORD PTR [EBP-8], EAX\r
2564 L_216:\r
2565         MOV ESI,_pEdit\r
2566         MOV EAX,DWORD PTR [EBP-8]\r
2567         CMP EAX,DWORD PTR [ESI+128]\r
2568         SETBE AL\r
2569         AND AL,AL\r
2570         JZ L_217\r
2571         JMP SHORT L_218\r
2572 L_219:\r
2573         MOV EAX,DWORD PTR [EBP-8]\r
2574         INC DWORD PTR [EBP-8]\r
2575         JMP SHORT L_216\r
2576 L_218:\r
2577         XOR EAX,EAX\r
2578         MOV DWORD PTR [EBP-12], EAX\r
2579         MOV ESI,_pEdit\r
2580         MOV EAX,DWORD PTR [EBP-8]\r
2581         SHL EAX,2\r
2582         ADD ESI,EAX\r
2583         MOV EAX,DWORD PTR [ESI+8]\r
2584         MOV DWORD PTR [EBP-16], EAX\r
2585         MOV EAX,DWORD PTR [EBP-16]\r
2586         CMP EAX,99999\r
2587         SETB AL\r
2588         AND AL,AL\r
2589         JZ L_220\r
2590         MOV ESI,_pEdit\r
2591         MOV EAX,DWORD PTR [EBP-8]\r
2592         ADD EAX,1\r
2593         SHL EAX,2\r
2594         ADD ESI,EAX\r
2595         MOV EAX,DWORD PTR [ESI+8]\r
2596         CMP EAX,99999\r
2597         SETB AL\r
2598         AND AL,AL\r
2599         JZ L_221\r
2600         MOV ESI,_pEdit\r
2601         MOV EAX,DWORD PTR [EBP-8]\r
2602         ADD EAX,1\r
2603         SHL EAX,2\r
2604         ADD ESI,EAX\r
2605         MOV EAX,DWORD PTR [ESI+8]\r
2606         SUB EAX,1\r
2607         MOV DWORD PTR [EBP-4], EAX\r
2608         JMP L_222\r
2609 L_221:\r
2610         MOV ESI,_pEdit\r
2611         MOV EAX,DWORD PTR [ESI+166]\r
2612         MOV DWORD PTR [EBP-4], EAX\r
2613 L_222:\r
2614         MOV EAX,DWORD PTR [EBP-4]\r
2615         SUB EAX,DWORD PTR [EBP-16]\r
2616         ADD EAX,1\r
2617         MOV DWORD PTR [EBP-12], EAX\r
2618         MOV ESI,_pEdit\r
2619         XOR EAX,EAX\r
2620         MOV AL,BYTE PTR [ESI+137]\r
2621         AND EAX,EAX\r
2622         SETZ AL\r
2623         AND AL,AL\r
2624         JZ L_223\r
2625         MOV EAX,DWORD PTR [EBP-4]\r
2626         MOV ESI,DWORD PTR [EBP-20]\r
2627         ADD ESI,EAX\r
2628         MOVSX EAX,BYTE PTR [ESI]\r
2629         CMP EAX,10\r
2630         SETE AL\r
2631         AND AL,AL\r
2632         JZ L_224\r
2633         MOV EAX,DWORD PTR [EBP-12]\r
2634 L_224:\r
2635 L_223:\r
2636         AND EAX,EAX\r
2637         JZ L_225\r
2638         MOV EAX,DWORD PTR [EBP-12]\r
2639         DEC DWORD PTR [EBP-12]\r
2640 L_225:\r
2641 L_220:\r
2642         MOV EAX,DWORD PTR [EBP-12]\r
2643         AND EAX,EAX\r
2644         JZ L_226\r
2645         MOV EAX,DWORD PTR [EBP-16]\r
2646         CMP EAX,99999\r
2647         SETB AL\r
2648         AND AL,AL\r
2649 L_226:\r
2650         JZ L_227\r
2651         MOV ESI,_pEdit\r
2652         PUSH DWORD PTR [ESI+116]\r
2653         PUSH DWORD PTR [EBP-8]\r
2654         MOV EAX,DWORD PTR [EBP-20]\r
2655         ADD EAX,DWORD PTR [EBP-16]\r
2656         PUSH EAX\r
2657         PUSH DWORD PTR [EBP-12]\r
2658         MOV ESI,_pEdit\r
2659         PUSH DWORD PTR [ESI+142]\r
2660         CALL FWORD PTR _PutVidChars\r
2661 L_227:\r
2662         MOV ESI,_pEdit\r
2663         MOV EAX,DWORD PTR [EBP-12]\r
2664         CMP EAX,DWORD PTR [ESI+132]\r
2665         SETB AL\r
2666         AND AL,AL\r
2667         JZ L_228\r
2668         MOV ESI,_pEdit\r
2669         MOV EAX,DWORD PTR [ESI+116]\r
2670         ADD EAX,DWORD PTR [EBP-12]\r
2671         PUSH EAX\r
2672         PUSH DWORD PTR [EBP-8]\r
2673         PUSH DWORD PTR [EBP+8]\r
2674         MOV ESI,_pEdit\r
2675         MOV EAX,DWORD PTR [ESI+132]\r
2676         SUB EAX,DWORD PTR [EBP-12]\r
2677         PUSH EAX\r
2678         MOV ESI,_pEdit\r
2679         PUSH DWORD PTR [ESI+142]\r
2680         CALL FWORD PTR _PutVidChars\r
2681 L_228:\r
2682         PUSH DWORD PTR [EBP-8]\r
2683         CALL _doMark\r
2684         JMP L_219\r
2685 L_217:\r
2686         MOV ESP,EBP\r
2687         POP EBP\r
2688         RETN 4\r
2689 PUBLIC _clearbuf:\r
2690         PUSH EBP\r
2691         MOV EBP,ESP\r
2692         SUB ESP,8\r
2693         MOV ESI,_pEdit\r
2694         MOV EAX,DWORD PTR [ESI]\r
2695         MOV DWORD PTR [EBP-8], EAX\r
2696         PUSH OFFSET _filler\r
2697         PUSH 80\r
2698         PUSH 32\r
2699         CALL FWORD PTR _FillData\r
2700         XOR EAX,EAX\r
2701         MOV DWORD PTR [EBP-4], EAX\r
2702 L_229:\r
2703         MOV EAX,DWORD PTR [EBP-4]\r
2704         CMP EAX,26\r
2705         SETB AL\r
2706         AND AL,AL\r
2707         JZ L_230\r
2708         JMP SHORT L_231\r
2709 L_232:\r
2710         MOV EAX,DWORD PTR [EBP-4]\r
2711         INC DWORD PTR [EBP-4]\r
2712         JMP SHORT L_229\r
2713 L_231:\r
2714         MOV ESI,_pEdit\r
2715         MOV EAX,DWORD PTR [EBP-4]\r
2716         SHL EAX,2\r
2717         ADD ESI,EAX\r
2718         MOV EAX,99999\r
2719         MOV DWORD PTR [ESI+8], EAX\r
2720         JMP L_232\r
2721 L_230:\r
2722         MOV ESI,_pEdit\r
2723         MOV EAX,DWORD PTR [ESI+120]\r
2724         MOV DWORD PTR [EBP-4], EAX\r
2725         MOV ESI,_pEdit\r
2726         MOV EAX,DWORD PTR [EBP-4]\r
2727         SHL EAX,2\r
2728         ADD ESI,EAX\r
2729         XOR EAX,EAX\r
2730         MOV DWORD PTR [ESI+8], EAX\r
2731         MOV ESI,_pEdit\r
2732         MOV EBX,ESI\r
2733         MOV ESI,_pEdit\r
2734         MOV EAX,DWORD PTR [ESI+116]\r
2735         MOV DWORD PTR [EBX+154], EAX\r
2736         MOV ESI,_pEdit\r
2737         MOV EBX,ESI\r
2738         MOV ESI,_pEdit\r
2739         MOV EAX,DWORD PTR [ESI+120]\r
2740         MOV DWORD PTR [EBX+158], EAX\r
2741         MOV ESI,_pEdit\r
2742         MOV EAX,32\r
2743         MOV BYTE PTR [ESI+136], AL\r
2744         MOV ESI,_pEdit\r
2745         XOR EAX,EAX\r
2746         MOV BYTE PTR [ESI+137], AL\r
2747         XOR EAX,EAX\r
2748         MOV _fModified, AL\r
2749         XOR EAX,EAX\r
2750         MOV _fOvertype, AL\r
2751         MOV ESI,_pEdit\r
2752         XOR EAX,EAX\r
2753         MOV DWORD PTR [ESI+166], EAX\r
2754         MOV ESI,_pEdit\r
2755         XOR EAX,EAX\r
2756         MOV DWORD PTR [ESI+162], EAX\r
2757         MOV ESI,_pEdit\r
2758         XOR EAX,EAX\r
2759         MOV DWORD PTR [ESI+150], EAX\r
2760         MOV ESI,_pEdit\r
2761         MOV EAX,DWORD PTR [ESI+166]\r
2762         MOV ESI,DWORD PTR [EBP-8]\r
2763         ADD ESI,EAX\r
2764         MOV EAX,15\r
2765         MOV BYTE PTR [ESI], AL\r
2766         CALL _nullMarkBound\r
2767         CALL _normAttr\r
2768         MOV ESP,EBP\r
2769         POP EBP\r
2770         RETN\r
2771 PUBLIC _Editor:\r
2772         PUSH EBP\r
2773         MOV EBP,ESP\r
2774         SUB ESP,42\r
2775         MOV ESI,_pEdit\r
2776         MOV EAX,DWORD PTR [ESI]\r
2777         MOV DWORD PTR [EBP-24], EAX\r
2778         MOV ESI,_pEdit\r
2779         MOV EAX,DWORD PTR [ESI+4]\r
2780         MOV DWORD PTR [EBP-28], EAX\r
2781         XOR EAX,EAX\r
2782         MOV BYTE PTR [EBP-19], AL\r
2783         MOV ESI,_pEdit\r
2784         XOR EAX,EAX\r
2785         MOV AL,BYTE PTR [ESI+137]\r
2786         AND EAX,EAX\r
2787         JZ L_233\r
2788         MOV ESI,_pEdit\r
2789         MOV EAX,7\r
2790         MOV BYTE PTR [ESI+136], AL\r
2791         XOR EAX,EAX\r
2792         MOV DWORD PTR [EBP-4], EAX\r
2793 L_234:\r
2794         MOV ESI,_pEdit\r
2795         MOV EAX,DWORD PTR [EBP-4]\r
2796         CMP EAX,DWORD PTR [ESI+166]\r
2797         SETBE AL\r
2798         AND AL,AL\r
2799         JZ L_235\r
2800         JMP SHORT L_236\r
2801 L_237:\r
2802         MOV EAX,DWORD PTR [EBP-4]\r
2803         INC DWORD PTR [EBP-4]\r
2804         JMP SHORT L_234\r
2805 L_236:\r
2806         MOV EAX,DWORD PTR [EBP-4]\r
2807         MOV ESI,DWORD PTR [EBP-24]\r
2808         ADD ESI,EAX\r
2809         MOVSX EAX,BYTE PTR [ESI]\r
2810         CMP EAX,32\r
2811         SETE AL\r
2812         AND AL,AL\r
2813         JZ L_238\r
2814         MOV EAX,DWORD PTR [EBP-4]\r
2815         MOV ESI,DWORD PTR [EBP-24]\r
2816         ADD ESI,EAX\r
2817         MOV EBX,ESI\r
2818         MOV ESI,_pEdit\r
2819         XOR EAX,EAX\r
2820         MOV AL,BYTE PTR [ESI+136]\r
2821         MOV BYTE PTR [EBX], AL\r
2822 L_238:\r
2823         JMP L_237\r
2824 L_235:\r
2825         JMP L_239\r
2826 L_233:\r
2827         MOV ESI,_pEdit\r
2828         MOV EAX,32\r
2829         MOV BYTE PTR [ESI+136], AL\r
2830 L_239:\r
2831         CALL _normAttr\r
2832         MOV EAX,1\r
2833         MOV BYTE PTR [EBP-18], AL\r
2834         MOV ESI,_pEdit\r
2835         MOV EAX,DWORD PTR [ESI+166]\r
2836         MOV ESI,DWORD PTR [EBP-24]\r
2837         ADD ESI,EAX\r
2838         MOV EAX,15\r
2839         MOV BYTE PTR [ESI], AL\r
2840         LEA EAX,DWORD PTR [EBP-32]\r
2841         PUSH EAX\r
2842         CALL FWORD PTR _AllocExch\r
2843         MOV _erc, EAX\r
2844 L_240:\r
2845         MOVSX EAX,BYTE PTR [EBP-19]\r
2846         AND EAX,EAX\r
2847         JNZ L_241\r
2848         MOVSX EAX,BYTE PTR [EBP-18]\r
2849         AND EAX,EAX\r
2850         JZ L_242\r
2851         PUSH OFFSET _filler\r
2852         CALL _showScreen\r
2853         CALL _findCursor\r
2854         XOR EAX,EAX\r
2855         MOV BYTE PTR [EBP-18], AL\r
2856 L_242:\r
2857         MOV ESI,_pEdit\r
2858         PUSH DWORD PTR [ESI+154]\r
2859         MOV ESI,_pEdit\r
2860         PUSH DWORD PTR [ESI+158]\r
2861         CALL FWORD PTR _SetXY\r
2862         PUSH OFFSET _aStat\r
2863         PUSH 80\r
2864         PUSH 32\r
2865         CALL FWORD PTR _FillData\r
2866         CALL _CountEols\r
2867         MOV EBX,EAX\r
2868         MOV ESI,_pEdit\r
2869         MOV EAX,EBX\r
2870         ADD EAX,DWORD PTR [ESI+158]\r
2871         MOV DWORD PTR [EBP-4], EAX\r
2872         PUSH OFFSET _aStat\r
2873         PUSH OFFSET L_lit+384\r
2874         MOV ESI,_pEdit\r
2875         PUSH DWORD PTR [ESI+154]\r
2876         PUSH DWORD PTR [EBP-4]\r
2877         MOV ESI,_pEdit\r
2878         PUSH DWORD PTR [ESI+166]\r
2879         MOV EDI, 12\r
2880         CALL _sprintf\r
2881         ADD ESP,20\r
2882         MOV EAX,_cbFilename\r
2883         AND EAX,EAX\r
2884         JZ L_243\r
2885         PUSH OFFSET _Filename\r
2886         MOV EAX,40\r
2887         MOV ESI,OFFSET _aStat\r
2888         ADD ESI,EAX\r
2889         PUSH ESI\r
2890         PUSH _cbFilename\r
2891         CALL FWORD PTR _CopyData\r
2892 L_243:\r
2893         MOVSX EAX,_fOvertype\r
2894         AND EAX,EAX\r
2895         JZ L_244\r
2896         PUSH OFFSET L_lit+415\r
2897         MOV EAX,77\r
2898         MOV ESI,OFFSET _aStat\r
2899         ADD ESI,EAX\r
2900         PUSH ESI\r
2901         PUSH 3\r
2902         CALL FWORD PTR _CopyData\r
2903         JMP L_245\r
2904 L_244:\r
2905         PUSH OFFSET L_lit+419\r
2906         MOV EAX,77\r
2907         MOV ESI,OFFSET _aStat\r
2908         ADD ESI,EAX\r
2909         PUSH ESI\r
2910         PUSH 3\r
2911         CALL FWORD PTR _CopyData\r
2912 L_245:\r
2913         XOR EAX,EAX\r
2914         PUSH EAX\r
2915         XOR EAX,EAX\r
2916         PUSH EAX\r
2917         PUSH OFFSET _aStat\r
2918         PUSH 80\r
2919         PUSH 48\r
2920         CALL FWORD PTR _PutVidChars\r
2921         XOR EAX,EAX\r
2922         MOV BYTE PTR [EBP-17], AL\r
2923         PUSH 7\r
2924         LEA EAX,DWORD PTR [EBP-16]\r
2925         PUSH EAX\r
2926         PUSH 1\r
2927         CALL FWORD PTR _ReadKbd\r
2928         PUSH EAX\r
2929         CALL _CheckErc\r
2930         MOV EAX,DWORD PTR [EBP-16]\r
2931         AND EAX,255\r
2932         MOV BYTE PTR [EBP-20], AL\r
2933         MOV EAX,DWORD PTR [EBP-16]\r
2934         AND EAX,12288\r
2935         JZ L_246\r
2936         XOR EAX,EAX\r
2937         MOV AL,BYTE PTR [EBP-20]\r
2938         JMP L_248\r
2939 L_249:\r
2940 L_250:\r
2941         MOV ESI,_pEdit\r
2942         XOR EAX,EAX\r
2943         MOV DWORD PTR [ESI+150], EAX\r
2944         MOV ESI,_pEdit\r
2945         XOR EAX,EAX\r
2946         MOV DWORD PTR [ESI+162], EAX\r
2947         MOV ESI,_pEdit\r
2948         MOV EBX,ESI\r
2949         MOV ESI,_pEdit\r
2950         MOV EAX,DWORD PTR [ESI+116]\r
2951         MOV DWORD PTR [EBX+154], EAX\r
2952         MOV ESI,_pEdit\r
2953         MOV EBX,ESI\r
2954         MOV ESI,_pEdit\r
2955         MOV EAX,DWORD PTR [ESI+120]\r
2956         MOV DWORD PTR [EBX+158], EAX\r
2957         MOV EAX,1\r
2958         MOV BYTE PTR [EBP-18], AL\r
2959         JMP L_247\r
2960 L_251:\r
2961 L_252:\r
2962         PUSH 1\r
2963         PUSH 1\r
2964         CALL _SaveFile\r
2965         MOV EAX,1\r
2966         MOV BYTE PTR [EBP-18], AL\r
2967         JMP L_247\r
2968 L_253:\r
2969 L_254:\r
2970         MOV ESI,_pEdit\r
2971         MOV EBX,ESI\r
2972         MOV ESI,_pEdit\r
2973         MOV EAX,DWORD PTR [ESI+166]\r
2974         MOV DWORD PTR [EBX+162], EAX\r
2975         CALL _coordCursor_oBuf\r
2976         MOV EAX,1\r
2977         MOV BYTE PTR [EBP-18], AL\r
2978         JMP L_247\r
2979 L_255:\r
2980         MOV ESI,_pEdit\r
2981         MOV EBX,ESI\r
2982         MOV ESI,_pEdit\r
2983         MOV EAX,DWORD PTR [ESI+120]\r
2984         MOV DWORD PTR [EBX+158], EAX\r
2985         MOV ESI,_pEdit\r
2986         MOV EBX,ESI\r
2987         MOV ESI,_pEdit\r
2988         MOV EAX,DWORD PTR [ESI+116]\r
2989         MOV DWORD PTR [EBX+154], EAX\r
2990         JMP L_247\r
2991 L_256:\r
2992         MOV ESI,_pEdit\r
2993         MOV EBX,ESI\r
2994         MOV ESI,_pEdit\r
2995         MOV EAX,DWORD PTR [ESI+120]\r
2996         MOV DWORD PTR [EBX+158], EAX\r
2997         MOV ESI,_pEdit\r
2998         MOV EAX,DWORD PTR [ESI+158]\r
2999         MOV DWORD PTR [EBP-4], EAX\r
3000 L_257:\r
3001         MOV ESI,_pEdit\r
3002         MOV EAX,DWORD PTR [EBP-4]\r
3003         ADD EAX,1\r
3004         SHL EAX,2\r
3005         ADD ESI,EAX\r
3006         MOV EAX,DWORD PTR [ESI+8]\r
3007         CMP EAX,99999\r
3008         SETB AL\r
3009         AND AL,AL\r
3010         JZ L_259\r
3011         MOV ESI,_pEdit\r
3012         MOV EAX,DWORD PTR [EBP-4]\r
3013         CMP EAX,DWORD PTR [ESI+128]\r
3014         SETB AL\r
3015         AND AL,AL\r
3016 L_259:\r
3017         JZ L_258\r
3018         MOV ESI,_pEdit\r
3019         MOV EAX,DWORD PTR [ESI+158]\r
3020         INC DWORD PTR [ESI+158]\r
3021         MOV ESI,_pEdit\r
3022         MOV EAX,DWORD PTR [ESI+158]\r
3023         MOV DWORD PTR [EBP-4], EAX\r
3024         JMP L_257\r
3025 L_258:\r
3026         MOV ESI,_pEdit\r
3027         MOV EBX,ESI\r
3028         MOV ESI,_pEdit\r
3029         MOV EAX,DWORD PTR [ESI+124]\r
3030         MOV DWORD PTR [EBX+154], EAX\r
3031         CALL _coordCursor_oBuf\r
3032         JMP L_247\r
3033 L_260:\r
3034         MOV ESI,_pEdit\r
3035         MOV EBX,ESI\r
3036         MOV ESI,_pEdit\r
3037         MOV EAX,DWORD PTR [ESI+116]\r
3038         MOV DWORD PTR [EBX+154], EAX\r
3039         JMP L_247\r
3040 L_261:\r
3041         MOV ESI,_pEdit\r
3042         MOV EAX,DWORD PTR [ESI+158]\r
3043         MOV DWORD PTR [EBP-4], EAX\r
3044         MOV ESI,_pEdit\r
3045         MOV EAX,DWORD PTR [EBP-4]\r
3046         ADD EAX,1\r
3047         SHL EAX,2\r
3048         ADD ESI,EAX\r
3049         MOV EAX,DWORD PTR [ESI+8]\r
3050         CMP EAX,99999\r
3051         SETB AL\r
3052         AND AL,AL\r
3053         JZ L_262\r
3054         MOV ESI,_pEdit\r
3055         MOV EBX,ESI\r
3056         MOV ESI,_pEdit\r
3057         PUSH EBX\r
3058         MOV EBX,ESI\r
3059         MOV ESI,_pEdit\r
3060         MOV EAX,DWORD PTR [EBP-4]\r
3061         ADD EAX,1\r
3062         SHL EAX,2\r
3063         ADD ESI,EAX\r
3064         MOV EAX,DWORD PTR [EBX+116]\r
3065         ADD EAX,DWORD PTR [ESI+8]\r
3066         MOV EBX,EAX\r
3067         MOV ESI,_pEdit\r
3068         MOV EAX,DWORD PTR [EBP-4]\r
3069         SHL EAX,2\r
3070         ADD ESI,EAX\r
3071         MOV EAX,EBX\r
3072         SUB EAX,DWORD PTR [ESI+8]\r
3073         POP EDX\r
3074         MOV DWORD PTR [EDX+154], EAX\r
3075         MOV ESI,_pEdit\r
3076         MOV EAX,DWORD PTR [ESI+158]\r
3077         ADD EAX,1\r
3078         MOV DWORD PTR [EBP-4], EAX\r
3079         MOV ESI,_pEdit\r
3080         MOV EAX,DWORD PTR [EBP-4]\r
3081         SHL EAX,2\r
3082         ADD ESI,EAX\r
3083         MOV EAX,DWORD PTR [ESI+8]\r
3084         SUB EAX,1\r
3085         MOV ESI,DWORD PTR [EBP-24]\r
3086         ADD ESI,EAX\r
3087         MOVSX EAX,BYTE PTR [ESI]\r
3088         CMP EAX,10\r
3089         SETE AL\r
3090         AND AL,AL\r
3091         JZ L_263\r
3092         MOV ESI,_pEdit\r
3093         MOV EBX,ESI\r
3094         MOV ESI,_pEdit\r
3095         MOV EAX,DWORD PTR [EBX+154]\r
3096         CMP EAX,DWORD PTR [ESI+116]\r
3097         SETA AL\r
3098         AND AL,AL\r
3099 L_263:\r
3100         JZ L_264\r
3101         MOV ESI,_pEdit\r
3102         MOV EAX,DWORD PTR [ESI+154]\r
3103         DEC DWORD PTR [ESI+154]\r
3104 L_264:\r
3105         JMP L_265\r
3106 L_262:\r
3107         MOV ESI,_pEdit\r
3108         MOV EBX,ESI\r
3109         MOV ESI,_pEdit\r
3110         PUSH EBX\r
3111         MOV EBX,ESI\r
3112         MOV ESI,_pEdit\r
3113         MOV EAX,DWORD PTR [EBX+116]\r
3114         ADD EAX,DWORD PTR [ESI+166]\r
3115         MOV EBX,EAX\r
3116         MOV ESI,_pEdit\r
3117         MOV EAX,DWORD PTR [EBP-4]\r
3118         SHL EAX,2\r
3119         ADD ESI,EAX\r
3120         MOV EAX,EBX\r
3121         SUB EAX,DWORD PTR [ESI+8]\r
3122         POP EDX\r
3123         MOV DWORD PTR [EDX+154], EAX\r
3124 L_265:\r
3125         JMP L_247\r
3126 L_266:\r
3127 L_267:\r
3128         MOV ESI,_pEdit\r
3129         XOR EAX,EAX\r
3130         MOV AL,BYTE PTR [ESI+137]\r
3131         AND EAX,EAX\r
3132         JZ L_268\r
3133         XOR EAX,EAX\r
3134         MOV DWORD PTR [EBP-4], EAX\r
3135 L_269:\r
3136         MOV ESI,_pEdit\r
3137         MOV EAX,DWORD PTR [EBP-4]\r
3138         CMP EAX,DWORD PTR [ESI+166]\r
3139         SETBE AL\r
3140         AND AL,AL\r
3141         JZ L_270\r
3142         JMP SHORT L_271\r
3143 L_272:\r
3144         MOV EAX,DWORD PTR [EBP-4]\r
3145         INC DWORD PTR [EBP-4]\r
3146         JMP SHORT L_269\r
3147 L_271:\r
3148         MOV EAX,DWORD PTR [EBP-4]\r
3149         MOV ESI,DWORD PTR [EBP-24]\r
3150         ADD ESI,EAX\r
3151         MOVSX EAX,BYTE PTR [ESI]\r
3152         CMP EAX,7\r
3153         SETE AL\r
3154         AND AL,AL\r
3155         JZ L_273\r
3156         MOV EAX,DWORD PTR [EBP-4]\r
3157         MOV ESI,DWORD PTR [EBP-24]\r
3158         ADD ESI,EAX\r
3159         MOV EAX,32\r
3160         MOV BYTE PTR [ESI], AL\r
3161 L_273:\r
3162         JMP L_272\r
3163 L_270:\r
3164         MOV ESI,_pEdit\r
3165         XOR EAX,EAX\r
3166         MOV BYTE PTR [ESI+137], AL\r
3167         MOV ESI,_pEdit\r
3168         MOV EAX,32\r
3169         MOV BYTE PTR [ESI+136], AL\r
3170         JMP L_274\r
3171 L_268:\r
3172         XOR EAX,EAX\r
3173         MOV DWORD PTR [EBP-4], EAX\r
3174 L_275:\r
3175         MOV ESI,_pEdit\r
3176         MOV EAX,DWORD PTR [EBP-4]\r
3177         CMP EAX,DWORD PTR [ESI+166]\r
3178         SETBE AL\r
3179         AND AL,AL\r
3180         JZ L_276\r
3181         JMP SHORT L_277\r
3182 L_278:\r
3183         MOV EAX,DWORD PTR [EBP-4]\r
3184         INC DWORD PTR [EBP-4]\r
3185         JMP SHORT L_275\r
3186 L_277:\r
3187         MOV EAX,DWORD PTR [EBP-4]\r
3188         MOV ESI,DWORD PTR [EBP-24]\r
3189         ADD ESI,EAX\r
3190         MOVSX EAX,BYTE PTR [ESI]\r
3191         CMP EAX,32\r
3192         SETE AL\r
3193         AND AL,AL\r
3194         JZ L_279\r
3195         MOV EAX,DWORD PTR [EBP-4]\r
3196         MOV ESI,DWORD PTR [EBP-24]\r
3197         ADD ESI,EAX\r
3198         MOV EAX,7\r
3199         MOV BYTE PTR [ESI], AL\r
3200 L_279:\r
3201         JMP L_278\r
3202 L_276:\r
3203         MOV ESI,_pEdit\r
3204         MOV EAX,1\r
3205         MOV BYTE PTR [ESI+137], AL\r
3206         MOV ESI,_pEdit\r
3207         MOV EAX,7\r
3208         MOV BYTE PTR [ESI+136], AL\r
3209 L_274:\r
3210         MOV EAX,1\r
3211         MOV BYTE PTR [EBP-18], AL\r
3212         JMP L_247\r
3213 L_280:\r
3214 L_281:\r
3215         MOV EAX,_fh\r
3216         AND EAX,EAX\r
3217         JNZ L_282\r
3218         CALL _clearbuf\r
3219         XOR EAX,EAX\r
3220         PUSH EAX\r
3221         CALL _OpenAFile\r
3222         MOV EAX,1\r
3223         MOV BYTE PTR [EBP-18], AL\r
3224 L_282:\r
3225         JMP L_247\r
3226 L_283:\r
3227 L_284:\r
3228         PUSH 1\r
3229         PUSH 1\r
3230         CALL _SaveFile\r
3231         MOV EAX,1\r
3232         MOV BYTE PTR [EBP-19], AL\r
3233         JMP L_247\r
3234 L_285:\r
3235 L_286:\r
3236         XOR EAX,EAX\r
3237         PUSH EAX\r
3238         XOR EAX,EAX\r
3239         PUSH EAX\r
3240         CALL _SaveFile\r
3241         MOV EAX,1\r
3242         MOV BYTE PTR [EBP-18], AL\r
3243         JMP L_247\r
3244 L_287:\r
3245         MOV ESI,_pEdit\r
3246         MOV EAX,DWORD PTR [ESI+170]\r
3247         CMP EAX,99999\r
3248         SETB AL\r
3249         AND AL,AL\r
3250         JZ L_288\r
3251         CALL _deleteData\r
3252         MOV EAX,1\r
3253         MOV BYTE PTR [EBP-18], AL\r
3254 L_288:\r
3255         JMP L_247\r
3256 L_289:\r
3257         JMP L_247\r
3258 L_248:\r
3259         CMP EAX,127\r
3260         JE L_287\r
3261         CMP EAX,115\r
3262         JE L_286\r
3263         CMP EAX,83\r
3264         JE L_285\r
3265         CMP EAX,113\r
3266         JE L_284\r
3267         CMP EAX,81\r
3268         JE L_283\r
3269         CMP EAX,111\r
3270         JE L_281\r
3271         CMP EAX,79\r
3272         JE L_280\r
3273         CMP EAX,118\r
3274         JE L_267\r
3275         CMP EAX,86\r
3276         JE L_266\r
3277         CMP EAX,4\r
3278         JE L_261\r
3279         CMP EAX,3\r
3280         JE L_260\r
3281         CMP EAX,2\r
3282         JE L_256\r
3283         CMP EAX,1\r
3284         JE L_255\r
3285         CMP EAX,101\r
3286         JE L_254\r
3287         CMP EAX,69\r
3288         JE L_253\r
3289         CMP EAX,99\r
3290         JE L_252\r
3291         CMP EAX,67\r
3292         JE L_251\r
3293         CMP EAX,98\r
3294         JE L_250\r
3295         CMP EAX,66\r
3296         JE L_249\r
3297         JMP L_289\r
3298 L_247:\r
3299         JMP L_290\r
3300 L_246:\r
3301         MOV EAX,DWORD PTR [EBP-16]\r
3302         AND EAX,768\r
3303         JZ L_291\r
3304         JMP L_292\r
3305 L_291:\r
3306         XOR EAX,EAX\r
3307         MOV AL,BYTE PTR [EBP-20]\r
3308         CMP EAX,32\r
3309         SETAE AL\r
3310         AND AL,AL\r
3311         JZ L_293\r
3312         XOR EAX,EAX\r
3313         MOV AL,BYTE PTR [EBP-20]\r
3314         CMP EAX,126\r
3315         SETBE AL\r
3316         AND AL,AL\r
3317 L_293:\r
3318         JNZ L_294\r
3319         XOR EAX,EAX\r
3320         MOV AL,BYTE PTR [EBP-20]\r
3321         CMP EAX,13\r
3322         SETE AL\r
3323         AND AL,AL\r
3324 L_294:\r
3325         JZ L_295\r
3326         CALL _coordCursor_oBuf\r
3327         XOR EAX,EAX\r
3328         MOV AL,BYTE PTR [EBP-20]\r
3329         CMP EAX,32\r
3330         SETE AL\r
3331         AND AL,AL\r
3332         JZ L_296\r
3333         MOV ESI,_pEdit\r
3334         XOR EAX,EAX\r
3335         MOV AL,BYTE PTR [ESI+136]\r
3336         MOV BYTE PTR [EBP-20], AL\r
3337 L_296:\r
3338         XOR EAX,EAX\r
3339         MOV AL,BYTE PTR [EBP-20]\r
3340         CMP EAX,13\r
3341         SETE AL\r
3342         AND AL,AL\r
3343         JZ L_297\r
3344         MOV EAX,10\r
3345         MOV BYTE PTR [EBP-20], AL\r
3346 L_297:\r
3347         MOV ESI,_pEdit\r
3348         MOV EAX,DWORD PTR [ESI+162]\r
3349         MOV ESI,DWORD PTR [EBP-24]\r
3350         ADD ESI,EAX\r
3351         MOVSX EAX,BYTE PTR [ESI]\r
3352         CMP EAX,10\r
3353         SETE AL\r
3354         AND AL,AL\r
3355         JZ L_298\r
3356         MOV EAX,1\r
3357         MOV BYTE PTR [EBP-17], AL\r
3358 L_298:\r
3359         XOR EAX,EAX\r
3360         MOV AL,BYTE PTR [EBP-20]\r
3361         PUSH EAX\r
3362         MOVSX EAX,_fOvertype\r
3363         PUSH EAX\r
3364         MOVSX EAX,BYTE PTR [EBP-17]\r
3365         PUSH EAX\r
3366         CALL _putInBuf\r
3367         AND EAX,EAX\r
3368         JNZ L_299\r
3369         CALL FWORD PTR _Beep\r
3370 L_299:\r
3371         CALL _findCursor\r
3372         MOV EAX,1\r
3373         MOV BYTE PTR [EBP-18], AL\r
3374         JMP L_300\r
3375 L_295:\r
3376         MOV EAX,DWORD PTR [EBP-16]\r
3377         AND EAX,3072\r
3378         JZ L_301\r
3379         XOR EAX,EAX\r
3380         MOV AL,BYTE PTR [EBP-20]\r
3381         JMP L_303\r
3382 L_304:\r
3383         MOV ESI,_pEdit\r
3384         MOV EBX,ESI\r
3385         MOV ESI,_pEdit\r
3386         MOV EAX,DWORD PTR [ESI+116]\r
3387         ADD EAX,5\r
3388         CMP EAX,DWORD PTR [EBX+154]\r
3389         SETB AL\r
3390         AND AL,AL\r
3391         JZ L_305\r
3392         MOV ESI,_pEdit\r
3393         MOV EAX,DWORD PTR [ESI+154]\r
3394         SUB EAX,5\r
3395         MOV DWORD PTR [ESI+154], EAX\r
3396         JMP L_306\r
3397 L_305:\r
3398         MOV ESI,_pEdit\r
3399         MOV EBX,ESI\r
3400         MOV ESI,_pEdit\r
3401         MOV EAX,DWORD PTR [EBX+154]\r
3402         CMP EAX,DWORD PTR [ESI+116]\r
3403         SETA AL\r
3404         AND AL,AL\r
3405         JZ L_307\r
3406         MOV ESI,_pEdit\r
3407         MOV EAX,DWORD PTR [ESI+154]\r
3408         DEC DWORD PTR [ESI+154]\r
3409 L_307:\r
3410 L_306:\r
3411         JMP L_302\r
3412 L_308:\r
3413         MOV ESI,_pEdit\r
3414         MOV EBX,ESI\r
3415         MOV ESI,_pEdit\r
3416         MOV EAX,DWORD PTR [ESI+124]\r
3417         SUB EAX,5\r
3418         CMP EAX,DWORD PTR [EBX+154]\r
3419         SETA AL\r
3420         AND AL,AL\r
3421         JZ L_309\r
3422         MOV ESI,_pEdit\r
3423         MOV EAX,DWORD PTR [ESI+154]\r
3424         ADD EAX,5\r
3425         MOV DWORD PTR [ESI+154], EAX\r
3426         JMP L_310\r
3427 L_309:\r
3428         MOV ESI,_pEdit\r
3429         MOV EBX,ESI\r
3430         MOV ESI,_pEdit\r
3431         MOV EAX,DWORD PTR [EBX+154]\r
3432         CMP EAX,DWORD PTR [ESI+124]\r
3433         SETB AL\r
3434         AND AL,AL\r
3435         JZ L_311\r
3436         MOV ESI,_pEdit\r
3437         MOV EAX,DWORD PTR [ESI+154]\r
3438         INC DWORD PTR [ESI+154]\r
3439 L_311:\r
3440 L_310:\r
3441         JMP L_302\r
3442 L_312:\r
3443         JMP L_302\r
3444 L_303:\r
3445         CMP EAX,4\r
3446         JE L_308\r
3447         CMP EAX,3\r
3448         JE L_304\r
3449         JMP L_312\r
3450 L_302:\r
3451         JMP L_313\r
3452 L_301:\r
3453         XOR EAX,EAX\r
3454         MOV AL,BYTE PTR [EBP-20]\r
3455         JMP L_315\r
3456 L_316:\r
3457         MOV ESI,_pEdit\r
3458         MOV EAX,DWORD PTR [ESI+166]\r
3459         AND EAX,EAX\r
3460         JZ L_317\r
3461         CALL _coordCursor_oBuf\r
3462         MOV ESI,_pEdit\r
3463         MOV EAX,DWORD PTR [ESI+162]\r
3464         AND EAX,EAX\r
3465         JZ L_318\r
3466         MOV ESI,_pEdit\r
3467         MOV EBX,ESI\r
3468         MOV ESI,_pEdit\r
3469         MOV EAX,DWORD PTR [ESI+162]\r
3470         SUB EAX,1\r
3471         MOV DWORD PTR [EBX+162], EAX\r
3472         MOVSX EAX,_fOvertype\r
3473         AND EAX,EAX\r
3474         JNZ L_319\r
3475         PUSH DWORD PTR [EBP-24]\r
3476         PUSH DWORD PTR [EBP-28]\r
3477         MOV ESI,_pEdit\r
3478         MOV EAX,DWORD PTR [ESI+166]\r
3479         ADD EAX,1\r
3480         PUSH EAX\r
3481         CALL FWORD PTR _CopyData\r
3482         MOV ESI,_pEdit\r
3483         MOV EAX,DWORD PTR [ESI+162]\r
3484         ADD EAX,1\r
3485         MOV ESI,DWORD PTR [EBP-28]\r
3486         ADD ESI,EAX\r
3487         PUSH ESI\r
3488         MOV ESI,_pEdit\r
3489         MOV EAX,DWORD PTR [ESI+162]\r
3490         MOV ESI,DWORD PTR [EBP-24]\r
3491         ADD ESI,EAX\r
3492         PUSH ESI\r
3493         MOV ESI,_pEdit\r
3494         MOV EBX,ESI\r
3495         MOV ESI,_pEdit\r
3496         MOV EAX,DWORD PTR [EBX+166]\r
3497         SUB EAX,DWORD PTR [ESI+162]\r
3498         PUSH EAX\r
3499         CALL FWORD PTR _CopyData\r
3500         MOV ESI,_pEdit\r
3501         MOV EAX,DWORD PTR [ESI+166]\r
3502         MOV ESI,DWORD PTR [EBP-24]\r
3503         ADD ESI,EAX\r
3504         XOR EAX,EAX\r
3505         MOV BYTE PTR [ESI], AL\r
3506         MOV ESI,_pEdit\r
3507         MOV EBX,ESI\r
3508         MOV ESI,_pEdit\r
3509         MOV EAX,DWORD PTR [ESI+166]\r
3510         SUB EAX,1\r
3511         MOV DWORD PTR [EBX+166], EAX\r
3512         MOV ESI,_pEdit\r
3513         MOV EBX,ESI\r
3514         MOV ESI,_pEdit\r
3515         MOV EAX,DWORD PTR [EBX+170]\r
3516         CMP EAX,DWORD PTR [ESI+174]\r
3517         SETE AL\r
3518         AND AL,AL\r
3519         JZ L_320\r
3520         MOV ESI,_pEdit\r
3521         MOV EBX,ESI\r
3522         MOV ESI,_pEdit\r
3523         MOV EAX,DWORD PTR [EBX+170]\r
3524         CMP EAX,DWORD PTR [ESI+162]\r
3525         SETE AL\r
3526         AND AL,AL\r
3527 L_320:\r
3528         JZ L_321\r
3529         CALL _nullMarkBound\r
3530 L_321:\r
3531         MOV ESI,_pEdit\r
3532         MOV EAX,DWORD PTR [ESI+170]\r
3533         CMP EAX,99999\r
3534         SETB AL\r
3535         AND AL,AL\r
3536         JZ L_322\r
3537         MOV ESI,_pEdit\r
3538         MOV EBX,ESI\r
3539         MOV ESI,_pEdit\r
3540         MOV EAX,DWORD PTR [EBX+162]\r
3541         CMP EAX,DWORD PTR [ESI+170]\r
3542         SETBE AL\r
3543         AND AL,AL\r
3544         JZ L_323\r
3545         MOV ESI,_pEdit\r
3546         MOV EAX,DWORD PTR [ESI+170]\r
3547         DEC DWORD PTR [ESI+170]\r
3548 L_323:\r
3549         MOV ESI,_pEdit\r
3550         MOV EBX,ESI\r
3551         MOV ESI,_pEdit\r
3552         MOV EAX,DWORD PTR [EBX+162]\r
3553         CMP EAX,DWORD PTR [ESI+174]\r
3554         SETBE AL\r
3555         AND AL,AL\r
3556         JZ L_324\r
3557         MOV ESI,_pEdit\r
3558         MOV EAX,DWORD PTR [ESI+174]\r
3559         DEC DWORD PTR [ESI+174]\r
3560 L_324:\r
3561 L_322:\r
3562 L_319:\r
3563 L_318:\r
3564         MOV ESI,_pEdit\r
3565         MOV EBX,ESI\r
3566         MOV ESI,_pEdit\r
3567         MOV EAX,DWORD PTR [EBX+162]\r
3568         CMP EAX,DWORD PTR [ESI+150]\r
3569         SETB AL\r
3570         AND AL,AL\r
3571         JZ L_325\r
3572         MOV ESI,_pEdit\r
3573         MOV EBX,ESI\r
3574         PUSH EBX\r
3575         MOV ESI,_pEdit\r
3576         PUSH DWORD PTR [ESI+150]\r
3577         CALL _findPrevLine\r
3578         POP EDX\r
3579         MOV DWORD PTR [EDX+150], EAX\r
3580 L_325:\r
3581         MOV EAX,1\r
3582         MOV BYTE PTR [EBP-18], AL\r
3583         MOV EAX,1\r
3584         MOV _fModified, AL\r
3585 L_317:\r
3586         JMP L_314\r
3587 L_326:\r
3588         MOV ESI,_pEdit\r
3589         MOV EBX,ESI\r
3590         MOV ESI,_pEdit\r
3591         MOV EAX,DWORD PTR [ESI+116]\r
3592         MOV DWORD PTR [EBX+154], EAX\r
3593         JMP L_314\r
3594 L_327:\r
3595         MOV ESI,_pEdit\r
3596         MOV EBX,ESI\r
3597         MOV ESI,_pEdit\r
3598         MOV EAX,DWORD PTR [EBX+166]\r
3599         ADD EAX,DWORD PTR [ESI+146]\r
3600         MOV EBX,EAX\r
3601         MOV ESI,_pEdit\r
3602         MOV EAX,EBX\r
3603         CMP EAX,DWORD PTR [ESI+112]\r
3604         SETB AL\r
3605         AND AL,AL\r
3606         JZ L_328\r
3607         CALL _coordCursor_oBuf\r
3608         MOV ESI,_pEdit\r
3609         MOV EBX,ESI\r
3610         MOV ESI,_pEdit\r
3611         PUSH EBX\r
3612         MOV EBX,ESI\r
3613         MOV ESI,_pEdit\r
3614         MOV EAX,DWORD PTR [EBX+154]\r
3615         MOV ECX,DWORD PTR [ESI+146]\r
3616         XOR EDX,EDX\r
3617         DIV ECX\r
3618         MOV ECX,EDX\r
3619         POP EDX\r
3620         MOV EAX,DWORD PTR [EDX+146]\r
3621         SUB EAX,ECX\r
3622         MOV DWORD PTR [EBP-8], EAX\r
3623         MOV EAX,1\r
3624         MOV DWORD PTR [EBP-4], EAX\r
3625 L_329:\r
3626         MOV EAX,DWORD PTR [EBP-4]\r
3627         CMP EAX,DWORD PTR [EBP-8]\r
3628         SETBE AL\r
3629         AND AL,AL\r
3630         JZ L_330\r
3631         JMP SHORT L_331\r
3632 L_332:\r
3633         MOV EAX,DWORD PTR [EBP-4]\r
3634         INC DWORD PTR [EBP-4]\r
3635         JMP SHORT L_329\r
3636 L_331:\r
3637         MOV ESI,_pEdit\r
3638         XOR EAX,EAX\r
3639         MOV AL,BYTE PTR [ESI+136]\r
3640         PUSH EAX\r
3641         XOR EAX,EAX\r
3642         PUSH EAX\r
3643         XOR EAX,EAX\r
3644         PUSH EAX\r
3645         CALL _putInBuf\r
3646         JMP L_332\r
3647 L_330:\r
3648         MOV EAX,1\r
3649         MOV BYTE PTR [EBP-18], AL\r
3650 L_328:\r
3651         JMP L_314\r
3652 L_333:\r
3653         CALL _nullMarkBound\r
3654         JMP L_314\r
3655 L_334:\r
3656         MOV ESI,_pEdit\r
3657         MOV EAX,DWORD PTR [ESI+166]\r
3658         CMP EAX,0\r
3659         SETA AL\r
3660         AND AL,AL\r
3661         JZ L_335\r
3662         CALL _coordCursor_oBuf\r
3663         MOV ESI,_pEdit\r
3664         MOV EBX,ESI\r
3665         MOV ESI,_pEdit\r
3666         MOV EAX,DWORD PTR [ESI+162]\r
3667         MOV DWORD PTR [EBX+170], EAX\r
3668         MOV ESI,_pEdit\r
3669         MOV EAX,DWORD PTR [ESI+158]\r
3670         MOV DWORD PTR [EBP-4], EAX\r
3671         MOV ESI,_pEdit\r
3672         MOV EBX,ESI\r
3673         MOV ESI,_pEdit\r
3674         MOV EAX,DWORD PTR [EBP-4]\r
3675         ADD EAX,1\r
3676         SHL EAX,2\r
3677         ADD ESI,EAX\r
3678         MOV EAX,DWORD PTR [EBX+170]\r
3679         CMP EAX,DWORD PTR [ESI+8]\r
3680         SETAE AL\r
3681         AND AL,AL\r
3682         JZ L_336\r
3683         MOV ESI,_pEdit\r
3684         MOV EBX,ESI\r
3685         MOV ESI,_pEdit\r
3686         MOV EAX,DWORD PTR [ESI+170]\r
3687         SUB EAX,1\r
3688         MOV DWORD PTR [EBX+170], EAX\r
3689 L_336:\r
3690         MOV ESI,_pEdit\r
3691         MOV EBX,ESI\r
3692         MOV ESI,_pEdit\r
3693         MOV EAX,DWORD PTR [EBX+170]\r
3694         CMP EAX,DWORD PTR [ESI+166]\r
3695         SETE AL\r
3696         AND AL,AL\r
3697         JZ L_337\r
3698         MOV ESI,_pEdit\r
3699         MOV EBX,ESI\r
3700         MOV ESI,_pEdit\r
3701         MOV EAX,DWORD PTR [ESI+166]\r
3702         SUB EAX,1\r
3703         MOV DWORD PTR [EBX+170], EAX\r
3704 L_337:\r
3705         MOV ESI,_pEdit\r
3706         MOV EBX,ESI\r
3707         MOV ESI,_pEdit\r
3708         MOV EAX,DWORD PTR [ESI+170]\r
3709         MOV DWORD PTR [EBX+174], EAX\r
3710         MOV EAX,1\r
3711         MOV BYTE PTR [EBP-18], AL\r
3712 L_335:\r
3713         JMP L_314\r
3714 L_338:\r
3715         MOV ESI,_pEdit\r
3716         MOV EAX,DWORD PTR [ESI+170]\r
3717         CMP EAX,99999\r
3718         SETB AL\r
3719         AND AL,AL\r
3720         JZ L_339\r
3721         CALL _coordCursor_oBuf\r
3722         MOV ESI,_pEdit\r
3723         MOV EBX,ESI\r
3724         MOV ESI,_pEdit\r
3725         MOV EAX,DWORD PTR [ESI+162]\r
3726         MOV DWORD PTR [EBX+174], EAX\r
3727         MOV ESI,_pEdit\r
3728         MOV EAX,DWORD PTR [ESI+158]\r
3729         MOV DWORD PTR [EBP-4], EAX\r
3730         MOV ESI,_pEdit\r
3731         MOV EBX,ESI\r
3732         MOV ESI,_pEdit\r
3733         MOV EAX,DWORD PTR [EBP-4]\r
3734         ADD EAX,1\r
3735         SHL EAX,2\r
3736         ADD ESI,EAX\r
3737         MOV EAX,DWORD PTR [EBX+174]\r
3738         CMP EAX,DWORD PTR [ESI+8]\r
3739         SETAE AL\r
3740         AND AL,AL\r
3741         JZ L_340\r
3742         MOV ESI,_pEdit\r
3743         MOV EAX,DWORD PTR [ESI+174]\r
3744         DEC DWORD PTR [ESI+174]\r
3745 L_340:\r
3746         MOV ESI,_pEdit\r
3747         MOV EBX,ESI\r
3748         MOV ESI,_pEdit\r
3749         MOV EAX,DWORD PTR [EBX+174]\r
3750         CMP EAX,DWORD PTR [ESI+166]\r
3751         SETE AL\r
3752         AND AL,AL\r
3753         JZ L_341\r
3754         MOV ESI,_pEdit\r
3755         MOV EBX,ESI\r
3756         MOV ESI,_pEdit\r
3757         MOV EAX,DWORD PTR [ESI+166]\r
3758         SUB EAX,1\r
3759         MOV DWORD PTR [EBX+174], EAX\r
3760 L_341:\r
3761         MOV EAX,1\r
3762         MOV BYTE PTR [EBP-18], AL\r
3763 L_339:\r
3764         JMP L_314\r
3765 L_342:\r
3766         CALL _coordCursor_oBuf\r
3767         CALL _moveData\r
3768         MOV ESI,_pEdit\r
3769         MOV EBX,ESI\r
3770         MOV ESI,_pEdit\r
3771         MOV EAX,DWORD PTR [EBX+162]\r
3772         CMP EAX,DWORD PTR [ESI+150]\r
3773         SETB AL\r
3774         AND AL,AL\r
3775         JZ L_343\r
3776         MOV ESI,_pEdit\r
3777         MOV EBX,ESI\r
3778         MOV ESI,_pEdit\r
3779         MOV EAX,DWORD PTR [ESI+162]\r
3780         MOV DWORD PTR [EBX+150], EAX\r
3781 L_343:\r
3782         MOV EAX,1\r
3783         MOV BYTE PTR [EBP-18], AL\r
3784         JMP L_314\r
3785 L_344:\r
3786         CALL _coordCursor_oBuf\r
3787         CALL _CopyIt\r
3788         CALL _coordCursor_oBuf\r
3789         MOV EAX,1\r
3790         MOV BYTE PTR [EBP-18], AL\r
3791         JMP L_314\r
3792 L_345:\r
3793         CALL _coordCursor_oBuf\r
3794         MOV ESI,_pEdit\r
3795         MOV EAX,DWORD PTR [ESI+128]\r
3796         MOV DWORD PTR [EBP-4], EAX\r
3797 L_346:\r
3798         MOV ESI,_pEdit\r
3799         MOV EAX,DWORD PTR [EBP-4]\r
3800         SHL EAX,2\r
3801         ADD ESI,EAX\r
3802         MOV EAX,DWORD PTR [ESI+8]\r
3803         CMP EAX,99999\r
3804         SETE AL\r
3805         AND AL,AL\r
3806         JZ L_348\r
3807         MOV ESI,_pEdit\r
3808         MOV EAX,DWORD PTR [EBP-4]\r
3809         CMP EAX,DWORD PTR [ESI+120]\r
3810         SETA AL\r
3811         AND AL,AL\r
3812 L_348:\r
3813         JZ L_347\r
3814         MOV EAX,DWORD PTR [EBP-4]\r
3815         DEC DWORD PTR [EBP-4]\r
3816         JMP L_346\r
3817 L_347:\r
3818         MOV ESI,_pEdit\r
3819         MOV EBX,ESI\r
3820         MOV ESI,_pEdit\r
3821         MOV EAX,DWORD PTR [EBP-4]\r
3822         SHL EAX,2\r
3823         ADD ESI,EAX\r
3824         MOV EAX,DWORD PTR [ESI+8]\r
3825         MOV DWORD PTR [EBX+150], EAX\r
3826         MOV ESI,_pEdit\r
3827         MOV EBX,ESI\r
3828         MOV ESI,_pEdit\r
3829         MOV EAX,DWORD PTR [EBX+162]\r
3830         CMP EAX,DWORD PTR [ESI+150]\r
3831         SETB AL\r
3832         AND AL,AL\r
3833         JZ L_349\r
3834         MOV ESI,_pEdit\r
3835         MOV EBX,ESI\r
3836         MOV ESI,_pEdit\r
3837         MOV EAX,DWORD PTR [ESI+150]\r
3838         MOV DWORD PTR [EBX+162], EAX\r
3839 L_349:\r
3840         MOV ESI,_pEdit\r
3841         MOV EBX,ESI\r
3842         MOV ESI,_pEdit\r
3843         MOV EAX,DWORD PTR [ESI+120]\r
3844         MOV DWORD PTR [EBX+158], EAX\r
3845         MOV ESI,_pEdit\r
3846         MOV EBX,ESI\r
3847         MOV ESI,_pEdit\r
3848         MOV EAX,DWORD PTR [ESI+116]\r
3849         MOV DWORD PTR [EBX+154], EAX\r
3850         MOV EAX,1\r
3851         MOV BYTE PTR [EBP-18], AL\r
3852         JMP L_314\r
3853 L_350:\r
3854         MOV ESI,_pEdit\r
3855         MOV EAX,DWORD PTR [ESI+150]\r
3856         AND EAX,EAX\r
3857         JZ L_351\r
3858         CALL _coordCursor_oBuf\r
3859         MOV ESI,_pEdit\r
3860         MOV EBX,ESI\r
3861         MOV ESI,_pEdit\r
3862         MOV EAX,DWORD PTR [EBX+128]\r
3863         SUB EAX,DWORD PTR [ESI+120]\r
3864         MOV DWORD PTR [EBP-8], EAX\r
3865         MOV ESI,_pEdit\r
3866         MOV EAX,DWORD PTR [ESI+150]\r
3867         MOV DWORD PTR [EBP-4], EAX\r
3868         MOV ESI,_pEdit\r
3869         MOV EAX,DWORD PTR [ESI+158]\r
3870         MOV DWORD PTR [EBP-12], EAX\r
3871 L_352:\r
3872         PUSH DWORD PTR [EBP-4]\r
3873         CALL _findPrevLine\r
3874         MOV DWORD PTR [EBP-4], EAX\r
3875         MOV EAX,DWORD PTR [EBP-8]\r
3876         DEC DWORD PTR [EBP-8]\r
3877         MOV EAX,DWORD PTR [EBP-12]\r
3878         DEC DWORD PTR [EBP-12]\r
3879 L_353:\r
3880         MOV EAX,DWORD PTR [EBP-8]\r
3881         CMP EAX,0\r
3882         SETA AL\r
3883         AND AL,AL\r
3884         JZ L_355\r
3885         MOV EAX,DWORD PTR [EBP-4]\r
3886         CMP EAX,0\r
3887         SETA AL\r
3888         AND AL,AL\r
3889 L_355:\r
3890         JNZ L_352\r
3891 L_354:\r
3892         MOV ESI,_pEdit\r
3893         MOV EAX,DWORD PTR [EBP-4]\r
3894         MOV DWORD PTR [ESI+150], EAX\r
3895         MOV ESI,_pEdit\r
3896         MOV EBX,ESI\r
3897         MOV ESI,_pEdit\r
3898         MOV EAX,DWORD PTR [EBX+158]\r
3899         CMP EAX,DWORD PTR [ESI+128]\r
3900         SETE AL\r
3901         AND AL,AL\r
3902         JZ L_356\r
3903         MOV ESI,_pEdit\r
3904         MOV EBX,ESI\r
3905         MOV ESI,_pEdit\r
3906         MOV EAX,DWORD PTR [EBP-12]\r
3907         SHL EAX,2\r
3908         ADD ESI,EAX\r
3909         MOV EAX,DWORD PTR [ESI+8]\r
3910         MOV DWORD PTR [EBX+162], EAX\r
3911 L_356:\r
3912         MOV ESI,_pEdit\r
3913         MOV EAX,DWORD PTR [ESI+128]\r
3914         MOV DWORD PTR [EBP-4], EAX\r
3915         MOV ESI,_pEdit\r
3916         MOV EBX,ESI\r
3917         MOV ESI,_pEdit\r
3918         MOV EAX,DWORD PTR [EBP-4]\r
3919         ADD EAX,1\r
3920         SHL EAX,2\r
3921         ADD ESI,EAX\r
3922         MOV EAX,DWORD PTR [EBX+162]\r
3923         CMP EAX,DWORD PTR [ESI+8]\r
3924         SETAE AL\r
3925         AND AL,AL\r
3926         JZ L_357\r
3927         MOV ESI,_pEdit\r
3928         MOV EBX,ESI\r
3929         MOV ESI,_pEdit\r
3930         MOV EAX,DWORD PTR [EBP-4]\r
3931         SHL EAX,2\r
3932         ADD ESI,EAX\r
3933         MOV EAX,DWORD PTR [ESI+8]\r
3934         MOV DWORD PTR [EBX+162], EAX\r
3935 L_357:\r
3936         MOV EAX,1\r
3937         MOV BYTE PTR [EBP-18], AL\r
3938 L_351:\r
3939         JMP L_314\r
3940 L_358:\r
3941         MOV ESI,_pEdit\r
3942         MOV EBX,ESI\r
3943         MOV ESI,_pEdit\r
3944         MOV EAX,DWORD PTR [EBX+158]\r
3945         CMP EAX,DWORD PTR [ESI+120]\r
3946         SETA AL\r
3947         AND AL,AL\r
3948         JZ L_359\r
3949         MOV ESI,_pEdit\r
3950         MOV EAX,DWORD PTR [ESI+158]\r
3951         DEC DWORD PTR [ESI+158]\r
3952         JMP L_360\r
3953 L_359:\r
3954         MOV ESI,_pEdit\r
3955         MOV EAX,DWORD PTR [ESI+150]\r
3956         MOV DWORD PTR [EBP-4], EAX\r
3957         MOV EAX,DWORD PTR [EBP-4]\r
3958         CMP EAX,0\r
3959         SETA AL\r
3960         AND AL,AL\r
3961         JZ L_361\r
3962         PUSH DWORD PTR [EBP-4]\r
3963         CALL _findPrevLine\r
3964         MOV DWORD PTR [EBP-4], EAX\r
3965         MOV ESI,_pEdit\r
3966         MOV EAX,DWORD PTR [EBP-4]\r
3967         MOV DWORD PTR [ESI+150], EAX\r
3968         MOV ESI,_pEdit\r
3969         MOV EAX,DWORD PTR [EBP-4]\r
3970         MOV DWORD PTR [ESI+162], EAX\r
3971         MOV EAX,1\r
3972         MOV BYTE PTR [EBP-18], AL\r
3973 L_361:\r
3974 L_360:\r
3975         JMP L_314\r
3976 L_362:\r
3977         MOV ESI,_pEdit\r
3978         MOV EAX,DWORD PTR [ESI+158]\r
3979         MOV DWORD PTR [EBP-4], EAX\r
3980         MOV ESI,_pEdit\r
3981         MOV EAX,DWORD PTR [EBP-4]\r
3982         ADD EAX,1\r
3983         SHL EAX,2\r
3984         ADD ESI,EAX\r
3985         MOV EAX,DWORD PTR [ESI+8]\r
3986         CMP EAX,99999\r
3987         SETB AL\r
3988         AND AL,AL\r
3989         JZ L_363\r
3990         MOV ESI,_pEdit\r
3991         MOV EAX,DWORD PTR [EBP-4]\r
3992         CMP EAX,DWORD PTR [ESI+128]\r
3993         SETB AL\r
3994         AND AL,AL\r
3995 L_363:\r
3996         JZ L_364\r
3997         MOV ESI,_pEdit\r
3998         MOV EAX,DWORD PTR [ESI+158]\r
3999         INC DWORD PTR [ESI+158]\r
4000         JMP L_365\r
4001 L_364:\r
4002         MOV ESI,_pEdit\r
4003         MOV EAX,DWORD PTR [ESI+128]\r
4004         MOV DWORD PTR [EBP-4], EAX\r
4005         MOV ESI,_pEdit\r
4006         MOV EAX,DWORD PTR [EBP-4]\r
4007         ADD EAX,1\r
4008         SHL EAX,2\r
4009         ADD ESI,EAX\r
4010         MOV EAX,DWORD PTR [ESI+8]\r
4011         CMP EAX,99999\r
4012         SETB AL\r
4013         AND AL,AL\r
4014         JZ L_366\r
4015         MOV ESI,_pEdit\r
4016         MOV EBX,ESI\r
4017         MOV ESI,_pEdit\r
4018         MOV EAX,DWORD PTR [EBP-4]\r
4019         ADD EAX,1\r
4020         SHL EAX,2\r
4021         ADD ESI,EAX\r
4022         MOV EAX,DWORD PTR [ESI+8]\r
4023         MOV DWORD PTR [EBX+162], EAX\r
4024         MOV ESI,_pEdit\r
4025         MOV EAX,DWORD PTR [ESI+154]\r
4026         MOV DWORD PTR [EBP-4], EAX\r
4027         MOV ESI,_pEdit\r
4028         MOV EAX,DWORD PTR [ESI+158]\r
4029         MOV DWORD PTR [EBP-8], EAX\r
4030         CALL _coordCursor_oBuf\r
4031         MOV ESI,_pEdit\r
4032         MOV EAX,DWORD PTR [EBP-4]\r
4033         MOV DWORD PTR [ESI+154], EAX\r
4034         MOV ESI,_pEdit\r
4035         MOV EAX,DWORD PTR [EBP-8]\r
4036         MOV DWORD PTR [ESI+158], EAX\r
4037         MOV EAX,1\r
4038         MOV BYTE PTR [EBP-18], AL\r
4039 L_366:\r
4040 L_365:\r
4041         JMP L_314\r
4042 L_367:\r
4043         MOV ESI,_pEdit\r
4044         MOV EBX,ESI\r
4045         MOV ESI,_pEdit\r
4046         MOV EAX,DWORD PTR [EBX+154]\r
4047         CMP EAX,DWORD PTR [ESI+116]\r
4048         SETA AL\r
4049         AND AL,AL\r
4050         JZ L_368\r
4051         MOV ESI,_pEdit\r
4052         MOV EAX,DWORD PTR [ESI+154]\r
4053         DEC DWORD PTR [ESI+154]\r
4054 L_368:\r
4055         JMP L_314\r
4056 L_369:\r
4057         MOV ESI,_pEdit\r
4058         MOV EBX,ESI\r
4059         MOV ESI,_pEdit\r
4060         MOV EAX,DWORD PTR [EBX+154]\r
4061         CMP EAX,DWORD PTR [ESI+124]\r
4062         SETB AL\r
4063         AND AL,AL\r
4064         JZ L_370\r
4065         MOV ESI,_pEdit\r
4066         MOV EAX,DWORD PTR [ESI+154]\r
4067         INC DWORD PTR [ESI+154]\r
4068 L_370:\r
4069         JMP L_314\r
4070 L_371:\r
4071         MOVSX EAX,_fOvertype\r
4072         AND EAX,EAX\r
4073         JZ L_372\r
4074         XOR EAX,EAX\r
4075         MOV _fOvertype, AL\r
4076         JMP L_373\r
4077 L_372:\r
4078         MOV EAX,1\r
4079         MOV _fOvertype, AL\r
4080 L_373:\r
4081         JMP L_314\r
4082 L_374:\r
4083         CALL _coordCursor_oBuf\r
4084         MOV ESI,_pEdit\r
4085         MOV EAX,DWORD PTR [ESI+166]\r
4086         AND EAX,EAX\r
4087         JZ L_375\r
4088         MOV ESI,_pEdit\r
4089         MOV EBX,ESI\r
4090         MOV ESI,_pEdit\r
4091         MOV EAX,DWORD PTR [EBX+166]\r
4092         CMP EAX,DWORD PTR [ESI+162]\r
4093         SETA AL\r
4094         AND AL,AL\r
4095 L_375:\r
4096         JZ L_376\r
4097         PUSH DWORD PTR [EBP-24]\r
4098         PUSH DWORD PTR [EBP-28]\r
4099         MOV ESI,_pEdit\r
4100         MOV EAX,DWORD PTR [ESI+166]\r
4101         ADD EAX,1\r
4102         PUSH EAX\r
4103         CALL FWORD PTR _CopyData\r
4104         MOV ESI,_pEdit\r
4105         MOV EAX,DWORD PTR [ESI+162]\r
4106         ADD EAX,1\r
4107         MOV ESI,DWORD PTR [EBP-28]\r
4108         ADD ESI,EAX\r
4109         PUSH ESI\r
4110         MOV ESI,_pEdit\r
4111         MOV EAX,DWORD PTR [ESI+162]\r
4112         MOV ESI,DWORD PTR [EBP-24]\r
4113         ADD ESI,EAX\r
4114         PUSH ESI\r
4115         MOV ESI,_pEdit\r
4116         MOV EBX,ESI\r
4117         MOV ESI,_pEdit\r
4118         MOV EAX,DWORD PTR [EBX+166]\r
4119         SUB EAX,DWORD PTR [ESI+162]\r
4120         PUSH EAX\r
4121         CALL FWORD PTR _CopyData\r
4122         MOV ESI,_pEdit\r
4123         MOV EAX,DWORD PTR [ESI+166]\r
4124         MOV ESI,DWORD PTR [EBP-24]\r
4125         ADD ESI,EAX\r
4126         XOR EAX,EAX\r
4127         MOV BYTE PTR [ESI], AL\r
4128         MOV ESI,_pEdit\r
4129         MOV EAX,DWORD PTR [ESI+166]\r
4130         DEC DWORD PTR [ESI+166]\r
4131         MOV ESI,_pEdit\r
4132         MOV EBX,ESI\r
4133         MOV ESI,_pEdit\r
4134         MOV EAX,DWORD PTR [EBX+162]\r
4135         CMP EAX,DWORD PTR [ESI+170]\r
4136         SETE AL\r
4137         AND AL,AL\r
4138         JZ L_377\r
4139         MOV ESI,_pEdit\r
4140         MOV EBX,ESI\r
4141         MOV ESI,_pEdit\r
4142         MOV EAX,DWORD PTR [EBX+170]\r
4143         CMP EAX,DWORD PTR [ESI+174]\r
4144         SETE AL\r
4145         AND AL,AL\r
4146 L_377:\r
4147         JZ L_378\r
4148         CALL _nullMarkBound\r
4149 L_378:\r
4150         MOV ESI,_pEdit\r
4151         MOV EAX,DWORD PTR [ESI+170]\r
4152         CMP EAX,99999\r
4153         SETB AL\r
4154         AND AL,AL\r
4155         JZ L_379\r
4156         MOV ESI,_pEdit\r
4157         MOV EBX,ESI\r
4158         MOV ESI,_pEdit\r
4159         MOV EAX,DWORD PTR [EBX+162]\r
4160         CMP EAX,DWORD PTR [ESI+170]\r
4161         SETB AL\r
4162         AND AL,AL\r
4163         JZ L_380\r
4164         MOV ESI,_pEdit\r
4165         MOV EAX,DWORD PTR [ESI+170]\r
4166         DEC DWORD PTR [ESI+170]\r
4167 L_380:\r
4168         MOV ESI,_pEdit\r
4169         MOV EBX,ESI\r
4170         MOV ESI,_pEdit\r
4171         MOV EAX,DWORD PTR [EBX+162]\r
4172         CMP EAX,DWORD PTR [ESI+174]\r
4173         SETB AL\r
4174         AND AL,AL\r
4175         JZ L_381\r
4176         MOV ESI,_pEdit\r
4177         MOV EAX,DWORD PTR [ESI+174]\r
4178         DEC DWORD PTR [ESI+174]\r
4179 L_381:\r
4180         MOV ESI,_pEdit\r
4181         MOV EBX,ESI\r
4182         MOV ESI,_pEdit\r
4183         MOV EAX,DWORD PTR [EBX+170]\r
4184         CMP EAX,DWORD PTR [ESI+166]\r
4185         SETE AL\r
4186         AND AL,AL\r
4187         JZ L_382\r
4188         MOV ESI,_pEdit\r
4189         MOV EAX,DWORD PTR [ESI+170]\r
4190         DEC DWORD PTR [ESI+170]\r
4191 L_382:\r
4192         MOV ESI,_pEdit\r
4193         MOV EBX,ESI\r
4194         MOV ESI,_pEdit\r
4195         MOV EAX,DWORD PTR [EBX+174]\r
4196         CMP EAX,DWORD PTR [ESI+166]\r
4197         SETE AL\r
4198         AND AL,AL\r
4199         JZ L_383\r
4200         MOV ESI,_pEdit\r
4201         MOV EAX,DWORD PTR [ESI+174]\r
4202         DEC DWORD PTR [ESI+174]\r
4203 L_383:\r
4204 L_379:\r
4205         MOV EAX,1\r
4206         MOV BYTE PTR [EBP-18], AL\r
4207         MOV EAX,1\r
4208         MOV _fModified, AL\r
4209 L_376:\r
4210         JMP L_314\r
4211 L_384:\r
4212         JMP L_314\r
4213 L_315:\r
4214         CMP EAX,127\r
4215         JE L_374\r
4216         CMP EAX,14\r
4217         JE L_371\r
4218         CMP EAX,4\r
4219         JE L_369\r
4220         CMP EAX,3\r
4221         JE L_367\r
4222         CMP EAX,2\r
4223         JE L_362\r
4224         CMP EAX,1\r
4225         JE L_358\r
4226         CMP EAX,5\r
4227         JE L_350\r
4228         CMP EAX,12\r
4229         JE L_345\r
4230         CMP EAX,24\r
4231         JE L_344\r
4232         CMP EAX,23\r
4233         JE L_342\r
4234         CMP EAX,18\r
4235         JE L_338\r
4236         CMP EAX,17\r
4237         JE L_334\r
4238         CMP EAX,16\r
4239         JE L_333\r
4240         CMP EAX,9\r
4241         JE L_327\r
4242         CMP EAX,6\r
4243         JE L_326\r
4244         CMP EAX,8\r
4245         JE L_316\r
4246         JMP L_384\r
4247 L_314:\r
4248 L_313:\r
4249 L_300:\r
4250 L_292:\r
4251 L_290:\r
4252         JMP L_240\r
4253 L_241:\r
4254         MOV ESI,_pEdit\r
4255         MOV EAX,DWORD PTR [ESI+120]\r
4256         MOV DWORD PTR [EBP-4], EAX\r
4257 L_385:\r
4258         MOV ESI,_pEdit\r
4259         MOV EAX,DWORD PTR [EBP-4]\r
4260         CMP EAX,DWORD PTR [ESI+128]\r
4261         SETBE AL\r
4262         AND AL,AL\r
4263         JZ L_386\r
4264         JMP SHORT L_387\r
4265 L_388:\r
4266         MOV EAX,DWORD PTR [EBP-4]\r
4267         INC DWORD PTR [EBP-4]\r
4268         JMP SHORT L_385\r
4269 L_387:\r
4270         MOV ESI,_pEdit\r
4271         PUSH DWORD PTR [ESI+116]\r
4272         PUSH DWORD PTR [EBP-4]\r
4273         MOV ESI,_pEdit\r
4274         MOV EAX,DWORD PTR [ESI+132]\r
4275         ADD EAX,1\r
4276         PUSH EAX\r
4277         XOR EAX,EAX\r
4278         PUSH EAX\r
4279         CALL FWORD PTR _PutVidAttrs\r
4280         JMP L_388\r
4281 L_386:\r
4282         MOV EAX,_fh\r
4283         AND EAX,EAX\r
4284         JZ L_389\r
4285         MOV ESI,_pEdit\r
4286         XOR EAX,EAX\r
4287         MOV AL,BYTE PTR [ESI+137]\r
4288         AND EAX,EAX\r
4289         JZ L_390\r
4290         XOR EAX,EAX\r
4291         MOV DWORD PTR [EBP-4], EAX\r
4292 L_391:\r
4293         MOV ESI,_pEdit\r
4294         MOV EAX,DWORD PTR [EBP-4]\r
4295         CMP EAX,DWORD PTR [ESI+112]\r
4296         SETBE AL\r
4297         AND AL,AL\r
4298         JZ L_392\r
4299         JMP SHORT L_393\r
4300 L_394:\r
4301         MOV EAX,DWORD PTR [EBP-4]\r
4302         INC DWORD PTR [EBP-4]\r
4303         JMP SHORT L_391\r
4304 L_393:\r
4305         MOV EAX,DWORD PTR [EBP-4]\r
4306         MOV ESI,DWORD PTR [EBP-24]\r
4307         ADD ESI,EAX\r
4308         MOVSX EAX,BYTE PTR [ESI]\r
4309         CMP EAX,7\r
4310         SETE AL\r
4311         AND AL,AL\r
4312         JZ L_395\r
4313         MOV EAX,DWORD PTR [EBP-4]\r
4314         MOV ESI,DWORD PTR [EBP-24]\r
4315         ADD ESI,EAX\r
4316         MOV EAX,32\r
4317         MOV BYTE PTR [ESI], AL\r
4318 L_395:\r
4319         JMP L_394\r
4320 L_392:\r
4321 L_390:\r
4322         MOV ESI,_pEdit\r
4323         MOV EAX,DWORD PTR [ESI+166]\r
4324         MOV ESI,DWORD PTR [EBP-24]\r
4325         ADD ESI,EAX\r
4326         XOR EAX,EAX\r
4327         MOV BYTE PTR [ESI], AL\r
4328         MOVSX EAX,_fModified\r
4329         AND EAX,EAX\r
4330         JZ L_396\r
4331         PUSH 6\r
4332         PUSH _fh\r
4333         XOR EAX,EAX\r
4334         PUSH EAX\r
4335         CALL FWORD PTR _SetFileLFA\r
4336         PUSH EAX\r
4337         CALL _CheckErc\r
4338         MOV _erc, EAX\r
4339         MOV EAX,_erc\r
4340         AND EAX,EAX\r
4341         JNZ L_397\r
4342         PUSH 5\r
4343         PUSH _fh\r
4344         MOV ESI,_pEdit\r
4345         PUSH DWORD PTR [ESI+166]\r
4346         CALL FWORD PTR _SetFileSize\r
4347         PUSH EAX\r
4348         CALL _CheckErc\r
4349         MOV _erc, EAX\r
4350 L_397:\r
4351         MOV EAX,_erc\r
4352         AND EAX,EAX\r
4353         JNZ L_398\r
4354         PUSH 3\r
4355         PUSH _fh\r
4356         PUSH _pBuf1\r
4357         MOV ESI,_pEdit\r
4358         PUSH DWORD PTR [ESI+166]\r
4359         LEA EAX,DWORD PTR [EBP-4]\r
4360         PUSH EAX\r
4361         CALL FWORD PTR _WriteBytes\r
4362         PUSH EAX\r
4363         CALL _CheckErc\r
4364         MOV _erc, EAX\r
4365 L_398:\r
4366         XOR EAX,EAX\r
4367         MOV _fModified, AL\r
4368 L_396:\r
4369         PUSH _fh\r
4370         CALL FWORD PTR _CloseFile\r
4371         XOR EAX,EAX\r
4372         MOV _cbFilename, EAX\r
4373 L_389:\r
4374         MOV ESI,DWORD PTR [EBP+8]\r
4375         XOR EAX,EAX\r
4376         MOV AL,BYTE PTR [EBP-20]\r
4377         MOV BYTE PTR [ESI], AL\r
4378 L_399:\r
4379         MOV ESP,EBP\r
4380         POP EBP\r
4381         RETN 4\r
4382 PUBLIC _main:\r
4383         PUSH EBP\r
4384         MOV EBP,ESP\r
4385         SUB ESP,4\r
4386         CALL FWORD PTR _ClrScr\r
4387         PUSH OFFSET L_lit+423\r
4388         PUSH 6\r
4389         CALL FWORD PTR _SetJobName\r
4390         XOR EAX,EAX\r
4391         MOV _fh, EAX\r
4392         MOV EAX,OFFSET _EdRec\r
4393         MOV _pEdit, EAX\r
4394         PUSH 32\r
4395         PUSH OFFSET _pBuf1\r
4396         CALL FWORD PTR _AllocPage\r
4397         MOV _erc, EAX\r
4398         PUSH 32\r
4399         PUSH OFFSET _pBuf2\r
4400         CALL FWORD PTR _AllocPage\r
4401         MOV _erc, EAX\r
4402         MOV ESI,_pEdit\r
4403         MOV EAX,_pBuf1\r
4404         MOV DWORD PTR [ESI], EAX\r
4405         MOV ESI,_pEdit\r
4406         MOV EAX,_pBuf2\r
4407         MOV DWORD PTR [ESI+4], EAX\r
4408         MOV ESI,_pEdit\r
4409         MOV EAX,131071\r
4410         MOV DWORD PTR [ESI+112], EAX\r
4411         MOV ESI,_pEdit\r
4412         XOR EAX,EAX\r
4413         MOV DWORD PTR [ESI+116], EAX\r
4414         MOV ESI,_pEdit\r
4415         MOV EAX,79\r
4416         MOV DWORD PTR [ESI+124], EAX\r
4417         MOV ESI,_pEdit\r
4418         MOV EAX,1\r
4419         MOV DWORD PTR [ESI+120], EAX\r
4420         MOV ESI,_pEdit\r
4421         MOV EAX,23\r
4422         MOV DWORD PTR [ESI+128], EAX\r
4423         MOV ESI,_pEdit\r
4424         MOV EAX,80\r
4425         MOV DWORD PTR [ESI+132], EAX\r
4426         MOV ESI,_pEdit\r
4427         MOV EAX,32\r
4428         MOV BYTE PTR [ESI+136], AL\r
4429         MOV ESI,_pEdit\r
4430         XOR EAX,EAX\r
4431         MOV BYTE PTR [ESI+137], AL\r
4432         MOV ESI,_pEdit\r
4433         MOV EAX,71\r
4434         MOV DWORD PTR [ESI+138], EAX\r
4435         MOV ESI,_pEdit\r
4436         MOV EAX,31\r
4437         MOV DWORD PTR [ESI+142], EAX\r
4438         MOV ESI,_pEdit\r
4439         MOV EAX,4\r
4440         MOV DWORD PTR [ESI+146], EAX\r
4441         MOV ESI,_pEdit\r
4442         XOR EAX,EAX\r
4443         MOV DWORD PTR [ESI+150], EAX\r
4444         MOV ESI,_pEdit\r
4445         XOR EAX,EAX\r
4446         MOV DWORD PTR [ESI+154], EAX\r
4447         MOV ESI,_pEdit\r
4448         XOR EAX,EAX\r
4449         MOV DWORD PTR [ESI+158], EAX\r
4450         MOV ESI,_pEdit\r
4451         XOR EAX,EAX\r
4452         MOV DWORD PTR [ESI+162], EAX\r
4453         MOV ESI,_pEdit\r
4454         XOR EAX,EAX\r
4455         MOV DWORD PTR [ESI+166], EAX\r
4456         MOV ESI,_pEdit\r
4457         MOV EAX,99999\r
4458         MOV DWORD PTR [ESI+170], EAX\r
4459         MOV ESI,_pEdit\r
4460         MOV EAX,99999\r
4461         MOV DWORD PTR [ESI+174], EAX\r
4462         PUSH 7\r
4463         CALL FWORD PTR _SetNormVid\r
4464         PUSH OFFSET _filler\r
4465         PUSH 80\r
4466         PUSH 32\r
4467         CALL FWORD PTR _FillData\r
4468         XOR EAX,EAX\r
4469         MOV DWORD PTR [EBP-4], EAX\r
4470 L_400:\r
4471         MOV EAX,DWORD PTR [EBP-4]\r
4472         CMP EAX,26\r
4473         SETL AL\r
4474         AND AL,AL\r
4475         JZ L_401\r
4476         JMP SHORT L_402\r
4477 L_403:\r
4478         MOV EAX,DWORD PTR [EBP-4]\r
4479         INC DWORD PTR [EBP-4]\r
4480         JMP SHORT L_400\r
4481 L_402:\r
4482         MOV ESI,_pEdit\r
4483         MOV EAX,DWORD PTR [EBP-4]\r
4484         SHL EAX,2\r
4485         ADD ESI,EAX\r
4486         MOV EAX,99999\r
4487         MOV DWORD PTR [ESI+8], EAX\r
4488         JMP L_403\r
4489 L_401:\r
4490         MOV ESI,_pEdit\r
4491         MOV EAX,DWORD PTR [ESI+120]\r
4492         MOV DWORD PTR [EBP-4], EAX\r
4493         MOV ESI,_pEdit\r
4494         MOV EAX,DWORD PTR [EBP-4]\r
4495         SHL EAX,2\r
4496         ADD ESI,EAX\r
4497         XOR EAX,EAX\r
4498         MOV DWORD PTR [ESI+8], EAX\r
4499         XOR EAX,EAX\r
4500         MOV _fModified, AL\r
4501         XOR EAX,EAX\r
4502         MOV _fOvertype, AL\r
4503         MOV EAX,DWORD PTR [EBP+12]\r
4504         CMP EAX,1\r
4505         SETA AL\r
4506         AND AL,AL\r
4507         JZ L_404\r
4508         MOV EAX,4\r
4509         MOV ESI,DWORD PTR [EBP+8]\r
4510         ADD ESI,EAX\r
4511         PUSH DWORD PTR [ESI]\r
4512         CALL _OpenAFile\r
4513 L_404:\r
4514         PUSH OFFSET _b\r
4515         CALL _Editor\r
4516         XOR EAX,EAX\r
4517         PUSH EAX\r
4518         CALL FWORD PTR _ExitJob\r
4519         MOV ESP,EBP\r
4520         POP EBP\r
4521         RETN 8\r