.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