]> pd.if.org Git - mmurtl/commitdiff
autocommit for file dated 1995-01-17 17:40:26
authorRichard Burgess <>
Tue, 17 Jan 1995 17:40:26 +0000 (17:40 +0000)
committerNathan Wagner <nw@hydaspes.if.org>
Mon, 17 Oct 2016 14:03:47 +0000 (14:03 +0000)
ossource/jobcorig.asm [new file with mode: 0644]

diff --git a/ossource/jobcorig.asm b/ossource/jobcorig.asm
new file mode 100644 (file)
index 0000000..1df3bfa
--- /dev/null
@@ -0,0 +1,2414 @@
+\r
+.DATA\r
+EXTRN _AllocExch FWORD\r
+EXTRN _DeAllocExch FWORD\r
+EXTRN _GetTSSExch FWORD\r
+EXTRN _SetPriority FWORD\r
+EXTRN _NewTask FWORD\r
+EXTRN _SpawnTask FWORD\r
+EXTRN _SendMsg FWORD\r
+EXTRN _ISendMsg FWORD\r
+EXTRN _WaitMsg FWORD\r
+EXTRN _CheckMsg FWORD\r
+EXTRN _Request FWORD\r
+EXTRN _MoveRequest FWORD\r
+EXTRN _Respond FWORD\r
+EXTRN _AllocPage FWORD\r
+EXTRN _AllocOSPage FWORD\r
+EXTRN _AllocDMAPage FWORD\r
+EXTRN _DeAllocPage FWORD\r
+EXTRN _QueryPages FWORD\r
+EXTRN _GetPhyAdd FWORD\r
+EXTRN _AliasMem FWORD\r
+EXTRN _DeAliasMem FWORD\r
+EXTRN _CopyData FWORD\r
+EXTRN _FillData FWORD\r
+EXTRN _CompareNCS FWORD\r
+EXTRN _Compare FWORD\r
+EXTRN _OutByte FWORD\r
+EXTRN _OutWord FWORD\r
+EXTRN _InByte FWORD\r
+EXTRN _InWord FWORD\r
+EXTRN _ReadCMOS FWORD\r
+EXTRN _Alarm FWORD\r
+EXTRN _KillAlarm FWORD\r
+EXTRN _Sleep FWORD\r
+EXTRN _MicroDelay FWORD\r
+EXTRN _GetCMOSTime FWORD\r
+EXTRN _GetCMOSDate FWORD\r
+EXTRN _GetTimerTick FWORD\r
+EXTRN _Tone FWORD\r
+EXTRN _Beep FWORD\r
+EXTRN _SetVidOwner FWORD\r
+EXTRN _SetNormVid FWORD\r
+EXTRN _GetNormVid FWORD\r
+EXTRN _ClrScr FWORD\r
+EXTRN _GetVidChar FWORD\r
+EXTRN _SetXY FWORD\r
+EXTRN _PutVidAttrs FWORD\r
+EXTRN _PutVidChars FWORD\r
+EXTRN _GetVidOwner FWORD\r
+EXTRN _GetXY FWORD\r
+EXTRN _ScrollVid FWORD\r
+EXTRN _TTYOut FWORD\r
+EXTRN _EditLine FWORD\r
+EXTRN _ReadKbd FWORD\r
+EXTRN _GetpJCB FWORD\r
+EXTRN _GetJobNum FWORD\r
+EXTRN _LoadNewJob FWORD\r
+EXTRN _Chain FWORD\r
+EXTRN _ExitJob FWORD\r
+EXTRN _KillJob FWORD\r
+EXTRN _SetUserName FWORD\r
+EXTRN _GetUserName FWORD\r
+EXTRN _SetCmdLine FWORD\r
+EXTRN _GetCmdLine FWORD\r
+EXTRN _SetPath FWORD\r
+EXTRN _GetPath FWORD\r
+EXTRN _SetExitJob FWORD\r
+EXTRN _GetExitJob FWORD\r
+EXTRN _SetSysIn FWORD\r
+EXTRN _GetSysIn FWORD\r
+EXTRN _SetSysOut FWORD\r
+EXTRN _GetSysOut FWORD\r
+EXTRN _SetJobName FWORD\r
+EXTRN _RegisterSvc FWORD\r
+EXTRN _UnRegisterSvc FWORD\r
+EXTRN _GetSystemDisk FWORD\r
+EXTRN _CreateFile FWORD\r
+EXTRN _CreateDir FWORD\r
+EXTRN _DeleteDir FWORD\r
+EXTRN _OpenFile FWORD\r
+EXTRN _RenameFile FWORD\r
+EXTRN _GetFileSize FWORD\r
+EXTRN _SetFileSize FWORD\r
+EXTRN _ReadBlock FWORD\r
+EXTRN _WriteBlock FWORD\r
+EXTRN _ReadBytes FWORD\r
+EXTRN _WriteBytes FWORD\r
+EXTRN _GetFileLFA FWORD\r
+EXTRN _SetFileLFA FWORD\r
+EXTRN _CloseFile FWORD\r
+EXTRN _DeleteFile FWORD\r
+EXTRN _GetDirSector FWORD\r
+_offCode DD 0\r
+_offData DD 0\r
+_nCDFIX DD 0\r
+_oCDFIX DD 0\r
+_nCCFIX DD 0\r
+_oCCFIX DD 0\r
+_nDDFIX DD 0\r
+_oDDFIX DD 0\r
+_nDCFIX DD 0\r
+_oDCFIX DD 0\r
+EXTRN _KillExch DD\r
+L_lit DB 69,114,99,32,102,114,111,109,32,71,101,116,82,117,110,70\r
+ DB 105,108,101,32,105,110,32,74,111,98,67,58,32,37,100,13\r
+ DB 10,0,75,66,68,0,86,73,68,0\r
+_TmpStack DD 128 DUP(0)\r
+_pNewJCB DD 0h\r
+_pTmpJCB DD 0h\r
+_pCrntJCB DD 0h\r
+_JobNum DD 0h\r
+_JobNumE DD 0h\r
+_job_fhE DD 0h\r
+_ExchE DD 0h\r
+_ercE DD 0h\r
+_iE DD 0h\r
+_BogusMsg DD 2 DUP(0)\r
+_pPDE DD 0h\r
+_pExchJCBE DD 0h\r
+_KeyCodeE DD 0h\r
+_aFileE DB 80 DUP(0)\r
+_cbFileE DD 0h\r
+_pCode DD 0h\r
+_pData DD 0h\r
+_pStack DD 0h\r
+_sCode DD 0h\r
+_sData DD 0h\r
+_sStack DD 0h\r
+_oCode DD 0h\r
+_oData DD 0h\r
+_pStart DD 0h\r
+_filetype DB 0h\r
+_tag DB 5 DUP(0)\r
+\r
+\r
+.CODE\r
+EXTRN _AllocJCB: NEAR\r
+EXTRN _RemoveRdyJob: NEAR\r
+EXTRN _GetExchOwner: NEAR\r
+EXTRN _SetExchOwner: NEAR\r
+EXTRN _SendAbort: NEAR\r
+EXTRN _xprintf: NEAR\r
+EXTRN _Dump: NEAR\r
+_CleanUserPD:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,24\r
+       MOV EAX,768\r
+       MOV [EBP-4],EAX\r
+L_1:\r
+       MOV EAX,[EBP-4]\r
+       CMP EAX,1024\r
+       SETL AL\r
+       AND EAX,01h\r
+       JZ L_2\r
+       JMP SHORT L_3\r
+L_4:\r
+       MOV EAX,[EBP-4]\r
+       INC DWORD PTR [EBP-4]\r
+       JMP SHORT L_1\r
+L_3:\r
+       MOV EAX,[EBP-4]\r
+       SHL EAX,2\r
+       MOV ESI,[EBP+8]\r
+       ADD ESI,EAX\r
+       MOV EAX,[ESI]\r
+       AND EAX,EAX\r
+       JZ L_5\r
+       MOV EAX,[EBP-4]\r
+       SHL EAX,2\r
+       MOV ESI,[EBP+8]\r
+       ADD ESI,EAX\r
+       MOV EAX,[ESI]\r
+       AND EAX,-4096\r
+       MOV [EBP-20],EAX\r
+       XOR EAX,EAX\r
+       MOV [EBP-8],EAX\r
+L_6:\r
+       MOV EAX,[EBP-8]\r
+       CMP EAX,1024\r
+       SETL AL\r
+       AND EAX,01h\r
+       JZ L_7\r
+       JMP SHORT L_8\r
+L_9:\r
+       MOV EAX,[EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       JMP SHORT L_6\r
+L_8:\r
+       XOR EAX,EAX\r
+       MOV [EBP-12],EAX\r
+       MOV EAX,[EBP-4]\r
+       SUB EAX,512\r
+       MOV ECX,4194304\r
+       IMUL ECX\r
+       PUSH EAX\r
+       MOV EAX,[EBP-8]\r
+       MOV ECX,4096\r
+       IMUL ECX\r
+       POP EBX\r
+       ADD EAX,EBX\r
+       MOV [EBP-24],EAX\r
+L_10:\r
+       MOV EAX,[EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       SHL EAX,2\r
+       MOV ESI,[EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,[ESI]\r
+       AND EAX,EAX\r
+       JZ L_12\r
+       MOV EAX,[EBP-8]\r
+       CMP EAX,1024\r
+       SETL AL\r
+       AND EAX,01h\r
+L_12:\r
+       JZ L_11\r
+       MOV EAX,[EBP-12]\r
+       INC DWORD PTR [EBP-12]\r
+       JMP L_10\r
+L_11:\r
+       MOV EAX,[EBP-12]\r
+       AND EAX,EAX\r
+       JZ L_13\r
+       PUSH DWORD PTR [EBP-24]\r
+       PUSH DWORD PTR [EBP-12]\r
+       CALL FWORD PTR _DeAllocPage\r
+       MOV [EBP-16],EAX\r
+L_13:\r
+       JMP L_9\r
+L_7:\r
+L_5:\r
+       JMP L_4\r
+L_2:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 4\r
+_GetRunFile:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,18\r
+       XOR EAX,EAX\r
+       MOV _offCode,EAX\r
+       XOR EAX,EAX\r
+       MOV _offData,EAX\r
+       XOR EAX,EAX\r
+       MOV _nCDFIX,EAX\r
+       XOR EAX,EAX\r
+       MOV _oCDFIX,EAX\r
+       XOR EAX,EAX\r
+       MOV _nCCFIX,EAX\r
+       XOR EAX,EAX\r
+       MOV _oCCFIX,EAX\r
+       XOR EAX,EAX\r
+       MOV _nDDFIX,EAX\r
+       XOR EAX,EAX\r
+       MOV _oDDFIX,EAX\r
+       XOR EAX,EAX\r
+       MOV _nDCFIX,EAX\r
+       XOR EAX,EAX\r
+       MOV _oDCFIX,EAX\r
+       MOV ESI,[EBP+8]\r
+       XOR EAX,EAX\r
+       MOV [ESI],EAX\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH 0\r
+       PUSH 1\r
+       LEA EAX,[EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _OpenFile\r
+       MOV [EBP-4],EAX\r
+       AND EAX,EAX\r
+       JNZ L_14\r
+       XOR AL,AL\r
+       MOV [EBP-17],AL\r
+L_15:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+       AND EAX,EAX\r
+       JZ L_17\r
+       MOVSX EAX,BYTE PTR [EBP-17]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+L_17:\r
+       AND EAX,EAX\r
+       JZ L_16\r
+       MOV ESI,OFFSET _tag\r
+       XOR AL,AL\r
+       MOV [ESI],AL\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _tag\r
+       PUSH 5\r
+       LEA EAX,[EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+       MOV ESI,OFFSET _tag\r
+       MOV AL,[ESI]\r
+       AND EAX,0FFh\r
+       JMP L_19\r
+L_20:\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _filetype\r
+       PUSH 1\r
+       LEA EAX,[EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+       MOVSX EAX,BYTE PTR _filetype\r
+       CMP EAX,1\r
+       SETL AL\r
+       AND EAX,01h\r
+       JNZ L_21\r
+       MOVSX EAX,BYTE PTR _filetype\r
+       CMP EAX,3\r
+       SETG AL\r
+       AND EAX,01h\r
+L_21:\r
+       JZ L_22\r
+       MOV EAX,74\r
+       MOV [EBP-4],EAX\r
+L_22:\r
+       JMP L_18\r
+L_23:\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _sStack\r
+       PUSH 4\r
+       LEA EAX,[EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+       AND EAX,EAX\r
+       JNZ L_24\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _sCode\r
+       PUSH 4\r
+       LEA EAX,[EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+L_24:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_25\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _sData\r
+       PUSH 4\r
+       LEA EAX,[EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+L_25:\r
+       JMP L_18\r
+L_26:\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _offData\r
+       PUSH 4\r
+       LEA EAX,[EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+       JMP L_18\r
+L_27:\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _offCode\r
+       PUSH 4\r
+       LEA EAX,[EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+       JMP L_18\r
+L_28:\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _pStart\r
+       PUSH 4\r
+       LEA EAX,[EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+       JMP L_18\r
+L_29:\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _oCode\r
+       CALL FWORD PTR _GetFileLFA\r
+       MOV [EBP-4],EAX\r
+       AND EAX,EAX\r
+       JNZ L_30\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _tag\r
+       ADD ESI,1\r
+       MOV EAX,_oCode\r
+       ADD EAX,[ESI]\r
+       PUSH EAX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_30:\r
+       JMP L_18\r
+L_31:\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _oData\r
+       CALL FWORD PTR _GetFileLFA\r
+       MOV [EBP-4],EAX\r
+       AND EAX,EAX\r
+       JNZ L_32\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _tag\r
+       ADD ESI,1\r
+       MOV EAX,_oData\r
+       ADD EAX,[ESI]\r
+       PUSH EAX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_32:\r
+       JMP L_18\r
+L_33:\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _oCDFIX\r
+       CALL FWORD PTR _GetFileLFA\r
+       MOV [EBP-4],EAX\r
+       MOV ESI,OFFSET _tag\r
+       ADD ESI,1\r
+       MOV EAX,[ESI]\r
+       MOV ECX,4\r
+       CDQ\r
+       IDIV ECX\r
+       MOV _nCDFIX,EAX\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_34\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _tag\r
+       ADD ESI,1\r
+       MOV EAX,_oCDFIX\r
+       ADD EAX,[ESI]\r
+       PUSH EAX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_34:\r
+       JMP L_18\r
+L_35:\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _oCCFIX\r
+       CALL FWORD PTR _GetFileLFA\r
+       MOV [EBP-4],EAX\r
+       MOV ESI,OFFSET _tag\r
+       ADD ESI,1\r
+       MOV EAX,[ESI]\r
+       MOV ECX,4\r
+       CDQ\r
+       IDIV ECX\r
+       MOV _nCCFIX,EAX\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_36\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _tag\r
+       ADD ESI,1\r
+       MOV EAX,_oCCFIX\r
+       ADD EAX,[ESI]\r
+       PUSH EAX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_36:\r
+       JMP L_18\r
+L_37:\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _oDDFIX\r
+       CALL FWORD PTR _GetFileLFA\r
+       MOV [EBP-4],EAX\r
+       MOV ESI,OFFSET _tag\r
+       ADD ESI,1\r
+       MOV EAX,[ESI]\r
+       MOV ECX,4\r
+       CDQ\r
+       IDIV ECX\r
+       MOV _nDDFIX,EAX\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_38\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _tag\r
+       ADD ESI,1\r
+       MOV EAX,_oDDFIX\r
+       ADD EAX,[ESI]\r
+       PUSH EAX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_38:\r
+       JMP L_18\r
+L_39:\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _oDCFIX\r
+       CALL FWORD PTR _GetFileLFA\r
+       MOV [EBP-4],EAX\r
+       MOV ESI,OFFSET _tag\r
+       ADD ESI,1\r
+       MOV EAX,[ESI]\r
+       MOV ECX,4\r
+       CDQ\r
+       IDIV ECX\r
+       MOV _nDCFIX,EAX\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_40\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _tag\r
+       ADD ESI,1\r
+       MOV EAX,_oDCFIX\r
+       ADD EAX,[ESI]\r
+       PUSH EAX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_40:\r
+       JMP L_18\r
+L_41:\r
+       MOV AL,1\r
+       MOV [EBP-17],AL\r
+       JMP L_18\r
+L_42:\r
+       PUSH DWORD PTR [EBP-12]\r
+       LEA EAX,[EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetFileLFA\r
+       MOV [EBP-4],EAX\r
+       MOV ESI,OFFSET _tag\r
+       ADD ESI,1\r
+       MOV EAX,[ESI]\r
+       CMP EAX,1024\r
+       SETG AL\r
+       AND EAX,01h\r
+       JZ L_43\r
+       MOV EAX,74\r
+       MOV [EBP-4],EAX\r
+L_43:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_44\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _tag\r
+       ADD ESI,1\r
+       MOV EAX,[EBP-8]\r
+       ADD EAX,[ESI]\r
+       PUSH EAX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_44:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_45\r
+       MOV EAX,74\r
+       MOV [EBP-4],EAX\r
+L_45:\r
+       JMP L_18\r
+L_19:\r
+       CMP EAX,255\r
+       JE L_41\r
+       CMP EAX,195\r
+       JE L_39\r
+       CMP EAX,194\r
+       JE L_37\r
+       CMP EAX,193\r
+       JE L_35\r
+       CMP EAX,192\r
+       JE L_33\r
+       CMP EAX,178\r
+       JE L_31\r
+       CMP EAX,176\r
+       JE L_29\r
+       CMP EAX,150\r
+       JE L_28\r
+       CMP EAX,148\r
+       JE L_27\r
+       CMP EAX,146\r
+       JE L_26\r
+       CMP EAX,144\r
+       JE L_23\r
+       CMP EAX,128\r
+       JE L_20\r
+       JMP L_42\r
+L_18:\r
+       JMP L_15\r
+L_16:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_46\r
+       PUSH DWORD PTR [EBP-12]\r
+       CALL FWORD PTR _CloseFile\r
+L_46:\r
+L_14:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_47\r
+       MOV ESI,[EBP+8]\r
+       MOV EAX,[EBP-12]\r
+       MOV [ESI],EAX\r
+L_47:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_48\r
+       PUSH OFFSET L_lit+0\r
+       PUSH DWORD PTR [EBP-4]\r
+       MOV EDI, 4\r
+       CALL _xprintf\r
+       ADD ESP,8\r
+L_48:\r
+       MOV EAX,[EBP-4]\r
+L_49:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 12\r
+PUBLIC __SetExitJob:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,4\r
+       LEA EAX,[EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV EAX,[EBP+12]\r
+       CMP EAX,79\r
+       SETG AL\r
+       AND EAX,01h\r
+       JZ L_50\r
+       MOV EAX,76\r
+       JMP L_51\r
+L_50:\r
+       MOV EAX,[EBP+12]\r
+       AND EAX,EAX\r
+       JNZ L_53\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,146\r
+       XOR AL,AL\r
+       MOV [ESI],AL\r
+       JMP L_54\r
+L_53:\r
+       PUSH DWORD PTR [EBP+16]\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,146\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,146\r
+       MOV EAX,[EBP+12]\r
+       MOV [ESI],AL\r
+L_54:\r
+L_52:\r
+       XOR EAX,EAX\r
+L_51:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __GetExitJob:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,8\r
+       LEA EAX,[EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,146\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       MOV [EBP-8],EAX\r
+       AND EAX,EAX\r
+       JZ L_55\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,146\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL FWORD PTR _CopyData\r
+L_55:\r
+       MOV ESI,[EBP+12]\r
+       MOV EAX,[EBP-8]\r
+       MOV [ESI],EAX\r
+       XOR EAX,EAX\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __SetPath:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,4\r
+       LEA EAX,[EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV EAX,[EBP+12]\r
+       CMP EAX,69\r
+       SETG AL\r
+       AND EAX,01h\r
+       JZ L_57\r
+       MOV EAX,76\r
+       JMP L_58\r
+L_57:\r
+       MOV EAX,[EBP+12]\r
+       AND EAX,EAX\r
+       JNZ L_60\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,76\r
+       XOR AL,AL\r
+       MOV [ESI],AL\r
+       JMP L_61\r
+L_60:\r
+       PUSH DWORD PTR [EBP+16]\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,76\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,76\r
+       MOV EAX,[EBP+12]\r
+       MOV [ESI],AL\r
+L_61:\r
+L_59:\r
+       XOR EAX,EAX\r
+L_58:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __GetPath:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,8\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV [EBP-8],EAX\r
+       AND EAX,EAX\r
+       JNZ L_62\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,76\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       MOV [EBP-4],EAX\r
+       AND EAX,EAX\r
+       JZ L_63\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,76\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-4]\r
+       CALL FWORD PTR _CopyData\r
+L_63:\r
+       MOV ESI,[EBP+12]\r
+       MOV EAX,[EBP-4]\r
+       MOV [ESI],EAX\r
+L_62:\r
+       MOV EAX,[EBP-8]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 12\r
+PUBLIC __SetCmdLine:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,4\r
+       LEA EAX,[EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV EAX,[EBP+12]\r
+       CMP EAX,79\r
+       SETG AL\r
+       AND EAX,01h\r
+       JZ L_65\r
+       MOV EAX,76\r
+       JMP L_66\r
+L_65:\r
+       MOV EAX,[EBP+12]\r
+       AND EAX,EAX\r
+       JNZ L_68\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,226\r
+       XOR AL,AL\r
+       MOV [ESI],AL\r
+       JMP L_69\r
+L_68:\r
+       PUSH DWORD PTR [EBP+16]\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,226\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,226\r
+       MOV EAX,[EBP+12]\r
+       MOV [ESI],AL\r
+L_69:\r
+L_67:\r
+       XOR EAX,EAX\r
+L_66:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __GetCmdLine:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,8\r
+       LEA EAX,[EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,226\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       MOV [EBP-8],EAX\r
+       AND EAX,EAX\r
+       JZ L_70\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,226\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL FWORD PTR _CopyData\r
+L_70:\r
+       MOV ESI,[EBP+12]\r
+       MOV EAX,[EBP-8]\r
+       MOV [ESI],EAX\r
+       XOR EAX,EAX\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __SetUserName:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,4\r
+       LEA EAX,[EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV EAX,[EBP+12]\r
+       CMP EAX,29\r
+       SETG AL\r
+       AND EAX,01h\r
+       JZ L_72\r
+       MOV EAX,76\r
+       JMP L_73\r
+L_72:\r
+       MOV EAX,[EBP+12]\r
+       AND EAX,EAX\r
+       JNZ L_75\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,46\r
+       XOR AL,AL\r
+       MOV [ESI],AL\r
+       JMP L_76\r
+L_75:\r
+       PUSH DWORD PTR [EBP+16]\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,46\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,46\r
+       MOV EAX,[EBP+12]\r
+       MOV [ESI],AL\r
+L_76:\r
+L_74:\r
+       XOR EAX,EAX\r
+L_73:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __GetUserName:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,8\r
+       LEA EAX,[EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,46\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       MOV [EBP-8],EAX\r
+       AND EAX,EAX\r
+       JZ L_77\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,46\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL FWORD PTR _CopyData\r
+L_77:\r
+       MOV ESI,[EBP+12]\r
+       MOV EAX,[EBP-8]\r
+       MOV [ESI],EAX\r
+       XOR EAX,EAX\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __SetSysIn:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,4\r
+       LEA EAX,[EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV EAX,[EBP+12]\r
+       CMP EAX,49\r
+       SETG AL\r
+       AND EAX,01h\r
+       JNZ L_79\r
+       MOV EAX,[EBP+12]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+L_79:\r
+       AND EAX,EAX\r
+       JZ L_80\r
+       MOV EAX,76\r
+       JMP L_81\r
+L_80:\r
+       PUSH DWORD PTR [EBP+16]\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,306\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,306\r
+       MOV EAX,[EBP+12]\r
+       MOV [ESI],AL\r
+L_82:\r
+       XOR EAX,EAX\r
+L_81:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __GetSysIn:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,8\r
+       LEA EAX,[EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,306\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       MOV [EBP-8],EAX\r
+       AND EAX,EAX\r
+       JZ L_83\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,306\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL FWORD PTR _CopyData\r
+L_83:\r
+       MOV ESI,[EBP+12]\r
+       MOV EAX,[EBP-8]\r
+       MOV [ESI],EAX\r
+       XOR EAX,EAX\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __SetSysOut:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,4\r
+       LEA EAX,[EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV EAX,[EBP+12]\r
+       CMP EAX,49\r
+       SETG AL\r
+       AND EAX,01h\r
+       JNZ L_85\r
+       MOV EAX,[EBP+12]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+L_85:\r
+       AND EAX,EAX\r
+       JZ L_86\r
+       MOV EAX,76\r
+       JMP L_87\r
+L_86:\r
+       PUSH DWORD PTR [EBP+16]\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,356\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,356\r
+       MOV EAX,[EBP+12]\r
+       MOV [ESI],AL\r
+L_88:\r
+       XOR EAX,EAX\r
+L_87:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __GetSysOut:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,8\r
+       LEA EAX,[EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,356\r
+       MOVSX EAX,BYTE PTR [ESI]\r
+       MOV [EBP-8],EAX\r
+       AND EAX,EAX\r
+       JZ L_89\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,356\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL FWORD PTR _CopyData\r
+L_89:\r
+       MOV ESI,[EBP+12]\r
+       MOV EAX,[EBP-8]\r
+       MOV [ESI],EAX\r
+       XOR EAX,EAX\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __SetJobName:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,4\r
+       LEA EAX,[EBP-4]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH DWORD PTR [EBP-4]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV EAX,[EBP+12]\r
+       CMP EAX,13\r
+       SETG AL\r
+       AND EAX,01h\r
+       JZ L_91\r
+       MOV EAX,13\r
+       MOV [EBP+12],EAX\r
+L_91:\r
+       MOV EAX,[EBP+12]\r
+       AND EAX,EAX\r
+       JZ L_92\r
+       PUSH DWORD PTR [EBP+16]\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,4\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL FWORD PTR _CopyData\r
+L_92:\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,4\r
+       MOV EAX,[EBP+12]\r
+       MOV [ESI],AL\r
+       XOR EAX,EAX\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 8\r
+PUBLIC __LoadNewJob:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,44\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH DWORD PTR [EBP+16]\r
+       LEA EAX,[EBP-12]\r
+       PUSH EAX\r
+       CALL _GetRunFile\r
+       MOV [EBP-4],EAX\r
+       AND EAX,EAX\r
+       JNZ L_94\r
+       XOR EAX,EAX\r
+       MOV _JobNum,EAX\r
+       XOR EAX,EAX\r
+       MOV _pNewJCB,EAX\r
+       XOR EAX,EAX\r
+       MOV [EBP-24],EAX\r
+       XOR EAX,EAX\r
+       MOV [EBP-28],EAX\r
+       XOR EAX,EAX\r
+       MOV [EBP-32],EAX\r
+       PUSH OFFSET _JobNum\r
+       PUSH OFFSET _pNewJCB\r
+       CALL _AllocJCB\r
+       MOV [EBP-4],EAX\r
+       AND EAX,EAX\r
+       JNZ L_95\r
+       PUSH 3\r
+       LEA EAX,[EBP-24]\r
+       PUSH EAX\r
+       CALL FWORD PTR _AllocOSPage\r
+       MOV [EBP-4],EAX\r
+L_95:\r
+       MOV EAX,[EBP-24]\r
+       ADD EAX,4096\r
+       MOV [EBP-28],EAX\r
+       MOV EAX,[EBP-24]\r
+       ADD EAX,8192\r
+       MOV [EBP-32],EAX\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_96\r
+       PUSH DWORD PTR [EBP-28]\r
+       PUSH 4096\r
+       PUSH 0\r
+       CALL FWORD PTR _FillData\r
+       PUSH DWORD PTR [EBP-32]\r
+       PUSH 4096\r
+       PUSH 0\r
+       CALL FWORD PTR _FillData\r
+       PUSH 1\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,18\r
+       MOV EAX,[ESI]\r
+       MOV [EBP-36],EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP-28]\r
+       LEA EAX,[EBP-44]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetPhyAdd\r
+       MOV EAX,[EBP-44]\r
+       OR EAX,7\r
+       MOV [EBP-44],EAX\r
+       MOV EAX,1024\r
+       MOV ESI,[EBP-36]\r
+       ADD ESI,EAX\r
+       MOV EAX,[EBP-44]\r
+       MOV [ESI],EAX\r
+       MOV EAX,3072\r
+       MOV ESI,[EBP-36]\r
+       ADD ESI,EAX\r
+       MOV EAX,[EBP-28]\r
+       MOV [ESI],EAX\r
+       MOV EAX,_sStack\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV [EBP-20],EAX\r
+       MOV EAX,_sStack\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV EAX,EDX\r
+       AND EAX,EAX\r
+       JZ L_97\r
+       MOV EAX,[EBP-20]\r
+       INC DWORD PTR [EBP-20]\r
+L_97:\r
+       PUSH DWORD PTR [EBP-20]\r
+       PUSH OFFSET _pStack\r
+       CALL FWORD PTR _AllocPage\r
+       MOV [EBP-4],EAX\r
+       MOV EAX,[EBP-20]\r
+       MOV ECX,4096\r
+       IMUL ECX\r
+       MOV _sStack,EAX\r
+       MOV EAX,_sCode\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV [EBP-20],EAX\r
+       MOV EAX,_sCode\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV EAX,EDX\r
+       AND EAX,EAX\r
+       JZ L_98\r
+       MOV EAX,[EBP-20]\r
+       INC DWORD PTR [EBP-20]\r
+L_98:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_99\r
+       PUSH DWORD PTR [EBP-20]\r
+       PUSH OFFSET _pCode\r
+       CALL FWORD PTR _AllocPage\r
+       MOV [EBP-4],EAX\r
+L_99:\r
+       MOV EAX,_sData\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV [EBP-20],EAX\r
+       MOV EAX,_sData\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV EAX,EDX\r
+       AND EAX,EAX\r
+       JZ L_100\r
+       MOV EAX,[EBP-20]\r
+       INC DWORD PTR [EBP-20]\r
+L_100:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_101\r
+       PUSH DWORD PTR [EBP-20]\r
+       PUSH OFFSET _pData\r
+       CALL FWORD PTR _AllocPage\r
+       MOV [EBP-4],EAX\r
+L_101:\r
+       PUSH DWORD PTR [EBP-36]\r
+       PUSH DWORD PTR [EBP-24]\r
+       PUSH 4096\r
+       CALL FWORD PTR _CopyData\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_102\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _oCode\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_102:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_103\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _pCode\r
+       PUSH _sCode\r
+       LEA EAX,[EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+L_103:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_104\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _oData\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_104:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_105\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _pData\r
+       PUSH _sData\r
+       LEA EAX,[EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+L_105:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_106\r
+       MOV EAX,_nCDFIX\r
+       AND EAX,EAX\r
+       JZ L_107\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _oCDFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_108:\r
+       MOV EAX,_nCDFIX\r
+       DEC DWORD PTR _nCDFIX\r
+       AND EAX,EAX\r
+       JZ L_110\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+L_110:\r
+       AND EAX,EAX\r
+       JZ L_109\r
+       PUSH DWORD PTR [EBP-12]\r
+       LEA EAX,[EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,[EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+       MOV EAX,_pCode\r
+       ADD EAX,[EBP-8]\r
+       MOV [EBP-40],EAX\r
+       MOV ESI,[EBP-40]\r
+       PUSH ESI\r
+       MOV ESI,[EBP-40]\r
+       MOV EAX,[ESI]\r
+       SUB EAX,_offData\r
+       ADD EAX,_pData\r
+       POP EBX\r
+       MOV [EBX],EAX\r
+       JMP L_108\r
+L_109:\r
+L_107:\r
+       MOV EAX,_nCCFIX\r
+       AND EAX,EAX\r
+       JZ L_111\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _oCCFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_112:\r
+       MOV EAX,_nCCFIX\r
+       DEC DWORD PTR _nCCFIX\r
+       AND EAX,EAX\r
+       JZ L_114\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+L_114:\r
+       AND EAX,EAX\r
+       JZ L_113\r
+       PUSH DWORD PTR [EBP-12]\r
+       LEA EAX,[EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,[EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+       MOV EAX,_pCode\r
+       ADD EAX,[EBP-8]\r
+       MOV [EBP-40],EAX\r
+       MOV ESI,[EBP-40]\r
+       PUSH ESI\r
+       MOV ESI,[EBP-40]\r
+       MOV EAX,[ESI]\r
+       SUB EAX,_offCode\r
+       ADD EAX,_pCode\r
+       POP EBX\r
+       MOV [EBX],EAX\r
+       JMP L_112\r
+L_113:\r
+L_111:\r
+       MOV EAX,_nDCFIX\r
+       AND EAX,EAX\r
+       JZ L_115\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _oDCFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_116:\r
+       MOV EAX,_nDCFIX\r
+       DEC DWORD PTR _nDCFIX\r
+       AND EAX,EAX\r
+       JZ L_118\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+L_118:\r
+       AND EAX,EAX\r
+       JZ L_117\r
+       PUSH DWORD PTR [EBP-12]\r
+       LEA EAX,[EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,[EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+       MOV EAX,_pData\r
+       ADD EAX,[EBP-8]\r
+       MOV [EBP-40],EAX\r
+       MOV ESI,[EBP-40]\r
+       PUSH ESI\r
+       MOV ESI,[EBP-40]\r
+       MOV EAX,[ESI]\r
+       SUB EAX,_offCode\r
+       ADD EAX,_pCode\r
+       POP EBX\r
+       MOV [EBX],EAX\r
+       JMP L_116\r
+L_117:\r
+L_115:\r
+       MOV EAX,_nDDFIX\r
+       AND EAX,EAX\r
+       JZ L_119\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _oDDFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_120:\r
+       MOV EAX,_nDDFIX\r
+       DEC DWORD PTR _nDDFIX\r
+       AND EAX,EAX\r
+       JZ L_122\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+L_122:\r
+       AND EAX,EAX\r
+       JZ L_121\r
+       PUSH DWORD PTR [EBP-12]\r
+       LEA EAX,[EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,[EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+       MOV EAX,_pData\r
+       ADD EAX,[EBP-8]\r
+       MOV [EBP-40],EAX\r
+       MOV ESI,[EBP-40]\r
+       PUSH ESI\r
+       MOV ESI,[EBP-40]\r
+       MOV EAX,[ESI]\r
+       SUB EAX,_offData\r
+       ADD EAX,_pData\r
+       POP EBX\r
+       MOV [EBX],EAX\r
+       JMP L_120\r
+L_121:\r
+L_119:\r
+L_106:\r
+       MOV EAX,1024\r
+       MOV ESI,[EBP-36]\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 1024\r
+       PUSH 0\r
+       CALL FWORD PTR _FillData\r
+       MOV EAX,3072\r
+       MOV ESI,[EBP-36]\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 1024\r
+       PUSH 0\r
+       CALL FWORD PTR _FillData\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,18\r
+       MOV EAX,[EBP-24]\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,38\r
+       MOV EAX,_pStack\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,42\r
+       MOV EAX,_sStack\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,22\r
+       MOV EAX,_pCode\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,26\r
+       MOV EAX,_sCode\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,30\r
+       MOV EAX,_pData\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,34\r
+       MOV EAX,_sData\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,46\r
+       XOR AL,AL\r
+       MOV [ESI],AL\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,76\r
+       XOR AL,AL\r
+       MOV [ESI],AL\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,146\r
+       XOR AL,AL\r
+       MOV [ESI],AL\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,226\r
+       XOR AL,AL\r
+       MOV [ESI],AL\r
+       PUSH OFFSET L_lit+34\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,306\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 3\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,306\r
+       MOV AL,3\r
+       MOV [ESI],AL\r
+       PUSH OFFSET L_lit+38\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,356\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 3\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,356\r
+       MOV AL,3\r
+       MOV [ESI],AL\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,410\r
+       MOV EAX,[EBP-32]\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,414\r
+       MOV EAX,[EBP-32]\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,418\r
+       XOR EAX,EAX\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,422\r
+       XOR EAX,EAX\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,426\r
+       MOV EAX,80\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,430\r
+       MOV EAX,25\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,434\r
+       XOR EAX,EAX\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,442\r
+       MOV AL,1\r
+       MOV [ESI],AL\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,443\r
+       XOR AL,AL\r
+       MOV [ESI],AL\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_123\r
+       LEA EAX,[EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _AllocExch\r
+       MOV [EBP-4],EAX\r
+L_123:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_124\r
+       PUSH _JobNum\r
+       PUSH 24\r
+       PUSH 25\r
+       PUSH 0\r
+       PUSH DWORD PTR [EBP-8]\r
+       MOV EAX,_pStack\r
+       ADD EAX,_sStack\r
+       SUB EAX,4\r
+       PUSH EAX\r
+       MOV EAX,_pStart\r
+       ADD EAX,_pCode\r
+       SUB EAX,_offCode\r
+       PUSH EAX\r
+       CALL FWORD PTR _NewTask\r
+       MOV [EBP-4],EAX\r
+L_124:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_125\r
+       PUSH DWORD PTR [EBP-8]\r
+       PUSH _pNewJCB\r
+       CALL _SetExchOwner\r
+L_125:\r
+L_96:\r
+       PUSH DWORD PTR [EBP-12]\r
+       CALL FWORD PTR _CloseFile\r
+L_94:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_126\r
+       MOV ESI,[EBP+12]\r
+       MOV EAX,_JobNum\r
+       MOV [ESI],EAX\r
+L_126:\r
+       MOV EAX,[EBP-4]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 12\r
+_LoadJob:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,20\r
+       MOV EAX,[EBP+12]\r
+       MOV _pNewJCB,EAX\r
+       MOV EAX,_sStack\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV [EBP-16],EAX\r
+       MOV EAX,_sStack\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV EAX,EDX\r
+       AND EAX,EAX\r
+       JZ L_128\r
+       MOV EAX,[EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+L_128:\r
+       PUSH DWORD PTR [EBP-16]\r
+       PUSH OFFSET _pStack\r
+       CALL FWORD PTR _AllocPage\r
+       MOV [EBP-4],EAX\r
+       MOV EAX,[EBP-16]\r
+       MOV ECX,4096\r
+       IMUL ECX\r
+       MOV _sStack,EAX\r
+       MOV EAX,_sCode\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV [EBP-16],EAX\r
+       MOV EAX,_sCode\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV EAX,EDX\r
+       AND EAX,EAX\r
+       JZ L_129\r
+       MOV EAX,[EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+L_129:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_130\r
+       PUSH DWORD PTR [EBP-16]\r
+       PUSH OFFSET _pCode\r
+       CALL FWORD PTR _AllocPage\r
+       MOV [EBP-4],EAX\r
+L_130:\r
+       MOV EAX,_sData\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV [EBP-16],EAX\r
+       MOV EAX,_sData\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV EAX,EDX\r
+       AND EAX,EAX\r
+       JZ L_131\r
+       MOV EAX,[EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+L_131:\r
+       PUSH DWORD PTR [EBP-16]\r
+       PUSH OFFSET _pData\r
+       CALL FWORD PTR _AllocPage\r
+       MOV [EBP-4],EAX\r
+       AND EAX,EAX\r
+       JNZ L_132\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _oCode\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_132:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_133\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _pCode\r
+       PUSH _sCode\r
+       LEA EAX,[EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+L_133:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_134\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _oData\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_134:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_135\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _pData\r
+       PUSH _sData\r
+       LEA EAX,[EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+L_135:\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_136\r
+       MOV EAX,_nCDFIX\r
+       AND EAX,EAX\r
+       JZ L_137\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _oCDFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_138:\r
+       MOV EAX,_nCDFIX\r
+       DEC DWORD PTR _nCDFIX\r
+       AND EAX,EAX\r
+       JZ L_140\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+L_140:\r
+       AND EAX,EAX\r
+       JZ L_139\r
+       PUSH DWORD PTR [EBP+8]\r
+       LEA EAX,[EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,[EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+       MOV EAX,_pCode\r
+       ADD EAX,[EBP-8]\r
+       MOV [EBP-20],EAX\r
+       MOV ESI,[EBP-20]\r
+       PUSH ESI\r
+       MOV ESI,[EBP-20]\r
+       MOV EAX,[ESI]\r
+       SUB EAX,_offData\r
+       ADD EAX,_pData\r
+       POP EBX\r
+       MOV [EBX],EAX\r
+       JMP L_138\r
+L_139:\r
+L_137:\r
+       MOV EAX,_nCCFIX\r
+       AND EAX,EAX\r
+       JZ L_141\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _oCCFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_142:\r
+       MOV EAX,_nCCFIX\r
+       DEC DWORD PTR _nCCFIX\r
+       AND EAX,EAX\r
+       JZ L_144\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+L_144:\r
+       AND EAX,EAX\r
+       JZ L_143\r
+       PUSH DWORD PTR [EBP+8]\r
+       LEA EAX,[EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,[EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+       MOV EAX,_pCode\r
+       ADD EAX,[EBP-8]\r
+       MOV [EBP-20],EAX\r
+       MOV ESI,[EBP-20]\r
+       PUSH ESI\r
+       MOV ESI,[EBP-20]\r
+       MOV EAX,[ESI]\r
+       SUB EAX,_offCode\r
+       ADD EAX,_pCode\r
+       POP EBX\r
+       MOV [EBX],EAX\r
+       JMP L_142\r
+L_143:\r
+L_141:\r
+       MOV EAX,_nDCFIX\r
+       AND EAX,EAX\r
+       JZ L_145\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _oDCFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_146:\r
+       MOV EAX,_nDCFIX\r
+       DEC DWORD PTR _nDCFIX\r
+       AND EAX,EAX\r
+       JZ L_148\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+L_148:\r
+       AND EAX,EAX\r
+       JZ L_147\r
+       PUSH DWORD PTR [EBP+8]\r
+       LEA EAX,[EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,[EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+       MOV EAX,_pData\r
+       ADD EAX,[EBP-8]\r
+       MOV [EBP-20],EAX\r
+       MOV ESI,[EBP-20]\r
+       PUSH ESI\r
+       MOV ESI,[EBP-20]\r
+       MOV EAX,[ESI]\r
+       SUB EAX,_offCode\r
+       ADD EAX,_pCode\r
+       POP EBX\r
+       MOV [EBX],EAX\r
+       JMP L_146\r
+L_147:\r
+L_145:\r
+       MOV EAX,_nDDFIX\r
+       AND EAX,EAX\r
+       JZ L_149\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _oDDFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV [EBP-4],EAX\r
+L_150:\r
+       MOV EAX,_nDDFIX\r
+       DEC DWORD PTR _nDDFIX\r
+       AND EAX,EAX\r
+       JZ L_152\r
+       MOV EAX,[EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+L_152:\r
+       AND EAX,EAX\r
+       JZ L_151\r
+       PUSH DWORD PTR [EBP+8]\r
+       LEA EAX,[EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,[EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV [EBP-4],EAX\r
+       MOV EAX,_pData\r
+       ADD EAX,[EBP-8]\r
+       MOV [EBP-20],EAX\r
+       MOV ESI,[EBP-20]\r
+       PUSH ESI\r
+       MOV ESI,[EBP-20]\r
+       MOV EAX,[ESI]\r
+       SUB EAX,_offData\r
+       ADD EAX,_pData\r
+       POP EBX\r
+       MOV [EBX],EAX\r
+       JMP L_150\r
+L_151:\r
+L_149:\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,38\r
+       MOV EAX,_pStack\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,42\r
+       MOV EAX,_sStack\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,22\r
+       MOV EAX,_pCode\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,26\r
+       MOV EAX,_sCode\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,30\r
+       MOV EAX,_pData\r
+       MOV [ESI],EAX\r
+       MOV ESI,_pNewJCB\r
+       ADD ESI,34\r
+       MOV EAX,_sData\r
+       MOV [ESI],EAX\r
+L_136:\r
+       PUSH DWORD PTR [EBP+8]\r
+       CALL FWORD PTR _CloseFile\r
+       MOV EAX,[EBP-4]\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETN 8\r
+PUBLIC __KillTask:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       PUSH OFFSET _JobNumE\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH _JobNumE\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,18\r
+       MOV EAX,[ESI]\r
+       MOV _pPDE,EAX\r
+       PUSH EAX\r
+       CALL _CleanUserPD\r
+       PUSH OFFSET _ExchE\r
+       CALL FWORD PTR _GetTSSExch\r
+       XOR EAX,EAX\r
+       MOV _ercE,EAX\r
+L_154:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_155\r
+       PUSH _ExchE\r
+       PUSH OFFSET _BogusMsg\r
+       CALL FWORD PTR _CheckMsg\r
+       MOV _ercE,EAX\r
+       JMP L_154\r
+L_155:\r
+       PUSH _KillExch\r
+       PUSH _ExchE\r
+       PUSH 4\r
+       CALL FWORD PTR _ISendMsg\r
+       PUSH 31\r
+       CALL FWORD PTR _SetPriority\r
+       PUSH _ExchE\r
+       PUSH OFFSET _BogusMsg\r
+       CALL FWORD PTR _WaitMsg\r
+L_156:\r
+       MOV EAX,1\r
+       AND EAX,EAX\r
+       JZ L_157\r
+       JMP L_156\r
+L_157:\r
+       POP EBP\r
+       RETN\r
+PUBLIC __KillJob:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       SUB ESP,4\r
+       PUSH OFFSET _JobNumE\r
+       CALL FWORD PTR _GetJobNum\r
+       MOV EAX,[EBP+12]\r
+       CMP EAX,_JobNumE\r
+       SETE AL\r
+       AND EAX,01h\r
+       JNZ L_158\r
+       MOV EAX,[EBP+12]\r
+       CMP EAX,1\r
+       SETE AL\r
+       AND EAX,01h\r
+       JNZ L_159\r
+       MOV EAX,[EBP+12]\r
+       CMP EAX,2\r
+       SETE AL\r
+       AND EAX,01h\r
+L_159:\r
+L_158:\r
+       JZ L_160\r
+       MOV EAX,70\r
+       JMP L_161\r
+L_160:\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV [EBP-4],EAX\r
+       AND EAX,EAX\r
+       JZ L_162\r
+       MOV EAX,[EBP-4]\r
+       JMP L_161\r
+L_162:\r
+       MOV ESI,_pTmpJCB\r
+       ADD ESI,406\r
+       MOV EAX,4\r
+       MOV [ESI],EAX\r
+       PUSH _pTmpJCB\r
+       CALL _RemoveRdyJob\r
+       XOR EAX,EAX\r
+       MOV _ercE,EAX\r
+       XOR EAX,EAX\r
+       MOV _iE,EAX\r
+L_163:\r
+       MOV EAX,_ercE\r
+       CMP EAX,10\r
+       SETNE AL\r
+       AND EAX,01h\r
+       JZ L_164\r
+       PUSH _iE\r
+       PUSH OFFSET _pExchJCBE\r
+       CALL _GetExchOwner\r
+       MOV _ercE,EAX\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+       AND EAX,EAX\r
+       JZ L_165\r
+       MOV EAX,_pExchJCBE\r
+       CMP EAX,_pTmpJCB\r
+       SETE AL\r
+       AND EAX,01h\r
+L_165:\r
+       JZ L_166\r
+       PUSH _iE\r
+       CALL FWORD PTR _DeAllocExch\r
+L_166:\r
+       MOV EAX,_iE\r
+       INC DWORD PTR _iE\r
+       JMP L_163\r
+L_164:\r
+       XOR EAX,EAX\r
+       MOV _ercE,EAX\r
+       PUSH OFFSET _ExchE\r
+       CALL FWORD PTR _AllocExch\r
+       MOV [EBP-4],EAX\r
+       PUSH _ExchE\r
+       PUSH _pTmpJCB\r
+       CALL _SetExchOwner\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH _ExchE\r
+       CALL _SendAbort\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH 8\r
+       PUSH 3\r
+       PUSH 0\r
+       PUSH _ExchE\r
+       MOV EAX,508\r
+       MOV ESI,OFFSET _TmpStack\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH OFFSET __KillTask\r
+       CALL FWORD PTR _NewTask\r
+       MOV [EBP-4],EAX\r
+L_161:\r
+       MOV ESP,EBP\r
+       POP EBP\r
+       RETF 4\r
+PUBLIC __ExitJob:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       PUSH OFFSET _JobNumE\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH _JobNumE\r
+       PUSH OFFSET _pCrntJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV ESI,_pCrntJCB\r
+       ADD ESI,406\r
+       MOV EAX,[EBP+12]\r
+       MOV [ESI],EAX\r
+       PUSH _pCrntJCB\r
+       CALL _RemoveRdyJob\r
+       PUSH OFFSET _ExchE\r
+       CALL FWORD PTR _GetTSSExch\r
+       XOR EAX,EAX\r
+       MOV _ercE,EAX\r
+       XOR EAX,EAX\r
+       MOV _iE,EAX\r
+L_167:\r
+       MOV EAX,_ercE\r
+       CMP EAX,10\r
+       SETNE AL\r
+       AND EAX,01h\r
+       JZ L_168\r
+       PUSH _iE\r
+       PUSH OFFSET _pExchJCBE\r
+       CALL _GetExchOwner\r
+       MOV _ercE,EAX\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+       AND EAX,EAX\r
+       JZ L_169\r
+       MOV EAX,_iE\r
+       CMP EAX,_ExchE\r
+       SETNE AL\r
+       AND EAX,01h\r
+       JZ L_170\r
+       MOV EAX,_pExchJCBE\r
+       CMP EAX,_pCrntJCB\r
+       SETE AL\r
+       AND EAX,01h\r
+L_170:\r
+L_169:\r
+       JZ L_171\r
+       PUSH _iE\r
+       CALL FWORD PTR _DeAllocExch\r
+L_171:\r
+       MOV EAX,_iE\r
+       INC DWORD PTR _iE\r
+       JMP L_167\r
+L_168:\r
+       PUSH _JobNumE\r
+       PUSH _ExchE\r
+       CALL _SendAbort\r
+       XOR EAX,EAX\r
+       MOV _ercE,EAX\r
+L_172:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_173\r
+       PUSH _ExchE\r
+       PUSH OFFSET _BogusMsg\r
+       CALL FWORD PTR _CheckMsg\r
+       MOV _ercE,EAX\r
+       JMP L_172\r
+L_173:\r
+       XOR EAX,EAX\r
+       MOV _ercE,EAX\r
+       MOV EAX, OFFSET _TmpStack\r
+       ADD EAX, 508\r
+       MOV ESP, EAX\r
+       MOV EBP, EAX\r
+       MOV ESI,_pCrntJCB\r
+       ADD ESI,18\r
+       MOV EAX,[ESI]\r
+       MOV _pPDE,EAX\r
+       PUSH EAX\r
+       CALL _CleanUserPD\r
+       PUSH OFFSET _aFileE\r
+       PUSH OFFSET _cbFileE\r
+       CALL FWORD PTR _GetExitJob\r
+       MOV EAX,_cbFileE\r
+       AND EAX,EAX\r
+       JNZ L_174\r
+       MOV EAX,76\r
+       MOV _ercE,EAX\r
+L_174:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_175\r
+       PUSH OFFSET _aFileE\r
+       PUSH _cbFileE\r
+       PUSH OFFSET _job_fhE\r
+       CALL _GetRunFile\r
+       MOV _ercE,EAX\r
+L_175:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_176\r
+       PUSH _pCrntJCB\r
+       PUSH _job_fhE\r
+       CALL _LoadJob\r
+       MOV _ercE,EAX\r
+L_176:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_177\r
+       MOV EAX,_pStart\r
+       ADD EAX,_pCode\r
+       SUB EAX,_offCode\r
+       MOV _pStart,EAX\r
+                       MOV EAX, _pStack\r
+                       MOV EBX, _sStack\r
+                       ADD EAX, EBX\r
+                       SUB EAX, 4\r
+                       MOV ESP, EAX\r
+                       MOV EBP, EAX\r
+                       PUSH 18h\r
+                       MOV EAX, _pStart\r
+                       PUSH EAX\r
+                       RETF                            ;We are history!\r
+L_177:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JZ L_178\r
+       PUSH _KillExch\r
+       PUSH _ExchE\r
+       PUSH _ercE\r
+       CALL FWORD PTR _ISendMsg\r
+       PUSH 31\r
+       CALL FWORD PTR _SetPriority\r
+       PUSH _ExchE\r
+       PUSH OFFSET _BogusMsg\r
+       CALL FWORD PTR _WaitMsg\r
+L_179:\r
+       MOV EAX,1\r
+       AND EAX,EAX\r
+       JZ L_180\r
+       JMP L_179\r
+L_180:\r
+L_178:\r
+       POP EBP\r
+       RETF 4\r
+PUBLIC __Chain:\r
+       PUSH EBP\r
+       MOV EBP,ESP\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH OFFSET _aFileE\r
+       PUSH DWORD PTR [EBP+16]\r
+       CALL FWORD PTR _CopyData\r
+       MOV EAX,[EBP+16]\r
+       MOV _cbFileE,EAX\r
+       PUSH DWORD PTR [EBP+20]\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH OFFSET _job_fhE\r
+       CALL _GetRunFile\r
+       MOV _ercE,EAX\r
+       AND EAX,EAX\r
+       JZ L_181\r
+       PUSH _job_fhE\r
+       CALL FWORD PTR _CloseFile\r
+       MOV EAX,_ercE\r
+       JMP L_182\r
+L_181:\r
+       PUSH _job_fhE\r
+       CALL FWORD PTR _CloseFile\r
+       PUSH OFFSET _JobNumE\r
+       CALL FWORD PTR _GetJobNum\r
+       PUSH _JobNumE\r
+       PUSH OFFSET _pCrntJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV ESI,_pCrntJCB\r
+       ADD ESI,406\r
+       MOV EAX,[EBP+12]\r
+       MOV [ESI],EAX\r
+       PUSH _pCrntJCB\r
+       CALL _RemoveRdyJob\r
+       PUSH OFFSET _ExchE\r
+       CALL FWORD PTR _GetTSSExch\r
+       XOR EAX,EAX\r
+       MOV _ercE,EAX\r
+       XOR EAX,EAX\r
+       MOV _iE,EAX\r
+L_183:\r
+       MOV EAX,_ercE\r
+       CMP EAX,10\r
+       SETNE AL\r
+       AND EAX,01h\r
+       JZ L_184\r
+       PUSH _iE\r
+       PUSH OFFSET _pExchJCBE\r
+       CALL _GetExchOwner\r
+       MOV _ercE,EAX\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND EAX,01\r
+       AND EAX,EAX\r
+       JZ L_185\r
+       MOV EAX,_iE\r
+       CMP EAX,_ExchE\r
+       SETNE AL\r
+       AND EAX,01h\r
+       JZ L_186\r
+       MOV EAX,_pExchJCBE\r
+       CMP EAX,_pCrntJCB\r
+       SETE AL\r
+       AND EAX,01h\r
+L_186:\r
+L_185:\r
+       JZ L_187\r
+       PUSH _iE\r
+       CALL FWORD PTR _DeAllocExch\r
+L_187:\r
+       MOV EAX,_iE\r
+       INC DWORD PTR _iE\r
+       JMP L_183\r
+L_184:\r
+       PUSH _JobNumE\r
+       PUSH _ExchE\r
+       CALL _SendAbort\r
+       XOR EAX,EAX\r
+       MOV _ercE,EAX\r
+L_188:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_189\r
+       PUSH _ExchE\r
+       PUSH OFFSET _BogusMsg\r
+       CALL FWORD PTR _CheckMsg\r
+       MOV _ercE,EAX\r
+       JMP L_188\r
+L_189:\r
+       XOR EAX,EAX\r
+       MOV _ercE,EAX\r
+       MOV EAX, OFFSET _TmpStack\r
+       ADD EAX, 508\r
+       MOV ESP, EAX\r
+       MOV EBP, EAX\r
+       MOV ESI,_pCrntJCB\r
+       ADD ESI,18\r
+       MOV EAX,[ESI]\r
+       MOV _pPDE,EAX\r
+       PUSH EAX\r
+       CALL _CleanUserPD\r
+       PUSH OFFSET _aFileE\r
+       PUSH _cbFileE\r
+       PUSH OFFSET _job_fhE\r
+       CALL _GetRunFile\r
+       PUSH _pCrntJCB\r
+       PUSH _job_fhE\r
+       CALL _LoadJob\r
+       MOV _ercE,EAX\r
+       AND EAX,EAX\r
+       JZ L_190\r
+       PUSH OFFSET _aFileE\r
+       PUSH OFFSET _cbFileE\r
+       CALL FWORD PTR _GetExitJob\r
+       MOV EAX,_cbFileE\r
+       AND EAX,EAX\r
+       JNZ L_191\r
+       MOV EAX,76\r
+       MOV _ercE,EAX\r
+L_191:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_192\r
+       PUSH OFFSET _aFileE\r
+       PUSH _cbFileE\r
+       PUSH OFFSET _job_fhE\r
+       CALL _GetRunFile\r
+       MOV _ercE,EAX\r
+L_192:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_193\r
+       PUSH _pCrntJCB\r
+       PUSH _job_fhE\r
+       CALL _LoadJob\r
+       MOV _ercE,EAX\r
+L_193:\r
+L_190:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_194\r
+       MOV EAX,_pStart\r
+       ADD EAX,_pCode\r
+       SUB EAX,_offCode\r
+       MOV _pStart,EAX\r
+               MOV EAX, _pStack\r
+               MOV EBX, _sStack\r
+               ADD EAX, EBX\r
+               SUB EAX, 4\r
+               MOV ESP, EAX\r
+               MOV EBP, EAX\r
+               PUSH 18h\r
+               MOV EAX, _pStart\r
+               PUSH EAX\r
+               RETF                            ;We are history!\r
+L_194:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JZ L_195\r
+       PUSH _KillExch\r
+       PUSH _ExchE\r
+       PUSH _ercE\r
+       CALL FWORD PTR _ISendMsg\r
+               STI\r
+       PUSH 31\r
+       CALL FWORD PTR _SetPriority\r
+       PUSH _ExchE\r
+       PUSH OFFSET _BogusMsg\r
+       CALL FWORD PTR _WaitMsg\r
+L_196:\r
+       MOV EAX,1\r
+       AND EAX,EAX\r
+       JZ L_197\r
+       JMP L_196\r
+L_197:\r
+L_195:\r
+L_182:\r
+       POP EBP\r
+       RETF 12\r