]> pd.if.org Git - mmurtl/commitdiff
autocommit for file dated 1995-02-09 11:16:50
authorRichard Burgess <>
Thu, 9 Feb 1995 11:16:50 +0000 (11:16 +0000)
committerNathan Wagner <nw@hydaspes.if.org>
Mon, 17 Oct 2016 14:03:48 +0000 (14:03 +0000)
ossource/jobc.asm [new file with mode: 0644]

diff --git a/ossource/jobc.asm b/ossource/jobc.asm
new file mode 100644 (file)
index 0000000..01e080b
--- /dev/null
@@ -0,0 +1,2360 @@
+\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 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 DWORD PTR [EBP-4], EAX\r
+L_1:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       CMP EAX,1024\r
+       SETL AL\r
+       AND AL,AL\r
+       JZ L_2\r
+       JMP SHORT L_3\r
+L_4:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       INC DWORD PTR [EBP-4]\r
+       JMP SHORT L_1\r
+L_3:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       SHL EAX,2\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+       AND EAX,EAX\r
+       JZ L_5\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       SHL EAX,2\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+       AND EAX,-4096\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-8], EAX\r
+L_6:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,1024\r
+       SETL AL\r
+       AND AL,AL\r
+       JZ L_7\r
+       JMP SHORT L_8\r
+L_9:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       JMP SHORT L_6\r
+L_8:\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       SUB EAX,512\r
+       MOV ECX,4194304\r
+       IMUL ECX\r
+       MOV EBX,EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV ECX,4096\r
+       IMUL ECX\r
+       ADD EAX,EBX\r
+       MOV DWORD PTR [EBP-24], EAX\r
+L_10:\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       INC DWORD PTR [EBP-8]\r
+       SHL EAX,2\r
+       MOV ESI,DWORD PTR [EBP-20]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [ESI]\r
+       AND EAX,EAX\r
+       JZ L_12\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       CMP EAX,1024\r
+       SETL AL\r
+       AND AL,AL\r
+L_12:\r
+       JZ L_11\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       INC DWORD PTR [EBP-12]\r
+       JMP L_10\r
+L_11:\r
+       MOV EAX,DWORD PTR [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 DWORD PTR [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
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-12], EAX\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI], EAX\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP+12]\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       PUSH 1\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _OpenFile\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_14\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [EBP-17], AL\r
+L_15:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+       JZ L_17\r
+       MOVSX EAX,BYTE PTR [EBP-17]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_17:\r
+       JZ L_16\r
+       MOV ESI,OFFSET _tag\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI], AL\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _tag\r
+       PUSH 5\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV ESI,OFFSET _tag\r
+       XOR EAX,EAX\r
+       MOV AL,BYTE PTR [ESI]\r
+       JMP L_19\r
+L_20:\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _filetype\r
+       PUSH 1\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOVSX EAX,_filetype\r
+       CMP EAX,1\r
+       SETL AL\r
+       AND AL,AL\r
+       JNZ L_21\r
+       MOVSX EAX,_filetype\r
+       CMP EAX,3\r
+       SETG AL\r
+       AND AL,AL\r
+L_21:\r
+       JZ L_22\r
+       MOV EAX,30074\r
+       MOV DWORD PTR [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,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_24\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH OFFSET _sCode\r
+       PUSH 4\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_24:\r
+       MOV EAX,DWORD PTR [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,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [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,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [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,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [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,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [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 DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_30\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _tag\r
+       MOV EAX,_oCode\r
+       ADD EAX,DWORD PTR [ESI+1]\r
+       PUSH EAX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [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 DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_32\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _tag\r
+       MOV EAX,_oData\r
+       ADD EAX,DWORD PTR [ESI+1]\r
+       PUSH EAX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [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 DWORD PTR [EBP-4], EAX\r
+       MOV ESI,OFFSET _tag\r
+       MOV EAX,DWORD PTR [ESI+1]\r
+       MOV ECX,4\r
+       CDQ\r
+       IDIV ECX\r
+       MOV _nCDFIX, EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_34\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _tag\r
+       MOV EAX,_oCDFIX\r
+       ADD EAX,DWORD PTR [ESI+1]\r
+       PUSH EAX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [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 DWORD PTR [EBP-4], EAX\r
+       MOV ESI,OFFSET _tag\r
+       MOV EAX,DWORD PTR [ESI+1]\r
+       MOV ECX,4\r
+       CDQ\r
+       IDIV ECX\r
+       MOV _nCCFIX, EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_36\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _tag\r
+       MOV EAX,_oCCFIX\r
+       ADD EAX,DWORD PTR [ESI+1]\r
+       PUSH EAX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [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 DWORD PTR [EBP-4], EAX\r
+       MOV ESI,OFFSET _tag\r
+       MOV EAX,DWORD PTR [ESI+1]\r
+       MOV ECX,4\r
+       CDQ\r
+       IDIV ECX\r
+       MOV _nDDFIX, EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_38\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _tag\r
+       MOV EAX,_oDDFIX\r
+       ADD EAX,DWORD PTR [ESI+1]\r
+       PUSH EAX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [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 DWORD PTR [EBP-4], EAX\r
+       MOV ESI,OFFSET _tag\r
+       MOV EAX,DWORD PTR [ESI+1]\r
+       MOV ECX,4\r
+       CDQ\r
+       IDIV ECX\r
+       MOV _nDCFIX, EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_40\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _tag\r
+       MOV EAX,_oDCFIX\r
+       ADD EAX,DWORD PTR [ESI+1]\r
+       PUSH EAX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_40:\r
+       JMP L_18\r
+L_41:\r
+       MOV EAX,1\r
+       MOV BYTE PTR [EBP-17], AL\r
+       JMP L_18\r
+L_42:\r
+       PUSH DWORD PTR [EBP-12]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV ESI,OFFSET _tag\r
+       MOV EAX,DWORD PTR [ESI+1]\r
+       CMP EAX,1024\r
+       SETG AL\r
+       AND AL,AL\r
+       JZ L_43\r
+       MOV EAX,74\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_43:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_44\r
+       PUSH DWORD PTR [EBP-12]\r
+       MOV ESI,OFFSET _tag\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       ADD EAX,DWORD PTR [ESI+1]\r
+       PUSH EAX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_44:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_45\r
+       MOV EAX,74\r
+       MOV DWORD PTR [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,DWORD PTR [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,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_47\r
+       MOV ESI,DWORD PTR [EBP+8]\r
+       MOV EAX,DWORD PTR [EBP-12]\r
+       MOV DWORD PTR [ESI], EAX\r
+L_47:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_48:\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,DWORD PTR [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,DWORD PTR [EBP+12]\r
+       CMP EAX,79\r
+       SETG AL\r
+       AND AL,AL\r
+       JZ L_49\r
+       MOV EAX,76\r
+       JMP L_50\r
+L_49:\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       AND EAX,EAX\r
+       JNZ L_52\r
+       MOV ESI,_pTmpJCB\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI+146], AL\r
+       JMP L_53\r
+L_52:\r
+       PUSH DWORD PTR [EBP+16]\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,146\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV BYTE PTR [ESI+146], AL\r
+L_53:\r
+L_51:\r
+       XOR EAX,EAX\r
+L_50:\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,DWORD PTR [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
+       MOVSX EAX,BYTE PTR [ESI+146]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JZ L_54\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,146\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL FWORD PTR _CopyData\r
+L_54:\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [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,DWORD PTR [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,DWORD PTR [EBP+12]\r
+       CMP EAX,69\r
+       SETG AL\r
+       AND AL,AL\r
+       JZ L_56\r
+       MOV EAX,76\r
+       JMP L_57\r
+L_56:\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       AND EAX,EAX\r
+       JNZ L_59\r
+       MOV ESI,_pTmpJCB\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI+76], AL\r
+       JMP L_60\r
+L_59:\r
+       PUSH DWORD PTR [EBP+16]\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,76\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV BYTE PTR [ESI+76], AL\r
+L_60:\r
+L_58:\r
+       XOR EAX,EAX\r
+L_57:\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 DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JNZ L_61\r
+       MOV ESI,_pTmpJCB\r
+       MOVSX EAX,BYTE PTR [ESI+76]\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_62\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,76\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-4]\r
+       CALL FWORD PTR _CopyData\r
+L_62:\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       MOV DWORD PTR [ESI], EAX\r
+L_61:\r
+       MOV EAX,DWORD PTR [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,DWORD PTR [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,DWORD PTR [EBP+12]\r
+       CMP EAX,79\r
+       SETG AL\r
+       AND AL,AL\r
+       JZ L_64\r
+       MOV EAX,76\r
+       JMP L_65\r
+L_64:\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       AND EAX,EAX\r
+       JNZ L_67\r
+       MOV ESI,_pTmpJCB\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI+226], AL\r
+       JMP L_68\r
+L_67:\r
+       PUSH DWORD PTR [EBP+16]\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,226\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV BYTE PTR [ESI+226], AL\r
+L_68:\r
+L_66:\r
+       XOR EAX,EAX\r
+L_65:\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,DWORD PTR [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
+       MOVSX EAX,BYTE PTR [ESI+226]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JZ L_69\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,226\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL FWORD PTR _CopyData\r
+L_69:\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [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,DWORD PTR [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,DWORD PTR [EBP+12]\r
+       CMP EAX,29\r
+       SETG AL\r
+       AND AL,AL\r
+       JZ L_71\r
+       MOV EAX,76\r
+       JMP L_72\r
+L_71:\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       AND EAX,EAX\r
+       JNZ L_74\r
+       MOV ESI,_pTmpJCB\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI+46], AL\r
+       JMP L_75\r
+L_74:\r
+       PUSH DWORD PTR [EBP+16]\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,46\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV BYTE PTR [ESI+46], AL\r
+L_75:\r
+L_73:\r
+       XOR EAX,EAX\r
+L_72:\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,DWORD PTR [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
+       MOVSX EAX,BYTE PTR [ESI+46]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JZ L_76\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,46\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL FWORD PTR _CopyData\r
+L_76:\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [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,DWORD PTR [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,DWORD PTR [EBP+12]\r
+       CMP EAX,49\r
+       SETG AL\r
+       AND AL,AL\r
+       JNZ L_78\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_78:\r
+       JZ L_79\r
+       MOV EAX,76\r
+       JMP L_80\r
+L_79:\r
+       PUSH DWORD PTR [EBP+16]\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,306\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV BYTE PTR [ESI+306], AL\r
+L_81:\r
+       XOR EAX,EAX\r
+L_80:\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,DWORD PTR [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
+       MOVSX EAX,BYTE PTR [ESI+306]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JZ L_82\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,306\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL FWORD PTR _CopyData\r
+L_82:\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [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,DWORD PTR [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,DWORD PTR [EBP+12]\r
+       CMP EAX,49\r
+       SETG AL\r
+       AND AL,AL\r
+       JNZ L_84\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_84:\r
+       JZ L_85\r
+       MOV EAX,76\r
+       JMP L_86\r
+L_85:\r
+       PUSH DWORD PTR [EBP+16]\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,356\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV BYTE PTR [ESI+356], AL\r
+L_87:\r
+       XOR EAX,EAX\r
+L_86:\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,DWORD PTR [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
+       MOVSX EAX,BYTE PTR [ESI+356]\r
+       MOV DWORD PTR [EBP-8], EAX\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       AND EAX,EAX\r
+       JZ L_88\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,356\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+16]\r
+       PUSH DWORD PTR [EBP-8]\r
+       CALL FWORD PTR _CopyData\r
+L_88:\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [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,DWORD PTR [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,DWORD PTR [EBP+12]\r
+       CMP EAX,13\r
+       SETG AL\r
+       AND AL,AL\r
+       JZ L_90\r
+       MOV EAX,13\r
+       MOV DWORD PTR [EBP+12], EAX\r
+L_90:\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       AND EAX,EAX\r
+       JZ L_91\r
+       PUSH DWORD PTR [EBP+16]\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,4\r
+       PUSH EAX\r
+       PUSH DWORD PTR [EBP+12]\r
+       CALL FWORD PTR _CopyData\r
+L_91:\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV BYTE PTR [ESI+4], 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,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL _GetRunFile\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_93\r
+       XOR EAX,EAX\r
+       MOV _JobNum, EAX\r
+       XOR EAX,EAX\r
+       MOV _pNewJCB, EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-24], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [EBP-32], EAX\r
+       PUSH OFFSET _JobNum\r
+       PUSH OFFSET _pNewJCB\r
+       CALL _AllocJCB\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_94\r
+       PUSH 3\r
+       LEA EAX,DWORD PTR [EBP-24]\r
+       PUSH EAX\r
+       CALL FWORD PTR _AllocOSPage\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_94:\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       ADD EAX,4096\r
+       MOV DWORD PTR [EBP-28], EAX\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       ADD EAX,8192\r
+       MOV DWORD PTR [EBP-32], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_95\r
+       PUSH DWORD PTR [EBP-28]\r
+       PUSH 4096\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _FillData\r
+       PUSH DWORD PTR [EBP-32]\r
+       PUSH 4096\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _FillData\r
+       PUSH 1\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,DWORD PTR [ESI+18]\r
+       MOV DWORD PTR [EBP-36], EAX\r
+       PUSH 1\r
+       PUSH DWORD PTR [EBP-28]\r
+       LEA EAX,DWORD PTR [EBP-44]\r
+       PUSH EAX\r
+       CALL FWORD PTR _GetPhyAdd\r
+       MOV EAX,DWORD PTR [EBP-44]\r
+       OR EAX,7\r
+       MOV DWORD PTR [EBP-44], EAX\r
+       MOV EAX,1024\r
+       MOV ESI,DWORD PTR [EBP-36]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-44]\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,3072\r
+       MOV ESI,DWORD PTR [EBP-36]\r
+       ADD ESI,EAX\r
+       MOV EAX,DWORD PTR [EBP-28]\r
+       MOV DWORD PTR [ESI], EAX\r
+       MOV EAX,_sStack\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV DWORD PTR [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_96\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       INC DWORD PTR [EBP-20]\r
+L_96:\r
+       PUSH DWORD PTR [EBP-20]\r
+       PUSH OFFSET _pStack\r
+       CALL FWORD PTR _AllocPage\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [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 DWORD PTR [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_97\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       INC DWORD PTR [EBP-20]\r
+L_97:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_98\r
+       PUSH DWORD PTR [EBP-20]\r
+       PUSH OFFSET _pCode\r
+       CALL FWORD PTR _AllocPage\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_98:\r
+       MOV EAX,_sData\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV DWORD PTR [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_99\r
+       MOV EAX,DWORD PTR [EBP-20]\r
+       INC DWORD PTR [EBP-20]\r
+L_99:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_100\r
+       PUSH DWORD PTR [EBP-20]\r
+       PUSH OFFSET _pData\r
+       CALL FWORD PTR _AllocPage\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_100:\r
+       PUSH DWORD PTR [EBP-36]\r
+       PUSH DWORD PTR [EBP-24]\r
+       PUSH 4096\r
+       CALL FWORD PTR _CopyData\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_101\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _oCode\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_101:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_102\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _pCode\r
+       PUSH _sCode\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_102:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_103\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _oData\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_103:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_104\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _pData\r
+       PUSH _sData\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_104:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_105\r
+       MOV EAX,_nCDFIX\r
+       AND EAX,EAX\r
+       JZ L_106\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _oCDFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_107:\r
+       MOV EAX,_nCDFIX\r
+       DEC _nCDFIX\r
+       AND EAX,EAX\r
+       JZ L_109\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_109:\r
+       JZ L_108\r
+       PUSH DWORD PTR [EBP-12]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,_pCode\r
+       ADD EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [EBP-40], EAX\r
+       MOV ESI,DWORD PTR [EBP-40]\r
+       MOV EBX,ESI\r
+       MOV ESI,DWORD PTR [EBP-40]\r
+       MOV EAX,DWORD PTR [ESI]\r
+       SUB EAX,_offData\r
+       ADD EAX,_pData\r
+       MOV DWORD PTR [EBX], EAX\r
+       JMP L_107\r
+L_108:\r
+L_106:\r
+       MOV EAX,_nCCFIX\r
+       AND EAX,EAX\r
+       JZ L_110\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _oCCFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_111:\r
+       MOV EAX,_nCCFIX\r
+       DEC _nCCFIX\r
+       AND EAX,EAX\r
+       JZ L_113\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_113:\r
+       JZ L_112\r
+       PUSH DWORD PTR [EBP-12]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,_pCode\r
+       ADD EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [EBP-40], EAX\r
+       MOV ESI,DWORD PTR [EBP-40]\r
+       MOV EBX,ESI\r
+       MOV ESI,DWORD PTR [EBP-40]\r
+       MOV EAX,DWORD PTR [ESI]\r
+       SUB EAX,_offCode\r
+       ADD EAX,_pCode\r
+       MOV DWORD PTR [EBX], EAX\r
+       JMP L_111\r
+L_112:\r
+L_110:\r
+       MOV EAX,_nDCFIX\r
+       AND EAX,EAX\r
+       JZ L_114\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _oDCFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_115:\r
+       MOV EAX,_nDCFIX\r
+       DEC _nDCFIX\r
+       AND EAX,EAX\r
+       JZ L_117\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_117:\r
+       JZ L_116\r
+       PUSH DWORD PTR [EBP-12]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,_pData\r
+       ADD EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [EBP-40], EAX\r
+       MOV ESI,DWORD PTR [EBP-40]\r
+       MOV EBX,ESI\r
+       MOV ESI,DWORD PTR [EBP-40]\r
+       MOV EAX,DWORD PTR [ESI]\r
+       SUB EAX,_offCode\r
+       ADD EAX,_pCode\r
+       MOV DWORD PTR [EBX], EAX\r
+       JMP L_115\r
+L_116:\r
+L_114:\r
+       MOV EAX,_nDDFIX\r
+       AND EAX,EAX\r
+       JZ L_118\r
+       PUSH DWORD PTR [EBP-12]\r
+       PUSH _oDDFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_119:\r
+       MOV EAX,_nDDFIX\r
+       DEC _nDDFIX\r
+       AND EAX,EAX\r
+       JZ L_121\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_121:\r
+       JZ L_120\r
+       PUSH DWORD PTR [EBP-12]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,DWORD PTR [EBP-16]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,_pData\r
+       ADD EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [EBP-40], EAX\r
+       MOV ESI,DWORD PTR [EBP-40]\r
+       MOV EBX,ESI\r
+       MOV ESI,DWORD PTR [EBP-40]\r
+       MOV EAX,DWORD PTR [ESI]\r
+       SUB EAX,_offData\r
+       ADD EAX,_pData\r
+       MOV DWORD PTR [EBX], EAX\r
+       JMP L_119\r
+L_120:\r
+L_118:\r
+L_105:\r
+       MOV EAX,1024\r
+       MOV ESI,DWORD PTR [EBP-36]\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 1024\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _FillData\r
+       MOV EAX,3072\r
+       MOV ESI,DWORD PTR [EBP-36]\r
+       ADD ESI,EAX\r
+       PUSH ESI\r
+       PUSH 1024\r
+       XOR EAX,EAX\r
+       PUSH EAX\r
+       CALL FWORD PTR _FillData\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,DWORD PTR [EBP-24]\r
+       MOV DWORD PTR [ESI+18], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,_pStack\r
+       MOV DWORD PTR [ESI+38], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,_sStack\r
+       MOV DWORD PTR [ESI+42], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,_pCode\r
+       MOV DWORD PTR [ESI+22], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,_sCode\r
+       MOV DWORD PTR [ESI+26], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,_pData\r
+       MOV DWORD PTR [ESI+30], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,_sData\r
+       MOV DWORD PTR [ESI+34], EAX\r
+       MOV ESI,_pNewJCB\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI+46], AL\r
+       MOV ESI,_pNewJCB\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI+76], AL\r
+       MOV ESI,_pNewJCB\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI+146], AL\r
+       MOV ESI,_pNewJCB\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI+226], AL\r
+       PUSH OFFSET L_lit+0\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,306\r
+       PUSH EAX\r
+       PUSH 3\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,3\r
+       MOV BYTE PTR [ESI+306], AL\r
+       PUSH OFFSET L_lit+4\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,1\r
+       ADD ESI,EAX\r
+       MOV EAX,ESI\r
+       ADD EAX,356\r
+       PUSH EAX\r
+       PUSH 3\r
+       CALL FWORD PTR _CopyData\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,3\r
+       MOV BYTE PTR [ESI+356], AL\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,DWORD PTR [EBP-32]\r
+       MOV DWORD PTR [ESI+410], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,DWORD PTR [EBP-32]\r
+       MOV DWORD PTR [ESI+414], EAX\r
+       MOV ESI,_pNewJCB\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI+418], EAX\r
+       MOV ESI,_pNewJCB\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI+422], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,80\r
+       MOV DWORD PTR [ESI+426], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,25\r
+       MOV DWORD PTR [ESI+430], EAX\r
+       MOV ESI,_pNewJCB\r
+       XOR EAX,EAX\r
+       MOV DWORD PTR [ESI+434], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,1\r
+       MOV BYTE PTR [ESI+442], AL\r
+       MOV ESI,_pNewJCB\r
+       XOR EAX,EAX\r
+       MOV BYTE PTR [ESI+443], AL\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_122\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       CALL FWORD PTR _AllocExch\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_122:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_123\r
+       PUSH _JobNum\r
+       PUSH 24\r
+       PUSH 25\r
+       XOR EAX,EAX\r
+       PUSH EAX\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 DWORD PTR [EBP-4], EAX\r
+L_123:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_124\r
+       PUSH DWORD PTR [EBP-8]\r
+       PUSH _pNewJCB\r
+       CALL _SetExchOwner\r
+L_124:\r
+L_95:\r
+       PUSH DWORD PTR [EBP-12]\r
+       CALL FWORD PTR _CloseFile\r
+L_93:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_125\r
+       MOV ESI,DWORD PTR [EBP+12]\r
+       MOV EAX,_JobNum\r
+       MOV DWORD PTR [ESI], EAX\r
+L_125:\r
+       MOV EAX,DWORD PTR [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,DWORD PTR [EBP+12]\r
+       MOV _pNewJCB, EAX\r
+       MOV EAX,_sStack\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV DWORD PTR [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_127\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+L_127:\r
+       PUSH DWORD PTR [EBP-16]\r
+       PUSH OFFSET _pStack\r
+       CALL FWORD PTR _AllocPage\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [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 DWORD PTR [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_128\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+L_128:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_129\r
+       PUSH DWORD PTR [EBP-16]\r
+       PUSH OFFSET _pCode\r
+       CALL FWORD PTR _AllocPage\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_129:\r
+       MOV EAX,_sData\r
+       MOV ECX,4096\r
+       CDQ\r
+       IDIV ECX\r
+       MOV DWORD PTR [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_130\r
+       MOV EAX,DWORD PTR [EBP-16]\r
+       INC DWORD PTR [EBP-16]\r
+L_130:\r
+       PUSH DWORD PTR [EBP-16]\r
+       PUSH OFFSET _pData\r
+       CALL FWORD PTR _AllocPage\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_131\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _oCode\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_131:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_132\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _pCode\r
+       PUSH _sCode\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_132:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_133\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _oData\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_133:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_134\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _pData\r
+       PUSH _sData\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_134:\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JNZ L_135\r
+       MOV EAX,_nCDFIX\r
+       AND EAX,EAX\r
+       JZ L_136\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _oCDFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_137:\r
+       MOV EAX,_nCDFIX\r
+       DEC _nCDFIX\r
+       AND EAX,EAX\r
+       JZ L_139\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_139:\r
+       JZ L_138\r
+       PUSH DWORD PTR [EBP+8]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,_pCode\r
+       ADD EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV ESI,DWORD PTR [EBP-20]\r
+       MOV EBX,ESI\r
+       MOV ESI,DWORD PTR [EBP-20]\r
+       MOV EAX,DWORD PTR [ESI]\r
+       SUB EAX,_offData\r
+       ADD EAX,_pData\r
+       MOV DWORD PTR [EBX], EAX\r
+       JMP L_137\r
+L_138:\r
+L_136:\r
+       MOV EAX,_nCCFIX\r
+       AND EAX,EAX\r
+       JZ L_140\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _oCCFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_141:\r
+       MOV EAX,_nCCFIX\r
+       DEC _nCCFIX\r
+       AND EAX,EAX\r
+       JZ L_143\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_143:\r
+       JZ L_142\r
+       PUSH DWORD PTR [EBP+8]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,_pCode\r
+       ADD EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV ESI,DWORD PTR [EBP-20]\r
+       MOV EBX,ESI\r
+       MOV ESI,DWORD PTR [EBP-20]\r
+       MOV EAX,DWORD PTR [ESI]\r
+       SUB EAX,_offCode\r
+       ADD EAX,_pCode\r
+       MOV DWORD PTR [EBX], EAX\r
+       JMP L_141\r
+L_142:\r
+L_140:\r
+       MOV EAX,_nDCFIX\r
+       AND EAX,EAX\r
+       JZ L_144\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _oDCFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_145:\r
+       MOV EAX,_nDCFIX\r
+       DEC _nDCFIX\r
+       AND EAX,EAX\r
+       JZ L_147\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_147:\r
+       JZ L_146\r
+       PUSH DWORD PTR [EBP+8]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,_pData\r
+       ADD EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV ESI,DWORD PTR [EBP-20]\r
+       MOV EBX,ESI\r
+       MOV ESI,DWORD PTR [EBP-20]\r
+       MOV EAX,DWORD PTR [ESI]\r
+       SUB EAX,_offCode\r
+       ADD EAX,_pCode\r
+       MOV DWORD PTR [EBX], EAX\r
+       JMP L_145\r
+L_146:\r
+L_144:\r
+       MOV EAX,_nDDFIX\r
+       AND EAX,EAX\r
+       JZ L_148\r
+       PUSH DWORD PTR [EBP+8]\r
+       PUSH _oDDFIX\r
+       CALL FWORD PTR _SetFileLFA\r
+       MOV DWORD PTR [EBP-4], EAX\r
+L_149:\r
+       MOV EAX,_nDDFIX\r
+       DEC _nDDFIX\r
+       AND EAX,EAX\r
+       JZ L_151\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+L_151:\r
+       JZ L_150\r
+       PUSH DWORD PTR [EBP+8]\r
+       LEA EAX,DWORD PTR [EBP-8]\r
+       PUSH EAX\r
+       PUSH 4\r
+       LEA EAX,DWORD PTR [EBP-12]\r
+       PUSH EAX\r
+       CALL FWORD PTR _ReadBytes\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,_pData\r
+       ADD EAX,DWORD PTR [EBP-8]\r
+       MOV DWORD PTR [EBP-20], EAX\r
+       MOV ESI,DWORD PTR [EBP-20]\r
+       MOV EBX,ESI\r
+       MOV ESI,DWORD PTR [EBP-20]\r
+       MOV EAX,DWORD PTR [ESI]\r
+       SUB EAX,_offData\r
+       ADD EAX,_pData\r
+       MOV DWORD PTR [EBX], EAX\r
+       JMP L_149\r
+L_150:\r
+L_148:\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,_pStack\r
+       MOV DWORD PTR [ESI+38], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,_sStack\r
+       MOV DWORD PTR [ESI+42], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,_pCode\r
+       MOV DWORD PTR [ESI+22], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,_sCode\r
+       MOV DWORD PTR [ESI+26], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,_pData\r
+       MOV DWORD PTR [ESI+30], EAX\r
+       MOV ESI,_pNewJCB\r
+       MOV EAX,_sData\r
+       MOV DWORD PTR [ESI+34], EAX\r
+L_135:\r
+       PUSH DWORD PTR [EBP+8]\r
+       CALL FWORD PTR _CloseFile\r
+       MOV EAX,DWORD PTR [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
+       MOV EAX,DWORD PTR [ESI+18]\r
+       MOV _pPDE, EAX\r
+       PUSH _pPDE\r
+       CALL _CleanUserPD\r
+       PUSH OFFSET _ExchE\r
+       CALL FWORD PTR _GetTSSExch\r
+       XOR EAX,EAX\r
+       MOV _ercE, EAX\r
+L_153:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_154\r
+       PUSH _ExchE\r
+       PUSH OFFSET _BogusMsg\r
+       CALL FWORD PTR _CheckMsg\r
+       MOV _ercE, EAX\r
+       JMP L_153\r
+L_154:\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_155:\r
+       MOV EAX,1\r
+       AND EAX,EAX\r
+       JZ L_156\r
+       JMP L_155\r
+L_156:\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,DWORD PTR [EBP+12]\r
+       CMP EAX,_JobNumE\r
+       SETE AL\r
+       AND AL,AL\r
+       JNZ L_157\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       CMP EAX,1\r
+       SETE AL\r
+       AND AL,AL\r
+       JNZ L_158\r
+       MOV EAX,DWORD PTR [EBP+12]\r
+       CMP EAX,2\r
+       SETE AL\r
+       AND AL,AL\r
+L_158:\r
+L_157:\r
+       JZ L_159\r
+       MOV EAX,70\r
+       JMP L_160\r
+L_159:\r
+       PUSH DWORD PTR [EBP+12]\r
+       PUSH OFFSET _pTmpJCB\r
+       CALL FWORD PTR _GetpJCB\r
+       MOV DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       AND EAX,EAX\r
+       JZ L_161\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+       JMP L_160\r
+L_161:\r
+       MOV ESI,_pTmpJCB\r
+       MOV EAX,4\r
+       MOV DWORD PTR [ESI+406], 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_162:\r
+       MOV EAX,_ercE\r
+       CMP EAX,10\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_163\r
+       PUSH _iE\r
+       PUSH OFFSET _pExchJCBE\r
+       CALL _GetExchOwner\r
+       MOV _ercE, EAX\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+       JZ L_164\r
+       MOV EAX,_pExchJCBE\r
+       CMP EAX,_pTmpJCB\r
+       SETE AL\r
+       AND AL,AL\r
+L_164:\r
+       JZ L_165\r
+       PUSH _iE\r
+       CALL FWORD PTR _DeAllocExch\r
+L_165:\r
+       MOV EAX,_iE\r
+       INC _iE\r
+       JMP L_162\r
+L_163:\r
+       XOR EAX,EAX\r
+       MOV _ercE, EAX\r
+       PUSH OFFSET _ExchE\r
+       CALL FWORD PTR _AllocExch\r
+       MOV DWORD PTR [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
+       XOR EAX,EAX\r
+       PUSH EAX\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 DWORD PTR [EBP-4], EAX\r
+       MOV EAX,DWORD PTR [EBP-4]\r
+L_160:\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
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV DWORD PTR [ESI+406], 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_166:\r
+       MOV EAX,_ercE\r
+       CMP EAX,10\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_167\r
+       PUSH _iE\r
+       PUSH OFFSET _pExchJCBE\r
+       CALL _GetExchOwner\r
+       MOV _ercE, EAX\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+       JZ L_168\r
+       MOV EAX,_iE\r
+       CMP EAX,_ExchE\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_169\r
+       MOV EAX,_pExchJCBE\r
+       CMP EAX,_pCrntJCB\r
+       SETE AL\r
+       AND AL,AL\r
+L_169:\r
+L_168:\r
+       JZ L_170\r
+       PUSH _iE\r
+       CALL FWORD PTR _DeAllocExch\r
+L_170:\r
+       MOV EAX,_iE\r
+       INC _iE\r
+       JMP L_166\r
+L_167:\r
+       PUSH _JobNumE\r
+       PUSH _ExchE\r
+       CALL _SendAbort\r
+       XOR EAX,EAX\r
+       MOV _ercE, EAX\r
+L_171:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_172\r
+       PUSH _ExchE\r
+       PUSH OFFSET _BogusMsg\r
+       CALL FWORD PTR _CheckMsg\r
+       MOV _ercE, EAX\r
+       JMP L_171\r
+L_172:\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
+       MOV EAX,DWORD PTR [ESI+18]\r
+       MOV _pPDE, EAX\r
+       PUSH _pPDE\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_173\r
+       MOV EAX,76\r
+       MOV _ercE, EAX\r
+L_173:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_174\r
+       PUSH OFFSET _aFileE\r
+       PUSH _cbFileE\r
+       PUSH OFFSET _job_fhE\r
+       CALL _GetRunFile\r
+       MOV _ercE, EAX\r
+L_174:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_175\r
+       PUSH _pCrntJCB\r
+       PUSH _job_fhE\r
+       CALL _LoadJob\r
+       MOV _ercE, EAX\r
+L_175:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_176\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_176:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JZ L_177\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_178:\r
+       MOV EAX,1\r
+       AND EAX,EAX\r
+       JZ L_179\r
+       JMP L_178\r
+L_179:\r
+L_177:\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,DWORD PTR [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
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JZ L_180\r
+       PUSH _job_fhE\r
+       CALL FWORD PTR _CloseFile\r
+       MOV EAX,_ercE\r
+       JMP L_181\r
+L_180:\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
+       MOV EAX,DWORD PTR [EBP+12]\r
+       MOV DWORD PTR [ESI+406], 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_182:\r
+       MOV EAX,_ercE\r
+       CMP EAX,10\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_183\r
+       PUSH _iE\r
+       PUSH OFFSET _pExchJCBE\r
+       CALL _GetExchOwner\r
+       MOV _ercE, EAX\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       SETZ AL\r
+       AND AL,AL\r
+       JZ L_184\r
+       MOV EAX,_iE\r
+       CMP EAX,_ExchE\r
+       SETNE AL\r
+       AND AL,AL\r
+       JZ L_185\r
+       MOV EAX,_pExchJCBE\r
+       CMP EAX,_pCrntJCB\r
+       SETE AL\r
+       AND AL,AL\r
+L_185:\r
+L_184:\r
+       JZ L_186\r
+       PUSH _iE\r
+       CALL FWORD PTR _DeAllocExch\r
+L_186:\r
+       MOV EAX,_iE\r
+       INC _iE\r
+       JMP L_182\r
+L_183:\r
+       PUSH _JobNumE\r
+       PUSH _ExchE\r
+       CALL _SendAbort\r
+       XOR EAX,EAX\r
+       MOV _ercE, EAX\r
+L_187:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_188\r
+       PUSH _ExchE\r
+       PUSH OFFSET _BogusMsg\r
+       CALL FWORD PTR _CheckMsg\r
+       MOV _ercE, EAX\r
+       JMP L_187\r
+L_188:\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
+       MOV EAX,DWORD PTR [ESI+18]\r
+       MOV _pPDE, EAX\r
+       PUSH _pPDE\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
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JZ L_189\r
+       PUSH OFFSET _aFileE\r
+       PUSH OFFSET _cbFileE\r
+       CALL FWORD PTR _GetExitJob\r
+       MOV EAX,_cbFileE\r
+       AND EAX,EAX\r
+       JNZ L_190\r
+       MOV EAX,76\r
+       MOV _ercE, EAX\r
+L_190:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_191\r
+       PUSH OFFSET _aFileE\r
+       PUSH _cbFileE\r
+       PUSH OFFSET _job_fhE\r
+       CALL _GetRunFile\r
+       MOV _ercE, EAX\r
+L_191:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_192\r
+       PUSH _pCrntJCB\r
+       PUSH _job_fhE\r
+       CALL _LoadJob\r
+       MOV _ercE, EAX\r
+L_192:\r
+L_189:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JNZ L_193\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_193:\r
+       MOV EAX,_ercE\r
+       AND EAX,EAX\r
+       JZ L_194\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_195:\r
+       MOV EAX,1\r
+       AND EAX,EAX\r
+       JZ L_196\r
+       JMP L_195\r
+L_196:\r
+L_194:\r
+L_181:\r
+       POP EBP\r
+       RETF 12\r