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