--- /dev/null
+\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