From: Richard Burgess <> Date: Fri, 3 Feb 1995 22:50:48 +0000 (+0000) Subject: autocommit for file dated 1995-02-03 22:50:48 X-Git-Url: https://pd.if.org/git/?p=mmurtl;a=commitdiff_plain;h=e3790a9ab68bbc2e8ce53877fc750b256b0b32e9 autocommit for file dated 1995-02-03 22:50:48 --- diff --git a/msamples/editor/edit.asm b/msamples/editor/edit.asm new file mode 100644 index 0000000..23e13db --- /dev/null +++ b/msamples/editor/edit.asm @@ -0,0 +1,4521 @@ + +.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 _cbCmd DD 0 +L_lit DB 69,114,114,111,114,32,37,48,53,100,32,111,99,99,117,114 + DB 101,100,32,111,110,32,79,112,101,110,70,105,108,101,0,69 + DB 114,114,111,114,32,37,48,53,100,32,111,99,99,117,114,101 + DB 100,32,111,110,32,82,101,97,100,66,121,116,101,115,0,69 + DB 114,114,111,114,32,37,48,53,100,32,111,99,99,117,114,101 + DB 100,32,111,110,32,87,114,105,116,101,66,121,116,101,115,0 + DB 69,114,114,111,114,32,37,48,53,100,32,111,99,99,117,114 + DB 101,100,32,111,110,32,67,114,101,97,116,101,70,105,108,101 + DB 0,69,114,114,111,114,32,37,48,53,100,32,111,99,99,117 + DB 114,101,100,32,111,110,32,83,101,116,70,105,108,101,83,105 + DB 122,101,0,69,114,114,111,114,32,37,48,53,100,32,111,99 + DB 99,117,114,101,100,32,111,110,32,83,101,116,70,105,108,101 + DB 76,70,65,0,69,114,114,111,114,32,37,48,53,100,32,111 + DB 99,99,117,114,101,100,32,111,110,32,82,101,97,100,75,98 + DB 100,0,69,114,114,111,114,32,37,48,53,100,32,111,99,99 + DB 117,114,101,100,32,111,110,32,108,97,115,116,32,99,111,109 + DB 109,97,110,100,0,84,104,105,115,32,102,105,108,101,32,104 + DB 97,115,32,98,101,101,110,32,109,111,100,105,102,105,101,100 + DB 46,32,83,65,86,69,32,73,84,63,32,40,89,47,78,41 + DB 0,68,79,78,69,46,46,46,32,32,32,0,70,105,108,101 + DB 110,97,109,101,58,32,0,70,105,108,101,32,105,115,32,116 + DB 111,111,32,108,97,114,103,101,32,116,111,32,101,100,105,116 + DB 46,0,68,111,101,115,110,39,116,32,101,120,105,115,116,46 + DB 32,67,114,101,97,116,101,63,63,32,40,89,47,78,41,0 + DB 67,58,32,37,48,50,100,32,32,76,58,32,37,48,53,100 + DB 32,32,110,67,104,97,114,115,58,32,37,48,53,100,0,79 + DB 86,82,0,73,78,83,0,69,100,105,116,111,114,0 +PUBLIC _EdRec DB 178 DUP(0) +PUBLIC _pEdit DD 0h +PUBLIC _pBuf1 DD 0h +PUBLIC _pBuf2 DD 0h +PUBLIC _b DB 0h +PUBLIC _b1 DB 0h +PUBLIC _erc DD 0h +PUBLIC _fh DD 0h +PUBLIC _fModified DB 0h +PUBLIC _fOvertype DB 0h +PUBLIC _aStat DB 80 DUP(0) +PUBLIC _aStat1 DB 80 DUP(0) +PUBLIC _aCmd DB 80 DUP(0) +PUBLIC _apParam DD 13 DUP(0) +PUBLIC _acbParam DD 13 DUP(0) +PUBLIC _Filename DB 60 DUP(0) +PUBLIC _cbFilename DD 0h +PUBLIC _filler DB 100 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 _CheckErc: + PUSH EBP + MOV EBP,ESP + SUB ESP,44 + MOV EAX,DWORD PTR [EBP+8] + AND EAX,EAX + JZ L_1 + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + PUSH 40 + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _FillData + CALL FWORD PTR _Beep + MOV EAX,DWORD PTR [EBP+12] + JMP L_3 +L_4: + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + PUSH OFFSET L_lit+0 + PUSH DWORD PTR [EBP+8] + MOV EDI, 4 + CALL _sprintf + ADD ESP,12 + JMP L_2 +L_5: + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + PUSH OFFSET L_lit+31 + PUSH DWORD PTR [EBP+8] + MOV EDI, 4 + CALL _sprintf + ADD ESP,12 + JMP L_2 +L_6: + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + PUSH OFFSET L_lit+63 + PUSH DWORD PTR [EBP+8] + MOV EDI, 4 + CALL _sprintf + ADD ESP,12 + JMP L_2 +L_7: + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + PUSH OFFSET L_lit+96 + PUSH DWORD PTR [EBP+8] + MOV EDI, 4 + CALL _sprintf + ADD ESP,12 + JMP L_2 +L_8: + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + PUSH OFFSET L_lit+129 + PUSH DWORD PTR [EBP+8] + MOV EDI, 4 + CALL _sprintf + ADD ESP,12 + JMP L_2 +L_9: + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + PUSH OFFSET L_lit+163 + PUSH DWORD PTR [EBP+8] + MOV EDI, 4 + CALL _sprintf + ADD ESP,12 + JMP L_2 +L_10: + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + PUSH OFFSET L_lit+196 + PUSH DWORD PTR [EBP+8] + MOV EDI, 4 + CALL _sprintf + ADD ESP,12 + JMP L_2 +L_11: + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + PUSH OFFSET L_lit+226 + PUSH DWORD PTR [EBP+8] + MOV EDI, 4 + CALL _sprintf + ADD ESP,12 + JMP L_2 +L_3: + CMP EAX,7 + JE L_10 + CMP EAX,6 + JE L_9 + CMP EAX,5 + JE L_8 + CMP EAX,4 + JE L_7 + CMP EAX,3 + JE L_6 + CMP EAX,2 + JE L_5 + CMP EAX,1 + JE L_4 + JMP L_11 +L_2: + XOR EAX,EAX + MOV DWORD PTR [EBP-44], EAX +L_12: + MOV EAX,DWORD PTR [EBP-44] + CMP EAX,40 + SETL AL + AND AL,AL + JZ L_13 + JMP SHORT L_14 +L_15: + MOV EAX,DWORD PTR [EBP-44] + INC DWORD PTR [EBP-44] + JMP SHORT L_12 +L_14: + MOV EAX,DWORD PTR [EBP-44] + LEA ESI,BYTE PTR [EBP-40] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + AND EAX,EAX + JNZ L_16 + MOV EAX,DWORD PTR [EBP-44] + LEA ESI,BYTE PTR [EBP-40] + ADD ESI,EAX + MOV EAX,32 + MOV BYTE PTR [ESI], AL +L_16: + JMP L_15 +L_13: + PUSH 40 + PUSH 24 + LEA EAX,DWORD PTR [EBP-40] + PUSH EAX + PUSH 39 + PUSH 48 + CALL FWORD PTR _PutVidChars +L_1: + MOV EAX,DWORD PTR [EBP+8] +L_17: + MOV ESP,EBP + POP EBP + RETN 8 +PUBLIC _ClearStatus: + PUSH EBP + MOV EBP,ESP + SUB ESP,80 + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + PUSH 80 + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _FillData + XOR EAX,EAX + PUSH EAX + PUSH 24 + LEA EAX,DWORD PTR [EBP-80] + PUSH EAX + PUSH 80 + PUSH 7 + CALL FWORD PTR _PutVidChars + MOV ESP,EBP + POP EBP + RETN +PUBLIC _SaveFile: + PUSH EBP + MOV EBP,ESP + SUB ESP,16 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-16], EAX + MOV EAX,_fh + AND EAX,EAX + JZ L_18 + MOVSX EAX,_fModified +L_18: + AND EAX,EAX + JZ L_19 + MOV ESI,_pEdit + XOR EAX,EAX + MOV AL,BYTE PTR [ESI+137] + AND EAX,EAX + JZ L_20 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_21: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+112] + SETBE AL + AND AL,AL + JZ L_22 + JMP SHORT L_23 +L_24: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_21 +L_23: + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-16] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + CMP EAX,7 + SETE AL + AND AL,AL + JZ L_25 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-16] + ADD ESI,EAX + MOV EAX,32 + MOV BYTE PTR [ESI], AL +L_25: + JMP L_24 +L_22: + MOV ESI,_pEdit + XOR EAX,EAX + MOV BYTE PTR [ESI+137], AL +L_20: + MOV EAX,1 + MOV DWORD PTR [EBP-12], EAX + MOVSX EAX,WORD PTR [EBP+12] + AND EAX,EAX + JZ L_26 + CALL _ClearStatus + XOR EAX,EAX + PUSH EAX + PUSH 24 + CALL FWORD PTR _SetXY + PUSH OFFSET L_lit+261 + PUSH 43 + PUSH 48 + CALL FWORD PTR _TTYOut + LEA EAX,DWORD PTR [EBP-8] + PUSH EAX + PUSH 1 + CALL FWORD PTR _ReadKbd + MOV EAX,DWORD PTR [EBP-8] + AND EAX,255 + CMP EAX,78 + SETE AL + AND AL,AL + JNZ L_27 + MOV EAX,DWORD PTR [EBP-8] + AND EAX,255 + CMP EAX,110 + SETE AL + AND AL,AL +L_27: + JZ L_28 + XOR EAX,EAX + MOV DWORD PTR [EBP-12], EAX + CALL _ClearStatus +L_28: +L_26: + MOV EAX,DWORD PTR [EBP-12] + AND EAX,EAX + JZ L_29 + PUSH 6 + PUSH _fh + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _SetFileLFA + PUSH EAX + CALL _CheckErc + MOV _erc, EAX + MOV EAX,_erc + AND EAX,EAX + JNZ L_30 + PUSH 5 + PUSH _fh + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+166] + CALL FWORD PTR _SetFileSize + PUSH EAX + CALL _CheckErc + MOV _erc, EAX +L_30: + MOV EAX,_erc + AND EAX,EAX + JNZ L_31 + PUSH 3 + PUSH _fh + PUSH _pBuf1 + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+166] + LEA EAX,DWORD PTR [EBP-4] + PUSH EAX + CALL FWORD PTR _WriteBytes + PUSH EAX + CALL _CheckErc + MOV _erc, EAX +L_31: + XOR EAX,EAX + MOV _fModified, AL + CALL _ClearStatus + XOR EAX,EAX + PUSH EAX + PUSH 24 + PUSH OFFSET L_lit+305 + PUSH 10 + PUSH 48 + CALL FWORD PTR _PutVidChars + PUSH 150 + CALL FWORD PTR _Sleep + CALL _ClearStatus +L_29: +L_19: + MOV EAX,_fh + AND EAX,EAX + JZ L_32 + MOVSX EAX,WORD PTR [EBP+8] +L_32: + AND EAX,EAX + JZ L_33 + PUSH _fh + CALL FWORD PTR _CloseFile + XOR EAX,EAX + MOV _fh, EAX + XOR EAX,EAX + MOV _cbFilename, EAX + CALL _clearbuf +L_33: + MOV ESP,EBP + POP EBP + RETN 8 +PUBLIC _OpenAFile: + PUSH EBP + MOV EBP,ESP + SUB ESP,12 + XOR EAX,EAX + MOV _erc, EAX + XOR EAX,EAX + MOV _cbFilename, EAX + MOV EAX,DWORD PTR [EBP+8] + AND EAX,EAX + JNZ L_34 + XOR EAX,EAX + PUSH EAX + PUSH 24 + CALL FWORD PTR _SetXY + XOR EAX,EAX + PUSH EAX + PUSH 24 + PUSH OFFSET L_lit+316 + PUSH 10 + PUSH 112 + CALL FWORD PTR _PutVidChars + PUSH 10 + PUSH 24 + CALL FWORD PTR _SetXY + PUSH OFFSET _Filename + XOR EAX,EAX + PUSH EAX + PUSH 60 + PUSH OFFSET _cbFilename + PUSH OFFSET _b1 + PUSH 48 + CALL FWORD PTR _EditLine + XOR EAX,EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _SetXY + JMP L_35 +L_34: + MOV EAX,13 + MOV _b1, AL + PUSH OFFSET _Filename + PUSH DWORD PTR [EBP+8] + PUSH 13 + CALL _strncpy + PUSH OFFSET _Filename + CALL _strlen + MOV _cbFilename, EAX +L_35: + XOR EAX,EAX + MOV AL,_b1 + CMP EAX,13 + SETE AL + AND AL,AL + JZ L_36 + MOV EAX,_cbFilename +L_36: + AND EAX,EAX + JZ L_37 + PUSH OFFSET _Filename + PUSH _cbFilename + PUSH 1 + PUSH 1 + PUSH OFFSET _fh + CALL FWORD PTR _OpenFile + MOV _erc, EAX + MOV EAX,_erc + AND EAX,EAX + JNZ L_38 + PUSH _fh + LEA EAX,DWORD PTR [EBP-4] + PUSH EAX + CALL FWORD PTR _GetFileSize + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,131000 + SETB AL + AND AL,AL + JZ L_39 + PUSH _fh + PUSH _pBuf1 + PUSH DWORD PTR [EBP-4] + LEA EAX,DWORD PTR [EBP-8] + PUSH EAX + CALL FWORD PTR _ReadBytes + MOV _erc, EAX + MOV EAX,_erc + CMP EAX,1 + SETG AL + AND AL,AL + JZ L_40 + PUSH 2 + PUSH _erc + CALL _CheckErc + MOV _erc, EAX + JMP L_41 +L_40: + XOR EAX,EAX + MOV _erc, EAX +L_41: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [ESI+166], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + MOV ESI,_pBuf1 + ADD ESI,EAX + MOV EAX,15 + MOV BYTE PTR [ESI], AL + JMP L_42 +L_39: + PUSH _fh + CALL FWORD PTR _CloseFile + XOR EAX,EAX + MOV _fh, EAX + CALL FWORD PTR _Beep + PUSH 50 + PUSH 24 + CALL FWORD PTR _SetXY + PUSH OFFSET L_lit+327 + PUSH 26 + PUSH 48 + CALL FWORD PTR _TTYOut + LEA EAX,DWORD PTR [EBP-12] + PUSH EAX + PUSH 1 + CALL FWORD PTR _ReadKbd +L_42: + JMP L_43 +L_38: + MOV EAX,_erc + CMP EAX,203 + SETE AL + AND AL,AL + JZ L_44 + CALL FWORD PTR _Beep + PUSH 50 + PUSH 24 + CALL FWORD PTR _SetXY + PUSH OFFSET L_lit+354 + PUSH 29 + PUSH 48 + CALL FWORD PTR _TTYOut + LEA EAX,DWORD PTR [EBP-12] + PUSH EAX + PUSH 1 + CALL FWORD PTR _ReadKbd + MOV EAX,DWORD PTR [EBP-12] + AND EAX,255 + CMP EAX,89 + SETE AL + AND AL,AL + JNZ L_45 + MOV EAX,DWORD PTR [EBP-12] + AND EAX,255 + CMP EAX,121 + SETE AL + AND AL,AL +L_45: + JZ L_46 + PUSH 4 + PUSH OFFSET _Filename + PUSH _cbFilename + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _CreateFile + PUSH EAX + CALL _CheckErc + MOV _erc, EAX + MOV EAX,_erc + AND EAX,EAX + JNZ L_47 + PUSH 1 + PUSH OFFSET _Filename + PUSH _cbFilename + PUSH 1 + PUSH 1 + PUSH OFFSET _fh + CALL FWORD PTR _OpenFile + PUSH EAX + CALL _CheckErc + MOV _erc, EAX +L_47: + MOV EAX,_erc + AND EAX,EAX + JZ L_48 + XOR EAX,EAX + MOV _fh, EAX + XOR EAX,EAX + MOV _cbFilename, EAX +L_48: + JMP L_49 +L_46: + XOR EAX,EAX + MOV _cbFilename, EAX + CALL _ClearStatus +L_49: + JMP L_50 +L_44: + PUSH 1 + PUSH _erc + CALL _CheckErc +L_50: +L_43: +L_37: + MOV EAX,_erc + AND EAX,EAX + JNZ L_51 + CALL _ClearStatus +L_51: + MOV ESP,EBP + POP EBP + RETN 4 +PUBLIC _CountEols: + PUSH EBP + MOV EBP,ESP + SUB ESP,12 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-12], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-8], EAX +L_52: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [ESI+150] + SETB AL + AND AL,AL + JZ L_53 + MOV EAX,DWORD PTR [EBP-8] + INC DWORD PTR [EBP-8] + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + CMP EAX,10 + SETE AL + AND AL,AL + JZ L_54 + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] +L_54: + JMP L_52 +L_53: + MOV EAX,DWORD PTR [EBP-4] + MOV ESP,EBP + POP EBP + RETN +PUBLIC _findEol: + PUSH EBP + MOV EBP,ESP + SUB ESP,12 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-12], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP+8] + ADD EAX,DWORD PTR [ESI+132] + SUB EAX,1 + MOV DWORD PTR [EBP-8], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [ESI+166] + SETA AL + AND AL,AL + JZ L_56 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + MOV DWORD PTR [EBP-8], EAX +L_56: + MOV EAX,DWORD PTR [EBP+8] + MOV DWORD PTR [EBP-4], EAX +L_57: + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + CMP EAX,10 + SETNE AL + AND AL,AL + JZ L_59 + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP-8] + SETB AL + AND AL,AL +L_59: + JZ L_58 + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP L_57 +L_58: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP-8] + SETE AL + AND AL,AL + JZ L_60 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + CMP EAX,10 + SETNE AL + AND AL,AL +L_60: + JZ L_61 + MOV EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [ESI+166] + SETB AL + AND AL,AL + JZ L_62 +L_63: + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + MOV EBX,ESI + MOV ESI,_pEdit + XOR EAX,EAX + MOV AL,BYTE PTR [EBX] + XOR ECX,ECX + MOV CL,BYTE PTR [ESI+136] + CMP EAX,ECX + SETNE AL + AND AL,AL + JZ L_65 + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP+8] + SETA AL + AND AL,AL +L_65: + JZ L_64 + MOV EAX,DWORD PTR [EBP-4] + DEC DWORD PTR [EBP-4] + JMP L_63 +L_64: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP+8] + SETA AL + AND AL,AL + JZ L_66 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + MOV EBX,ESI + MOV ESI,_pEdit + XOR EAX,EAX + MOV AL,BYTE PTR [EBX] + XOR ECX,ECX + MOV CL,BYTE PTR [ESI+136] + CMP EAX,ECX + SETE AL + AND AL,AL + JZ L_67 + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP-8] + SETE AL + AND AL,AL +L_67: +L_66: + JZ L_68 + MOV EAX,DWORD PTR [EBP-4] + SUB EAX,1 + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + MOV EBX,ESI + MOV ESI,_pEdit + XOR EAX,EAX + MOV AL,BYTE PTR [EBX] + XOR ECX,ECX + MOV CL,BYTE PTR [ESI+136] + CMP EAX,ECX + SETE AL + AND AL,AL + JNZ L_69 + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP-8] + SETE AL + AND AL,AL + JZ L_70 + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + MOV EBX,ESI + MOV ESI,_pEdit + XOR EAX,EAX + MOV AL,BYTE PTR [EBX] + XOR ECX,ECX + MOV CL,BYTE PTR [ESI+136] + CMP EAX,ECX + SETE AL + AND AL,AL +L_70: +L_69: + JZ L_71 +L_72: + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + MOV EBX,ESI + MOV ESI,_pEdit + XOR EAX,EAX + MOV AL,BYTE PTR [EBX] + XOR ECX,ECX + MOV CL,BYTE PTR [ESI+136] + CMP EAX,ECX + SETE AL + AND AL,AL + JZ L_74 + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP+8] + SETA AL + AND AL,AL +L_74: + JZ L_73 + MOV EAX,DWORD PTR [EBP-4] + DEC DWORD PTR [EBP-4] + JMP L_72 +L_73: +L_75: + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + MOV EBX,ESI + MOV ESI,_pEdit + XOR EAX,EAX + MOV AL,BYTE PTR [EBX] + XOR ECX,ECX + MOV CL,BYTE PTR [ESI+136] + CMP EAX,ECX + SETNE AL + AND AL,AL + JZ L_77 + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP+8] + SETA AL + AND AL,AL +L_77: + JZ L_76 + MOV EAX,DWORD PTR [EBP-4] + DEC DWORD PTR [EBP-4] + JMP L_75 +L_76: +L_71: +L_68: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP+8] + SETE AL + AND AL,AL + JZ L_78 + MOV EAX,DWORD PTR [EBP+8] + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + XOR ECX,ECX + CMP EAX,ECX + SETA AL + AND AL,AL + JZ L_79 + MOV EAX,DWORD PTR [EBP-8] + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + XOR ECX,ECX + CMP EAX,ECX + SETA AL + AND AL,AL +L_79: +L_78: + JZ L_80 + MOV EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [EBP-4], EAX +L_80: +L_62: +L_61: + MOV EAX,DWORD PTR [EBP-4] + MOV ESP,EBP + POP EBP + RETN 4 +PUBLIC _findPrevLine: + PUSH EBP + MOV EBP,ESP + SUB ESP,12 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-12], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX + MOV EAX,DWORD PTR [EBP+8] + AND EAX,EAX + JZ L_82 + MOV EAX,DWORD PTR [EBP+8] + SUB EAX,1 + MOV DWORD PTR [EBP-4], EAX +L_82: +L_83: + MOV EAX,DWORD PTR [EBP-4] + AND EAX,EAX + JZ L_85 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,10 + SETNE AL + AND AL,AL +L_85: + JZ L_84 + MOV EAX,DWORD PTR [EBP-4] + DEC DWORD PTR [EBP-4] + JMP L_83 +L_84: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,0 + SETA AL + AND AL,AL + JZ L_86 + MOV EAX,DWORD PTR [EBP-4] + DEC DWORD PTR [EBP-4] +L_86: +L_87: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,0 + SETA AL + AND AL,AL + JZ L_89 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,10 + SETNE AL + AND AL,AL +L_89: + JZ L_88 + MOV EAX,DWORD PTR [EBP-4] + DEC DWORD PTR [EBP-4] + JMP L_87 +L_88: + MOV EAX,DWORD PTR [EBP-4] + AND EAX,EAX + JZ L_90 + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] +L_90: +L_91: + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-8], EAX + PUSH DWORD PTR [EBP-8] + CALL _findEol + ADD EAX,1 + MOV DWORD PTR [EBP-4], EAX +L_92: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP+8] + SETB AL + AND AL,AL + JNZ L_91 +L_93: + MOV EAX,DWORD PTR [EBP-8] + MOV ESP,EBP + POP EBP + RETN 4 +PUBLIC _doMark: + PUSH EBP + MOV EBP,ESP + SUB ESP,16 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_95 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+170] + CMP EAX,DWORD PTR [ESI+174] + SETBE AL + AND AL,AL + JZ L_96 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + MOV DWORD PTR [EBP-12], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+174] + MOV DWORD PTR [EBP-16], EAX + JMP L_97 +L_96: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+174] + MOV DWORD PTR [EBP-12], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + MOV DWORD PTR [EBP-16], EAX +L_97: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP+8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-12] + CMP EAX,DWORD PTR [ESI+8] + SETAE AL + AND AL,AL + JZ L_98 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP+8] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-12] + CMP EAX,DWORD PTR [ESI+8] + SETB AL + AND AL,AL +L_98: + JNZ L_99 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP+8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-16] + CMP EAX,DWORD PTR [ESI+8] + SETAE AL + AND AL,AL + JZ L_100 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP+8] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-16] + CMP EAX,DWORD PTR [ESI+8] + SETB AL + AND AL,AL +L_100: + JNZ L_101 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP+8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-12] + CMP EAX,DWORD PTR [ESI+8] + SETB AL + AND AL,AL + JZ L_102 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP+8] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-16] + CMP EAX,DWORD PTR [ESI+8] + SETAE AL + AND AL,AL +L_102: +L_101: +L_99: + JZ L_103 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP+8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-12] + CMP EAX,DWORD PTR [ESI+8] + SETAE AL + AND AL,AL + JZ L_104 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+116] + ADD EAX,DWORD PTR [EBP-12] + MOV EBX,EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP+8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,EBX + SUB EAX,DWORD PTR [ESI+8] + MOV DWORD PTR [EBP-4], EAX + JMP L_105 +L_104: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+116] + MOV DWORD PTR [EBP-4], EAX +L_105: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP+8] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-16] + CMP EAX,DWORD PTR [ESI+8] + SETB AL + AND AL,AL + JZ L_106 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+116] + ADD EAX,DWORD PTR [EBP-16] + MOV EBX,EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP+8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,EBX + SUB EAX,DWORD PTR [ESI+8] + MOV DWORD PTR [EBP-8], EAX + JMP L_107 +L_106: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP+8] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBX+116] + ADD EAX,DWORD PTR [ESI+8] + MOV EBX,EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP+8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,EBX + SUB EAX,DWORD PTR [ESI+8] + SUB EAX,1 + MOV DWORD PTR [EBP-8], EAX +L_107: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+116] + SETA AL + AND AL,AL + JZ L_108 + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+116] + PUSH DWORD PTR [EBP+8] + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SUB EAX,DWORD PTR [ESI+116] + PUSH EAX + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+142] + CALL FWORD PTR _PutVidAttrs +L_108: + PUSH DWORD PTR [EBP-4] + PUSH DWORD PTR [EBP+8] + MOV EAX,DWORD PTR [EBP-8] + SUB EAX,DWORD PTR [EBP-4] + ADD EAX,1 + PUSH EAX + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+138] + CALL FWORD PTR _PutVidAttrs + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [ESI+124] + SETB AL + AND AL,AL + JZ L_109 + MOV EAX,DWORD PTR [EBP-8] + ADD EAX,1 + PUSH EAX + PUSH DWORD PTR [EBP+8] + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+124] + SUB EAX,DWORD PTR [EBP-8] + PUSH EAX + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+142] + CALL FWORD PTR _PutVidAttrs +L_109: + JMP L_110 +L_103: + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+116] + PUSH DWORD PTR [EBP+8] + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+132] + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+142] + CALL FWORD PTR _PutVidAttrs +L_110: +L_95: + MOV ESP,EBP + POP EBP + RETN 4 +PUBLIC _putInBuf: + PUSH EBP + MOV EBP,ESP + SUB ESP,9 + MOV EAX,1 + MOV _fModified, AL + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-9], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+112] + SETB AL + AND AL,AL + JZ L_111 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+166] + CMP EAX,DWORD PTR [ESI+112] + SETB AL + AND AL,AL + JNZ L_112 + MOVSX EAX,BYTE PTR [EBP+12] + AND EAX,EAX + JZ L_113 + MOVSX EAX,BYTE PTR [EBP+8] + AND EAX,EAX + SETZ AL + AND AL,AL +L_113: +L_112: +L_111: + JZ L_114 + MOV EAX,1 + MOV BYTE PTR [EBP-5], AL + MOVSX EAX,BYTE PTR [EBP+12] + AND EAX,EAX + JZ L_115 + MOVSX EAX,BYTE PTR [EBP+8] + AND EAX,EAX + SETZ AL + AND AL,AL +L_115: + JZ L_116 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + MOV ESI,DWORD PTR [EBP-9] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [EBP+16] + MOV BYTE PTR [ESI], AL + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+166] + CMP EAX,DWORD PTR [ESI+162] + SETE AL + AND AL,AL + JZ L_117 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + INC DWORD PTR [ESI+166] +L_117: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + INC DWORD PTR [ESI+162] + JMP L_118 +L_116: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+166] + SUB EAX,DWORD PTR [ESI+162] + ADD EAX,1 + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + MOV ESI,DWORD PTR [EBP-9] + ADD ESI,EAX + PUSH ESI + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+4] + PUSH DWORD PTR [EBP-4] + CALL FWORD PTR _CopyData + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + MOV ESI,DWORD PTR [EBP-9] + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [EBP+16] + MOV BYTE PTR [ESI], AL + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+4] + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + ADD EAX,1 + MOV ESI,DWORD PTR [EBP-9] + ADD ESI,EAX + PUSH ESI + PUSH DWORD PTR [EBP-4] + CALL FWORD PTR _CopyData + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + INC DWORD PTR [ESI+166] + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + INC DWORD PTR [ESI+162] + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_119 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + SUB EAX,1 + MOV EBX,EAX + MOV ESI,_pEdit + MOV EAX,EBX + CMP EAX,DWORD PTR [ESI+170] + SETB AL + AND AL,AL + JZ L_120 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + INC DWORD PTR [ESI+170] +L_120: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + SUB EAX,1 + MOV EBX,EAX + MOV ESI,_pEdit + MOV EAX,EBX + CMP EAX,DWORD PTR [ESI+174] + SETBE AL + AND AL,AL + JZ L_121 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+174] + INC DWORD PTR [ESI+174] +L_121: +L_119: +L_118: + JMP L_122 +L_114: + XOR EAX,EAX + MOV BYTE PTR [EBP-5], AL + CALL FWORD PTR _Beep + MOV EAX,40400 + MOV _erc, EAX +L_122: + MOVSX EAX,BYTE PTR [EBP-5] + MOV ESP,EBP + POP EBP + RETN 12 +PUBLIC _moveData: + PUSH EBP + MOV EBP,ESP + SUB ESP,20 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-16], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+4] + MOV DWORD PTR [EBP-20], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_124 + MOV EAX,1 + MOV _fModified, AL + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+170] + CMP EAX,DWORD PTR [ESI+174] + SETBE AL + AND AL,AL + JZ L_125 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + MOV DWORD PTR [EBP-8], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+174] + MOV DWORD PTR [EBP-12], EAX + JMP L_126 +L_125: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + MOV DWORD PTR [EBP-12], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+174] + MOV DWORD PTR [EBP-8], EAX +L_126: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + CMP EAX,DWORD PTR [EBP-8] + SETB AL + AND AL,AL + JNZ L_127 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + CMP EAX,DWORD PTR [EBP-12] + SETA AL + AND AL,AL +L_127: + JZ L_128 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_129: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+166] + SETBE AL + AND AL,AL + JZ L_130 + JMP SHORT L_131 +L_132: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_129 +L_131: + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-20] + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-4] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP-16] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_132 +L_130: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + CMP EAX,DWORD PTR [EBP-8] + SETB AL + AND AL,AL + JZ L_133 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_134: + MOV EAX,DWORD PTR [EBP-12] + SUB EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [EBP-4] + SETAE AL + AND AL,AL + JZ L_135 + JMP SHORT L_136 +L_137: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_134 +L_136: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + ADD EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-16] + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-8] + ADD EAX,DWORD PTR [EBP-4] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP-20] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_137 +L_135: + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_138: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + SUB EAX,DWORD PTR [ESI+162] + SUB EAX,1 + CMP EAX,DWORD PTR [EBP-4] + SETAE AL + AND AL,AL + JZ L_139 + JMP SHORT L_140 +L_141: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_138 +L_140: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + ADD EAX,DWORD PTR [EBP-12] + SUB EAX,DWORD PTR [EBP-8] + ADD EAX,1 + ADD EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-16] + ADD ESI,EAX + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + ADD EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-20] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_141 +L_139: +L_133: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + CMP EAX,DWORD PTR [EBP-12] + SETA AL + AND AL,AL + JZ L_142 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_143: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + SUB EAX,DWORD PTR [EBP-12] + SUB EAX,1 + JZ L_144 + JMP SHORT L_145 +L_146: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_143 +L_145: + MOV EAX,DWORD PTR [EBP-8] + ADD EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-16] + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-12] + ADD EAX,1 + ADD EAX,DWORD PTR [EBP-4] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP-20] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_146 +L_144: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + SUB EAX,DWORD PTR [EBP-12] + ADD EAX,DWORD PTR [EBP-8] + SUB EAX,1 + MOV DWORD PTR [EBX+162], EAX + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_147: + MOV EAX,DWORD PTR [EBP-12] + SUB EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [EBP-4] + SETAE AL + AND AL,AL + JZ L_148 + JMP SHORT L_149 +L_150: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_147 +L_149: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + ADD EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-16] + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-8] + ADD EAX,DWORD PTR [EBP-4] + MOV EBX,ESI + MOV ESI,DWORD PTR [EBP-20] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + MOV BYTE PTR [EBX], AL + JMP L_150 +L_148: +L_142: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + ADD EAX,DWORD PTR [EBP-12] + SUB EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [EBP-12], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + MOV DWORD PTR [EBP-8], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+174] + CMP EAX,DWORD PTR [ESI+170] + SETA AL + AND AL,AL + JZ L_151 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-12] + MOV DWORD PTR [ESI+174], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [ESI+170], EAX + JMP L_152 +L_151: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-12] + MOV DWORD PTR [ESI+170], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [ESI+174], EAX +L_152: +L_128: + JMP L_153 +L_124: + CALL FWORD PTR _Beep +L_153: + MOV ESP,EBP + POP EBP + RETN +PUBLIC _CopyIt: + PUSH EBP + MOV EBP,ESP + SUB ESP,16 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-12], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+4] + MOV DWORD PTR [EBP-16], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_154 + MOV EAX,1 + MOV _fModified, AL + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+170] + CMP EAX,DWORD PTR [ESI+174] + SETBE AL + AND AL,AL + JZ L_155 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+174] + MOV DWORD PTR [EBP-8], EAX + JMP L_156 +L_155: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + MOV DWORD PTR [EBP-8], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+174] + MOV DWORD PTR [EBP-4], EAX +L_156: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + ADD EAX,DWORD PTR [EBP-8] + SUB EAX,DWORD PTR [EBP-4] + ADD EAX,1 + MOV EBX,EAX + MOV ESI,_pEdit + MOV EAX,EBX + CMP EAX,DWORD PTR [ESI+112] + SETB AL + AND AL,AL + JZ L_157 + PUSH DWORD PTR [EBP-12] + PUSH DWORD PTR [EBP-16] + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + ADD EAX,1 + PUSH EAX + CALL FWORD PTR _CopyData + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-16] + ADD ESI,EAX + PUSH ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + PUSH ESI + MOV EAX,DWORD PTR [EBP-8] + SUB EAX,DWORD PTR [EBP-4] + ADD EAX,1 + PUSH EAX + CALL FWORD PTR _CopyData + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+166] + CMP EAX,DWORD PTR [ESI+162] + SETAE AL + AND AL,AL + JZ L_158 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + MOV ESI,DWORD PTR [EBP-16] + ADD ESI,EAX + PUSH ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + ADD EAX,DWORD PTR [EBP-8] + SUB EAX,DWORD PTR [EBP-4] + ADD EAX,1 + MOV ESI,DWORD PTR [EBP-12] + ADD ESI,EAX + PUSH ESI + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+166] + SUB EAX,DWORD PTR [ESI+162] + ADD EAX,1 + PUSH EAX + CALL FWORD PTR _CopyData +L_158: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + ADD EAX,DWORD PTR [EBP-8] + SUB EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [EBP-8], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + ADD EAX,DWORD PTR [EBP-8] + SUB EAX,DWORD PTR [EBP-4] + ADD EAX,1 + MOV DWORD PTR [EBX+162], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + ADD EAX,DWORD PTR [EBP-8] + SUB EAX,DWORD PTR [EBP-4] + ADD EAX,1 + MOV DWORD PTR [EBX+166], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+174] + CMP EAX,DWORD PTR [ESI+170] + SETA AL + AND AL,AL + JZ L_159 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [ESI+174], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [ESI+170], EAX + JMP L_160 +L_159: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [ESI+170], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [ESI+174], EAX +L_160: +L_157: + JMP L_161 +L_154: + CALL FWORD PTR _Beep +L_161: + MOV ESP,EBP + POP EBP + RETN +PUBLIC _normAttr: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBP-4], EAX +L_162: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+128] + SETBE AL + AND AL,AL + JZ L_163 + JMP SHORT L_164 +L_165: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_162 +L_164: + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+116] + PUSH DWORD PTR [EBP-4] + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+132] + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+142] + CALL FWORD PTR _PutVidAttrs + JMP L_165 +L_163: + MOV ESP,EBP + POP EBP + RETN +PUBLIC _nullMarkBound: + PUSH EBP + MOV EBP,ESP + MOV ESI,_pEdit + MOV EAX,99999 + MOV DWORD PTR [ESI+170], EAX + MOV ESI,_pEdit + MOV EAX,99999 + MOV DWORD PTR [ESI+174], EAX + CALL _normAttr + POP EBP + RETN +PUBLIC _deleteData: + PUSH EBP + MOV EBP,ESP + SUB ESP,21 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-17], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+4] + MOV DWORD PTR [EBP-21], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_166 + MOV EAX,1 + MOV _fModified, AL + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+170] + CMP EAX,DWORD PTR [ESI+174] + SETBE AL + AND AL,AL + JZ L_167 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + MOV DWORD PTR [EBP-8], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+174] + MOV DWORD PTR [EBP-12], EAX + JMP L_168 +L_167: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + MOV DWORD PTR [EBP-12], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+174] + MOV DWORD PTR [EBP-8], EAX +L_168: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+150] + CMP EAX,DWORD PTR [EBP-8] + SETAE AL + AND AL,AL + JZ L_169 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+150] + CMP EAX,DWORD PTR [EBP-12] + SETBE AL + AND AL,AL +L_169: + JZ L_170 + MOV EAX,1 + MOV BYTE PTR [EBP-13], AL + JMP L_171 +L_170: + XOR EAX,EAX + MOV BYTE PTR [EBP-13], AL +L_171: + MOV EAX,DWORD PTR [EBP-12] + ADD EAX,1 + MOV ESI,DWORD PTR [EBP-17] + ADD ESI,EAX + PUSH ESI + MOV EAX,DWORD PTR [EBP-8] + MOV ESI,DWORD PTR [EBP-17] + ADD ESI,EAX + PUSH ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + SUB EAX,DWORD PTR [EBP-12] + PUSH EAX + CALL FWORD PTR _CopyData + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + SUB EAX,DWORD PTR [EBP-12] + ADD EAX,DWORD PTR [EBP-8] + SUB EAX,1 + MOV DWORD PTR [EBX+166], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + CMP EAX,DWORD PTR [EBP-12] + SETA AL + AND AL,AL + JZ L_172 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + SUB EAX,DWORD PTR [EBP-12] + ADD EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [EBX+162], EAX + JMP L_173 +L_172: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + CMP EAX,DWORD PTR [EBP-8] + SETA AL + AND AL,AL + JZ L_174 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + CMP EAX,DWORD PTR [EBP-12] + SETBE AL + AND AL,AL +L_174: + JZ L_175 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [ESI+162], EAX +L_175: +L_173: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+166] + SETA AL + AND AL,AL + JZ L_176 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + MOV DWORD PTR [EBX+162], EAX +L_176: + MOVSX EAX,BYTE PTR [EBP-13] + AND EAX,EAX + JZ L_177 + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+162] + CALL _findPrevLine + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [ESI+150], EAX +L_177: + CALL _nullMarkBound +L_166: + MOV ESP,EBP + POP EBP + RETN +PUBLIC _findCursor: + PUSH EBP + MOV EBP,ESP + SUB ESP,8 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBP-4], EAX +L_178: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+128] + SETBE AL + AND AL,AL + JZ L_180 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+8] + SETAE AL + AND AL,AL +L_180: + JZ L_179 + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP L_178 +L_179: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SUB EAX,1 + MOV DWORD PTR [ESI+158], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+158] + CMP EAX,DWORD PTR [ESI+120] + SETB AL + AND AL,AL + JZ L_181 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBX+158], EAX +L_181: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + MOV DWORD PTR [EBP-8], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_182 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+8] + SETAE AL + AND AL,AL +L_182: + JZ L_183 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + ADD EAX,1 + MOV DWORD PTR [EBX+158], EAX +L_183: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + MOV DWORD PTR [EBP-8], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + PUSH EBX + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBX+162] + SUB EAX,DWORD PTR [ESI+8] + MOV EBX,EAX + MOV ESI,_pEdit + MOV EAX,EBX + ADD EAX,DWORD PTR [ESI+116] + POP EDX + MOV DWORD PTR [EDX+154], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+128] + ADD EAX,1 + CMP EAX,DWORD PTR [EBX+158] + SETB AL + AND AL,AL + JZ L_184 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+128] + MOV DWORD PTR [EBX+158], EAX +L_184: + MOV ESP,EBP + POP EBP + RETN +PUBLIC _coordCursor_oBuf: + PUSH EBP + MOV EBP,ESP + SUB ESP,8 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+128] + ADD EAX,1 + MOV DWORD PTR [EBP-8], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+150] + SETAE AL + AND AL,AL + JZ L_185 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+8] + SETB AL + AND AL,AL +L_185: + JZ L_186 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + MOV DWORD PTR [EBP-8], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + CMP EAX,99999 + SETE AL + AND AL,AL + JZ L_187 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+124] + MOV DWORD PTR [EBX+154], EAX +L_187: +L_188: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + CMP EAX,99999 + SETE AL + AND AL,AL + JZ L_190 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [ESI+120] + SETA AL + AND AL,AL +L_190: + JZ L_189 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + DEC DWORD PTR [ESI+158] + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + MOV DWORD PTR [EBP-8], EAX + JMP L_188 +L_189: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + MOV DWORD PTR [EBP-8], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,2 + ADD ESI,EAX + PUSH EBX + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+8] + ADD EAX,DWORD PTR [ESI+154] + MOV EBX,EAX + MOV ESI,_pEdit + MOV EAX,EBX + SUB EAX,DWORD PTR [ESI+116] + POP EDX + MOV DWORD PTR [EDX+162], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+166] + SETA AL + AND AL,AL + JZ L_191 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + MOV DWORD PTR [EBX+162], EAX +L_191: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + CMP EAX,DWORD PTR [EBP-4] + SETA AL + AND AL,AL + JZ L_192 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [ESI+162], EAX +L_192: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + CMP EAX,DWORD PTR [EBP-4] + SETE AL + AND AL,AL + JZ L_193 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SUB EAX,1 + ADD ESI,EAX + XOR EAX,EAX + MOV AL,BYTE PTR [ESI] + CMP EAX,10 + SETE AL + AND AL,AL + JZ L_194 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + DEC DWORD PTR [ESI+162] +L_194: +L_193: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + PUSH EBX + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+162] + ADD EAX,DWORD PTR [ESI+116] + MOV EBX,EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,EBX + SUB EAX,DWORD PTR [ESI+8] + POP EDX + MOV DWORD PTR [EDX+154], EAX +L_186: + MOV ESP,EBP + POP EBP + RETN +PUBLIC _makeOnScreen: + PUSH EBP + MOV EBP,ESP + SUB ESP,12 +L_195: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+150] + SETB AL + AND AL,AL + JZ L_196 + MOV ESI,_pEdit + MOV EBX,ESI + PUSH EBX + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+150] + CALL _findPrevLine + POP EDX + MOV DWORD PTR [EDX+150], EAX + JMP L_195 +L_196: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBP-12], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-12] + SHL EAX,2 + ADD ESI,EAX + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+150] + MOV DWORD PTR [EBX+8], EAX + MOV EAX,DWORD PTR [EBP-12] + MOV DWORD PTR [EBP-4], EAX +L_197: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+128] + SETBE AL + AND AL,AL + JZ L_198 + JMP SHORT L_199 +L_200: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_197 +L_199: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_201 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + ADD ESI,EAX + PUSH DWORD PTR [ESI+8] + CALL _findEol + MOV DWORD PTR [EBP-8], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [ESI+166] + SETB AL + AND AL,AL + JZ L_202 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-8] + ADD EAX,1 + MOV DWORD PTR [ESI+8], EAX + JMP L_203 +L_202: + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + MOV DWORD PTR [EBP-8], EAX +L_204: + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,26 + SETB AL + AND AL,AL + JZ L_205 + JMP SHORT L_206 +L_207: + MOV EAX,DWORD PTR [EBP-8] + INC DWORD PTR [EBP-8] + JMP SHORT L_204 +L_206: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,99999 + MOV DWORD PTR [ESI+8], EAX + JMP L_207 +L_205: +L_203: +L_201: + JMP L_200 +L_198: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBP-8], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+128] + MOV DWORD PTR [EBP-12], EAX +L_208: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-12] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+8] + SETAE AL + AND AL,AL + JZ L_209 + MOV EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [EBP-4], EAX +L_210: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP-12] + SETBE AL + AND AL,AL + JZ L_211 + JMP SHORT L_212 +L_213: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_210 +L_212: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + ADD ESI,EAX + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV DWORD PTR [EBX+8], EAX + JMP L_213 +L_211: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV DWORD PTR [EBX+150], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-12] + SHL EAX,2 + ADD ESI,EAX + PUSH DWORD PTR [ESI+8] + CALL _findEol + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+166] + SETB AL + AND AL,AL + JZ L_214 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-12] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + MOV DWORD PTR [ESI+8], EAX + JMP L_215 +L_214: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-12] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,99999 + MOV DWORD PTR [ESI+8], EAX +L_215: + JMP L_208 +L_209: + MOV ESP,EBP + POP EBP + RETN +PUBLIC _showScreen: + PUSH EBP + MOV EBP,ESP + SUB ESP,20 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-20], EAX + CALL _makeOnScreen + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBP-8], EAX +L_216: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,DWORD PTR [ESI+128] + SETBE AL + AND AL,AL + JZ L_217 + JMP SHORT L_218 +L_219: + MOV EAX,DWORD PTR [EBP-8] + INC DWORD PTR [EBP-8] + JMP SHORT L_216 +L_218: + XOR EAX,EAX + MOV DWORD PTR [EBP-12], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV DWORD PTR [EBP-16], EAX + MOV EAX,DWORD PTR [EBP-16] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_220 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_221 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + SUB EAX,1 + MOV DWORD PTR [EBP-4], EAX + JMP L_222 +L_221: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + MOV DWORD PTR [EBP-4], EAX +L_222: + MOV EAX,DWORD PTR [EBP-4] + SUB EAX,DWORD PTR [EBP-16] + ADD EAX,1 + MOV DWORD PTR [EBP-12], EAX + MOV ESI,_pEdit + XOR EAX,EAX + MOV AL,BYTE PTR [ESI+137] + AND EAX,EAX + SETZ AL + AND AL,AL + JZ L_223 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-20] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,10 + SETE AL + AND AL,AL + JZ L_224 + MOV EAX,DWORD PTR [EBP-12] +L_224: +L_223: + AND EAX,EAX + JZ L_225 + MOV EAX,DWORD PTR [EBP-12] + DEC DWORD PTR [EBP-12] +L_225: +L_220: + MOV EAX,DWORD PTR [EBP-12] + AND EAX,EAX + JZ L_226 + MOV EAX,DWORD PTR [EBP-16] + CMP EAX,99999 + SETB AL + AND AL,AL +L_226: + JZ L_227 + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+116] + PUSH DWORD PTR [EBP-8] + MOV EAX,DWORD PTR [EBP-20] + ADD EAX,DWORD PTR [EBP-16] + PUSH EAX + PUSH DWORD PTR [EBP-12] + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+142] + CALL FWORD PTR _PutVidChars +L_227: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-12] + CMP EAX,DWORD PTR [ESI+132] + SETB AL + AND AL,AL + JZ L_228 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+116] + ADD EAX,DWORD PTR [EBP-12] + PUSH EAX + PUSH DWORD PTR [EBP-8] + PUSH DWORD PTR [EBP+8] + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+132] + SUB EAX,DWORD PTR [EBP-12] + PUSH EAX + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+142] + CALL FWORD PTR _PutVidChars +L_228: + PUSH DWORD PTR [EBP-8] + CALL _doMark + JMP L_219 +L_217: + MOV ESP,EBP + POP EBP + RETN 4 +PUBLIC _clearbuf: + PUSH EBP + MOV EBP,ESP + SUB ESP,8 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-8], EAX + PUSH OFFSET _filler + PUSH 80 + PUSH 32 + CALL FWORD PTR _FillData + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_229: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,26 + SETB AL + AND AL,AL + JZ L_230 + JMP SHORT L_231 +L_232: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_229 +L_231: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,99999 + MOV DWORD PTR [ESI+8], EAX + JMP L_232 +L_230: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + ADD ESI,EAX + XOR EAX,EAX + MOV DWORD PTR [ESI+8], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+116] + MOV DWORD PTR [EBX+154], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBX+158], EAX + MOV ESI,_pEdit + MOV EAX,32 + MOV BYTE PTR [ESI+136], AL + MOV ESI,_pEdit + XOR EAX,EAX + MOV BYTE PTR [ESI+137], AL + XOR EAX,EAX + MOV _fModified, AL + XOR EAX,EAX + MOV _fOvertype, AL + MOV ESI,_pEdit + XOR EAX,EAX + MOV DWORD PTR [ESI+166], EAX + MOV ESI,_pEdit + XOR EAX,EAX + MOV DWORD PTR [ESI+162], EAX + MOV ESI,_pEdit + XOR EAX,EAX + MOV DWORD PTR [ESI+150], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + MOV ESI,DWORD PTR [EBP-8] + ADD ESI,EAX + MOV EAX,15 + MOV BYTE PTR [ESI], AL + CALL _nullMarkBound + CALL _normAttr + MOV ESP,EBP + POP EBP + RETN +PUBLIC _Editor: + PUSH EBP + MOV EBP,ESP + SUB ESP,42 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI] + MOV DWORD PTR [EBP-24], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+4] + MOV DWORD PTR [EBP-28], EAX + XOR EAX,EAX + MOV BYTE PTR [EBP-19], AL + MOV ESI,_pEdit + XOR EAX,EAX + MOV AL,BYTE PTR [ESI+137] + AND EAX,EAX + JZ L_233 + MOV ESI,_pEdit + MOV EAX,7 + MOV BYTE PTR [ESI+136], AL + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_234: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+166] + SETBE AL + AND AL,AL + JZ L_235 + JMP SHORT L_236 +L_237: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_234 +L_236: + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,32 + SETE AL + AND AL,AL + JZ L_238 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + MOV EBX,ESI + MOV ESI,_pEdit + XOR EAX,EAX + MOV AL,BYTE PTR [ESI+136] + MOV BYTE PTR [EBX], AL +L_238: + JMP L_237 +L_235: + JMP L_239 +L_233: + MOV ESI,_pEdit + MOV EAX,32 + MOV BYTE PTR [ESI+136], AL +L_239: + CALL _normAttr + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + MOV EAX,15 + MOV BYTE PTR [ESI], AL + LEA EAX,DWORD PTR [EBP-32] + PUSH EAX + CALL FWORD PTR _AllocExch + MOV _erc, EAX +L_240: + MOVSX EAX,BYTE PTR [EBP-19] + AND EAX,EAX + JNZ L_241 + MOVSX EAX,BYTE PTR [EBP-18] + AND EAX,EAX + JZ L_242 + PUSH OFFSET _filler + CALL _showScreen + CALL _findCursor + XOR EAX,EAX + MOV BYTE PTR [EBP-18], AL +L_242: + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+154] + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+158] + CALL FWORD PTR _SetXY + PUSH OFFSET _aStat + PUSH 80 + PUSH 32 + CALL FWORD PTR _FillData + CALL _CountEols + MOV EBX,EAX + MOV ESI,_pEdit + MOV EAX,EBX + ADD EAX,DWORD PTR [ESI+158] + MOV DWORD PTR [EBP-4], EAX + PUSH OFFSET _aStat + PUSH OFFSET L_lit+384 + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+154] + PUSH DWORD PTR [EBP-4] + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+166] + MOV EDI, 12 + CALL _sprintf + ADD ESP,20 + MOV EAX,_cbFilename + AND EAX,EAX + JZ L_243 + PUSH OFFSET _Filename + MOV EAX,40 + MOV ESI,OFFSET _aStat + ADD ESI,EAX + PUSH ESI + PUSH _cbFilename + CALL FWORD PTR _CopyData +L_243: + MOVSX EAX,_fOvertype + AND EAX,EAX + JZ L_244 + PUSH OFFSET L_lit+415 + MOV EAX,77 + MOV ESI,OFFSET _aStat + ADD ESI,EAX + PUSH ESI + PUSH 3 + CALL FWORD PTR _CopyData + JMP L_245 +L_244: + PUSH OFFSET L_lit+419 + MOV EAX,77 + MOV ESI,OFFSET _aStat + ADD ESI,EAX + PUSH ESI + PUSH 3 + CALL FWORD PTR _CopyData +L_245: + XOR EAX,EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + PUSH OFFSET _aStat + PUSH 80 + PUSH 48 + CALL FWORD PTR _PutVidChars + XOR EAX,EAX + MOV BYTE PTR [EBP-17], AL + PUSH 7 + LEA EAX,DWORD PTR [EBP-16] + PUSH EAX + PUSH 1 + CALL FWORD PTR _ReadKbd + PUSH EAX + CALL _CheckErc + MOV EAX,DWORD PTR [EBP-16] + AND EAX,255 + MOV BYTE PTR [EBP-20], AL + MOV EAX,DWORD PTR [EBP-16] + AND EAX,12288 + JZ L_246 + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-20] + JMP L_248 +L_249: +L_250: + MOV ESI,_pEdit + XOR EAX,EAX + MOV DWORD PTR [ESI+150], EAX + MOV ESI,_pEdit + XOR EAX,EAX + MOV DWORD PTR [ESI+162], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+116] + MOV DWORD PTR [EBX+154], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBX+158], EAX + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL + JMP L_247 +L_251: +L_252: + PUSH 1 + PUSH 1 + CALL _SaveFile + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL + JMP L_247 +L_253: +L_254: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + MOV DWORD PTR [EBX+162], EAX + CALL _coordCursor_oBuf + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL + JMP L_247 +L_255: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBX+158], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+116] + MOV DWORD PTR [EBX+154], EAX + JMP L_247 +L_256: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBX+158], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + MOV DWORD PTR [EBP-4], EAX +L_257: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_259 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+128] + SETB AL + AND AL,AL +L_259: + JZ L_258 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + INC DWORD PTR [ESI+158] + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + MOV DWORD PTR [EBP-4], EAX + JMP L_257 +L_258: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+124] + MOV DWORD PTR [EBX+154], EAX + CALL _coordCursor_oBuf + JMP L_247 +L_260: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+116] + MOV DWORD PTR [EBX+154], EAX + JMP L_247 +L_261: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_262 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + PUSH EBX + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBX+116] + ADD EAX,DWORD PTR [ESI+8] + MOV EBX,EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,EBX + SUB EAX,DWORD PTR [ESI+8] + POP EDX + MOV DWORD PTR [EDX+154], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + ADD EAX,1 + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + SUB EAX,1 + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,10 + SETE AL + AND AL,AL + JZ L_263 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+154] + CMP EAX,DWORD PTR [ESI+116] + SETA AL + AND AL,AL +L_263: + JZ L_264 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+154] + DEC DWORD PTR [ESI+154] +L_264: + JMP L_265 +L_262: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + PUSH EBX + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+116] + ADD EAX,DWORD PTR [ESI+166] + MOV EBX,EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,EBX + SUB EAX,DWORD PTR [ESI+8] + POP EDX + MOV DWORD PTR [EDX+154], EAX +L_265: + JMP L_247 +L_266: +L_267: + MOV ESI,_pEdit + XOR EAX,EAX + MOV AL,BYTE PTR [ESI+137] + AND EAX,EAX + JZ L_268 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_269: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+166] + SETBE AL + AND AL,AL + JZ L_270 + JMP SHORT L_271 +L_272: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_269 +L_271: + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,7 + SETE AL + AND AL,AL + JZ L_273 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + MOV EAX,32 + MOV BYTE PTR [ESI], AL +L_273: + JMP L_272 +L_270: + MOV ESI,_pEdit + XOR EAX,EAX + MOV BYTE PTR [ESI+137], AL + MOV ESI,_pEdit + MOV EAX,32 + MOV BYTE PTR [ESI+136], AL + JMP L_274 +L_268: + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_275: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+166] + SETBE AL + AND AL,AL + JZ L_276 + JMP SHORT L_277 +L_278: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_275 +L_277: + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,32 + SETE AL + AND AL,AL + JZ L_279 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + MOV EAX,7 + MOV BYTE PTR [ESI], AL +L_279: + JMP L_278 +L_276: + MOV ESI,_pEdit + MOV EAX,1 + MOV BYTE PTR [ESI+137], AL + MOV ESI,_pEdit + MOV EAX,7 + MOV BYTE PTR [ESI+136], AL +L_274: + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL + JMP L_247 +L_280: +L_281: + MOV EAX,_fh + AND EAX,EAX + JNZ L_282 + CALL _clearbuf + XOR EAX,EAX + PUSH EAX + CALL _OpenAFile + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL +L_282: + JMP L_247 +L_283: +L_284: + PUSH 1 + PUSH 1 + CALL _SaveFile + MOV EAX,1 + MOV BYTE PTR [EBP-19], AL + JMP L_247 +L_285: +L_286: + XOR EAX,EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + CALL _SaveFile + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL + JMP L_247 +L_287: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_288 + CALL _deleteData + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL +L_288: + JMP L_247 +L_289: + JMP L_247 +L_248: + CMP EAX,127 + JE L_287 + CMP EAX,115 + JE L_286 + CMP EAX,83 + JE L_285 + CMP EAX,113 + JE L_284 + CMP EAX,81 + JE L_283 + CMP EAX,111 + JE L_281 + CMP EAX,79 + JE L_280 + CMP EAX,118 + JE L_267 + CMP EAX,86 + JE L_266 + CMP EAX,4 + JE L_261 + CMP EAX,3 + JE L_260 + CMP EAX,2 + JE L_256 + CMP EAX,1 + JE L_255 + CMP EAX,101 + JE L_254 + CMP EAX,69 + JE L_253 + CMP EAX,99 + JE L_252 + CMP EAX,67 + JE L_251 + CMP EAX,98 + JE L_250 + CMP EAX,66 + JE L_249 + JMP L_289 +L_247: + JMP L_290 +L_246: + MOV EAX,DWORD PTR [EBP-16] + AND EAX,768 + JZ L_291 + JMP L_292 +L_291: + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-20] + CMP EAX,32 + SETAE AL + AND AL,AL + JZ L_293 + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-20] + CMP EAX,126 + SETBE AL + AND AL,AL +L_293: + JNZ L_294 + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-20] + CMP EAX,13 + SETE AL + AND AL,AL +L_294: + JZ L_295 + CALL _coordCursor_oBuf + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-20] + CMP EAX,32 + SETE AL + AND AL,AL + JZ L_296 + MOV ESI,_pEdit + XOR EAX,EAX + MOV AL,BYTE PTR [ESI+136] + MOV BYTE PTR [EBP-20], AL +L_296: + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-20] + CMP EAX,13 + SETE AL + AND AL,AL + JZ L_297 + MOV EAX,10 + MOV BYTE PTR [EBP-20], AL +L_297: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,10 + SETE AL + AND AL,AL + JZ L_298 + MOV EAX,1 + MOV BYTE PTR [EBP-17], AL +L_298: + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-20] + PUSH EAX + MOVSX EAX,_fOvertype + PUSH EAX + MOVSX EAX,BYTE PTR [EBP-17] + PUSH EAX + CALL _putInBuf + AND EAX,EAX + JNZ L_299 + CALL FWORD PTR _Beep +L_299: + CALL _findCursor + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL + JMP L_300 +L_295: + MOV EAX,DWORD PTR [EBP-16] + AND EAX,3072 + JZ L_301 + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-20] + JMP L_303 +L_304: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+116] + ADD EAX,5 + CMP EAX,DWORD PTR [EBX+154] + SETB AL + AND AL,AL + JZ L_305 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+154] + SUB EAX,5 + MOV DWORD PTR [ESI+154], EAX + JMP L_306 +L_305: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+154] + CMP EAX,DWORD PTR [ESI+116] + SETA AL + AND AL,AL + JZ L_307 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+154] + DEC DWORD PTR [ESI+154] +L_307: +L_306: + JMP L_302 +L_308: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+124] + SUB EAX,5 + CMP EAX,DWORD PTR [EBX+154] + SETA AL + AND AL,AL + JZ L_309 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+154] + ADD EAX,5 + MOV DWORD PTR [ESI+154], EAX + JMP L_310 +L_309: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+154] + CMP EAX,DWORD PTR [ESI+124] + SETB AL + AND AL,AL + JZ L_311 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+154] + INC DWORD PTR [ESI+154] +L_311: +L_310: + JMP L_302 +L_312: + JMP L_302 +L_303: + CMP EAX,4 + JE L_308 + CMP EAX,3 + JE L_304 + JMP L_312 +L_302: + JMP L_313 +L_301: + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-20] + JMP L_315 +L_316: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + AND EAX,EAX + JZ L_317 + CALL _coordCursor_oBuf + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + AND EAX,EAX + JZ L_318 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + SUB EAX,1 + MOV DWORD PTR [EBX+162], EAX + MOVSX EAX,_fOvertype + AND EAX,EAX + JNZ L_319 + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-28] + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + ADD EAX,1 + PUSH EAX + CALL FWORD PTR _CopyData + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + ADD EAX,1 + MOV ESI,DWORD PTR [EBP-28] + ADD ESI,EAX + PUSH ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + PUSH ESI + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+166] + SUB EAX,DWORD PTR [ESI+162] + PUSH EAX + CALL FWORD PTR _CopyData + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + SUB EAX,1 + MOV DWORD PTR [EBX+166], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+170] + CMP EAX,DWORD PTR [ESI+174] + SETE AL + AND AL,AL + JZ L_320 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+170] + CMP EAX,DWORD PTR [ESI+162] + SETE AL + AND AL,AL +L_320: + JZ L_321 + CALL _nullMarkBound +L_321: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_322 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+170] + SETBE AL + AND AL,AL + JZ L_323 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + DEC DWORD PTR [ESI+170] +L_323: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+174] + SETBE AL + AND AL,AL + JZ L_324 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+174] + DEC DWORD PTR [ESI+174] +L_324: +L_322: +L_319: +L_318: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+150] + SETB AL + AND AL,AL + JZ L_325 + MOV ESI,_pEdit + MOV EBX,ESI + PUSH EBX + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+150] + CALL _findPrevLine + POP EDX + MOV DWORD PTR [EDX+150], EAX +L_325: + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL + MOV EAX,1 + MOV _fModified, AL +L_317: + JMP L_314 +L_326: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+116] + MOV DWORD PTR [EBX+154], EAX + JMP L_314 +L_327: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+166] + ADD EAX,DWORD PTR [ESI+146] + MOV EBX,EAX + MOV ESI,_pEdit + MOV EAX,EBX + CMP EAX,DWORD PTR [ESI+112] + SETB AL + AND AL,AL + JZ L_328 + CALL _coordCursor_oBuf + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + PUSH EBX + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+154] + MOV ECX,DWORD PTR [ESI+146] + XOR EDX,EDX + DIV ECX + MOV ECX,EDX + POP EDX + MOV EAX,DWORD PTR [EDX+146] + SUB EAX,ECX + MOV DWORD PTR [EBP-8], EAX + MOV EAX,1 + MOV DWORD PTR [EBP-4], EAX +L_329: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [EBP-8] + SETBE AL + AND AL,AL + JZ L_330 + JMP SHORT L_331 +L_332: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_329 +L_331: + MOV ESI,_pEdit + XOR EAX,EAX + MOV AL,BYTE PTR [ESI+136] + PUSH EAX + XOR EAX,EAX + PUSH EAX + XOR EAX,EAX + PUSH EAX + CALL _putInBuf + JMP L_332 +L_330: + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL +L_328: + JMP L_314 +L_333: + CALL _nullMarkBound + JMP L_314 +L_334: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + CMP EAX,0 + SETA AL + AND AL,AL + JZ L_335 + CALL _coordCursor_oBuf + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + MOV DWORD PTR [EBX+170], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBX+170] + CMP EAX,DWORD PTR [ESI+8] + SETAE AL + AND AL,AL + JZ L_336 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + SUB EAX,1 + MOV DWORD PTR [EBX+170], EAX +L_336: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+170] + CMP EAX,DWORD PTR [ESI+166] + SETE AL + AND AL,AL + JZ L_337 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + SUB EAX,1 + MOV DWORD PTR [EBX+170], EAX +L_337: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + MOV DWORD PTR [EBX+174], EAX + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL +L_335: + JMP L_314 +L_338: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_339 + CALL _coordCursor_oBuf + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + MOV DWORD PTR [EBX+174], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBX+174] + CMP EAX,DWORD PTR [ESI+8] + SETAE AL + AND AL,AL + JZ L_340 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+174] + DEC DWORD PTR [ESI+174] +L_340: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+174] + CMP EAX,DWORD PTR [ESI+166] + SETE AL + AND AL,AL + JZ L_341 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + SUB EAX,1 + MOV DWORD PTR [EBX+174], EAX +L_341: + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL +L_339: + JMP L_314 +L_342: + CALL _coordCursor_oBuf + CALL _moveData + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+150] + SETB AL + AND AL,AL + JZ L_343 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + MOV DWORD PTR [EBX+150], EAX +L_343: + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL + JMP L_314 +L_344: + CALL _coordCursor_oBuf + CALL _CopyIt + CALL _coordCursor_oBuf + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL + JMP L_314 +L_345: + CALL _coordCursor_oBuf + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+128] + MOV DWORD PTR [EBP-4], EAX +L_346: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + CMP EAX,99999 + SETE AL + AND AL,AL + JZ L_348 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+120] + SETA AL + AND AL,AL +L_348: + JZ L_347 + MOV EAX,DWORD PTR [EBP-4] + DEC DWORD PTR [EBP-4] + JMP L_346 +L_347: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV DWORD PTR [EBX+150], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+150] + SETB AL + AND AL,AL + JZ L_349 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+150] + MOV DWORD PTR [EBX+162], EAX +L_349: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBX+158], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+116] + MOV DWORD PTR [EBX+154], EAX + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL + JMP L_314 +L_350: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+150] + AND EAX,EAX + JZ L_351 + CALL _coordCursor_oBuf + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+128] + SUB EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBP-8], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+150] + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + MOV DWORD PTR [EBP-12], EAX +L_352: + PUSH DWORD PTR [EBP-4] + CALL _findPrevLine + MOV DWORD PTR [EBP-4], EAX + MOV EAX,DWORD PTR [EBP-8] + DEC DWORD PTR [EBP-8] + MOV EAX,DWORD PTR [EBP-12] + DEC DWORD PTR [EBP-12] +L_353: + MOV EAX,DWORD PTR [EBP-8] + CMP EAX,0 + SETA AL + AND AL,AL + JZ L_355 + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,0 + SETA AL + AND AL,AL +L_355: + JNZ L_352 +L_354: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [ESI+150], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+158] + CMP EAX,DWORD PTR [ESI+128] + SETE AL + AND AL,AL + JZ L_356 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-12] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV DWORD PTR [EBX+162], EAX +L_356: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+128] + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+8] + SETAE AL + AND AL,AL + JZ L_357 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV DWORD PTR [EBX+162], EAX +L_357: + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL +L_351: + JMP L_314 +L_358: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+158] + CMP EAX,DWORD PTR [ESI+120] + SETA AL + AND AL,AL + JZ L_359 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + DEC DWORD PTR [ESI+158] + JMP L_360 +L_359: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+150] + MOV DWORD PTR [EBP-4], EAX + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,0 + SETA AL + AND AL,AL + JZ L_361 + PUSH DWORD PTR [EBP-4] + CALL _findPrevLine + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [ESI+150], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [ESI+162], EAX + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL +L_361: +L_360: + JMP L_314 +L_362: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_363 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+128] + SETB AL + AND AL,AL +L_363: + JZ L_364 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + INC DWORD PTR [ESI+158] + JMP L_365 +L_364: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+128] + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_366 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + ADD EAX,1 + SHL EAX,2 + ADD ESI,EAX + MOV EAX,DWORD PTR [ESI+8] + MOV DWORD PTR [EBX+162], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+154] + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+158] + MOV DWORD PTR [EBP-8], EAX + CALL _coordCursor_oBuf + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + MOV DWORD PTR [ESI+154], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-8] + MOV DWORD PTR [ESI+158], EAX + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL +L_366: +L_365: + JMP L_314 +L_367: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+154] + CMP EAX,DWORD PTR [ESI+116] + SETA AL + AND AL,AL + JZ L_368 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+154] + DEC DWORD PTR [ESI+154] +L_368: + JMP L_314 +L_369: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+154] + CMP EAX,DWORD PTR [ESI+124] + SETB AL + AND AL,AL + JZ L_370 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+154] + INC DWORD PTR [ESI+154] +L_370: + JMP L_314 +L_371: + MOVSX EAX,_fOvertype + AND EAX,EAX + JZ L_372 + XOR EAX,EAX + MOV _fOvertype, AL + JMP L_373 +L_372: + MOV EAX,1 + MOV _fOvertype, AL +L_373: + JMP L_314 +L_374: + CALL _coordCursor_oBuf + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + AND EAX,EAX + JZ L_375 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+166] + CMP EAX,DWORD PTR [ESI+162] + SETA AL + AND AL,AL +L_375: + JZ L_376 + PUSH DWORD PTR [EBP-24] + PUSH DWORD PTR [EBP-28] + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + ADD EAX,1 + PUSH EAX + CALL FWORD PTR _CopyData + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + ADD EAX,1 + MOV ESI,DWORD PTR [EBP-28] + ADD ESI,EAX + PUSH ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+162] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + PUSH ESI + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+166] + SUB EAX,DWORD PTR [ESI+162] + PUSH EAX + CALL FWORD PTR _CopyData + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + DEC DWORD PTR [ESI+166] + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+170] + SETE AL + AND AL,AL + JZ L_377 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+170] + CMP EAX,DWORD PTR [ESI+174] + SETE AL + AND AL,AL +L_377: + JZ L_378 + CALL _nullMarkBound +L_378: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + CMP EAX,99999 + SETB AL + AND AL,AL + JZ L_379 + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+170] + SETB AL + AND AL,AL + JZ L_380 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + DEC DWORD PTR [ESI+170] +L_380: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+162] + CMP EAX,DWORD PTR [ESI+174] + SETB AL + AND AL,AL + JZ L_381 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+174] + DEC DWORD PTR [ESI+174] +L_381: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+170] + CMP EAX,DWORD PTR [ESI+166] + SETE AL + AND AL,AL + JZ L_382 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+170] + DEC DWORD PTR [ESI+170] +L_382: + MOV ESI,_pEdit + MOV EBX,ESI + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBX+174] + CMP EAX,DWORD PTR [ESI+166] + SETE AL + AND AL,AL + JZ L_383 + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+174] + DEC DWORD PTR [ESI+174] +L_383: +L_379: + MOV EAX,1 + MOV BYTE PTR [EBP-18], AL + MOV EAX,1 + MOV _fModified, AL +L_376: + JMP L_314 +L_384: + JMP L_314 +L_315: + CMP EAX,127 + JE L_374 + CMP EAX,14 + JE L_371 + CMP EAX,4 + JE L_369 + CMP EAX,3 + JE L_367 + CMP EAX,2 + JE L_362 + CMP EAX,1 + JE L_358 + CMP EAX,5 + JE L_350 + CMP EAX,12 + JE L_345 + CMP EAX,24 + JE L_344 + CMP EAX,23 + JE L_342 + CMP EAX,18 + JE L_338 + CMP EAX,17 + JE L_334 + CMP EAX,16 + JE L_333 + CMP EAX,9 + JE L_327 + CMP EAX,6 + JE L_326 + CMP EAX,8 + JE L_316 + JMP L_384 +L_314: +L_313: +L_300: +L_292: +L_290: + JMP L_240 +L_241: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBP-4], EAX +L_385: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+128] + SETBE AL + AND AL,AL + JZ L_386 + JMP SHORT L_387 +L_388: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_385 +L_387: + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+116] + PUSH DWORD PTR [EBP-4] + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+132] + ADD EAX,1 + PUSH EAX + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _PutVidAttrs + JMP L_388 +L_386: + MOV EAX,_fh + AND EAX,EAX + JZ L_389 + MOV ESI,_pEdit + XOR EAX,EAX + MOV AL,BYTE PTR [ESI+137] + AND EAX,EAX + JZ L_390 + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_391: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,DWORD PTR [ESI+112] + SETBE AL + AND AL,AL + JZ L_392 + JMP SHORT L_393 +L_394: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_391 +L_393: + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + MOVSX EAX,BYTE PTR [ESI] + CMP EAX,7 + SETE AL + AND AL,AL + JZ L_395 + MOV EAX,DWORD PTR [EBP-4] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + MOV EAX,32 + MOV BYTE PTR [ESI], AL +L_395: + JMP L_394 +L_392: +L_390: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+166] + MOV ESI,DWORD PTR [EBP-24] + ADD ESI,EAX + XOR EAX,EAX + MOV BYTE PTR [ESI], AL + MOVSX EAX,_fModified + AND EAX,EAX + JZ L_396 + PUSH 6 + PUSH _fh + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _SetFileLFA + PUSH EAX + CALL _CheckErc + MOV _erc, EAX + MOV EAX,_erc + AND EAX,EAX + JNZ L_397 + PUSH 5 + PUSH _fh + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+166] + CALL FWORD PTR _SetFileSize + PUSH EAX + CALL _CheckErc + MOV _erc, EAX +L_397: + MOV EAX,_erc + AND EAX,EAX + JNZ L_398 + PUSH 3 + PUSH _fh + PUSH _pBuf1 + MOV ESI,_pEdit + PUSH DWORD PTR [ESI+166] + LEA EAX,DWORD PTR [EBP-4] + PUSH EAX + CALL FWORD PTR _WriteBytes + PUSH EAX + CALL _CheckErc + MOV _erc, EAX +L_398: + XOR EAX,EAX + MOV _fModified, AL +L_396: + PUSH _fh + CALL FWORD PTR _CloseFile + XOR EAX,EAX + MOV _cbFilename, EAX +L_389: + MOV ESI,DWORD PTR [EBP+8] + XOR EAX,EAX + MOV AL,BYTE PTR [EBP-20] + MOV BYTE PTR [ESI], AL +L_399: + MOV ESP,EBP + POP EBP + RETN 4 +PUBLIC _main: + PUSH EBP + MOV EBP,ESP + SUB ESP,4 + CALL FWORD PTR _ClrScr + PUSH OFFSET L_lit+423 + PUSH 6 + CALL FWORD PTR _SetJobName + XOR EAX,EAX + MOV _fh, EAX + MOV EAX,OFFSET _EdRec + MOV _pEdit, EAX + PUSH 32 + PUSH OFFSET _pBuf1 + CALL FWORD PTR _AllocPage + MOV _erc, EAX + PUSH 32 + PUSH OFFSET _pBuf2 + CALL FWORD PTR _AllocPage + MOV _erc, EAX + MOV ESI,_pEdit + MOV EAX,_pBuf1 + MOV DWORD PTR [ESI], EAX + MOV ESI,_pEdit + MOV EAX,_pBuf2 + MOV DWORD PTR [ESI+4], EAX + MOV ESI,_pEdit + MOV EAX,131071 + MOV DWORD PTR [ESI+112], EAX + MOV ESI,_pEdit + XOR EAX,EAX + MOV DWORD PTR [ESI+116], EAX + MOV ESI,_pEdit + MOV EAX,79 + MOV DWORD PTR [ESI+124], EAX + MOV ESI,_pEdit + MOV EAX,1 + MOV DWORD PTR [ESI+120], EAX + MOV ESI,_pEdit + MOV EAX,23 + MOV DWORD PTR [ESI+128], EAX + MOV ESI,_pEdit + MOV EAX,80 + MOV DWORD PTR [ESI+132], EAX + MOV ESI,_pEdit + MOV EAX,32 + MOV BYTE PTR [ESI+136], AL + MOV ESI,_pEdit + XOR EAX,EAX + MOV BYTE PTR [ESI+137], AL + MOV ESI,_pEdit + MOV EAX,71 + MOV DWORD PTR [ESI+138], EAX + MOV ESI,_pEdit + MOV EAX,31 + MOV DWORD PTR [ESI+142], EAX + MOV ESI,_pEdit + MOV EAX,4 + MOV DWORD PTR [ESI+146], EAX + MOV ESI,_pEdit + XOR EAX,EAX + MOV DWORD PTR [ESI+150], EAX + MOV ESI,_pEdit + XOR EAX,EAX + MOV DWORD PTR [ESI+154], EAX + MOV ESI,_pEdit + XOR EAX,EAX + MOV DWORD PTR [ESI+158], EAX + MOV ESI,_pEdit + XOR EAX,EAX + MOV DWORD PTR [ESI+162], EAX + MOV ESI,_pEdit + XOR EAX,EAX + MOV DWORD PTR [ESI+166], EAX + MOV ESI,_pEdit + MOV EAX,99999 + MOV DWORD PTR [ESI+170], EAX + MOV ESI,_pEdit + MOV EAX,99999 + MOV DWORD PTR [ESI+174], EAX + PUSH 7 + CALL FWORD PTR _SetNormVid + PUSH OFFSET _filler + PUSH 80 + PUSH 32 + CALL FWORD PTR _FillData + XOR EAX,EAX + MOV DWORD PTR [EBP-4], EAX +L_400: + MOV EAX,DWORD PTR [EBP-4] + CMP EAX,26 + SETL AL + AND AL,AL + JZ L_401 + JMP SHORT L_402 +L_403: + MOV EAX,DWORD PTR [EBP-4] + INC DWORD PTR [EBP-4] + JMP SHORT L_400 +L_402: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + ADD ESI,EAX + MOV EAX,99999 + MOV DWORD PTR [ESI+8], EAX + JMP L_403 +L_401: + MOV ESI,_pEdit + MOV EAX,DWORD PTR [ESI+120] + MOV DWORD PTR [EBP-4], EAX + MOV ESI,_pEdit + MOV EAX,DWORD PTR [EBP-4] + SHL EAX,2 + ADD ESI,EAX + XOR EAX,EAX + MOV DWORD PTR [ESI+8], EAX + XOR EAX,EAX + MOV _fModified, AL + XOR EAX,EAX + MOV _fOvertype, AL + MOV EAX,DWORD PTR [EBP+12] + CMP EAX,1 + SETA AL + AND AL,AL + JZ L_404 + MOV EAX,4 + MOV ESI,DWORD PTR [EBP+8] + ADD ESI,EAX + PUSH DWORD PTR [ESI] + CALL _OpenAFile +L_404: + PUSH OFFSET _b + CALL _Editor + XOR EAX,EAX + PUSH EAX + CALL FWORD PTR _ExitJob + MOV ESP,EBP + POP EBP + RETN 8