From 453ca8d0f93a51bab201081213d049aa31b95a73 Mon Sep 17 00:00:00 2001 From: Richard Burgess <> Date: Thu, 9 Feb 1995 16:00:28 +0000 Subject: [PATCH] autocommit for file dated 1995-02-09 16:00:28 --- msamples/cli/cli.asm | 2607 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 2607 insertions(+) create mode 100644 msamples/cli/cli.asm diff --git a/msamples/cli/cli.asm b/msamples/cli/cli.asm new file mode 100644 index 0000000..baa6dac --- /dev/null +++ b/msamples/cli/cli.asm @@ -0,0 +1,2607 @@ + +.DATA +EXTRN _AllocExch FWORD +EXTRN _DeAllocExch FWORD +EXTRN _GetTSSExch FWORD +EXTRN _SetPriority FWORD +EXTRN _NewTask FWORD +EXTRN _SpawnTask FWORD +EXTRN _SendMsg FWORD +EXTRN _ISendMsg FWORD +EXTRN _WaitMsg FWORD +EXTRN _CheckMsg FWORD +EXTRN _Request FWORD +EXTRN _MoveRequest FWORD +EXTRN _Respond FWORD +EXTRN _AllocPage FWORD +EXTRN _AllocOSPage FWORD +EXTRN _AllocDMAPage FWORD +EXTRN _DeAllocPage FWORD +EXTRN _QueryPages FWORD +EXTRN _GetPhyAdd FWORD +EXTRN _AliasMem FWORD +EXTRN _DeAliasMem FWORD +EXTRN _CopyData FWORD +EXTRN _FillData FWORD +EXTRN _CompareNCS FWORD +EXTRN _Compare FWORD +EXTRN _OutByte FWORD +EXTRN _OutWord FWORD +EXTRN _InByte FWORD +EXTRN _InWord FWORD +EXTRN _ReadCMOS FWORD +EXTRN _Alarm FWORD +EXTRN _KillAlarm FWORD +EXTRN _Sleep FWORD +EXTRN _MicroDelay FWORD +EXTRN _GetCMOSTime FWORD +EXTRN _GetCMOSDate FWORD +EXTRN _GetTimerTick FWORD +EXTRN _Tone FWORD +EXTRN _Beep FWORD +EXTRN _SetVidOwner FWORD +EXTRN _SetNormVid FWORD +EXTRN _GetNormVid FWORD +EXTRN _ClrScr FWORD +EXTRN _GetVidChar FWORD +EXTRN _SetXY FWORD +EXTRN _PutVidAttrs FWORD +EXTRN _PutVidChars FWORD +EXTRN _GetVidOwner FWORD +EXTRN _GetXY FWORD +EXTRN _ScrollVid FWORD +EXTRN _TTYOut FWORD +EXTRN _EditLine FWORD +EXTRN _ReadKbd FWORD +EXTRN _GetpJCB FWORD +EXTRN _GetJobNum FWORD +EXTRN _LoadNewJob FWORD +EXTRN _Chain FWORD +EXTRN _ExitJob FWORD +EXTRN _KillJob FWORD +EXTRN _SetUserName FWORD +EXTRN _GetUserName FWORD +EXTRN _SetCmdLine FWORD +EXTRN _GetCmdLine FWORD +EXTRN _SetPath FWORD +EXTRN _GetPath FWORD +EXTRN _SetExitJob FWORD +EXTRN _GetExitJob FWORD +EXTRN _SetSysIn FWORD +EXTRN _GetSysIn FWORD +EXTRN _SetSysOut FWORD +EXTRN _GetSysOut FWORD +EXTRN _SetJobName FWORD +EXTRN _RegisterSvc FWORD +EXTRN _UnRegisterSvc FWORD +EXTRN _GetSystemDisk FWORD +EXTRN _CreateFile FWORD +EXTRN _CreateDir FWORD +EXTRN _DeleteDir FWORD +EXTRN _OpenFile FWORD +EXTRN _RenameFile FWORD +EXTRN _GetFileSize FWORD +EXTRN _SetFileSize FWORD +EXTRN _ReadBlock FWORD +EXTRN _WriteBlock FWORD +EXTRN _ReadBytes FWORD +EXTRN _WriteBytes FWORD +EXTRN _GetFileLFA FWORD +EXTRN _SetFileLFA FWORD +EXTRN _CloseFile FWORD +EXTRN _DeleteFile FWORD +EXTRN _GetDirSector FWORD +PUBLIC _aStatLine DB 109,109,47,100,100,47,121,121,32,32,48 + DB 48,58,48,48,58,48,48,32,32,67,76 + DB 73,32,32,86,49,46,48,32,32,32,32 + DB 74,111,98,32,32,32,32,32,80,97,116 + DB 104,58,32,32,32,32,32,32,32,32,32 + DB 32,32,32,32,32,32,32,32,32,32,32 + DB 32,32,32,32,32,32,32,32,32,32,32 + DB 32,32,32,0 +PUBLIC _cbCmd DD 0 +PUBLIC _paCmds DB 0,0,0,0,0,0,0,0,0,0,120 + DB 120,120,120,120,0,0,0,0,0,67,108 + DB 115,0,0,0,0,0,0,0,67,111,112 + DB 121,0,0,0,0,0,0,68,101,108,0 + DB 0,0,0,0,0,0,68,105,114,0,0 + DB 0,0,0,0,0,68,101,98,117,103,0 + DB 0,0,0,0,68,117,109,112,0,0,0 + DB 0,0,0,69,120,105,116,0,0,0,0 + DB 0,0,72,101,108,112,0,0,0,0,0 + DB 0,77,68,0,0,0,0,0,0,0,0 + DB 77,111,110,105,116,111,114,0,0,0,80 + DB 97,116,104,0,0,0,0,0,0,82,68 + DB 0,0,0,0,0,0,0,0,82,101,110 + DB 0,0,0,0,0,0,0,82,117,110,0 + DB 0,0,0,0,0,0,84,121,112,101,0 + DB 0,0,0,0,0 +PUBLIC _CmdNum DD 0 +L_lit DB 69,110,100,32,111,102,32,102,105,108,101,0,85,115,101,114 + DB 32,99,97,110,99,101,108,108,101,100,0,73,110,118,97,108 + DB 105,100,32,112,97,114,97,109,101,116,101,114,115,0,79,117 + DB 116,32,111,102,32,109,101,109,111,114,121,32,40,110,101,101 + DB 100,32,109,111,114,101,32,102,111,114,32,116,104,105,115,41 + DB 0,73,110,118,97,108,105,100,32,102,105,108,101,110,97,109 + DB 101,32,40,110,111,116,32,99,111,114,114,101,99,116,32,102 + DB 111,114,109,97,116,41,0,78,111,32,115,117,99,104,32,100 + DB 114,105,118,101,0,84,104,101,32,110,97,109,101,32,105,115 + DB 32,110,111,116,32,97,32,102,105,108,101,32,40,105,116,39 + DB 115,32,97,32,100,105,114,101,99,116,111,114,121,41,0,70 + DB 105,108,101,32,100,111,101,115,110,39,116,32,101,120,105,115 + DB 116,0,68,105,114,101,99,116,111,114,121,32,100,111,101,115 + DB 110,39,116,32,101,120,105,115,116,0,70,105,108,101,32,105 + DB 115,32,82,101,97,100,79,110,108,121,0,70,105,108,101,32 + DB 105,110,32,117,115,101,0,67,97,110,39,116,32,114,101,110 + DB 97,109,101,32,97,99,114,111,115,115,32,100,114,105,118,101 + DB 115,0,67,97,110,39,116,32,114,101,110,97,109,101,32,97 + DB 99,114,111,115,115,32,100,105,114,101,99,116,111,114,105,101 + DB 115,0,70,105,108,101,32,65,108,114,101,97,100,121,32,69 + DB 120,105,115,116,115,32,40,100,117,112,108,105,99,97,116,101 + DB 32,110,97,109,101,41,0,82,111,111,116,32,100,105,114,101 + DB 99,116,111,114,121,32,105,115,32,102,117,108,108,0,68,105 + DB 115,107,32,105,115,32,102,117,108,108,32,40,98,117,109,109 + DB 101,114,41,0,68,105,114,101,99,116,111,114,121,32,105,115 + DB 32,102,117,108,108,0,69,114,114,111,114,32,37,48,53,100 + DB 32,111,110,32,108,97,115,116,32,99,111,109,109,97,110,100 + DB 0,37,115,13,10,0,37,48,56,120,32,0,37,48,50,120 + DB 32,0,37,115,13,10,0,69,83,67,32,116,111,32,99,97 + DB 110,99,101,108,44,32,97,110,121,32,111,116,104,101,114,32 + DB 107,101,121,32,116,111,32,99,111,110,116,105,110,117,101,46 + DB 46,46,0,70,105,108,101,110,97,109,101,32,110,111,116,32 + DB 103,105,118,101,110,13,10,0,69,83,67,32,116,111,32,99 + DB 97,110,99,101,108,44,32,97,110,121,32,111,116,104,101,114 + DB 32,107,101,121,32,116,111,32,99,111,110,116,105,110,117,101 + DB 46,46,46,0,13,10,69,114,114,111,114,58,32,37,100,13 + DB 10,0,70,105,108,101,110,97,109,101,32,110,111,116,32,103 + DB 105,118,101,110,13,10,0,37,48,50,100,58,37,48,50,100 + DB 58,37,48,50,100,0,37,48,50,100,45,37,48,50,100,45 + DB 37,48,50,100,0,70,105,108,101,32,97,108,114,101,97,100 + DB 121,32,101,120,105,115,116,115,46,32,79,118,101,114,119,114 + DB 105,116,101,63,32,40,89,47,78,41,13,10,0,37,56,115 + DB 32,37,51,115,32,32,37,56,100,32,32,120,120,47,120,120 + DB 47,120,120,32,120,120,47,120,120,47,120,120,32,32,37,50 + DB 120,32,32,32,37,48,52,120,13,10,0,37,115,0,69,83 + DB 67,32,116,111,32,99,97,110,99,101,108,44,32,97,110,121 + DB 32,111,116,104,101,114,32,107,101,121,32,116,111,32,99,111 + DB 110,116,105,110,117,101,46,46,46,0,114,0,67,111,109,109 + DB 97,110,100,115,46,67,76,73,32,110,111,116,32,102,111,117 + DB 110,100,46,13,10,0,46,82,85,78,0,46,82,85,78,0 + DB 67,111,109,109,97,110,100,32,110,111,116,32,102,111,117,110 + DB 100,13,10,0,37,48,50,100,0,67,76,73,32,86,49,46 + DB 48,0,92,77,77,83,89,83,92,0,67,76,73,46,82,85 + DB 78,0,67,79,77,77,65,78,68,83,46,67,76,73,0,72 + DB 69,76,80,46,67,76,73,0,62,0,13,10,0,68,111,110 + DB 101,46,13,10,0,0,75,69,89,66,79,65,82,68,0 +PUBLIC _iCol DD 0h +PUBLIC _iLine DD 0h +PUBLIC _aPath DB 70 DUP(0) +PUBLIC _cbPath DD 0h +PUBLIC _fUpdatePath DB 0h +PUBLIC _sdisk DB 0h +PUBLIC _syspath DB 50 DUP(0) +PUBLIC _hlppath DB 60 DUP(0) +PUBLIC _clipath DB 60 DUP(0) +PUBLIC _cmdpath DB 60 DUP(0) +PUBLIC _aCmd DB 80 DUP(0) +PUBLIC _Buffer DB 512 DUP(0) +PUBLIC _bigBuf DB 4096 DUP(0) +PUBLIC _text DB 70 DUP(0) +PUBLIC _ExitChar DB 0h +PUBLIC _GPExch DD 0h +PUBLIC _GPMsg DD 2 DUP(0) +PUBLIC _GPHndl DD 0h +PUBLIC _StatExch DD 0h +PUBLIC _StatStack DD 256 DUP(0) +PUBLIC _time DD 0h +PUBLIC _date DD 0h +PUBLIC _JobNum DD 0h +PUBLIC _apParam DD 13 DUP(0) +PUBLIC _acbParam DD 13 DUP(0) +PUBLIC _dirent DB 512 DUP(0) + + +.CODE +EXTRN _fopen: NEAR +EXTRN _fclose: NEAR +EXTRN _remove: NEAR +EXTRN _rename: NEAR +EXTRN _fgetc: NEAR +EXTRN _fgets: NEAR +EXTRN _fputs: NEAR +EXTRN _fputc: NEAR +EXTRN _printf: NEAR +EXTRN _sprintf: NEAR +EXTRN _fprintf: NEAR +EXTRN _ftell: NEAR +EXTRN _rewind: NEAR +EXTRN _fseek: NEAR +EXTRN _fread: NEAR +EXTRN _fwrite: NEAR +EXTRN _strcpy: NEAR +EXTRN _strncpy: NEAR +EXTRN _strcat: NEAR +EXTRN _strncat: NEAR +EXTRN _strcmp: NEAR +EXTRN _strncmp: NEAR +EXTRN _strlen: NEAR +EXTRN _strchr: NEAR +EXTRN _iscntrl: NEAR +EXTRN _isspace: NEAR +EXTRN _isdigit: NEAR +EXTRN _isupper: NEAR +EXTRN _islower: NEAR +EXTRN _ispunct: NEAR +EXTRN _isalpha: NEAR +EXTRN _isxdigit: NEAR +EXTRN _isalnum: NEAR +EXTRN _isgraph: NEAR +EXTRN _toupper: NEAR +EXTRN _tolower: NEAR +PUBLIC _StatTask: + PUSH EBP + MOV EBP,ESP +L_1: + MOVSX EAX,_fUpdatePath + AND EAX,EAX + JZ L_3 + MOV EAX,_cbPath + CMP EAX,30 + SETG AL + AND AL,AL + JZ L_4 + MOV EAX,30 + MOV _cbPath, EAX +L_4: + MOV EAX,47 + MOV ESI,OFFSET _aStatLine + ADD ESI,EAX + PUSH ESI + PUSH 30 + PUSH 32 + CALL FWORD PTR _FillData + PUSH OFFSET _aPath + MOV EAX,47 + MOV ESI,OFFSET _aStatLine + ADD ESI,EAX + PUSH ESI + PUSH _cbPath + CALL FWORD PTR _CopyData + XOR EAX,EAX + MOV _fUpdatePath, AL +L_3: + PUSH OFFSET _date + CALL FWORD PTR _GetCMOSDate + MOV ESI,OFFSET _aStatLine + MOV EAX,_date + MOV ECX,20 + SHR EAX,CL + AND EAX,15 + ADD EAX,48 + MOV BYTE PTR [ESI], AL + MOV EAX,1 + MOV ESI,OFFSET _aStatLine + ADD ESI,EAX + MOV EAX,_date + MOV ECX,16 + SHR EAX,CL + AND EAX,15 + ADD EAX,48 + MOV BYTE PTR [ESI], AL + MOV EAX,3 + MOV ESI,OFFSET _aStatLine + ADD ESI,EAX + MOV EAX,_date + MOV ECX,12 + SHR EAX,CL + AND EAX,15 + ADD EAX,48 + MOV BYTE PTR [ESI], AL + MOV EAX,4 + MOV ESI,OFFSET _aStatLine + ADD ESI,EAX + MOV EAX,_date + MOV ECX,8 + SHR EAX,CL + AND EAX,15 + ADD EAX,48 + MOV BYTE PTR [ESI], AL + MOV EAX,6 + MOV ESI,OFFSET _aStatLine + ADD ESI,EAX + MOV EAX,_date + MOV ECX,28 + SHR EAX,CL + AND EAX,15 + ADD EAX,48 + MOV BYTE PTR [ESI], AL + MOV EAX,7 + MOV ESI,OFFSET _aStatLine + ADD ESI,EAX + MOV EAX,_date + MOV ECX,24 + SHR EAX,CL + AND EAX,15 + ADD EAX,48 + MOV BYTE PTR [ESI], AL + PUSH OFFSET _time + CALL FWORD PTR _GetCMOSTime + MOV EAX,10 + MOV ESI,OFFSET _aStatLine + ADD ESI,EAX + MOV EAX,_time + MOV ECX,20 + SHR EAX,CL + AND EAX,15 + ADD EAX,48 + MOV BYTE PTR [ESI], AL + MOV EAX,11 + MOV ESI,OFFSET _aStatLine + ADD ESI,EAX + MOV EAX,_time + MOV ECX,16 + SHR EAX,CL + AND EAX,15 + ADD EAX,48 + MOV BYTE PTR [ESI], AL + MOV EAX,13 + MOV ESI,OFFSET _aStatLine + ADD ESI,EAX + MOV EAX,_time + MOV ECX,12 + SHR EAX,CL + AND EAX,15 + ADD EAX,48 + MOV BYTE PTR [ESI], AL + MOV EAX,14 + MOV ESI,OFFSET _aStatLine + ADD ESI,EAX + MOV EAX,_time + MOV ECX,8 + SHR EAX,CL + AND EAX,15 + ADD EAX,48 + MOV BYTE PTR [ESI], AL + MOV EAX,16 + MOV ESI,OFFSET _aStatLine + ADD ESI,EAX + MOV EAX,_time + MOV ECX,4 + SHR EAX,CL + AND EAX,15 + ADD EAX,48 + MOV BYTE PTR [ESI], AL + MOV EAX,17 + MOV ESI,OFFSET _aStatLine + ADD ESI,EAX + MOV EAX,_time + AND EAX,15 + ADD EAX,48 + MOV BYTE PTR [ESI], AL + XOR EAX,EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + PUSH OFFSET _aStatLine + PUSH 80 + PUSH 48 + CALL FWORD PTR _PutVidChars + PUSH 100 + CALL FWORD PTR _Sleep + JMP L_1 +L_2: + POP EBP + RETN +PUBLIC _CheckErc: + PUSH EBP + MOV EBP,ESP + SUB ESP,44 + LEA EAX,DWORD PTR [EBP-44] + PUSH EAX + PUSH 40 + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _FillData + MOV EAX,DWORD PTR [EBP+8] + JMP L_6 +L_7: + JMP L_8 +L_9: + MOV EAX,OFFSET L_lit+0 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_10: + MOV EAX,OFFSET L_lit+12 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_11: + MOV EAX,OFFSET L_lit+27 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_12: + MOV EAX,OFFSET L_lit+46 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_13: + MOV EAX,OFFSET L_lit+81 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_14: + MOV EAX,OFFSET L_lit+119 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_15: + MOV EAX,OFFSET L_lit+133 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_16: + MOV EAX,OFFSET L_lit+175 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_17: + MOV EAX,OFFSET L_lit+194 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_18: + MOV EAX,OFFSET L_lit+218 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_19: + MOV EAX,OFFSET L_lit+235 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_20: + MOV EAX,OFFSET L_lit+247 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_21: + MOV EAX,OFFSET L_lit+274 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_22: + MOV EAX,OFFSET L_lit+306 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_23: + MOV EAX,OFFSET L_lit+343 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_24: + MOV EAX,OFFSET L_lit+366 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_25: + MOV EAX,OFFSET L_lit+388 + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_26: + LEA EAX,DWORD PTR [EBP-44] + PUSH EAX + PUSH OFFSET L_lit+406 + PUSH DWORD PTR [EBP+8] + MOV EDI, 4 + CALL _sprintf + ADD ESP,12 + LEA EAX,DWORD PTR [EBP-44] + MOV DWORD PTR [EBP-4], EAX + JMP L_5 +L_6: + CMP EAX,231 + JE L_25 + CMP EAX,230 + JE L_24 + CMP EAX,228 + JE L_23 + CMP EAX,226 + JE L_22 + CMP EAX,223 + JE L_21 + CMP EAX,222 + JE L_20 + CMP EAX,208 + JE L_19 + CMP EAX,205 + JE L_18 + CMP EAX,204 + JE L_17 + CMP EAX,203 + JE L_16 + CMP EAX,202 + JE L_15 + CMP EAX,201 + JE L_14 + CMP EAX,200 + JE L_13 + CMP EAX,101 + JE L_12 + CMP EAX,80 + JE L_11 + CMP EAX,4 + JE L_10 + CMP EAX,1 + JE L_9 + CMP EAX,0 + JE L_7 + JMP L_26 +L_5: + PUSH OFFSET L_lit+433 + PUSH DWORD PTR [EBP-4] + MOV EDI, 4 + CALL _printf + ADD ESP,8 +L_8: + MOV ESP,EBP + POP EBP + RETN 4 +PUBLIC _GoDebug: + PUSH EBP + MOV EBP,ESP + INT 03 + POP EBP + RETN +PUBLIC _InitScreen: + PUSH EBP + MOV EBP,ESP + PUSH 7 + CALL FWORD PTR _SetNormVid + PUSH OFFSET _iCol + PUSH OFFSET _iLine + CALL FWORD PTR _GetXY + MOVSX EAX,WORD PTR [EBP+8] + AND EAX,EAX + JZ L_28 + XOR EAX,EAX + MOV _iCol, EAX + MOV EAX,2 + MOV _iLine, EAX + CALL FWORD PTR _ClrScr +L_28: + PUSH _iCol + PUSH _iLine + CALL FWORD PTR _SetXY + XOR EAX,EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + PUSH OFFSET _aStatLine + PUSH 80 + PUSH 48 + CALL FWORD PTR _PutVidChars + POP EBP + RETN 4 +PUBLIC _Dump: + PUSH EBP + MOV EBP,ESP + SUB ESP,33 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX + PUSH OFFSET _iCol + PUSH OFFSET _iLine + CALL FWORD PTR _GetXY +L_30: + MOV EAX,DWORD PTR [EBP+12] + AND EAX,EAX + JZ L_31 + PUSH OFFSET L_lit+438 + PUSH DWORD PTR [EBP+8] + MOV EDI, 4 + CALL _printf + ADD ESP,8 + MOV EAX,DWORD PTR [EBP+12] + CMP EAX,15 + SETG AL + AND AL,AL + JZ L_32 + MOV EAX,16 + MOV DWORD PTR [EBP-12], EAX + JMP L_33 +L_32: + MOV EAX,DWORD PTR [EBP+12] + MOV DWORD PTR [EBP-12], EAX +L_33: + XOR EAX,EAX + MOV DWORD PTR [EBP-8], EAX +L_34: + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [EBP-12] + SETB AL + AND AL,AL + JZ L_35 + JMP SHORT L_36 +L_37: + MOV EAX,DWORD PTR [EBP-8] + INC DWORD PTR [EBP-8] + JMP SHORT L_34 +L_36: + PUSH OFFSET L_lit+444 + MOV ESI,DWORD PTR [EBP+16] + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + PUSH EAX + MOV EDI, 4 + CALL _printf + ADD ESP,8 + MOV EAX,DWORD PTR [EBP-8] + LEA ESI,BYTE PTR [EBP-33] + ADD ESI,EAX + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP+16] + INC DWORD PTR [EBP+16] + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + MOV EAX,DWORD PTR [EBP-8] + LEA ESI,BYTE PTR [EBP-33] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + CMP EAX,32 + SETB AL + AND AL,AL + JZ L_38 + MOV EAX,DWORD PTR [EBP-8] + LEA ESI,BYTE PTR [EBP-33] + ADD ESI,EAX + MOV EAX,46 + MOV BYTE PTR [ESI], AL +L_38: + MOV EAX,DWORD PTR [EBP-8] + LEA ESI,BYTE PTR [EBP-33] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + CMP EAX,127 + SETA AL + AND AL,AL + JZ L_39 + MOV EAX,DWORD PTR [EBP-8] + LEA ESI,BYTE PTR [EBP-33] + ADD ESI,EAX + MOV EAX,46 + MOV BYTE PTR [ESI], AL +L_39: + JMP L_37 +L_35: + MOV EAX,DWORD PTR [EBP-8] + ADD EAX,1 + LEA ESI,BYTE PTR [EBP-33] + ADD ESI,EAX + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + PUSH OFFSET L_lit+450 + LEA EAX,BYTE PTR [EBP-33] + PUSH EAX + MOV EDI, 4 + CALL _printf + ADD ESP,8 + INC _iLine + MOV EAX,_iLine + CMP EAX,22 + SETGE AL + AND AL,AL + JZ L_40 + XOR EAX,EAX + PUSH EAX + PUSH 23 + CALL FWORD PTR _SetXY + PUSH OFFSET L_lit+455 + MOV EDI, 0 + CALL _printf + ADD ESP,4 + LEA EAX,DWORD PTR [EBP-16] + PUSH EAX + PUSH 1 + CALL FWORD PTR _ReadKbd + MOV EAX,DWORD PTR [EBP-16] + AND EAX,255 + CMP EAX,27 + SETE AL + AND AL,AL + JZ L_41 + MOV EAX,4 + JMP L_42 +L_41: + PUSH 1 + CALL _InitScreen + XOR EAX,EAX + PUSH EAX + PUSH 1 + CALL FWORD PTR _SetXY + MOV EAX,1 + MOV _iLine, EAX +L_40: + MOV EAX,DWORD PTR [EBP+12] + CMP EAX,15 + SETG AL + AND AL,AL + JZ L_43 + MOV EAX,DWORD PTR [EBP+12] + SUB EAX,16 + MOV DWORD PTR [EBP+12], EAX + JMP L_44 +L_43: + XOR EAX,EAX + MOV DWORD PTR [EBP+12], EAX +L_44: + MOV EAX,DWORD PTR [EBP+8] + ADD EAX,DWORD PTR [EBP-12] + MOV DWORD PTR [EBP+8], EAX + JMP L_30 +L_31: + MOV EAX,DWORD PTR [EBP-4] +L_42: + MOV ESP,EBP + POP EBP + RETN 12 +PUBLIC _DoDump: + PUSH EBP + MOV EBP,ESP + SUB ESP,24 + XOR EAX,EAX + MOV DWORD PTR [EBP-16], EAX + MOV EAX,4 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,EAX + JZ L_45 + MOV EAX,4 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] +L_45: + AND EAX,EAX + JZ L_46 + MOV EAX,_iLine + CMP EAX,23 + SETGE AL + AND AL,AL + JZ L_47 + XOR EAX,EAX + PUSH EAX + PUSH 1 + PUSH 80 + PUSH 23 + PUSH 1 + CALL FWORD PTR _ScrollVid + XOR EAX,EAX + PUSH EAX + PUSH 23 + CALL FWORD PTR _SetXY +L_47: + MOV EAX,4 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EAX,4 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + XOR EAX,EAX + PUSH EAX + PUSH 1 + LEA EAX,DWORD PTR [EBP-24] + PUSH EAX + CALL FWORD PTR _OpenFile + MOV DWORD PTR [EBP-16], EAX + MOV EAX,DWORD PTR [EBP-16] + AND EAX,EAX + JNZ L_48 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX + PUSH DWORD PTR [EBP-24] + LEA EAX,DWORD PTR [EBP-8] + PUSH EAX + CALL FWORD PTR _GetFileSize +L_49: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP-8] + SETB AL + AND AL,AL + JZ L_51 + MOV EAX,DWORD PTR [EBP-16] + AND EAX,EAX + SETZ AL + AND AL,AL +L_51: + JZ L_50 + PUSH OFFSET _Buffer + PUSH 512 + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _FillData + PUSH DWORD PTR [EBP-24] + PUSH OFFSET _Buffer + PUSH 512 + LEA EAX,DWORD PTR [EBP-20] + PUSH EAX + CALL FWORD PTR _ReadBytes + MOV DWORD PTR [EBP-16], EAX + MOV EAX,DWORD PTR [EBP-8] + SUB EAX,DWORD PTR [EBP-4] + CMP EAX,512 + SETA AL + AND AL,AL + JZ L_52 + MOV EAX,512 + MOV DWORD PTR [EBP-12], EAX + JMP L_53 +L_52: + MOV EAX,DWORD PTR [EBP-8] + SUB EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-12], EAX +L_53: + MOV EAX,DWORD PTR [EBP-16] + CMP EAX,2 + SETB AL + AND AL,AL + JZ L_54 + PUSH OFFSET _Buffer + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-4] + CALL _Dump + MOV DWORD PTR [EBP-16], EAX +L_54: + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,512 + MOV DWORD PTR [EBP-4], EAX + JMP L_49 +L_50: + PUSH DWORD PTR [EBP-24] + CALL FWORD PTR _CloseFile +L_48: + JMP L_55 +L_46: + PUSH OFFSET L_lit+499 + MOV EDI, 0 + CALL _printf + ADD ESP,4 +L_55: + MOV EAX,DWORD PTR [EBP-16] + MOV ESP,EBP + POP EBP + RETN +PUBLIC _DoType: + PUSH EBP + MOV EBP,ESP + SUB ESP,28 + XOR EAX,EAX + MOV DWORD PTR [EBP-16], EAX + MOV EAX,DWORD PTR [EBP+12] + AND EAX,EAX + JZ L_57 + MOV EAX,DWORD PTR [EBP+8] +L_57: + AND EAX,EAX + JZ L_58 + MOV EAX,_iLine + CMP EAX,23 + SETGE AL + AND AL,AL + JZ L_59 + XOR EAX,EAX + PUSH EAX + PUSH 1 + PUSH 80 + PUSH 23 + PUSH 1 + CALL FWORD PTR _ScrollVid + XOR EAX,EAX + PUSH EAX + PUSH 23 + CALL FWORD PTR _SetXY +L_59: + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + XOR EAX,EAX + PUSH EAX + PUSH 1 + LEA EAX,DWORD PTR [EBP-24] + PUSH EAX + CALL FWORD PTR _OpenFile + MOV DWORD PTR [EBP-16], EAX + MOV EAX,DWORD PTR [EBP-16] + AND EAX,EAX + JNZ L_60 + PUSH OFFSET _Buffer + PUSH 512 + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _FillData + MOV EAX,1 + MOV DWORD PTR [EBP-20], EAX +L_61: + MOV EAX,DWORD PTR [EBP-16] + CMP EAX,2 + SETL AL + AND AL,AL + JZ L_63 + MOV EAX,DWORD PTR [EBP-20] +L_63: + AND EAX,EAX + JZ L_62 + PUSH DWORD PTR [EBP-24] + LEA EAX,DWORD PTR [EBP-12] + PUSH EAX + CALL FWORD PTR _GetFileLFA + PUSH DWORD PTR [EBP-24] + PUSH OFFSET _Buffer + PUSH 78 + LEA EAX,DWORD PTR [EBP-20] + PUSH EAX + CALL FWORD PTR _ReadBytes + MOV DWORD PTR [EBP-16], EAX + MOV EAX,1 + MOV DWORD PTR [EBP-4], EAX +L_64: + MOV EAX,DWORD PTR [EBP-4] + SUB EAX,1 + MOV ESI,OFFSET _Buffer + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + CMP EAX,10 + SETNE AL + AND AL,AL + JZ L_66 + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP-20] + SETL AL + AND AL,AL +L_66: + JZ L_65 + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP L_64 +L_65: + XOR EAX,EAX + MOV DWORD PTR [EBP-8], EAX +L_67: + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [EBP-4] + SETLE AL + AND AL,AL + JZ L_68 + JMP SHORT L_69 +L_70: + MOV EAX,DWORD PTR [EBP-8] + INC DWORD PTR [EBP-8] + JMP SHORT L_67 +L_69: + MOV EAX,DWORD PTR [EBP-8] + MOV ESI,OFFSET _Buffer + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + CMP EAX,9 + SETE AL + AND AL,AL + JNZ L_71 + MOV EAX,DWORD PTR [EBP-8] + MOV ESI,OFFSET _Buffer + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + CMP EAX,13 + SETE AL + AND AL,AL + JNZ L_72 + MOV EAX,DWORD PTR [EBP-8] + MOV ESI,OFFSET _Buffer + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + CMP EAX,10 + SETE AL + AND AL,AL +L_72: +L_71: + JZ L_73 + MOV EAX,DWORD PTR [EBP-8] + MOV ESI,OFFSET _Buffer + ADD ESI,EAX + MOV EAX,32 + MOV BYTE PTR [ESI], AL +L_73: + JMP L_70 +L_68: + MOV EAX,DWORD PTR [EBP-20] + AND EAX,EAX + JZ L_74 + XOR EAX,EAX + PUSH EAX + PUSH _iLine + PUSH OFFSET _Buffer + PUSH DWORD PTR [EBP-4] + PUSH 7 + CALL FWORD PTR _PutVidChars + MOV EAX,_iLine + INC _iLine +L_74: + XOR EAX,EAX + PUSH EAX + PUSH _iLine + CALL FWORD PTR _SetXY + PUSH DWORD PTR [EBP-24] + MOV EAX,DWORD PTR [EBP-12] + ADD EAX,DWORD PTR [EBP-4] + PUSH EAX + CALL FWORD PTR _SetFileLFA + MOV EAX,_iLine + CMP EAX,22 + SETGE AL + AND AL,AL + JZ L_75 + XOR EAX,EAX + PUSH EAX + PUSH 23 + CALL FWORD PTR _SetXY + PUSH OFFSET L_lit+520 + MOV EDI, 0 + CALL _printf + ADD ESP,4 + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + PUSH 1 + CALL FWORD PTR _ReadKbd + MOV EAX,DWORD PTR [EBP-28] + AND EAX,255 + CMP EAX,27 + SETE AL + AND AL,AL + JZ L_76 + MOV EAX,4 + JMP L_77 +L_76: + PUSH 1 + CALL _InitScreen + XOR EAX,EAX + PUSH EAX + PUSH 1 + CALL FWORD PTR _SetXY + MOV EAX,1 + MOV _iLine, EAX +L_75: + JMP L_61 +L_62: + PUSH OFFSET L_lit+564 + PUSH DWORD PTR [EBP-16] + MOV EDI, 4 + CALL _printf + ADD ESP,8 + PUSH DWORD PTR [EBP-24] + CALL FWORD PTR _CloseFile +L_60: + JMP L_78 +L_58: + PUSH OFFSET L_lit+578 + MOV EDI, 0 + CALL _printf + ADD ESP,4 +L_78: + MOV EAX,DWORD PTR [EBP-16] +L_77: + MOV ESP,EBP + POP EBP + RETN 8 +PUBLIC _CnvrtFATTime: + PUSH EBP + MOV EBP,ESP + SUB ESP,39 + MOVZX EAX,WORD PTR [EBP+16] + MOV ECX,65024 + AND EAX,ECX + MOV ECX,9 + SHR AX,CL + MOV ECX,1980 + ADD EAX,ECX + MOV ECX,1900 + SUB EAX,ECX + MOV DWORD PTR [EBP-4], EAX + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,99 + SETA AL + AND AL,AL + JZ L_79 + MOV EAX,DWORD PTR [EBP-4] + SUB EAX,100 + MOV DWORD PTR [EBP-4], EAX +L_79: + MOVZX EAX,WORD PTR [EBP+16] + MOV ECX,480 + AND EAX,ECX + MOV ECX,5 + SHR AX,CL + MOV DWORD PTR [EBP-8], EAX + MOVZX EAX,WORD PTR [EBP+16] + MOV ECX,31 + AND EAX,ECX + MOV DWORD PTR [EBP-12], EAX + MOVZX EAX,WORD PTR [EBP+20] + MOV ECX,63488 + AND EAX,ECX + MOV ECX,11 + SHR AX,CL + MOV DWORD PTR [EBP-16], EAX + MOVZX EAX,WORD PTR [EBP+20] + MOV ECX,2016 + AND EAX,ECX + MOV ECX,5 + SHR AX,CL + MOV DWORD PTR [EBP-20], EAX + MOVZX EAX,WORD PTR [EBP+20] + MOV ECX,31 + AND EAX,ECX + SHL EAX,1 + MOV DWORD PTR [EBP-24], EAX + LEA EAX,DWORD PTR [EBP-39] + PUSH EAX + PUSH OFFSET L_lit+599 + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-20] + PUSH DWORD PTR [EBP-24] + MOV EDI, 12 + CALL _sprintf + ADD ESP,20 + LEA EAX,DWORD PTR [EBP-39] + PUSH EAX + PUSH DWORD PTR [EBP+12] + PUSH 8 + CALL FWORD PTR _CopyData + LEA EAX,DWORD PTR [EBP-39] + PUSH EAX + PUSH OFFSET L_lit+614 + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-4] + MOV EDI, 12 + CALL _sprintf + ADD ESP,20 + LEA EAX,DWORD PTR [EBP-39] + PUSH EAX + PUSH DWORD PTR [EBP+8] + PUSH 8 + CALL FWORD PTR _CopyData + MOV ESP,EBP + POP EBP + RETN 16 +PUBLIC _CopyFile: + PUSH EBP + MOV EBP,ESP + SUB ESP,40 + PUSH DWORD PTR [EBP+20] + PUSH DWORD PTR [EBP+16] + XOR EAX,EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + LEA EAX,DWORD PTR [EBP-8] + PUSH EAX + CALL FWORD PTR _OpenFile + MOV DWORD PTR [EBP-24], EAX + MOV EAX,DWORD PTR [EBP-24] + AND EAX,EAX + JNZ L_80 + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _CreateFile + MOV DWORD PTR [EBP-24], EAX + MOV EAX,DWORD PTR [EBP-24] + AND EAX,EAX + SETZ AL + AND AL,AL + JNZ L_81 + MOV EAX,DWORD PTR [EBP-24] + CMP EAX,226 + SETE AL + AND AL,AL +L_81: + JZ L_82 + MOV EAX,DWORD PTR [EBP-24] + CMP EAX,226 + SETE AL + AND AL,AL + JZ L_83 + PUSH OFFSET L_lit+629 + MOV EDI, 0 + CALL _printf + ADD ESP,4 + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + PUSH 1 + CALL FWORD PTR _ReadKbd + MOV EAX,DWORD PTR [EBP-40] + AND EAX,255 + CMP EAX,89 + SETE AL + AND AL,AL + JNZ L_84 + MOV EAX,DWORD PTR [EBP-40] + AND EAX,255 + CMP EAX,121 + SETE AL + AND AL,AL +L_84: + JZ L_85 + XOR EAX,EAX + MOV DWORD PTR [EBP-24], EAX +L_85: +L_83: + MOV EAX,DWORD PTR [EBP-24] + AND EAX,EAX + JNZ L_86 + PUSH DWORD PTR [EBP+12] + PUSH DWORD PTR [EBP+8] + PUSH 1 + XOR EAX,EAX + PUSH EAX + LEA EAX,DWORD PTR [EBP-4] + PUSH EAX + CALL FWORD PTR _OpenFile + MOV DWORD PTR [EBP-24], EAX + MOV EAX,DWORD PTR [EBP-24] + AND EAX,EAX + JNZ L_87 + PUSH DWORD PTR [EBP-8] + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + CALL FWORD PTR _GetFileSize + MOV DWORD PTR [EBP-24], EAX + MOV EAX,DWORD PTR [EBP-24] + AND EAX,EAX + JNZ L_88 + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP-32] + CALL FWORD PTR _SetFileSize + MOV DWORD PTR [EBP-24], EAX +L_88: + XOR EAX,EAX + MOV DWORD PTR [EBP-36], EAX + MOV EAX,DWORD PTR [EBP-32] + MOV DWORD PTR [EBP-20], EAX +L_89: + MOV EAX,DWORD PTR [EBP-24] + AND EAX,EAX + SETZ AL + AND AL,AL + JZ L_91 + MOV EAX,DWORD PTR [EBP-20] +L_91: + AND EAX,EAX + JZ L_90 + MOV EAX,DWORD PTR [EBP-20] + CMP EAX,4096 + SETAE AL + AND AL,AL + JZ L_92 + MOV EAX,4096 + MOV DWORD PTR [EBP-12], EAX + JMP L_93 +L_92: + MOV EAX,DWORD PTR [EBP-20] + MOV DWORD PTR [EBP-12], EAX +L_93: + MOV EAX,DWORD PTR [EBP-12] + AND EAX,511 + JZ L_94 + MOV EAX,DWORD PTR [EBP-12] + ADD EAX,512 + MOV DWORD PTR [EBP-12], EAX +L_94: + MOV EAX,DWORD PTR [EBP-12] + MOV ECX,512 + XOR EDX,EDX + DIV ECX + MOV ECX,512 + MUL ECX + MOV DWORD PTR [EBP-12], EAX + PUSH DWORD PTR [EBP-8] + PUSH OFFSET _bigBuf + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-36] + LEA EAX,DWORD PTR [EBP-16] + PUSH EAX + CALL FWORD PTR _ReadBlock + MOV DWORD PTR [EBP-24], EAX + MOV EAX,DWORD PTR [EBP-16] + AND EAX,EAX + JZ L_95 + PUSH DWORD PTR [EBP-4] + PUSH OFFSET _bigBuf + PUSH DWORD PTR [EBP-16] + PUSH DWORD PTR [EBP-36] + LEA EAX,DWORD PTR [EBP-28] + PUSH EAX + CALL FWORD PTR _WriteBlock + MOV DWORD PTR [EBP-24], EAX + MOV EAX,DWORD PTR [EBP-20] + CMP EAX,DWORD PTR [EBP-28] + SETB AL + AND AL,AL + JZ L_96 + XOR EAX,EAX + MOV DWORD PTR [EBP-20], EAX + JMP L_97 +L_96: + MOV EAX,DWORD PTR [EBP-20] + SUB EAX,DWORD PTR [EBP-28] + MOV DWORD PTR [EBP-20], EAX +L_97: +L_95: + MOV EAX,DWORD PTR [EBP-36] + ADD EAX,DWORD PTR [EBP-16] + MOV DWORD PTR [EBP-36], EAX + JMP L_89 +L_90: + PUSH DWORD PTR [EBP-4] + CALL FWORD PTR _CloseFile +L_87: +L_86: +L_82: + PUSH DWORD PTR [EBP-8] + CALL FWORD PTR _CloseFile +L_80: + MOV EAX,DWORD PTR [EBP-24] + MOV ESP,EBP + POP EBP + RETN 16 +PUBLIC _DoDir: + PUSH EBP + MOV EBP,ESP + SUB ESP,95 + MOV EAX,_iLine + CMP EAX,23 + SETGE AL + AND AL,AL + JZ L_99 + XOR EAX,EAX + PUSH EAX + PUSH 1 + PUSH 80 + PUSH 23 + PUSH 1 + CALL FWORD PTR _ScrollVid + XOR EAX,EAX + PUSH EAX + PUSH 23 + CALL FWORD PTR _SetXY +L_99: + XOR EAX,EAX + MOV BYTE PTR [EBP-1], AL + XOR EAX,EAX + MOV DWORD PTR [EBP-5], EAX +L_100: + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-1] + AND EAX,EAX + JNZ L_101 + MOV EAX,4 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EAX,4 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + PUSH OFFSET _dirent + PUSH 512 + PUSH DWORD PTR [EBP-5] + CALL FWORD PTR _GetDirSector + MOV DWORD PTR [EBP-9], EAX + MOV EAX,DWORD PTR [EBP-9] + AND EAX,EAX + JNZ L_102 + XOR EAX,EAX + MOV DWORD PTR [EBP-17], EAX +L_103: + MOV EAX,DWORD PTR [EBP-17] + CMP EAX,16 + SETB AL + AND AL,AL + JZ L_104 + JMP SHORT L_105 +L_106: + MOV EAX,DWORD PTR [EBP-17] + INC DWORD PTR [EBP-17] + JMP SHORT L_103 +L_105: + MOV EAX,DWORD PTR [EBP-17] + SHL EAX,5 + MOV ESI,OFFSET _dirent + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + AND EAX,EAX + JNZ L_107 + MOV EAX,1 + MOV DWORD PTR [EBP-9], EAX + MOV EAX,1 + MOV BYTE PTR [EBP-1], AL +L_107: + MOV EAX,DWORD PTR [EBP-17] + SHL EAX,5 + MOV ESI,OFFSET _dirent + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + AND EAX,EAX + JZ L_108 + MOV EAX,DWORD PTR [EBP-17] + SHL EAX,5 + MOV ESI,OFFSET _dirent + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + CMP EAX,229 + SETNE AL + AND AL,AL +L_108: + JZ L_109 + LEA EAX,DWORD PTR [EBP-95] + PUSH EAX + PUSH OFFSET L_lit+669 + MOV EAX,DWORD PTR [EBP-17] + SHL EAX,5 + MOV ESI,OFFSET _dirent + ADD ESI,EAX + PUSH ESI + MOV EAX,DWORD PTR [EBP-17] + SHL EAX,5 + MOV ESI,OFFSET _dirent + ADD ESI,EAX + MOV EAX,ESI + ADD EAX,8 + PUSH EAX + MOV EAX,DWORD PTR [EBP-17] + SHL EAX,5 + MOV ESI,OFFSET _dirent + ADD ESI,EAX + PUSH DWORD PTR [ESI+28] + MOV EAX,DWORD PTR [EBP-17] + SHL EAX,5 + MOV ESI,OFFSET _dirent + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI+11] + PUSH EAX + MOV EAX,DWORD PTR [EBP-17] + SHL EAX,5 + MOV ESI,OFFSET _dirent + ADD ESI,EAX + MOVZX EAX,WORD PTR [ESI+26] + PUSH EAX + MOV EDI, 20 + CALL _sprintf + ADD ESP,28 + MOV EAX,DWORD PTR [EBP-17] + SHL EAX,5 + MOV ESI,OFFSET _dirent + ADD ESI,EAX + MOVZX EAX,WORD PTR [ESI+22] + PUSH EAX + MOV EAX,DWORD PTR [EBP-17] + SHL EAX,5 + MOV ESI,OFFSET _dirent + ADD ESI,EAX + MOVZX EAX,WORD PTR [ESI+24] + PUSH EAX + MOV EAX,33 + LEA ESI,BYTE PTR [EBP-95] + ADD ESI,EAX + PUSH ESI + MOV EAX,24 + LEA ESI,BYTE PTR [EBP-95] + ADD ESI,EAX + PUSH ESI + CALL _CnvrtFATTime + PUSH OFFSET L_lit+715 + LEA EAX,DWORD PTR [EBP-95] + PUSH EAX + MOV EDI, 4 + CALL _printf + ADD ESP,8 + MOV EAX,_iLine + INC _iLine + MOV EAX,_iLine + CMP EAX,22 + SETGE AL + AND AL,AL + JZ L_110 + XOR EAX,EAX + PUSH EAX + PUSH 23 + CALL FWORD PTR _SetXY + PUSH OFFSET L_lit+718 + MOV EDI, 0 + CALL _printf + ADD ESP,4 + LEA EAX,DWORD PTR [EBP-13] + PUSH EAX + PUSH 1 + CALL FWORD PTR _ReadKbd + MOV EAX,DWORD PTR [EBP-13] + AND EAX,255 + CMP EAX,27 + SETE AL + AND AL,AL + JZ L_111 + MOV EAX,4 + MOV DWORD PTR [EBP-9], EAX + MOV EAX,1 + MOV BYTE PTR [EBP-1], AL +L_111: + PUSH 1 + CALL _InitScreen + XOR EAX,EAX + PUSH EAX + PUSH 1 + CALL FWORD PTR _SetXY + MOV EAX,1 + MOV _iLine, EAX +L_110: +L_109: + JMP L_106 +L_104: + JMP L_112 +L_102: + MOV EAX,1 + MOV BYTE PTR [EBP-1], AL +L_112: + MOV EAX,DWORD PTR [EBP-5] + INC DWORD PTR [EBP-5] + JMP L_100 +L_101: + MOV EAX,DWORD PTR [EBP-9] + MOV ESP,EBP + POP EBP + RETN +PUBLIC _ParseCmdLine: + PUSH EBP + MOV EBP,ESP + SUB ESP,12 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-8], EAX +L_114: + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,13 + SETL AL + AND AL,AL + JZ L_115 + JMP SHORT L_116 +L_117: + MOV EAX,DWORD PTR [EBP-8] + INC DWORD PTR [EBP-8] + JMP SHORT L_114 +L_116: + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,2 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + XOR EAX,EAX + MOV DWORD PTR [ESI], EAX + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,2 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + XOR EAX,EAX + MOV DWORD PTR [ESI], EAX + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,_cbCmd + SETL AL + AND AL,AL + JZ L_118 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,OFFSET _aCmd + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _isspace + AND EAX,EAX + JNZ L_119 + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,2 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + MOV EBX,ESI + MOV ESI,OFFSET _aCmd + ADD ESI,EAX + MOV EAX,ESI + MOV DWORD PTR [EBX], EAX + MOV EAX,1 + MOV DWORD PTR [EBP-12], EAX +L_120: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,_cbCmd + SETL AL + AND AL,AL + JZ L_122 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,OFFSET _aCmd + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _isspace + AND EAX,EAX + SETZ AL + AND AL,AL +L_122: + JZ L_121 + MOV EAX,DWORD PTR [EBP-12] + INC DWORD PTR [EBP-12] + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP L_120 +L_121: + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,2 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-12] + MOV DWORD PTR [ESI], EAX +L_119: +L_123: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,_cbCmd + SETL AL + AND AL,AL + JZ L_125 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,OFFSET _aCmd + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _isspace +L_125: + AND EAX,EAX + JZ L_124 + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP L_123 +L_124: +L_118: + JMP L_117 +L_115: + MOV ESP,EBP + POP EBP + RETN +PUBLIC _GetCLICommand: + PUSH EBP + MOV EBP,ESP + SUB ESP,197 + LEA ESI,BYTE PTR [EBP-196] + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + PUSH OFFSET _cmdpath + PUSH OFFSET L_lit+762 + CALL _fopen + MOV DWORD PTR [EBP-16], EAX + MOV EAX,DWORD PTR [EBP-16] + AND EAX,EAX + JZ L_126 + XOR EAX,EAX + MOV BYTE PTR [EBP-197], AL +L_127: + MOVSX EAX,BYTE PTR [EBP-197] + AND EAX,EAX + JNZ L_128 + LEA EAX,DWORD PTR [EBP-106] + PUSH EAX + PUSH 89 + PUSH DWORD PTR [EBP-16] + CALL _fgets + AND EAX,EAX + JZ L_129 + LEA ESI,BYTE PTR [EBP-106] + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,59 + SETE AL + AND AL,AL + JZ L_130 + JMP L_127 +L_130: + MOV ESI,OFFSET _apParam + PUSH DWORD PTR [ESI] + LEA EAX,DWORD PTR [EBP-106] + PUSH EAX + MOV ESI,OFFSET _acbParam + PUSH DWORD PTR [ESI] + CALL FWORD PTR _CompareNCS + MOV DWORD PTR [EBP-8], EAX + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,-1 + SETE AL + AND AL,AL + JZ L_131 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-8], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-12], EAX +L_132: + MOV EAX,DWORD PTR [EBP-4] + LEA ESI,BYTE PTR [EBP-106] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _isspace + AND EAX,EAX + JNZ L_133 + MOV EAX,DWORD PTR [EBP-8] + INC DWORD PTR [EBP-8] + LEA ESI,BYTE PTR [EBP-196] + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + MOV EBX,ESI + LEA ESI,BYTE PTR [EBP-106] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_132 +L_133: + MOV EAX,DWORD PTR [EBP-8] + INC DWORD PTR [EBP-8] + LEA ESI,BYTE PTR [EBP-196] + ADD ESI,EAX + MOV EAX,32 + MOV BYTE PTR [ESI], AL +L_134: + MOV EAX,DWORD PTR [EBP-4] + LEA ESI,BYTE PTR [EBP-106] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _isspace + AND EAX,EAX + JZ L_135 + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP L_134 +L_135: +L_136: + MOV EAX,DWORD PTR [EBP-4] + LEA ESI,BYTE PTR [EBP-106] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _isspace + AND EAX,EAX + JNZ L_137 + MOV EAX,DWORD PTR [EBP-12] + INC DWORD PTR [EBP-12] + MOV ESI,DWORD PTR [EBP+8] + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + MOV EBX,ESI + LEA ESI,BYTE PTR [EBP-106] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_136 +L_137: + MOV EAX,DWORD PTR [EBP-12] + MOV ESI,DWORD PTR [EBP+8] + ADD ESI,EAX + XOR EAX,EAX + MOV BYTE PTR [ESI], AL +L_138: + MOV EAX,DWORD PTR [EBP-4] + LEA ESI,BYTE PTR [EBP-106] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + PUSH EAX + CALL _isspace + AND EAX,EAX + JZ L_139 + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP L_138 +L_139: +L_140: + MOV EAX,DWORD PTR [EBP-4] + LEA ESI,BYTE PTR [EBP-106] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JZ L_141 + MOV EAX,DWORD PTR [EBP-8] + INC DWORD PTR [EBP-8] + LEA ESI,BYTE PTR [EBP-196] + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + MOV EBX,ESI + LEA ESI,BYTE PTR [EBP-106] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_140 +L_141: + MOV EAX,DWORD PTR [EBP-8] + LEA ESI,BYTE PTR [EBP-196] + ADD ESI,EAX + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + PUSH OFFSET _aCmd + LEA EAX,DWORD PTR [EBP-196] + PUSH EAX + CALL _strcpy + PUSH OFFSET _aCmd + CALL _strlen + MOV _cbCmd, EAX + MOV EAX,1 + JMP L_142 +L_131: + JMP L_143 +L_129: + MOV EAX,1 + MOV BYTE PTR [EBP-197], AL +L_143: + JMP L_127 +L_128: + JMP L_144 +L_126: + PUSH OFFSET L_lit+764 + MOV EDI, 0 + CALL _printf + ADD ESP,4 +L_144: + XOR EAX,EAX +L_142: + MOV ESP,EBP + POP EBP + RETN 4 +PUBLIC _FindRunFile: + PUSH EBP + MOV EBP,ESP + SUB ESP,92 + MOV ESI,OFFSET _apParam + PUSH DWORD PTR [ESI] + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + MOV ESI,OFFSET _acbParam + PUSH DWORD PTR [ESI] + CALL FWORD PTR _CopyData + MOV ESI,OFFSET _acbParam + MOV EAX,DWORD PTR [ESI] + LEA ESI,BYTE PTR [EBP-80] + ADD ESI,EAX + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + PUSH OFFSET L_lit+790 + CALL _strcat + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + CALL _strlen + PUSH EAX + XOR EAX,EAX + PUSH EAX + PUSH 1 + LEA EAX,DWORD PTR [EBP-92] + PUSH EAX + CALL FWORD PTR _OpenFile + MOV DWORD PTR [EBP-88], EAX + MOV EAX,DWORD PTR [EBP-88] + AND EAX,EAX + JNZ L_145 + PUSH DWORD PTR [EBP-92] + CALL FWORD PTR _CloseFile + PUSH OFFSET _aCmd + PUSH _cbCmd + CALL FWORD PTR _SetCmdLine + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + CALL _strlen + PUSH EAX + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _Chain + MOV DWORD PTR [EBP-88], EAX + JMP L_146 +L_145: + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + PUSH OFFSET _syspath + CALL _strcpy + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + CALL _strlen + MOV DWORD PTR [EBP-84], EAX + MOV ESI,OFFSET _apParam + PUSH DWORD PTR [ESI] + MOV EAX,DWORD PTR [EBP-84] + LEA ESI,BYTE PTR [EBP-80] + ADD ESI,EAX + PUSH ESI + MOV ESI,OFFSET _acbParam + PUSH DWORD PTR [ESI] + CALL FWORD PTR _CopyData + MOV ESI,OFFSET _acbParam + MOV EAX,DWORD PTR [ESI] + ADD EAX,DWORD PTR [EBP-84] + LEA ESI,BYTE PTR [EBP-80] + ADD ESI,EAX + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + PUSH OFFSET L_lit+795 + CALL _strcat + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + CALL _strlen + PUSH EAX + XOR EAX,EAX + PUSH EAX + PUSH 1 + LEA EAX,DWORD PTR [EBP-92] + PUSH EAX + CALL FWORD PTR _OpenFile + MOV DWORD PTR [EBP-88], EAX + MOV EAX,DWORD PTR [EBP-88] + AND EAX,EAX + JNZ L_147 + PUSH DWORD PTR [EBP-92] + CALL FWORD PTR _CloseFile + PUSH OFFSET _aCmd + PUSH _cbCmd + CALL FWORD PTR _SetCmdLine + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + CALL _strlen + PUSH EAX + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _Chain + MOV DWORD PTR [EBP-88], EAX + JMP L_148 +L_147: + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + CALL _GetCLICommand + AND EAX,EAX + JZ L_149 + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + CALL _strlen + PUSH EAX + XOR EAX,EAX + PUSH EAX + PUSH 1 + LEA EAX,DWORD PTR [EBP-92] + PUSH EAX + CALL FWORD PTR _OpenFile + MOV DWORD PTR [EBP-88], EAX + MOV EAX,DWORD PTR [EBP-88] + AND EAX,EAX + JNZ L_150 + PUSH DWORD PTR [EBP-92] + CALL FWORD PTR _CloseFile + PUSH OFFSET _aCmd + PUSH _cbCmd + CALL FWORD PTR _SetCmdLine + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + CALL _strlen + PUSH EAX + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _Chain + MOV DWORD PTR [EBP-88], EAX +L_150: +L_149: +L_148: +L_146: + PUSH OFFSET L_lit+800 + MOV EDI, 0 + CALL _printf + ADD ESP,4 + MOV ESP,EBP + POP EBP + RETN +PUBLIC _main: + PUSH EBP + MOV EBP,ESP + SUB ESP,16 + PUSH OFFSET _StatExch + CALL FWORD PTR _AllocExch + MOV DWORD PTR [EBP-4], EAX + PUSH OFFSET _GPExch + CALL FWORD PTR _AllocExch + MOV DWORD PTR [EBP-4], EAX + PUSH OFFSET _StatTask + PUSH 24 + XOR EAX,EAX + PUSH EAX + MOV EAX,1020 + MOV ESI,OFFSET _StatStack + ADD ESI,EAX + PUSH ESI + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _SpawnTask + PUSH OFFSET _JobNum + CALL FWORD PTR _GetJobNum + MOV EAX,37 + MOV ESI,OFFSET _aStatLine + ADD ESI,EAX + PUSH ESI + PUSH OFFSET L_lit+820 + PUSH _JobNum + MOV EDI, 4 + CALL _sprintf + ADD ESP,12 + PUSH OFFSET L_lit+825 + PUSH 8 + CALL FWORD PTR _SetJobName + PUSH OFFSET _sdisk + CALL FWORD PTR _GetSystemDisk + MOVSX EAX,_sdisk + MOV ECX,127 + AND EAX,ECX + MOV _sdisk, AL + MOVSX EAX,_sdisk + MOV ECX,65 + ADD EAX,ECX + MOV _sdisk, AL + MOV ESI,OFFSET _syspath + MOVSX EAX,_sdisk + MOV BYTE PTR [ESI], AL + MOV EAX,1 + MOV ESI,OFFSET _syspath + ADD ESI,EAX + MOV EAX,58 + MOV BYTE PTR [ESI], AL + MOV EAX,2 + MOV ESI,OFFSET _syspath + ADD ESI,EAX + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + PUSH OFFSET _syspath + PUSH OFFSET L_lit+834 + CALL _strcat + PUSH OFFSET _clipath + PUSH OFFSET _syspath + CALL _strcpy + PUSH OFFSET _clipath + PUSH OFFSET L_lit+842 + CALL _strcat + PUSH OFFSET _cmdpath + PUSH OFFSET _syspath + CALL _strcpy + PUSH OFFSET _cmdpath + PUSH OFFSET L_lit+850 + CALL _strcat + PUSH OFFSET _hlppath + PUSH OFFSET _syspath + CALL _strcpy + PUSH OFFSET _hlppath + PUSH OFFSET L_lit+863 + CALL _strcat + XOR EAX,EAX + MOV _cbPath, EAX + PUSH _JobNum + PUSH OFFSET _aPath + PUSH OFFSET _cbPath + CALL FWORD PTR _GetPath + MOV EAX,_cbPath + AND EAX,EAX + JZ L_151 + PUSH OFFSET _iCol + PUSH OFFSET _iLine + CALL FWORD PTR _GetXY + MOV EAX,_iLine + CMP EAX,0 + SETE AL + AND AL,AL + JZ L_152 + MOV EAX,1 + MOV _iLine, EAX +L_152: + XOR EAX,EAX + PUSH EAX + CALL _InitScreen + XOR EAX,EAX + PUSH EAX + PUSH _iLine + CALL FWORD PTR _SetXY + JMP L_153 +L_151: + PUSH OFFSET _aPath + PUSH OFFSET _syspath + CALL _strcpy + PUSH OFFSET _syspath + CALL _strlen + MOV _cbPath, EAX + PUSH OFFSET _syspath + PUSH OFFSET _syspath + CALL _strlen + PUSH EAX + CALL FWORD PTR _SetPath + PUSH 1 + CALL _InitScreen +L_153: + MOV EAX,1 + MOV _fUpdatePath, AL +L_154: + MOV EAX,1 + AND EAX,EAX + JZ L_155 + PUSH OFFSET _aCmd + PUSH 79 + PUSH 32 + CALL FWORD PTR _FillData + MOV EAX,79 + MOV ESI,OFFSET _aCmd + ADD ESI,EAX + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + XOR EAX,EAX + MOV _cbCmd, EAX + XOR EAX,EAX + PUSH EAX + PUSH _iLine + CALL FWORD PTR _SetXY + PUSH OFFSET L_lit+872 + PUSH 1 + PUSH 7 + CALL FWORD PTR _TTYOut + PUSH OFFSET _aCmd + PUSH _cbCmd + PUSH 79 + PUSH OFFSET _cbCmd + PUSH OFFSET _ExitChar + PUSH 112 + CALL FWORD PTR _EditLine + PUSH OFFSET L_lit+874 + PUSH 2 + PUSH 7 + CALL FWORD PTR _TTYOut + PUSH OFFSET _iCol + PUSH OFFSET _iLine + CALL FWORD PTR _GetXY + MOV ESI,OFFSET _acbParam + XOR EAX,EAX + MOV DWORD PTR [ESI], EAX + MOV ESI,OFFSET _apParam + XOR EAX,EAX + MOV DWORD PTR [ESI], EAX + XOR EAX,EAX + MOV _CmdNum, EAX + MOVSX EAX,_ExitChar + CMP EAX,13 + SETE AL + AND AL,AL + JZ L_156 + CALL _ParseCmdLine +L_156: + MOV ESI,OFFSET _acbParam + MOV EAX,DWORD PTR [ESI] + AND EAX,EAX + JZ L_157 + MOV ESI,OFFSET _apParam + MOV EAX,DWORD PTR [ESI] +L_157: + AND EAX,EAX + JZ L_158 + MOV EAX,1 + MOV DWORD PTR [EBP-8], EAX +L_159: + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,16 + SETBE AL + AND AL,AL + JZ L_160 + MOV EAX,DWORD PTR [EBP-8] + MOV ECX,10 + MUL ECX + MOV ESI,OFFSET _paCmds + ADD ESI,EAX + PUSH ESI + CALL _strlen + MOV DWORD PTR [EBP-12], EAX + MOV ESI,OFFSET _acbParam + MOV EAX,DWORD PTR [ESI] + CMP EAX,DWORD PTR [EBP-12] + SETE AL + AND AL,AL + JZ L_161 + MOV ESI,OFFSET _apParam + PUSH DWORD PTR [ESI] + MOV EAX,DWORD PTR [EBP-8] + MOV ECX,10 + MUL ECX + MOV ESI,OFFSET _paCmds + ADD ESI,EAX + PUSH ESI + PUSH DWORD PTR [EBP-12] + CALL FWORD PTR _CompareNCS + CMP EAX,-1 + SETE AL + AND AL,AL +L_161: + JZ L_162 + MOV EAX,DWORD PTR [EBP-8] + MOV _CmdNum, EAX + JMP L_160 +L_162: + MOV EAX,DWORD PTR [EBP-8] + INC DWORD PTR [EBP-8] + JMP L_159 +L_160: + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX + MOV EAX,_CmdNum + JMP L_164 +L_165: + PUSH OFFSET _clipath + PUSH OFFSET _clipath + CALL _strlen + PUSH EAX + CALL FWORD PTR _SetExitJob + CALL _FindRunFile + JMP L_163 +L_166: + PUSH 1 + CALL _InitScreen + JMP L_163 +L_167: + MOV EAX,4 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,EAX + JZ L_168 + MOV EAX,8 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] +L_168: + AND EAX,EAX + JZ L_169 + MOV EAX,4 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EAX,4 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EAX,8 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EAX,8 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _CopyFile + MOV DWORD PTR [EBP-4], EAX + JMP L_170 +L_169: + MOV EAX,80 + MOV DWORD PTR [EBP-4], EAX +L_170: + JMP L_163 +L_171: + MOV EAX,4 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EAX,4 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + PUSH 1 + XOR EAX,EAX + PUSH EAX + LEA EAX,DWORD PTR [EBP-16] + PUSH EAX + CALL FWORD PTR _OpenFile + MOV DWORD PTR [EBP-4], EAX + MOV EAX,DWORD PTR [EBP-4] + AND EAX,EAX + JNZ L_172 + PUSH DWORD PTR [EBP-16] + CALL FWORD PTR _DeleteFile + MOV DWORD PTR [EBP-4], EAX +L_172: + MOV EAX,DWORD PTR [EBP-4] + AND EAX,EAX + JNZ L_173 + PUSH OFFSET L_lit+877 + MOV EDI, 0 + CALL _printf + ADD ESP,4 +L_173: + JMP L_163 +L_174: + CALL _DoDir + MOV DWORD PTR [EBP-4], EAX + JMP L_163 +L_175: + CALL _GoDebug + JMP L_163 +L_176: + CALL _DoDump + MOV DWORD PTR [EBP-4], EAX + JMP L_163 +L_177: + PUSH OFFSET L_lit+885 + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _SetExitJob + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _ExitJob + JMP L_163 +L_178: + PUSH OFFSET _hlppath + PUSH OFFSET _hlppath + CALL _strlen + PUSH EAX + CALL _DoType + MOV DWORD PTR [EBP-4], EAX + JMP L_163 +L_179: + MOV EAX,4 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EAX,4 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL FWORD PTR _CreateDir + MOV DWORD PTR [EBP-4], EAX + JMP L_163 +L_180: + PUSH OFFSET L_lit+886 + PUSH 4 + PUSH _GPExch + PUSH OFFSET _GPHndl + XOR EAX,EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + PUSH 1 + XOR EAX,EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _Request + MOV DWORD PTR [EBP-4], EAX + PUSH _GPExch + PUSH OFFSET _GPMsg + CALL FWORD PTR _WaitMsg + MOV DWORD PTR [EBP-4], EAX + PUSH 1 + CALL FWORD PTR _SetVidOwner + JMP L_163 +L_181: + MOV EAX,4 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EAX,4 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL FWORD PTR _SetPath + MOV DWORD PTR [EBP-4], EAX + MOV EAX,DWORD PTR [EBP-4] + AND EAX,EAX + JNZ L_182 + PUSH _JobNum + PUSH OFFSET _aPath + PUSH OFFSET _cbPath + CALL FWORD PTR _GetPath + MOV DWORD PTR [EBP-4], EAX +L_182: + MOV EAX,1 + MOV _fUpdatePath, AL + JMP L_163 +L_183: + MOV EAX,4 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EAX,4 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL FWORD PTR _DeleteDir + MOV DWORD PTR [EBP-4], EAX + JMP L_163 +L_184: + MOV EAX,4 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,EAX + JZ L_185 + MOV EAX,8 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] +L_185: + AND EAX,EAX + JZ L_186 + MOV EAX,4 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EAX,4 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EAX,8 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EAX,8 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL FWORD PTR _RenameFile + MOV DWORD PTR [EBP-4], EAX + JMP L_187 +L_186: + MOV EAX,80 + MOV DWORD PTR [EBP-4], EAX +L_187: + JMP L_163 +L_188: + MOV EAX,4 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI] + AND EAX,EAX + JZ L_189 + MOV EAX,2 + MOV DWORD PTR [EBP-8], EAX +L_190: + MOV EAX,DWORD PTR [EBP-8] + MOV ESI,OFFSET _aCmd + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,32 + SETNE AL + AND AL,AL + JZ L_191 + MOV EAX,DWORD PTR [EBP-8] + INC DWORD PTR [EBP-8] + JMP L_190 +L_191: + MOV EAX,DWORD PTR [EBP-8] + MOV ESI,OFFSET _aCmd + ADD ESI,EAX + PUSH ESI + MOV EAX,_cbCmd + SUB EAX,DWORD PTR [EBP-8] + PUSH EAX + CALL FWORD PTR _SetCmdLine + PUSH OFFSET _clipath + PUSH OFFSET _clipath + CALL _strlen + PUSH EAX + CALL FWORD PTR _SetExitJob + MOV EAX,4 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EAX,4 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _Chain + MOV DWORD PTR [EBP-4], EAX +L_189: + JMP L_163 +L_192: + MOV EAX,4 + MOV ESI,OFFSET _apParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + MOV EAX,4 + MOV ESI,OFFSET _acbParam + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _DoType + MOV DWORD PTR [EBP-4], EAX + JMP L_163 +L_193: + JMP L_163 +L_164: + CMP EAX,16 + JE L_192 + CMP EAX,15 + JE L_188 + CMP EAX,14 + JE L_184 + CMP EAX,13 + JE L_183 + CMP EAX,12 + JE L_181 + CMP EAX,11 + JE L_180 + CMP EAX,10 + JE L_179 + CMP EAX,9 + JE L_178 + CMP EAX,8 + JE L_177 + CMP EAX,7 + JE L_176 + CMP EAX,6 + JE L_175 + CMP EAX,5 + JE L_174 + CMP EAX,4 + JE L_171 + CMP EAX,3 + JE L_167 + CMP EAX,2 + JE L_166 + CMP EAX,0 + JE L_165 + JMP L_193 +L_163: + PUSH DWORD PTR [EBP-4] + CALL _CheckErc +L_158: + PUSH OFFSET _iCol + PUSH OFFSET _iLine + CALL FWORD PTR _GetXY + MOV EAX,_iLine + CMP EAX,23 + SETGE AL + AND AL,AL + JZ L_194 + XOR EAX,EAX + PUSH EAX + PUSH 1 + PUSH 80 + PUSH 23 + PUSH 1 + CALL FWORD PTR _ScrollVid + XOR EAX,EAX + PUSH EAX + PUSH 23 + CALL FWORD PTR _SetXY +L_194: + JMP L_154 +L_155: + MOV ESP,EBP + POP EBP + RETN -- 2.40.0